diff --git a/TypeScript/1LogToConsole/types/callbacks/DataCallbacks.d.ts b/TypeScript/1LogToConsole/types/callbacks/DataCallbacks.d.ts index 1f359e5..a9bc1d6 100644 --- a/TypeScript/1LogToConsole/types/callbacks/DataCallbacks.d.ts +++ b/TypeScript/1LogToConsole/types/callbacks/DataCallbacks.d.ts @@ -1,8 +1,11 @@ +import { HideoutController } from "../controllers/HideoutController"; +import { RagfairController } from "../controllers/RagfairController"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IGlobals } from "../models/eft/common/IGlobals"; import { ICustomizationItem } from "../models/eft/common/tables/ICustomizationItem"; import { IHandbookBase } from "../models/eft/common/tables/IHandbookBase"; import { IQuest } from "../models/eft/common/tables/IQuest"; +import { IGetItemPricesResponse } from "../models/eft/game/IGetItemPricesResponse"; import { IHideoutArea } from "../models/eft/hideout/IHideoutArea"; import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction"; import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase"; @@ -17,7 +20,9 @@ import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class DataCallbacks { protected httpResponse: HttpResponseUtil; protected databaseServer: DatabaseServer; - constructor(httpResponse: HttpResponseUtil, databaseServer: DatabaseServer); + protected ragfairController: RagfairController; + protected hideoutController: HideoutController; + constructor(httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, ragfairController: RagfairController, hideoutController: HideoutController); /** * Handles client/settings * @returns ISettingsBase @@ -56,4 +61,9 @@ export declare class DataCallbacks { getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData>; getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string; + /** + * Handle client/hideout/qte/list + */ + getQteList(url: string, info: IEmptyRequestData, sessionID: string): string; + getItemPrices(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; } diff --git a/TypeScript/1LogToConsole/types/callbacks/HealthCallbacks.d.ts b/TypeScript/1LogToConsole/types/callbacks/HealthCallbacks.d.ts index 7edf03e..bd3e507 100644 --- a/TypeScript/1LogToConsole/types/callbacks/HealthCallbacks.d.ts +++ b/TypeScript/1LogToConsole/types/callbacks/HealthCallbacks.d.ts @@ -7,6 +7,7 @@ import { IOffraidHealRequestData } from "../models/eft/health/IOffraidHealReques import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IWorkoutData } from "../models/eft/health/IWorkoutData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class HealthCallbacks { protected httpResponse: HttpResponseUtil; @@ -21,6 +22,14 @@ export declare class HealthCallbacks { * @returns empty response, no data sent back to client */ syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData; + /** + * Custom aki server request found in modules/QTEPatch.cs + * @param url + * @param info HealthListener.Instance.CurrentHealth class + * @param sessionID session id + * @returns empty response, no data sent back to client + */ + handleWorkoutEffects(url: string, info: IWorkoutData, sessionID: string): IGetBodyResponseData; /** * Handle Eat * @returns IItemEventRouterResponse diff --git a/TypeScript/1LogToConsole/types/callbacks/HideoutCallbacks.d.ts b/TypeScript/1LogToConsole/types/callbacks/HideoutCallbacks.d.ts index 56450a9..1d44bcc 100644 --- a/TypeScript/1LogToConsole/types/callbacks/HideoutCallbacks.d.ts +++ b/TypeScript/1LogToConsole/types/callbacks/HideoutCallbacks.d.ts @@ -1,7 +1,9 @@ import { HideoutController } from "../controllers/HideoutController"; import { OnUpdate } from "../di/OnUpdate"; import { IPmcData } from "../models/eft/common/IPmcData"; +import { IHandleQTEEventRequestData } from "../models/eft/hideout/IHandleQTEEventRequestData"; import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutImproveAreaRequestData } from "../models/eft/hideout/IHideoutImproveAreaRequestData"; import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; @@ -10,6 +12,7 @@ import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideou import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; import { IHideoutUpgradeCompleteRequestData } from "../models/eft/hideout/IHideoutUpgradeCompleteRequestData"; import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; +import { IRecordShootingRangePoints } from "../models/eft/hideout/IRecordShootingRangePoints"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ConfigServer } from "../servers/ConfigServer"; @@ -53,44 +56,36 @@ export declare class HideoutCallbacks extends OnUpdate { takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse; /** * Handle HideoutToggleArea - * @param pmcData - * @param body - * @param sessionID - * @returns */ toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse; /** * Handle HideoutSingleProductionStart - * @param pmcData - * @param body - * @param sessionID - * @returns */ singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse; /** * Handle HideoutScavCaseProductionStart - * @param pmcData - * @param body - * @param sessionID - * @returns */ scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse; /** * Handle HideoutContinuousProductionStart - * @param pmcData - * @param body - * @param sessionID - * @returns */ continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; /** * Handle HideoutTakeProduction - * @param pmcData - * @param body - * @param sessionID - * @returns */ takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Handle HideoutQuickTimeEvent + */ + handleQTEEvent(pmcData: IPmcData, request: IHandleQTEEventRequestData, sessionId: string): IItemEventRouterResponse; + /** + * Handle client/game/profile/items/moving - RecordShootingRangePoints + */ + recordShootingRangePoints(pmcData: IPmcData, request: IRecordShootingRangePoints, sessionId: string): IItemEventRouterResponse; + /** + * Handle client/game/profile/items/moving - RecordShootingRangePoints + */ + improveArea(pmcData: IPmcData, request: IHideoutImproveAreaRequestData, sessionId: string): IItemEventRouterResponse; onUpdate(timeSinceLastRun: number): Promise; getRoute(): string; } diff --git a/TypeScript/1LogToConsole/types/callbacks/MatchCallbacks.d.ts b/TypeScript/1LogToConsole/types/callbacks/MatchCallbacks.d.ts index 10fbc44..52e3290 100644 --- a/TypeScript/1LogToConsole/types/callbacks/MatchCallbacks.d.ts +++ b/TypeScript/1LogToConsole/types/callbacks/MatchCallbacks.d.ts @@ -7,10 +7,10 @@ import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequest import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; +import { IGetRaidConfigurationRequestData } from "../models/eft/match/IGetRaidConfigurationRequestData"; import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData"; import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult"; import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData"; -import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; @@ -41,6 +41,6 @@ export declare class MatchCallbacks { getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData; createGroup(url: string, info: ICreateGroupRequestData, sessionID: string): IGetBodyResponseData; deleteGroup(url: string, info: any, sessionID: string): INullResponseData; - startOfflineRaid(url: string, info: IStartOfflineRaidRequestData, sessionID: string): INullResponseData; endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData; + getRaidConfiguration(url: string, info: IGetRaidConfigurationRequestData, sessionID: string): INullResponseData; } diff --git a/TypeScript/1LogToConsole/types/callbacks/RagfairCallbacks.d.ts b/TypeScript/1LogToConsole/types/callbacks/RagfairCallbacks.d.ts index 15597bf..de46b37 100644 --- a/TypeScript/1LogToConsole/types/callbacks/RagfairCallbacks.d.ts +++ b/TypeScript/1LogToConsole/types/callbacks/RagfairCallbacks.d.ts @@ -33,10 +33,14 @@ export declare class RagfairCallbacks extends OnLoadOnUpdate { getRoute(): string; search(url: string, info: ISearchRequestData, sessionID: string): IGetBodyResponseData; getMarketPrice(url: string, info: IGetMarketPriceRequestData, sessionID: string): IGetBodyResponseData; - getItemPrices(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData>; addOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse; extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Handle /client/items/prices + * Called when clicking an item to list on flea + */ + getFleaPrices(url: string, request: IEmptyRequestData, sessionID: string): IGetBodyResponseData>; onUpdate(timeSinceLastRun: number): Promise; sendReport(url: string, info: ISendRagfairReportRequestData, sessionID: string): INullResponseData; } diff --git a/TypeScript/1LogToConsole/types/context/ContextVariableType.d.ts b/TypeScript/1LogToConsole/types/context/ContextVariableType.d.ts index fa5390f..49f3267 100644 --- a/TypeScript/1LogToConsole/types/context/ContextVariableType.d.ts +++ b/TypeScript/1LogToConsole/types/context/ContextVariableType.d.ts @@ -2,7 +2,7 @@ export declare enum ContextVariableType { /** Logged in users session id */ SESSION_ID = 0, /** Currently acive raid information */ - MATCH_INFO = 1, + RAID_CONFIGURATION = 1, /** Timestamp when client first connected */ CLIENT_START_TIMESTAMP = 2, /** When player is loading into map and loot is requested */ diff --git a/TypeScript/1LogToConsole/types/controllers/GameController.d.ts b/TypeScript/1LogToConsole/types/controllers/GameController.d.ts index b23ccf7..a153072 100644 --- a/TypeScript/1LogToConsole/types/controllers/GameController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/GameController.d.ts @@ -1,4 +1,5 @@ import { ApplicationContext } from "../context/ApplicationContext"; +import { HideoutHelper } from "../helpers/HideoutHelper"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; import { PreAkiModLoader } from "../loaders/PreAkiModLoader"; @@ -16,11 +17,14 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { LocalisationService } from "../services/LocalisationService"; import { ProfileFixerService } from "../services/ProfileFixerService"; import { SeasonalEventService } from "../services/SeasonalEventService"; +import { TimeUtil } from "../utils/TimeUtil"; export declare class GameController { protected logger: ILogger; protected databaseServer: DatabaseServer; + protected timeUtil: TimeUtil; protected preAkiModLoader: PreAkiModLoader; protected httpServerHelper: HttpServerHelper; + protected hideoutHelper: HideoutHelper; protected profileHelper: ProfileHelper; protected profileFixerService: ProfileFixerService; protected localisationService: LocalisationService; @@ -29,7 +33,7 @@ export declare class GameController { protected configServer: ConfigServer; protected httpConfig: IHttpConfig; protected coreConfig: ICoreConfig; - constructor(logger: ILogger, databaseServer: DatabaseServer, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer); + constructor(logger: ILogger, databaseServer: DatabaseServer, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer); gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void; /** * Get a list of installed mods and save their details to the profile being used diff --git a/TypeScript/1LogToConsole/types/controllers/HealthController.d.ts b/TypeScript/1LogToConsole/types/controllers/HealthController.d.ts index 86f72e3..5e6d8ff 100644 --- a/TypeScript/1LogToConsole/types/controllers/HealthController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/HealthController.d.ts @@ -2,6 +2,7 @@ import { HealthHelper } from "../helpers/HealthHelper"; import { InventoryHelper } from "../helpers/InventoryHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; +import { IWorkoutData } from "../models/eft/health/IWorkoutData"; import { IHealthTreatmentRequestData } from "../models/eft/health/IHealthTreatmentRequestData"; import { IOffraidEatRequestData } from "../models/eft/health/IOffraidEatRequestData"; import { IOffraidHealRequestData } from "../models/eft/health/IOffraidHealRequestData"; @@ -45,6 +46,13 @@ export declare class HealthController { * @returns */ healthTreatment(pmcData: IPmcData, healthTreatmentRequest: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse; + /** + * applies skills from hideout workout. + * @param pmcData Player profile + * @param info Request data + * @param sessionID + */ + applyWorkoutChanges(pmcData: IPmcData, info: IWorkoutData, sessionId: string): void; /** * iterate over treatment request diff and find effects to remove from player limbs * @param sessionId diff --git a/TypeScript/1LogToConsole/types/controllers/HideoutController.d.ts b/TypeScript/1LogToConsole/types/controllers/HideoutController.d.ts index 5b6507b..eda3e29 100644 --- a/TypeScript/1LogToConsole/types/controllers/HideoutController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/HideoutController.d.ts @@ -7,7 +7,9 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; import { HideoutArea, Product } from "../models/eft/common/tables/IBotBase"; import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData"; +import { IHandleQTEEventRequestData } from "../models/eft/hideout/IHandleQTEEventRequestData"; import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutImproveAreaRequestData } from "../models/eft/hideout/IHideoutImproveAreaRequestData"; import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction"; import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; @@ -16,6 +18,8 @@ import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTa import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; +import { IQteData } from "../models/eft/hideout/IQteData"; +import { IRecordShootingRangePoints } from "../models/eft/hideout/IRecordShootingRangePoints"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ILogger } from "../models/spt/utils/ILogger"; @@ -102,5 +106,35 @@ export declare class HideoutController { */ protected handleScavCase(sessionID: string, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse; registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Get quick time event list for hideout + * // TODO - implement this + * @param sessionId Session id + * @returns IQteData array + */ + getQteList(sessionId: string): IQteData[]; + /** + * Handle HideoutQuickTimeEvent on client/game/profile/items/moving + * Called after completing workout at gym + * @param sessionId Session id + * @param pmcData Profile to adjust + * @param request QTE result object + */ + handleQTEEventOutcome(sessionId: string, pmcData: IPmcData, request: IHandleQTEEventRequestData): IItemEventRouterResponse; + /** + * Record a high score from the shooting range into a player profiles overallcounters + * @param sessionId Session id + * @param pmcData Profile to update + * @param request shooting range score request + * @returns IItemEventRouterResponse + */ + recordShootingRangePoints(sessionId: string, pmcData: IPmcData, request: IRecordShootingRangePoints): IItemEventRouterResponse; + /** + * Handle client/game/profile/items/moving - HideoutImproveArea + * @param sessionId Session id + * @param pmcData profile to improve area in + * @param request improve area request data + */ + improveArea(sessionId: string, pmcData: IPmcData, request: IHideoutImproveAreaRequestData): IItemEventRouterResponse; update(): void; } diff --git a/TypeScript/1LogToConsole/types/controllers/MatchController.d.ts b/TypeScript/1LogToConsole/types/controllers/MatchController.d.ts index 2c78405..e732dfd 100644 --- a/TypeScript/1LogToConsole/types/controllers/MatchController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/MatchController.d.ts @@ -6,10 +6,9 @@ import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequest import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; +import { IGetRaidConfigurationRequestData } from "../models/eft/match/IGetRaidConfigurationRequestData"; import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData"; import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult"; -import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; -import { BotDifficulty } from "../models/enums/BotDifficulty"; import { IBotConfig } from "../models/spt/config/IBotConfig"; import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; import { IMatchConfig } from "../models/spt/config/IMatchConfig"; @@ -46,12 +45,17 @@ export declare class MatchController { joinMatch(info: IJoinMatchRequestData, sessionID: string): IJoinMatchResult[]; protected getMatch(location: string): any; getGroupStatus(info: IGetGroupStatusRequestData): any; - startOfflineRaid(info: IStartOfflineRaidRequestData, sessionID: string): void; + /** + * Handle /client/raid/configuration + * @param request + * @param sessionID + */ + startOfflineRaid(request: IGetRaidConfigurationRequestData, sessionID: string): void; /** * Convert a difficulty value from pre-raid screen to a bot difficulty - * @param botDifficulty dropdown difficulty + * @param botDifficulty dropdown difficulty value * @returns bot difficulty */ - protected convertDifficultyDropdownIntoBotDifficulty(botDifficulty: BotDifficulty): string; + protected convertDifficultyDropdownIntoBotDifficulty(botDifficulty: string): string; endOfflineRaid(info: IEndOfflineRaidRequestData, sessionID: string): void; } diff --git a/TypeScript/1LogToConsole/types/controllers/ProfileController.d.ts b/TypeScript/1LogToConsole/types/controllers/ProfileController.d.ts index 8c89a02..e76785a 100644 --- a/TypeScript/1LogToConsole/types/controllers/ProfileController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/ProfileController.d.ts @@ -1,6 +1,7 @@ import { PlayerScavGenerator } from "../generators/PlayerScavGenerator"; import { ItemHelper } from "../helpers/ItemHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; +import { QuestHelper } from "../helpers/QuestHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IMiniProfile } from "../models/eft/launcher/IMiniProfile"; @@ -24,8 +25,9 @@ export declare class ProfileController { protected profileFixerService: ProfileFixerService; protected playerScavGenerator: PlayerScavGenerator; protected traderHelper: TraderHelper; + protected questHelper: QuestHelper; protected profileHelper: ProfileHelper; - constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileFixerService: ProfileFixerService, playerScavGenerator: PlayerScavGenerator, traderHelper: TraderHelper, profileHelper: ProfileHelper); + constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileFixerService: ProfileFixerService, playerScavGenerator: PlayerScavGenerator, traderHelper: TraderHelper, questHelper: QuestHelper, profileHelper: ProfileHelper); getMiniProfiles(): IMiniProfile[]; getMiniProfile(sessionID: string): any; getCompleteProfile(sessionID: string): IPmcData[]; diff --git a/TypeScript/1LogToConsole/types/controllers/RagfairController.d.ts b/TypeScript/1LogToConsole/types/controllers/RagfairController.d.ts index 36a919f..86cd365 100644 --- a/TypeScript/1LogToConsole/types/controllers/RagfairController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/RagfairController.d.ts @@ -115,6 +115,7 @@ export declare class RagfairController { addPlayerOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; createPlayerOffer(profile: IAkiProfile, requirements: Requirement[], items: Item[], sellInOnePiece: boolean, amountToSend: number): IRagfairOffer; getAllFleaPrices(): Record; + getStaticPrices(): Record; removeOffer(offerId: string, sessionID: string): IItemEventRouterResponse; extendOffer(info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; } diff --git a/TypeScript/1LogToConsole/types/generators/BotWeaponGenerator.d.ts b/TypeScript/1LogToConsole/types/generators/BotWeaponGenerator.d.ts index 938d61c..71a2c5e 100644 --- a/TypeScript/1LogToConsole/types/generators/BotWeaponGenerator.d.ts +++ b/TypeScript/1LogToConsole/types/generators/BotWeaponGenerator.d.ts @@ -89,9 +89,10 @@ export declare class BotWeaponGenerator { /** * Checks if all required slots are occupied on a weapon and all it's mods * @param weaponItemArray Weapon + mods + * @param botRole role of bot weapon is for * @returns true if valid */ - protected isWeaponValid(weaponItemArray: Item[]): boolean; + protected isWeaponValid(weaponItemArray: Item[], botRole: string): boolean; /** * Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets. * Additionally, adds extra bullets to SecuredContainer diff --git a/TypeScript/1LogToConsole/types/helpers/HealthHelper.d.ts b/TypeScript/1LogToConsole/types/helpers/HealthHelper.d.ts index 6b5eec2..d9b6434 100644 --- a/TypeScript/1LogToConsole/types/helpers/HealthHelper.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/HealthHelper.d.ts @@ -34,7 +34,7 @@ export declare class HealthHelper { /** * Save effects to profile * Works by removing all effects and adding them back from profile - * Remoces empty 'Effects' objects if found + * Removes empty 'Effects' objects if found * @param pmcData Player profile * @param sessionID Session id * @param addEffects Should effects be added back to profile @@ -46,7 +46,8 @@ export declare class HealthHelper { * @param pmcData Player profile * @param effectBodyPart body part to edit * @param effectType Effect to add to body part + * @param duration How long the effect has left in seconds (-1 by default, no duration). */ - protected addEffect(pmcData: IPmcData, effectBodyPart: string, effectType: Effect): void; + protected addEffect(pmcData: IPmcData, effectBodyPart: string, effectType: Effect, duration?: number): void; protected isEmpty(map: any): boolean; } diff --git a/TypeScript/1LogToConsole/types/helpers/HideoutHelper.d.ts b/TypeScript/1LogToConsole/types/helpers/HideoutHelper.d.ts index 9d51fed..d2704af 100644 --- a/TypeScript/1LogToConsole/types/helpers/HideoutHelper.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/HideoutHelper.d.ts @@ -120,4 +120,14 @@ export declare class HideoutHelper { protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number; isProduction(productive: Productive): productive is Production; getBTC(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Upgrade hideout wall from starting level to interactable level if enough time has passed + * @param pmcProfile Profile to upgrade wall in + */ + unlockHideoutWallInProfile(pmcProfile: IPmcData): void; + /** + * Iterate over hideout improvements not completed and check if they need to be adjusted + * @param pmcProfile Profile to adjust + */ + setHideoutImprovementsToCompleted(pmcProfile: IPmcData): void; } diff --git a/TypeScript/1LogToConsole/types/helpers/InRaidHelper.d.ts b/TypeScript/1LogToConsole/types/helpers/InRaidHelper.d.ts index df2c4af..4b32ac0 100644 --- a/TypeScript/1LogToConsole/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/InRaidHelper.d.ts @@ -44,6 +44,11 @@ export declare class InRaidHelper { * @returns Reset profile object */ updateProfileBaseStats(profileData: IPmcData, saveProgressRequest: ISaveProgressRequestData, sessionID: string): IPmcData; + /** + * Take body part effects from client profile and apply to server profile + * @param saveProgressRequest post-raid request + * @param profileData player profile on server + */ protected transferPostRaidLimbEffectsToProfile(saveProgressRequest: ISaveProgressRequestData, profileData: IPmcData): void; /** * Some maps have one-time-use keys (e.g. Labs diff --git a/TypeScript/1LogToConsole/types/helpers/InventoryHelper.d.ts b/TypeScript/1LogToConsole/types/helpers/InventoryHelper.d.ts index 1ce49da..8c44dc6 100644 --- a/TypeScript/1LogToConsole/types/helpers/InventoryHelper.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/InventoryHelper.d.ts @@ -1,6 +1,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; -import { IAddItemRequestData } from "../models/eft/inventory/IAddItemRequestData"; +import { AddItem, IAddItemRequestData } from "../models/eft/inventory/IAddItemRequestData"; +import { IAddItemTempObject } from "../models/eft/inventory/IAddItemTempObject"; import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData"; import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; @@ -46,15 +47,41 @@ export declare class InventoryHelper { /** * BUG: Passing the same item multiple times with a count of 1 will cause multiples of that item to be added (e.g. x3 separate objects of tar cola with count of 1 = 9 tarcolas being added to inventory) * @param pmcData Profile to add items to - * @param body request data to add items + * @param request request data to add items * @param output response to send back to client * @param sessionID Session id - * @param callback + * @param callback Code to execute later (function) * @param foundInRaid Will results added to inventory be set as found in raid * @param addUpd Additional upd propertys for items being added to inventory * @returns IItemEventRouterResponse */ - addItem(pmcData: IPmcData, body: IAddItemRequestData, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse; + addItem(pmcData: IPmcData, request: IAddItemRequestData, output: IItemEventRouterResponse, sessionID: string, callback: { + (): void; + }, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse; + /** + * Add ammo to ammo boxes + * @param itemToAdd Item to check is ammo box + * @param toDo + * @param output IItemEventRouterResponse object + * @param sessionID Session id + * @param pmcData Profile to add ammobox to + */ + protected hydrateAmmoBoxWithAmmo(pmcData: IPmcData, itemToAdd: IAddItemTempObject, toDo: string[][], sessionID: string, output: IItemEventRouterResponse): void; + /** + * + * @param assortItems Items to add to inventory + * @param requestItem Details of purchased item to add to inventory + * @param result Array split stacks are added to + */ + protected splitStackIntoSmallerStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void; + /** + * Remove item from player inventory + * @param pmcData Profile to remove item from + * @param itemId Items id to remove + * @param sessionID Session id + * @param output Existing IItemEventRouterResponse object to append data to, creates new one by default if not supplied + * @returns IItemEventRouterResponse + */ removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; removeItemByCount(pmcData: IPmcData, itemId: string, count: number, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; getItemSize(itemTpl: string, itemID: string, inventoryItem: Item[]): Record; diff --git a/TypeScript/1LogToConsole/types/helpers/QuestHelper.d.ts b/TypeScript/1LogToConsole/types/helpers/QuestHelper.d.ts index 6bd1444..dacc7be 100644 --- a/TypeScript/1LogToConsole/types/helpers/QuestHelper.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/QuestHelper.d.ts @@ -194,4 +194,10 @@ export declare class QuestHelper { * @returns 'FindItem' condition id */ getFindItemIdForQuestHandIn(itemTpl: string): string; + /** + * Add All quests to a profile with the provided statuses + * @param pmcProfile profile to update + * @param statuses statuses quests should have + */ + addAllQuestsToProfile(pmcProfile: IPmcData, statuses: QuestStatus[]): void; } diff --git a/TypeScript/1LogToConsole/types/helpers/TradeHelper.d.ts b/TypeScript/1LogToConsole/types/helpers/TradeHelper.d.ts index 94ec382..43c3f19 100644 --- a/TypeScript/1LogToConsole/types/helpers/TradeHelper.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/TradeHelper.d.ts @@ -38,11 +38,11 @@ export declare class TradeHelper { /** * Sell item to trader * @param pmcData Profile to update - * @param body - * @param sessionID - * @returns + * @param sellRequest request data + * @param sessionID Session id + * @returns IItemEventRouterResponse */ - sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse; + sellItem(pmcData: IPmcData, sellRequest: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse; /** * Increment the assorts buy count by number of items purchased * Show error on screen if player attepts to buy more than what the buy max allows diff --git a/TypeScript/1LogToConsole/types/models/eft/common/IGlobals.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/IGlobals.d.ts index b53f106..60cdf5b 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/IGlobals.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/IGlobals.d.ts @@ -29,6 +29,8 @@ export interface Config { GlobalLootChanceModifier: number; TimeBeforeDeploy: number; TimeBeforeDeployLocal: number; + TradingSetting: number; + TradingSettings: ITradingSettings; LoadTimeSpeedProgress: number; BaseLoadTime: number; BaseUnloadTime: number; @@ -36,6 +38,7 @@ export interface Config { Customization: Customization; UncheckOnShot: boolean; BotsEnabled: boolean; + BufferZone: IBufferZone; ArmorMaterials: ArmorMaterials; LegsOverdamage: number; HandsOverdamage: number; @@ -55,7 +58,6 @@ export interface Config { StaminaRestoration: StaminaRestoration; StaminaDrain: StaminaDrain; RequirementReferences: RequirementReferences; - RepairKitSettings: RepairKitSettings; RestrictionsInRaid: RestrictionsInRaid[]; SkillMinEffectiveness: number; SkillFatiguePerPoint: number; @@ -83,6 +85,19 @@ export interface Config { Inertia: Inertia; Ballistic: Ballistic; } +export interface IBufferZone { + CustomerAccessTime: number; + CustomerCriticalTimeStart: number; + CustomerKickNotifTime: number; +} +export interface ITradingSettings { + BuyoutRestrictions: IBuyoutRestrictions; +} +export interface IBuyoutRestrictions { + MinDurability: number; + MinFoodDrinkResource: number; + MinMedsResource: number; +} export interface Content { ip: string; port: number; @@ -321,6 +336,8 @@ export interface Effects { Pain: Pain; PainKiller: PainKiller; SandingScreen: SandingScreen; + MildMusclePain: IMusclePainEffect; + SevereMusclePain: IMusclePainEffect; Stimulator: Stimulator; Tremor: Tremor; ChronicStaminaFatigue: ChronicStaminaFatigue; @@ -457,6 +474,12 @@ export interface PainKiller { export interface SandingScreen { Dummy: number; } +export interface IMusclePainEffect { + GymEffectivity: number; + OfflineDurationMax: number; + OfflineDurationMin: number; + TraumaChance: number; +} export interface Stimulator { BuffLoopTime: number; Buffs: Buffs; @@ -803,7 +826,7 @@ export interface SkillsSettings { HMG: any[]; Launcher: any[]; AttachedLauncher: any[]; - Melee: any[]; + Melee: IMeleeSkill; DMR: WeaponSkills; BearAssaultoperations: any[]; BearAuthority: any[]; @@ -847,10 +870,25 @@ export interface SkillsSettings { BotSound: any[]; TroubleShooting: TroubleShooting; } +export interface IMeleeSkill { + BuffSettings: IBuffSettings; +} export interface ArmorSkills { + BuffMaxCount: number; + BuffSettings: IBuffSettings; + Counters: IArmorCounters; + MoveSpeedPenaltyReductionHVestsReducePerLevel: number; + RicochetChanceHVestsCurrentDurabilityThreshold: number; + RicochetChanceHVestsEliteLevel: number; + RicochetChanceHVestsMaxDurabilityThreshold: number; + MeleeDamageLVestsReducePerLevel: number; + MoveSpeedPenaltyReductionLVestsReducePerLevel: number; WearAmountRepairLVestsReducePerLevel: number; WearChanceRepairLVestsReduceEliteLevel: number; } +export interface IArmorCounters { + armorDurability: ISkillCounter; +} export interface HideoutManagement { SkillPointsPerAreaUpgrade: number; SkillPointsPerCraft: number; @@ -907,6 +945,7 @@ export interface Endurance { MovementAction: number; SprintAction: number; GainPerFatigueStack: number; + QTELevelMultipliers: Record>; } export interface Strength { SprintActionMin: number; @@ -915,9 +954,14 @@ export interface Strength { MovementActionMax: number; PushUpMin: number; PushUpMax: number; + QTELevelMultipliers: IQTELevelMultiplier[]; FistfightAction: number; ThrowAction: number; } +export interface IQTELevelMultiplier { + Level: number; + Multiplier: number; +} export interface Vitality { DamageTakenAction: number; HealthNegativeEffect: number; @@ -950,22 +994,42 @@ export interface Search { FindAction: number; } export interface WeaponTreatment { + BuffMaxCount: number; + BuffSettings: IBuffSettings; + Counters: IWeaponTreatmentCounters; DurLossReducePerLevel: number; SkillPointsPerRepair: number; Filter: any[]; WearAmountRepairGunsReducePerLevel: number; WearChanceRepairGunsReduceEliteLevel: number; } +export interface IWeaponTreatmentCounters { + firearmsDurability: ISkillCounter; +} +export interface IBuffSettings { + CommonBuffChanceLevelBonus: number; + CommonBuffMinChanceValue: number; + CurrentDurabilityLossToRemoveBuff?: number; + MaxDurabilityLossToRemoveBuff?: number; + RareBuffChanceCoff: number; + ReceivedDurabilityMaxPercent: number; +} export interface MagDrills { RaidLoadedAmmoAction: number; RaidUnloadedAmmoAction: number; MagazineCheckAction: number; } export interface Perception { + DependentSkillRatios: ISkillRatio[]; OnlineAction: number; UniqueLoot: number; } +export interface ISkillRatio { + Ratio: number; + SkillId: string; +} export interface Intellect { + Counters: IIntellectCounters; ExamineAction: number; SkillProgress: number; RepairAction: number; @@ -973,16 +1037,52 @@ export interface Intellect { WearChanceReduceEliteLevel: number; RepairPointsCostReduction: number; } +export interface IIntellectCounters { + armorDurability: ISkillCounter; + firearmsDurability: ISkillCounter; + meleeWeaponDurability: ISkillCounter; +} +export interface ISkillCounter { + divisor: number; + points: number; +} export interface Attention { + DependentSkillRatios: ISkillRatio[]; ExamineWithInstruction: number; FindActionFalse: number; FindActionTrue: number; } export interface Charisma { + BonusSettings: IBonusSettings; + Counters: ICharismaSkillCounters; SkillProgressInt: number; SkillProgressAtn: number; SkillProgressPer: number; } +export interface ICharismaSkillCounters { + insuranceCost: ISkillCounter; + repairCost: ISkillCounter; + repeatableQuestCompleteCount: ISkillCounter; + restoredHealthCost: ISkillCounter; + scavCaseCost: ISkillCounter; +} +export interface IBonusSettings { + EliteBonusSettings: IEliteBonusSettings; + LevelBonusSettings: ILevelBonusSettings; +} +export interface IEliteBonusSettings { + FenceStandingLossDiscount: number; + RepeatableQuestExtraCount: number; + ScavCaseDiscount: number; +} +export interface ILevelBonusSettings { + HealthRestoreDiscount: number; + HealthRestoreTraderDiscount: number; + InsuranceDiscount: number; + InsuranceTraderDiscount: number; + PaidExitDiscount: number; + RepeatableQuestChangeDiscount: number; +} export interface Memory { AnySkillUp: number; SkillProgress: number; @@ -1145,11 +1245,30 @@ export interface xyz { export interface Ballistic { GlobalDamageDegradationCoefficient: number; } -export interface RepairKitSettings { +export interface RepairSettings { + ItemEnhancementSettings: IItemEnhancementSettings; + MinimumLevelToApplyBuff: number; + RepairStrategies: IRepairStrategies; armorClassDivisor: number; durabilityPointCostArmor: number; durabilityPointCostGuns: number; } +export interface IItemEnhancementSettings { + DamageReduction: IPriceModifier; + MalfunctionProtections: IPriceModifier; + WeaponSpread: IPriceModifier; +} +export interface IPriceModifier { + PriceModifier: number; +} +export interface IRepairStrategies { + Armor: IRepairStrategy; + Firearms: IRepairStrategy; +} +export interface IRepairStrategy { + BuffTypes: string[]; + Filter: string[]; +} export interface BotPreset { UseThis: boolean; Role: string; diff --git a/TypeScript/1LogToConsole/types/models/eft/common/ILocationBase.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/ILocationBase.d.ts index 78ade9a..9b97d7e 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/ILocationBase.d.ts @@ -118,6 +118,7 @@ export interface BossLocationSpawn { TriggerName: string; Delay?: number; Supports?: BossSupport[]; + sptId?: string; } export interface BossSupport { BossEscortAmount: string; @@ -202,6 +203,7 @@ export interface Wave { slots_min: number; time_max: number; time_min: number; + sptId?: string; } export declare enum WildSpawnType { ASSAULT = "assault", diff --git a/TypeScript/1LogToConsole/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/tables/IBotBase.d.ts index 1c28ae0..c991b2d 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/tables/IBotBase.d.ts @@ -21,6 +21,7 @@ export interface IBotBase { Hideout: Hideout; Quests: Quest[]; TradersInfo: Record; + UnlockedInfo: IUnlockedInfo; RagfairInfo: RagfairInfo; RepeatableQuests: IPmcDataRepeatableQuest[]; Bonuses: Bonus[]; @@ -31,6 +32,9 @@ export interface IBotBase { /** SPT specific property used during bot generation in raid */ sptIsPmc?: boolean; } +export interface IUnlockedInfo { + unlockedProductionRecipe: string[]; +} export interface Info { EntryPoint: string; Nickname: string; @@ -265,6 +269,11 @@ export interface InsuredItem { export interface Hideout { Production: Record; Areas: HideoutArea[]; + Improvements: Record; +} +export interface IHideoutImprovement { + completed: boolean; + improveCompleteTimestamp: number; } export interface Productive { Products: Product[]; @@ -327,10 +336,12 @@ export interface Quest { statusTimers?: Record; /** SPT specific property */ completedConditions?: string[]; + availableAfter?: number; } export interface TraderInfo { loyaltyLevel: number; salesSum: number; + disabled: boolean; standing: number; nextResupply: number; unlocked: boolean; diff --git a/TypeScript/1LogToConsole/types/models/eft/common/tables/IItem.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/tables/IItem.d.ts index 2dd2c03..0a6d6fc 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/tables/IItem.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/tables/IItem.d.ts @@ -98,7 +98,8 @@ export interface Location { y: number; r: string | number; isSearched?: boolean; - rotation?: string; + /** SPT property? */ + rotation?: string | boolean; } export interface SideEffect { Value: number; diff --git a/TypeScript/1LogToConsole/types/models/eft/common/tables/IProfileTemplate.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/tables/IProfileTemplate.d.ts index fbcd81a..f7a2aa4 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/tables/IProfileTemplate.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/tables/IProfileTemplate.d.ts @@ -19,6 +19,7 @@ export interface TemplateSide { } export interface ProfileTraderTemplate { initialLoyaltyLevel: number; + setQuestsAvailableForStart?: boolean; initialStanding: number; initialSalesSum: number; jaegerUnlocked: boolean; diff --git a/TypeScript/1LogToConsole/types/models/eft/common/tables/IQuest.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/tables/IQuest.d.ts index d538126..cc77367 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/tables/IQuest.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/tables/IQuest.d.ts @@ -15,6 +15,7 @@ export interface IQuest { image: string; type: string; isKey: boolean; + questStatus: any; restartable: boolean; instantComplete: boolean; secretQuest: boolean; @@ -43,6 +44,7 @@ export interface AvailableForProps { id: string; index: number; parentId: string; + isEncoded: boolean; dynamicLocale: boolean; value?: number; compareMethod?: string; diff --git a/TypeScript/1LogToConsole/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/tables/ITemplateItem.d.ts index 0fa7e18..b59a277 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/tables/ITemplateItem.d.ts @@ -29,8 +29,11 @@ export interface Props { IsUnsaleable?: boolean; IsUnbuyable?: boolean; IsUngivable?: boolean; + IsUnremovable?: boolean; IsLockedafterEquip?: boolean; + IsSpecialSlotOnly?: boolean; QuestItem?: boolean; + QuestStashMaxCount?: number; LootExperience?: number; ExamineExperience?: number; HideEntrails?: boolean; @@ -161,6 +164,7 @@ export interface Props { weaponErgonomicPenalty?: number; BluntThroughput?: number; ArmorMaterial?: string; + ArmorType?: string; weapClass?: string; weapUseType?: string; ammoCaliber?: string; @@ -365,6 +369,8 @@ export interface Props { CanBeHiddenDuringThrow?: boolean; MinTimeToContactExplode?: number; ExplosionEffectType?: string; + LinkedWeapon?: string; + UseAmmoWithoutShell?: boolean; } export interface IHealthEffect { type: string; diff --git a/TypeScript/1LogToConsole/types/models/eft/common/tables/ITrader.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/tables/ITrader.d.ts index 246a5b8..1fcfbaa 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/tables/ITrader.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/tables/ITrader.d.ts @@ -9,6 +9,7 @@ export interface ITrader { export interface ITraderBase { refreshTraderRagfairOffers: boolean; _id: string; + availableInRaid: boolean; avatar: string; balance_dol: number; balance_eur: number; @@ -20,6 +21,8 @@ export interface ITraderBase { discount_end: number; gridHeight: number; insurance: Insurance; + items_buy: IItemBuyData; + items_buy_prohibited: IItemBuyData; location: string; loyaltyLevels: LoyaltyLevel[]; medic: boolean; @@ -31,6 +34,10 @@ export interface ITraderBase { surname: string; unlockedByDefault: boolean; } +export interface IItemBuyData { + category: string[]; + id_list: string[]; +} export interface Insurance { availability: boolean; excluded_category: string[]; diff --git a/TypeScript/1LogToConsole/types/models/eft/game/IGetItemPricesResponse.d.ts b/TypeScript/1LogToConsole/types/models/eft/game/IGetItemPricesResponse.d.ts new file mode 100644 index 0000000..ab6e818 --- /dev/null +++ b/TypeScript/1LogToConsole/types/models/eft/game/IGetItemPricesResponse.d.ts @@ -0,0 +1,5 @@ +export interface IGetItemPricesResponse { + supplyNextTime: number; + prices: Record; + currencyCourses: Record; +} diff --git a/TypeScript/1LogToConsole/types/models/eft/health/Effect.d.ts b/TypeScript/1LogToConsole/types/models/eft/health/Effect.d.ts index 7eb3ffc..62d95a8 100644 --- a/TypeScript/1LogToConsole/types/models/eft/health/Effect.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/health/Effect.d.ts @@ -1,5 +1,7 @@ export declare enum Effect { FRACTURE = "Fracture", LIGHT_BLEEDING = "LightBleeding", - HEAVY_BLEEDING = "HeavyBleeding" + HEAVY_BLEEDING = "HeavyBleeding", + MILD_MUSCLE_PAIN = "MildMusclePain", + SEVERE_MUSCLE_PAIN = "SevereMusclePain" } diff --git a/TypeScript/1LogToConsole/types/models/eft/health/IWorkoutData.d.ts b/TypeScript/1LogToConsole/types/models/eft/health/IWorkoutData.d.ts new file mode 100644 index 0000000..ba629d2 --- /dev/null +++ b/TypeScript/1LogToConsole/types/models/eft/health/IWorkoutData.d.ts @@ -0,0 +1,4 @@ +export interface IWorkoutData extends Record { + skills: any; + effects: any; +} diff --git a/TypeScript/1LogToConsole/types/models/eft/hideout/IHandleQTEEventRequestData.d.ts b/TypeScript/1LogToConsole/types/models/eft/hideout/IHandleQTEEventRequestData.d.ts new file mode 100644 index 0000000..5dda485 --- /dev/null +++ b/TypeScript/1LogToConsole/types/models/eft/hideout/IHandleQTEEventRequestData.d.ts @@ -0,0 +1,8 @@ +export interface IHandleQTEEventRequestData { + Action: string; + /** true if QTE was successful, otherwise false */ + results: boolean[]; + /** Id of the QTE object used from db/hideout/qte.json */ + id: string; + timestamp: number; +} diff --git a/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutArea.d.ts b/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutArea.d.ts index d9fd2bf..fa5ca20 100644 --- a/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutArea.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutArea.d.ts @@ -3,23 +3,55 @@ export interface IHideoutArea { type: number; enabled: boolean; needsFuel: boolean; + requirements: IAreaRequirement[]; takeFromSlotLocked: boolean; craftGivesExp: boolean; + displayLevel: boolean; + enableAreaRequirements: boolean; stages: Record; } +export interface IAreaRequirement { + areaType: number; + requiredlevel: number; + type: string; +} export interface Stage { - requirements: Requirement[]; + autoUpgrade: boolean; bonuses: StageBonus[]; - slots: number; constructionTime: number; description: string; + displayInterface: boolean; + improvements: IStageImprovement[]; + requirements: IStageRequirement[]; + slots: number; } -export interface Requirement { +export interface IStageImprovement { + id: string; + bonuses: IStageImprovementBonus[]; + improvementTime: number; + requirements: IStageImprovementRequirement[]; +} +export interface IStageImprovementBonus { + passive: boolean; + production: boolean; + type: string; + value: number; + visible: boolean; +} +export interface IStageImprovementRequirement { + count: number; + isEncoded: boolean; + isFunctional: boolean; + templateId: string; + type: string; +} +export interface IStageRequirement { areaType?: number; requiredLevel?: number; type: string; templateId?: string; count?: number; + isEncoded: false; isFunctional?: boolean; traderId?: string; loyaltyLevel?: number; diff --git a/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutImproveAreaRequestData.d.ts b/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutImproveAreaRequestData.d.ts new file mode 100644 index 0000000..7e927bf --- /dev/null +++ b/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutImproveAreaRequestData.d.ts @@ -0,0 +1,13 @@ +export interface IHideoutImproveAreaRequestData { + Action: "HideoutImproveArea"; + /** Hideout area id from areas.json */ + id: string; + areaType: number; + items: HideoutItem[]; + timestamp: number; +} +export interface HideoutItem { + /** Hideout inventory id that was used by improvement action */ + id: string; + count: number; +} diff --git a/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutProduction.d.ts b/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutProduction.d.ts index 9295fb1..2367e08 100644 --- a/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutProduction.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/hideout/IHideoutProduction.d.ts @@ -3,8 +3,10 @@ export interface IHideoutProduction { areaType: number; requirements: Requirement[]; productionTime: number; - boosters?: any; endProduct: string; + isEncoded: boolean; + locked: boolean; + needFuelForAllProductionTime: boolean; continuous: boolean; count: number; productionLimitCount: number; @@ -12,6 +14,7 @@ export interface IHideoutProduction { export interface Requirement { templateId?: string; count?: number; + isEncoded?: boolean; isFunctional?: boolean; type: string; areaType?: number; diff --git a/TypeScript/1LogToConsole/types/models/eft/hideout/IQteData.d.ts b/TypeScript/1LogToConsole/types/models/eft/hideout/IQteData.d.ts new file mode 100644 index 0000000..f842b84 --- /dev/null +++ b/TypeScript/1LogToConsole/types/models/eft/hideout/IQteData.d.ts @@ -0,0 +1,38 @@ +export interface IQteData { + Id: string; + Type: string; + Area: string; + AreaLevel: number; + QuickTimeEvents: IQuickTimeEvent[]; + Requirements: IQteRequirement[]; + Results: Record; +} +export interface IQuickTimeEvent { + Type: string; + Position: number; + StartDelay: number; + EndDelay: number; + Speed: number; + SuccessRange: string; + Key: string; +} +export interface IQteRequirement { + type: string; +} +export interface IQteResult { + Energy: number; + Hydration: number; + RewardsRange: IQteEffect[]; +} +export interface IQteEffect { + Type: string; + SkillId: string; + levelMultipliers: ISkillLevelMultiplier[]; + Time: number; + Weight: number; + Result: string; +} +export interface ISkillLevelMultiplier { + level: number; + multiplier: number; +} diff --git a/TypeScript/1LogToConsole/types/models/eft/hideout/IRecordShootingRangePoints.d.ts b/TypeScript/1LogToConsole/types/models/eft/hideout/IRecordShootingRangePoints.d.ts new file mode 100644 index 0000000..5bfd2fd --- /dev/null +++ b/TypeScript/1LogToConsole/types/models/eft/hideout/IRecordShootingRangePoints.d.ts @@ -0,0 +1,4 @@ +export interface IRecordShootingRangePoints { + Action: "RecordShootingRangePoints"; + points: number; +} diff --git a/TypeScript/1LogToConsole/types/models/eft/inventory/IAddItemTempObject.d.ts b/TypeScript/1LogToConsole/types/models/eft/inventory/IAddItemTempObject.d.ts new file mode 100644 index 0000000..62d4b64 --- /dev/null +++ b/TypeScript/1LogToConsole/types/models/eft/inventory/IAddItemTempObject.d.ts @@ -0,0 +1,7 @@ +import { Item, Location } from "../common/tables/IItem"; +export interface IAddItemTempObject { + itemRef: Item; + count: number; + isPreset: boolean; + location?: Location; +} diff --git a/TypeScript/1LogToConsole/types/models/eft/itemEvent/IItemEventRouterBase.d.ts b/TypeScript/1LogToConsole/types/models/eft/itemEvent/IItemEventRouterBase.d.ts index 6b18df3..99d4bfe 100644 --- a/TypeScript/1LogToConsole/types/models/eft/itemEvent/IItemEventRouterBase.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/itemEvent/IItemEventRouterBase.d.ts @@ -22,6 +22,8 @@ export interface ProfileChange { builds: BuildChange[]; items: ItemChanges; production: Record; + /** Hideout area improvement id */ + improvements: Record; skills: Skills; traderRelations: Record; repeatableQuests?: IPmcDataRepeatableQuest[]; @@ -45,6 +47,10 @@ export interface Production { RecipeId: string; Products: Product[]; } +export interface Improvement { + completed: boolean; + improveCompleteTimestamp: number; +} export interface Product { _id: string; _tpl?: string; diff --git a/TypeScript/1LogToConsole/types/models/eft/match/IGetRaidConfigurationRequestData.d.ts b/TypeScript/1LogToConsole/types/models/eft/match/IGetRaidConfigurationRequestData.d.ts new file mode 100644 index 0000000..cbcc2f6 --- /dev/null +++ b/TypeScript/1LogToConsole/types/models/eft/match/IGetRaidConfigurationRequestData.d.ts @@ -0,0 +1,30 @@ +export interface IGetRaidConfigurationRequestData { + timeVariant: string; + raidMode: string; + metabolismDisabled: boolean; + playersSpawnPlace: string; + timeAndWeatherSettings: TimeAndWeatherSettings; + botSettings: BotSettings; + wavesSettings: WavesSettings; + location: string; +} +export interface TimeAndWeatherSettings { + isRandomTime: boolean; + isRandomWeather: boolean; + cloudinessType: string; + rainType: string; + windType: string; + fogType: string; + timeFlowType: string; + hourOfDay: number; +} +export interface BotSettings { + isScavWars: boolean; + botAmount: string; +} +export interface WavesSettings { + botAmount: string; + botDifficulty: string; + isBosses: boolean; + isTaggedAndCursed: boolean; +} diff --git a/TypeScript/1LogToConsole/types/models/eft/match/IStartOffineRaidRequestData.d.ts b/TypeScript/1LogToConsole/types/models/eft/match/IStartOffineRaidRequestData.d.ts deleted file mode 100644 index 1983728..0000000 --- a/TypeScript/1LogToConsole/types/models/eft/match/IStartOffineRaidRequestData.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { BotAmount } from "../../enums/BotAmount"; -import { BotDifficulty } from "../../enums/BotDifficulty"; -export interface IStartOfflineRaidRequestData { - locationName: string; - /** Current time, not in-game time */ - startTime: number; - /** CURR = am, past = pm */ - dateTime: "CURR" | "PAST"; - gameSettings: GameSettings; -} -export interface GameSettings { - timeAndWeatherSettings: TimeAndWeatherSettings; - botsSettings: BotsSettings; - wavesSettings: WavesSettings; -} -export interface TimeAndWeatherSettings { - isRandomTime: boolean; - isRandomWeather: boolean; -} -export interface BotsSettings { - isEnabled: boolean; - isScavWars: boolean; - botAmount: BotAmount; -} -export interface WavesSettings { - botDifficulty: BotDifficulty; - isBosses: boolean; - isTaggedAndCursed: boolean; - wavesBotAmount: BotAmount; -} diff --git a/TypeScript/1LogToConsole/types/models/eft/trade/IProcessSellTradeRequestData.d.ts b/TypeScript/1LogToConsole/types/models/eft/trade/IProcessSellTradeRequestData.d.ts index f1d555f..dee0cd5 100644 --- a/TypeScript/1LogToConsole/types/models/eft/trade/IProcessSellTradeRequestData.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/trade/IProcessSellTradeRequestData.d.ts @@ -3,6 +3,7 @@ export interface IProcessSellTradeRequestData extends IProcessBaseTradeRequestDa Action: "sell_to_trader"; type: string; tid: string; + price: number; items: Item[]; } export interface Item { diff --git a/TypeScript/1LogToConsole/types/models/enums/ELocationName.d.ts b/TypeScript/1LogToConsole/types/models/enums/ELocationName.d.ts index 7ae7caa..c52ae87 100644 --- a/TypeScript/1LogToConsole/types/models/enums/ELocationName.d.ts +++ b/TypeScript/1LogToConsole/types/models/enums/ELocationName.d.ts @@ -8,5 +8,6 @@ export declare enum ELocationName { LIGHTHOUSE = "Lighthouse", LABORATORY = "laboratory", RESERVE = "RezervBase", + STREETS = "TarkovStreets", ANY = "any" } diff --git a/TypeScript/1LogToConsole/types/models/enums/HideoutAreas.d.ts b/TypeScript/1LogToConsole/types/models/enums/HideoutAreas.d.ts index b44a20a..c8313d9 100644 --- a/TypeScript/1LogToConsole/types/models/enums/HideoutAreas.d.ts +++ b/TypeScript/1LogToConsole/types/models/enums/HideoutAreas.d.ts @@ -21,5 +21,7 @@ export declare enum HideoutAreas { SOLAR_POWER = 18, BOOZE_GENERATOR = 19, BITCOIN_FARM = 20, - CHRISTMAS_TREE = 21 + CHRISTMAS_TREE = 21, + EMERGENCY_WALL = 22, + GYM = 23 } diff --git a/TypeScript/1LogToConsole/types/models/enums/HideoutEventActions.d.ts b/TypeScript/1LogToConsole/types/models/enums/HideoutEventActions.d.ts index e441477..aa04131 100644 --- a/TypeScript/1LogToConsole/types/models/enums/HideoutEventActions.d.ts +++ b/TypeScript/1LogToConsole/types/models/enums/HideoutEventActions.d.ts @@ -7,5 +7,7 @@ export declare enum HideoutEventActions { HIDEOUT_SINGLE_PRODUCTION_START = "HideoutSingleProductionStart", HIDEOUT_SCAV_CASE_PRODUCTION_START = "HideoutScavCaseProductionStart", HIDEOUT_CONTINUOUS_PRODUCTION_START = "HideoutContinuousProductionStart", - HIDEOUT_TAKE_PRODUCTION = "HideoutTakeProduction" + HIDEOUT_TAKE_PRODUCTION = "HideoutTakeProduction", + HIDEOUT_RECORD_SHOOTING_RANGE_POINTS = "RecordShootingRangePoints", + HIDEOUT_IMPROVE_AREA = "HideoutImproveArea" } diff --git a/TypeScript/1LogToConsole/types/models/enums/ItemEventActions.d.ts b/TypeScript/1LogToConsole/types/models/enums/ItemEventActions.d.ts index 0e65453..94061f8 100644 --- a/TypeScript/1LogToConsole/types/models/enums/ItemEventActions.d.ts +++ b/TypeScript/1LogToConsole/types/models/enums/ItemEventActions.d.ts @@ -15,5 +15,6 @@ export declare enum ItemEventActions { CREATE_MAP_MARKER = "CreateMapMarker", DELETE_MAP_MARKER = "DeleteMapMarker", EDIT_MAP_MARKER = "EditMapMarker", - OPEN_RANDOM_LOOT_CONTAINER = "OpenRandomLootContainer" + OPEN_RANDOM_LOOT_CONTAINER = "OpenRandomLootContainer", + HIDEOUT_QTE_EVENT = "HideoutQuickTimeEvent" } diff --git a/TypeScript/1LogToConsole/types/models/enums/Traders.d.ts b/TypeScript/1LogToConsole/types/models/enums/Traders.d.ts index 163cd71..ffea725 100644 --- a/TypeScript/1LogToConsole/types/models/enums/Traders.d.ts +++ b/TypeScript/1LogToConsole/types/models/enums/Traders.d.ts @@ -6,5 +6,6 @@ export declare enum Traders { PEACEKEEPER = "5935c25fb3acc3127c3d8cd9", MECHANIC = "5a7c2eca46aef81a7ca2145d", RAGMAN = "5ac3b934156ae10c4430e83c", - JAEGER = "5c0647fdd443bc2504c2d371" + JAEGER = "5c0647fdd443bc2504c2d371", + LIGHTHOUSEKEEPER = "638f541a29ffd1183d187f57" } diff --git a/TypeScript/1LogToConsole/types/models/spt/callbacks/IMatchCallbacks.d.ts b/TypeScript/1LogToConsole/types/models/spt/callbacks/IMatchCallbacks.d.ts deleted file mode 100644 index fcbf173..0000000 --- a/TypeScript/1LogToConsole/types/models/spt/callbacks/IMatchCallbacks.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { IStartOfflineRaidRequestData } from "../../eft/match/IStartOffineRaidRequestData"; -import { IEndOfflineRaidRequestData } from "../../eft/match/IEndOfflineRaidRequestData"; -import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { IPmcData } from "../../eft/common/IPmcData"; -export interface IMatchCallbacks { - updatePing(url: string, info: any, sessionID: string): INullResponseData; - exitMatch(url: string, info: any, sessionID: string): INullResponseData; - exitToMenu(url: string, info: any, sessionID: string): INullResponseData; - startGroupSearch(url: string, info: any, sessionID: string): INullResponseData; - stopGroupSearch(url: string, info: any, sessionID: string): INullResponseData; - sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData; - acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData; - cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData; - putMetrics(url: string, info: any, sessionID: string): INullResponseData; - getProfile(url: string, info: any, sessionID: string): IGetBodyResponseData; - serverAvailable(url: string, info: any, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; - joinMatch(url: string, info: any, sessionID: string): IGetBodyResponseData; - getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData; - getGroupStatus(url: string, info: any, sessionID: string): IGetBodyResponseData; - createGroup(url: string, info: any, sessionID: string): IGetBodyResponseData; - deleteGroup(url: string, info: any, sessionID: string): INullResponseData; - startOfflineRaid(url: string, info: IStartOfflineRaidRequestData, sessionID: string): INullResponseData; - endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData; -} diff --git a/TypeScript/1LogToConsole/types/models/spt/config/IAirdropConfig.d.ts b/TypeScript/1LogToConsole/types/models/spt/config/IAirdropConfig.d.ts index 53df991..627b603 100644 --- a/TypeScript/1LogToConsole/types/models/spt/config/IAirdropConfig.d.ts +++ b/TypeScript/1LogToConsole/types/models/spt/config/IAirdropConfig.d.ts @@ -6,6 +6,8 @@ export interface IAirdropConfig extends IBaseConfig { planeMinFlyHeight: number; planeMaxFlyHeight: number; planeVolume: number; + planeSpeed: number; + crateFallSpeed: number; airdropMinStartTimeSeconds: number; airdropMaxStartTimeSeconds: number; loot: AirdropLoot; @@ -17,6 +19,7 @@ export interface AirdropChancePercent { shoreline: number; interchange: number; reserve: number; + tarkovStreets: number; } export interface AirdropLoot { presetCount: MinMax; diff --git a/TypeScript/1LogToConsole/types/models/spt/config/IHideoutConfig.d.ts b/TypeScript/1LogToConsole/types/models/spt/config/IHideoutConfig.d.ts index f232052..5e878ff 100644 --- a/TypeScript/1LogToConsole/types/models/spt/config/IHideoutConfig.d.ts +++ b/TypeScript/1LogToConsole/types/models/spt/config/IHideoutConfig.d.ts @@ -8,4 +8,5 @@ export interface IHideoutConfig extends IBaseConfig { airFilterUnitFlowRate: number; /** SEE HIDEOUTHELPER BEFORE CHANGING CONFIG */ gpuBoostRate: number; + hideoutWallAppearTimeSeconds: number; } diff --git a/TypeScript/1LogToConsole/types/models/spt/config/ISeasonalEventConfig.d.ts b/TypeScript/1LogToConsole/types/models/spt/config/ISeasonalEventConfig.d.ts index e410925..cedf9a9 100644 --- a/TypeScript/1LogToConsole/types/models/spt/config/ISeasonalEventConfig.d.ts +++ b/TypeScript/1LogToConsole/types/models/spt/config/ISeasonalEventConfig.d.ts @@ -5,6 +5,7 @@ export interface ISeasonalEventConfig extends IBaseConfig { /** event / botType / equipSlot / itemid */ eventGear: Record>>>; events: ISeasonalEvent[]; + gifterSettings: GifterSetting[]; } export interface ISeasonalEvent { name: string; @@ -13,3 +14,8 @@ export interface ISeasonalEvent { endDay: number; endMonth: number; } +export interface GifterSetting { + map: string; + zones: string; + spawnChance: number; +} diff --git a/TypeScript/1LogToConsole/types/models/spt/server/IDatabaseTables.d.ts b/TypeScript/1LogToConsole/types/models/spt/server/IDatabaseTables.d.ts index 9978459..ad8f729 100644 --- a/TypeScript/1LogToConsole/types/models/spt/server/IDatabaseTables.d.ts +++ b/TypeScript/1LogToConsole/types/models/spt/server/IDatabaseTables.d.ts @@ -1,3 +1,4 @@ +import { IQteData } from "../../../models/eft/hideout/IQteData"; import { IGlobals } from "../../eft/common/IGlobals"; import { IBotBase } from "../../eft/common/tables/IBotBase"; import { IBotCore } from "../../eft/common/tables/IBotCore"; @@ -30,6 +31,7 @@ export interface IDatabaseTables { production: IHideoutProduction[]; scavcase: IHideoutScavCase[]; settings: IHideoutSettingsBase; + qte: IQteData[]; }; locales?: ILocaleBase; locations?: ILocations; @@ -38,7 +40,7 @@ export interface IDatabaseTables { templates?: { character: string[]; items: Record; - quests: IQuest[]; + quests: Record; repeatableQuests: IRepeatableQuestDatabase; /** DEPRECATED - Items file found in the client, massivly out of date compared to templates.items, try not to use this, remove ASAP*/ clientItems: Record; diff --git a/TypeScript/1LogToConsole/types/routers/item_events/InventoryItemEventRouter.d.ts b/TypeScript/1LogToConsole/types/routers/item_events/InventoryItemEventRouter.d.ts index 953d322..d6a6ae5 100644 --- a/TypeScript/1LogToConsole/types/routers/item_events/InventoryItemEventRouter.d.ts +++ b/TypeScript/1LogToConsole/types/routers/item_events/InventoryItemEventRouter.d.ts @@ -1,10 +1,12 @@ +import { HideoutCallbacks } from "../../callbacks/HideoutCallbacks"; import { InventoryCallbacks } from "../../callbacks/InventoryCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; import { IPmcData } from "../../models/eft/common/IPmcData"; import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; export declare class InventoryItemEventRouter extends ItemEventRouterDefinition { protected inventoryCallbacks: InventoryCallbacks; - constructor(inventoryCallbacks: InventoryCallbacks); + protected hideoutCallbacks: HideoutCallbacks; + constructor(inventoryCallbacks: InventoryCallbacks, hideoutCallbacks: HideoutCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; } diff --git a/TypeScript/1LogToConsole/types/services/ProfileFixerService.d.ts b/TypeScript/1LogToConsole/types/services/ProfileFixerService.d.ts index 86a6af8..5130dc0 100644 --- a/TypeScript/1LogToConsole/types/services/ProfileFixerService.d.ts +++ b/TypeScript/1LogToConsole/types/services/ProfileFixerService.d.ts @@ -7,6 +7,7 @@ import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; import { HideoutAreas } from "../models/enums/HideoutAreas"; import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { TimeUtil } from "../utils/TimeUtil"; import { Watermark } from "../utils/Watermark"; import { LocalisationService } from "./LocalisationService"; export declare class ProfileFixerService { @@ -14,8 +15,9 @@ export declare class ProfileFixerService { protected watermark: Watermark; protected hideoutHelper: HideoutHelper; protected localisationService: LocalisationService; + protected timeUtil: TimeUtil; protected databaseServer: DatabaseServer; - constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, localisationService: LocalisationService, databaseServer: DatabaseServer); + constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, localisationService: LocalisationService, timeUtil: TimeUtil, databaseServer: DatabaseServer); /** * Find issues in the pmc profile data that may cause issues and fix them * @param pmcProfile profile to check and fix @@ -32,6 +34,7 @@ export declare class ProfileFixerService { * @param pmcProfile profile to remove old counters from */ removeDanglingConditionCounters(pmcProfile: IPmcData): void; + addLighthouseKeeperIfMissing(pmcProfile: IPmcData): void; protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; @@ -85,4 +88,14 @@ export declare class ProfileFixerService { * @param pmcProfile Profile to check inventory of */ checkForOrphanedModdedItems(pmcProfile: IPmcData): void; + /** + * Add `Improvements` object to hideout if missing - added in eft 13.0.21469 + * @param pmcProfile profile to update + */ + addMissingUpgradesPropertyToHideout(pmcProfile: IPmcData): void; + /** + * Iterate over associated profile template and check all hideout areas exist, add if not + * @param fullProfile Profile to update + */ + addMissingHideoutAreasToProfile(fullProfile: IAkiProfile): void; } diff --git a/TypeScript/1LogToConsole/types/services/RagfairPriceService.d.ts b/TypeScript/1LogToConsole/types/services/RagfairPriceService.d.ts index cf0459c..50d349d 100644 --- a/TypeScript/1LogToConsole/types/services/RagfairPriceService.d.ts +++ b/TypeScript/1LogToConsole/types/services/RagfairPriceService.d.ts @@ -65,6 +65,7 @@ export declare class RagfairPriceService implements OnLoad { * @returns Dictionary of item tpls and rouble cost */ getAllFleaPrices(): Record; + getAllStaticPrices(): Record; /** * Get the percentage difference between two values * @param a numerical value a diff --git a/TypeScript/1LogToConsole/types/services/SeasonalEventService.d.ts b/TypeScript/1LogToConsole/types/services/SeasonalEventService.d.ts index ac765ff..cd7be60 100644 --- a/TypeScript/1LogToConsole/types/services/SeasonalEventService.d.ts +++ b/TypeScript/1LogToConsole/types/services/SeasonalEventService.d.ts @@ -59,6 +59,7 @@ export declare class SeasonalEventService { * @param eventName Name of the event to enable. e.g. Christmas */ protected updateGlobalEvents(globalConfig: Config, eventName: string): void; + protected addLootItemsToGifterDropItemsList(): void; /** * Read in data from seasonalEvents.json and add found equipment items to bots * @param eventName Name of the event to read equipment in from config @@ -69,4 +70,8 @@ export declare class SeasonalEventService { * Set Khorovod(dancing tree) chance to 100% on all maps that support it */ protected enableDancingTree(): void; + /** + * Add santa to maps + */ + protected addGifterBotToMaps(): void; }