Update to SPT 3.10.0 #38
@ -27,7 +27,7 @@ import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest"
|
|||||||
import { ISetDialogReadRequestData } from "@spt/models/eft/dialog/ISetDialogReadRequestData";
|
import { ISetDialogReadRequestData } from "@spt/models/eft/dialog/ISetDialogReadRequestData";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
|
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
|
||||||
import { DialogueInfo } from "@spt/models/eft/profile/ISptProfile";
|
import { IDialogueInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { HashUtil } from "@spt/utils/HashUtil";
|
import { HashUtil } from "@spt/utils/HashUtil";
|
||||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||||
@ -48,11 +48,11 @@ export declare class DialogueCallbacks implements OnUpdate {
|
|||||||
*/
|
*/
|
||||||
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<IChatServer[]>;
|
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<IChatServer[]>;
|
||||||
/** Handle client/mail/dialog/list */
|
/** Handle client/mail/dialog/list */
|
||||||
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
|
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<IDialogueInfo[]>;
|
||||||
/** Handle client/mail/dialog/view */
|
/** Handle client/mail/dialog/view */
|
||||||
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
|
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
|
||||||
/** Handle client/mail/dialog/info */
|
/** Handle client/mail/dialog/info */
|
||||||
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo>;
|
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<IDialogueInfo>;
|
||||||
/** Handle client/mail/dialog/remove */
|
/** Handle client/mail/dialog/remove */
|
||||||
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
/** Handle client/mail/dialog/pin */
|
/** Handle client/mail/dialog/pin */
|
||||||
|
@ -2,6 +2,7 @@ import { LocationController } from "@spt/controllers/LocationController";
|
|||||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||||
import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase";
|
import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { IGetAirdropLootRequest } from "@spt/models/eft/location/IGetAirdropLootRequest";
|
||||||
import { IGetAirdropLootResponse } from "@spt/models/eft/location/IGetAirdropLootResponse";
|
import { IGetAirdropLootResponse } from "@spt/models/eft/location/IGetAirdropLootResponse";
|
||||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||||
export declare class LocationCallbacks {
|
export declare class LocationCallbacks {
|
||||||
@ -11,5 +12,5 @@ export declare class LocationCallbacks {
|
|||||||
/** Handle client/locations */
|
/** Handle client/locations */
|
||||||
getLocationData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ILocationsGenerateAllResponse>;
|
getLocationData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ILocationsGenerateAllResponse>;
|
||||||
/** Handle client/airdrop/loot */
|
/** Handle client/airdrop/loot */
|
||||||
getAirdropLoot(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetAirdropLootResponse>;
|
getAirdropLoot(url: string, info: IGetAirdropLootRequest, sessionID: string): IGetBodyResponseData<IGetAirdropLootResponse>;
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ import { OnUpdate } from "@spt/di/OnUpdate";
|
|||||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||||
import { ITraderAssort, ITraderBase } from "@spt/models/eft/common/tables/ITrader";
|
import { ITraderAssort, ITraderBase } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ModdedTraders } from "@spt/models/spt/config/ITraderConfig";
|
import { IModdedTraders } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||||
export declare class TraderCallbacks implements OnLoad, OnUpdate {
|
export declare class TraderCallbacks implements OnLoad, OnUpdate {
|
||||||
@ -23,5 +23,5 @@ export declare class TraderCallbacks implements OnLoad, OnUpdate {
|
|||||||
/** Handle client/trading/api/getTraderAssort */
|
/** Handle client/trading/api/getTraderAssort */
|
||||||
getAssort(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderAssort>;
|
getAssort(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderAssort>;
|
||||||
/** Handle /singleplayer/moddedTraders */
|
/** Handle /singleplayer/moddedTraders */
|
||||||
getModdedTraderData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ModdedTraders>;
|
getModdedTraderData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IModdedTraders>;
|
||||||
}
|
}
|
||||||
|
@ -13,5 +13,6 @@ export declare class WeatherCallbacks {
|
|||||||
* @returns IWeatherData
|
* @returns IWeatherData
|
||||||
*/
|
*/
|
||||||
getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IWeatherData>;
|
getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IWeatherData>;
|
||||||
|
/** Handle client/localGame/weather */
|
||||||
getLocalWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetLocalWeatherResponseData>;
|
getLocalWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetLocalWeatherResponseData>;
|
||||||
}
|
}
|
||||||
|
@ -7,5 +7,7 @@ export declare enum ContextVariableType {
|
|||||||
CLIENT_START_TIMESTAMP = 2,
|
CLIENT_START_TIMESTAMP = 2,
|
||||||
/** When player is loading into map and loot is requested */
|
/** When player is loading into map and loot is requested */
|
||||||
REGISTER_PLAYER_REQUEST = 3,
|
REGISTER_PLAYER_REQUEST = 3,
|
||||||
RAID_ADJUSTMENTS = 4
|
RAID_ADJUSTMENTS = 4,
|
||||||
|
/** Data returned from client request object from endLocalRaid() */
|
||||||
|
TRANSIT_INFO = 5
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
|
|||||||
import { IBotCore } from "@spt/models/eft/common/tables/IBotCore";
|
import { IBotCore } from "@spt/models/eft/common/tables/IBotCore";
|
||||||
import { IDifficultyCategories } from "@spt/models/eft/common/tables/IBotType";
|
import { IDifficultyCategories } from "@spt/models/eft/common/tables/IBotType";
|
||||||
import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData";
|
import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData";
|
||||||
import { BotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||||
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||||
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
|
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -97,7 +97,7 @@ export declare class BotController {
|
|||||||
* @param generateAsPmc Force bot being generated a PMC
|
* @param generateAsPmc Force bot being generated a PMC
|
||||||
* @returns BotGenerationDetails
|
* @returns BotGenerationDetails
|
||||||
*/
|
*/
|
||||||
protected getBotGenerationDetailsForWave(condition: ICondition, pmcProfile: IPmcData, allPmcsHaveSameNameAsPlayer: boolean, raidSettings: IGetRaidConfigurationRequestData, botCountToGenerate: number, generateAsPmc: boolean): BotGenerationDetails;
|
protected getBotGenerationDetailsForWave(condition: ICondition, pmcProfile: IPmcData, allPmcsHaveSameNameAsPlayer: boolean, raidSettings: IGetRaidConfigurationRequestData, botCountToGenerate: number, generateAsPmc: boolean): IBotGenerationDetails;
|
||||||
/**
|
/**
|
||||||
* Get players profile level
|
* Get players profile level
|
||||||
* @param pmcProfile Profile to get level from
|
* @param pmcProfile Profile to get level from
|
||||||
@ -111,7 +111,7 @@ export declare class BotController {
|
|||||||
* @param sessionId Session id
|
* @param sessionId Session id
|
||||||
* @returns A promise for the bots to be done generating
|
* @returns A promise for the bots to be done generating
|
||||||
*/
|
*/
|
||||||
protected generateWithBotDetails(condition: ICondition, botGenerationDetails: BotGenerationDetails, sessionId: string): Promise<void>;
|
protected generateWithBotDetails(condition: ICondition, botGenerationDetails: IBotGenerationDetails, sessionId: string): Promise<void>;
|
||||||
/**
|
/**
|
||||||
* Generate a single bot and store in the cache
|
* Generate a single bot and store in the cache
|
||||||
* @param botGenerationDetails the bot details to generate the bot with
|
* @param botGenerationDetails the bot details to generate the bot with
|
||||||
@ -119,7 +119,7 @@ export declare class BotController {
|
|||||||
* @param cacheKey the cache key to store the bot with
|
* @param cacheKey the cache key to store the bot with
|
||||||
* @returns A promise for the bot to be stored
|
* @returns A promise for the bot to be stored
|
||||||
*/
|
*/
|
||||||
protected generateSingleBotAndStoreInCache(botGenerationDetails: BotGenerationDetails, sessionId: string, cacheKey: string): Promise<void>;
|
protected generateSingleBotAndStoreInCache(botGenerationDetails: IBotGenerationDetails, sessionId: string, cacheKey: string): Promise<void>;
|
||||||
/**
|
/**
|
||||||
* Pull a single bot out of cache and return, if cache is empty add bots to it and then return
|
* Pull a single bot out of cache and return, if cache is empty add bots to it and then return
|
||||||
* @param sessionId Session id
|
* @param sessionId Session id
|
||||||
@ -128,7 +128,7 @@ export declare class BotController {
|
|||||||
*/
|
*/
|
||||||
protected returnSingleBotFromCache(sessionId: string, request: IGenerateBotsRequestData): Promise<IBotBase[]>;
|
protected returnSingleBotFromCache(sessionId: string, request: IGenerateBotsRequestData): Promise<IBotBase[]>;
|
||||||
protected getPmcConversionMinMaxForLocation(requestedBotRole: string, location: string): MinMax;
|
protected getPmcConversionMinMaxForLocation(requestedBotRole: string, location: string): MinMax;
|
||||||
protected updateBotGenerationDetailsToRandomBoss(botGenerationDetails: BotGenerationDetails, possibleBossTypeWeights: Record<string, number>): void;
|
protected updateBotGenerationDetailsToRandomBoss(botGenerationDetails: IBotGenerationDetails, possibleBossTypeWeights: Record<string, number>): void;
|
||||||
/**
|
/**
|
||||||
* Get the difficulty passed in, if its not "asonline", get selected difficulty from config
|
* Get the difficulty passed in, if its not "asonline", get selected difficulty from config
|
||||||
* @param requestedDifficulty
|
* @param requestedDifficulty
|
||||||
|
@ -7,7 +7,7 @@ import { IGetFriendListDataResponse } from "@spt/models/eft/dialog/IGetFriendLis
|
|||||||
import { IGetMailDialogViewRequestData } from "@spt/models/eft/dialog/IGetMailDialogViewRequestData";
|
import { IGetMailDialogViewRequestData } from "@spt/models/eft/dialog/IGetMailDialogViewRequestData";
|
||||||
import { IGetMailDialogViewResponseData } from "@spt/models/eft/dialog/IGetMailDialogViewResponseData";
|
import { IGetMailDialogViewResponseData } from "@spt/models/eft/dialog/IGetMailDialogViewResponseData";
|
||||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||||
import { Dialogue, DialogueInfo, ISptProfile, IUserDialogInfo, Message } from "@spt/models/eft/profile/ISptProfile";
|
import { IDialogue, IDialogueInfo, IMessage, ISptProfile, IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { MessageType } from "@spt/models/enums/MessageType";
|
import { MessageType } from "@spt/models/enums/MessageType";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
@ -40,14 +40,14 @@ export declare class DialogueController {
|
|||||||
* @param sessionID Session Id
|
* @param sessionID Session Id
|
||||||
* @returns array of dialogs
|
* @returns array of dialogs
|
||||||
*/
|
*/
|
||||||
generateDialogueList(sessionID: string): DialogueInfo[];
|
generateDialogueList(sessionID: string): IDialogueInfo[];
|
||||||
/**
|
/**
|
||||||
* Get the content of a dialogue
|
* Get the content of a dialogue
|
||||||
* @param dialogueID Dialog id
|
* @param dialogueID Dialog id
|
||||||
* @param sessionID Session Id
|
* @param sessionID Session Id
|
||||||
* @returns DialogueInfo
|
* @returns DialogueInfo
|
||||||
*/
|
*/
|
||||||
getDialogueInfo(dialogueID: string, sessionID: string): DialogueInfo;
|
getDialogueInfo(dialogueID: string, sessionID: string): IDialogueInfo;
|
||||||
/**
|
/**
|
||||||
* Get the users involved in a dialog (player + other party)
|
* Get the users involved in a dialog (player + other party)
|
||||||
* @param dialog The dialog to check for users
|
* @param dialog The dialog to check for users
|
||||||
@ -55,7 +55,7 @@ export declare class DialogueController {
|
|||||||
* @param sessionID Player id
|
* @param sessionID Player id
|
||||||
* @returns IUserDialogInfo array
|
* @returns IUserDialogInfo array
|
||||||
*/
|
*/
|
||||||
getDialogueUsers(dialog: Dialogue, messageType: MessageType, sessionID: string): IUserDialogInfo[] | undefined;
|
getDialogueUsers(dialog: IDialogue, messageType: MessageType, sessionID: string): IUserDialogInfo[] | undefined;
|
||||||
/**
|
/**
|
||||||
* Handle client/mail/dialog/view
|
* Handle client/mail/dialog/view
|
||||||
* Handle player clicking 'messenger' and seeing all the messages they've recieved
|
* Handle player clicking 'messenger' and seeing all the messages they've recieved
|
||||||
@ -72,7 +72,7 @@ export declare class DialogueController {
|
|||||||
* @param request get dialog request (params used when dialog doesnt exist in profile)
|
* @param request get dialog request (params used when dialog doesnt exist in profile)
|
||||||
* @returns Dialogue
|
* @returns Dialogue
|
||||||
*/
|
*/
|
||||||
protected getDialogByIdFromProfile(profile: ISptProfile, request: IGetMailDialogViewRequestData): Dialogue;
|
protected getDialogByIdFromProfile(profile: ISptProfile, request: IGetMailDialogViewRequestData): IDialogue;
|
||||||
/**
|
/**
|
||||||
* Get the users involved in a mail between two entities
|
* Get the users involved in a mail between two entities
|
||||||
* @param fullProfile Player profile
|
* @param fullProfile Player profile
|
||||||
@ -92,7 +92,7 @@ export declare class DialogueController {
|
|||||||
* @param messages Messages to check
|
* @param messages Messages to check
|
||||||
* @returns true if uncollected rewards found
|
* @returns true if uncollected rewards found
|
||||||
*/
|
*/
|
||||||
protected messagesHaveUncollectedRewards(messages: Message[]): boolean;
|
protected messagesHaveUncollectedRewards(messages: IMessage[]): boolean;
|
||||||
/**
|
/**
|
||||||
* Handle client/mail/dialog/remove
|
* Handle client/mail/dialog/remove
|
||||||
* Remove an entire dialog with an entity (trader/user)
|
* Remove an entire dialog with an entity (trader/user)
|
||||||
@ -125,13 +125,13 @@ export declare class DialogueController {
|
|||||||
* @param dialogueId Dialog to get mail attachments from
|
* @param dialogueId Dialog to get mail attachments from
|
||||||
* @returns Message array
|
* @returns Message array
|
||||||
*/
|
*/
|
||||||
protected getActiveMessagesFromDialog(sessionId: string, dialogueId: string): Message[];
|
protected getActiveMessagesFromDialog(sessionId: string, dialogueId: string): IMessage[];
|
||||||
/**
|
/**
|
||||||
* Return array of messages with uncollected items (includes expired)
|
* Return array of messages with uncollected items (includes expired)
|
||||||
* @param messages Messages to parse
|
* @param messages Messages to parse
|
||||||
* @returns messages with items to collect
|
* @returns messages with items to collect
|
||||||
*/
|
*/
|
||||||
protected getMessagesWithAttachments(messages: Message[]): Message[];
|
protected getMessagesWithAttachments(messages: IMessage[]): IMessage[];
|
||||||
/**
|
/**
|
||||||
* Delete expired items from all messages in player profile. triggers when updating traders.
|
* Delete expired items from all messages in player profile. triggers when updating traders.
|
||||||
* @param sessionId Session id
|
* @param sessionId Session id
|
||||||
@ -148,7 +148,7 @@ export declare class DialogueController {
|
|||||||
* @param message Message to check expiry of
|
* @param message Message to check expiry of
|
||||||
* @returns true or false
|
* @returns true or false
|
||||||
*/
|
*/
|
||||||
protected messageHasExpired(message: Message): boolean;
|
protected messageHasExpired(message: IMessage): boolean;
|
||||||
/** Handle client/friend/request/send */
|
/** Handle client/friend/request/send */
|
||||||
sendFriendRequest(sessionID: string, request: IFriendRequestData): IFriendRequestSendResponse;
|
sendFriendRequest(sessionID: string, request: IFriendRequestData): IFriendRequestSendResponse;
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,8 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { IBotHideoutArea, IProduct, ITaskConditionCounter } from "@spt/models/eft/common/tables/IBotBase";
|
import { IBotHideoutArea, IProduct, ITaskConditionCounter } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { HideoutUpgradeCompleteRequestData } from "@spt/models/eft/hideout/HideoutUpgradeCompleteRequestData";
|
|
||||||
import { IHandleQTEEventRequestData } from "@spt/models/eft/hideout/IHandleQTEEventRequestData";
|
import { IHandleQTEEventRequestData } from "@spt/models/eft/hideout/IHandleQTEEventRequestData";
|
||||||
import { IHideoutArea, Stage } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea, IStage } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutCancelProductionRequestData } from "@spt/models/eft/hideout/IHideoutCancelProductionRequestData";
|
import { IHideoutCancelProductionRequestData } from "@spt/models/eft/hideout/IHideoutCancelProductionRequestData";
|
||||||
import { IHideoutCircleOfCultistProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutCircleOfCultistProductionStartRequestData";
|
import { IHideoutCircleOfCultistProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutCircleOfCultistProductionStartRequestData";
|
||||||
import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
|
import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
|
||||||
@ -22,8 +21,9 @@ import { IHideoutSingleProductionStartRequestData } from "@spt/models/eft/hideou
|
|||||||
import { IHideoutTakeItemOutRequestData } from "@spt/models/eft/hideout/IHideoutTakeItemOutRequestData";
|
import { IHideoutTakeItemOutRequestData } from "@spt/models/eft/hideout/IHideoutTakeItemOutRequestData";
|
||||||
import { IHideoutTakeProductionRequestData } from "@spt/models/eft/hideout/IHideoutTakeProductionRequestData";
|
import { IHideoutTakeProductionRequestData } from "@spt/models/eft/hideout/IHideoutTakeProductionRequestData";
|
||||||
import { IHideoutToggleAreaRequestData } from "@spt/models/eft/hideout/IHideoutToggleAreaRequestData";
|
import { IHideoutToggleAreaRequestData } from "@spt/models/eft/hideout/IHideoutToggleAreaRequestData";
|
||||||
|
import { IHideoutUpgradeCompleteRequestData } from "@spt/models/eft/hideout/IHideoutUpgradeCompleteRequestData";
|
||||||
import { IHideoutUpgradeRequestData } from "@spt/models/eft/hideout/IHideoutUpgradeRequestData";
|
import { IHideoutUpgradeRequestData } from "@spt/models/eft/hideout/IHideoutUpgradeRequestData";
|
||||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
import { IQteData, IQteResult } from "@spt/models/eft/hideout/IQteData";
|
||||||
import { IRecordShootingRangePoints } from "@spt/models/eft/hideout/IRecordShootingRangePoints";
|
import { IRecordShootingRangePoints } from "@spt/models/eft/hideout/IRecordShootingRangePoints";
|
||||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
import { HideoutAreas } from "@spt/models/enums/HideoutAreas";
|
import { HideoutAreas } from "@spt/models/enums/HideoutAreas";
|
||||||
@ -87,7 +87,7 @@ export declare class HideoutController {
|
|||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param output Client response
|
* @param output Client response
|
||||||
*/
|
*/
|
||||||
upgradeComplete(pmcData: IPmcData, request: HideoutUpgradeCompleteRequestData, sessionID: string, output: IItemEventRouterResponse): void;
|
upgradeComplete(pmcData: IPmcData, request: IHideoutUpgradeCompleteRequestData, sessionID: string, output: IItemEventRouterResponse): void;
|
||||||
/**
|
/**
|
||||||
* Upgrade wall status to visible in profile if medstation/water collector are both level 1
|
* Upgrade wall status to visible in profile if medstation/water collector are both level 1
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -101,7 +101,7 @@ export declare class HideoutController {
|
|||||||
* @param dbHideoutArea Hideout area being upgraded
|
* @param dbHideoutArea Hideout area being upgraded
|
||||||
* @param hideoutStage Stage hideout area is being upgraded to
|
* @param hideoutStage Stage hideout area is being upgraded to
|
||||||
*/
|
*/
|
||||||
protected addContainerImprovementToProfile(output: IItemEventRouterResponse, sessionID: string, pmcData: IPmcData, profileParentHideoutArea: IBotHideoutArea, dbHideoutArea: IHideoutArea, hideoutStage: Stage): void;
|
protected addContainerImprovementToProfile(output: IItemEventRouterResponse, sessionID: string, pmcData: IPmcData, profileParentHideoutArea: IBotHideoutArea, dbHideoutArea: IHideoutArea, hideoutStage: IStage): void;
|
||||||
/**
|
/**
|
||||||
* Add stand1/stand2/stand3 inventory items to profile, depending on passed in hideout stage
|
* Add stand1/stand2/stand3 inventory items to profile, depending on passed in hideout stage
|
||||||
* @param sessionId Session id
|
* @param sessionId Session id
|
||||||
@ -110,14 +110,14 @@ export declare class HideoutController {
|
|||||||
* @param equipmentPresetHideoutArea
|
* @param equipmentPresetHideoutArea
|
||||||
* @param output Response to send back to client
|
* @param output Response to send back to client
|
||||||
*/
|
*/
|
||||||
protected addMissingPresetStandItemsToProfile(sessionId: string, equipmentPresetStage: Stage, pmcData: IPmcData, equipmentPresetHideoutArea: IHideoutArea, output: IItemEventRouterResponse): void;
|
protected addMissingPresetStandItemsToProfile(sessionId: string, equipmentPresetStage: IStage, pmcData: IPmcData, equipmentPresetHideoutArea: IHideoutArea, output: IItemEventRouterResponse): void;
|
||||||
/**
|
/**
|
||||||
* Add an inventory item to profile from a hideout area stage data
|
* Add an inventory item to profile from a hideout area stage data
|
||||||
* @param pmcData Profile to update
|
* @param pmcData Profile to update
|
||||||
* @param dbHideoutArea Hideout area from db being upgraded
|
* @param dbHideoutArea Hideout area from db being upgraded
|
||||||
* @param hideoutStage Stage area upgraded to
|
* @param hideoutStage Stage area upgraded to
|
||||||
*/
|
*/
|
||||||
protected addUpdateInventoryItemToProfile(sessionId: string, pmcData: IPmcData, dbHideoutArea: IHideoutArea, hideoutStage: Stage): void;
|
protected addUpdateInventoryItemToProfile(sessionId: string, pmcData: IPmcData, dbHideoutArea: IHideoutArea, hideoutStage: IStage): void;
|
||||||
/**
|
/**
|
||||||
* @param output Object to send to client
|
* @param output Object to send to client
|
||||||
* @param sessionID Session/player id
|
* @param sessionID Session/player id
|
||||||
@ -125,7 +125,7 @@ export declare class HideoutController {
|
|||||||
* @param hideoutDbData Hideout area that caused addition of stash
|
* @param hideoutDbData Hideout area that caused addition of stash
|
||||||
* @param hideoutStage Hideout area upgraded to this
|
* @param hideoutStage Hideout area upgraded to this
|
||||||
*/
|
*/
|
||||||
protected addContainerUpgradeToClientOutput(sessionID: string, areaType: HideoutAreas, hideoutDbData: IHideoutArea, hideoutStage: Stage, output: IItemEventRouterResponse): void;
|
protected addContainerUpgradeToClientOutput(sessionID: string, areaType: HideoutAreas, hideoutDbData: IHideoutArea, hideoutStage: IStage, output: IItemEventRouterResponse): void;
|
||||||
/**
|
/**
|
||||||
* Handle HideoutPutItemsInAreaSlots
|
* Handle HideoutPutItemsInAreaSlots
|
||||||
* Create item in hideout slot item array, remove item from player inventory
|
* Create item in hideout slot item array, remove item from player inventory
|
||||||
@ -252,6 +252,12 @@ export declare class HideoutController {
|
|||||||
* @param request QTE result object
|
* @param request QTE result object
|
||||||
*/
|
*/
|
||||||
handleQTEEventOutcome(sessionId: string, pmcData: IPmcData, request: IHandleQTEEventRequestData, output: IItemEventRouterResponse): void;
|
handleQTEEventOutcome(sessionId: string, pmcData: IPmcData, request: IHandleQTEEventRequestData, output: IItemEventRouterResponse): void;
|
||||||
|
/**
|
||||||
|
* Apply mild/severe muscle pain after gym use
|
||||||
|
* @param pmcData Profile to apply effect to
|
||||||
|
* @param finishEffect Effect data to apply after completing QTE gym event
|
||||||
|
*/
|
||||||
|
protected handleMusclePain(pmcData: IPmcData, finishEffect: IQteResult): void;
|
||||||
/**
|
/**
|
||||||
* Record a high score from the shooting range into a player profiles overallcounters
|
* Record a high score from the shooting range into a player profiles overallcounters
|
||||||
* @param sessionId Session id
|
* @param sessionId Session id
|
||||||
|
@ -9,7 +9,7 @@ import { IGetInsuranceCostRequestData } from "@spt/models/eft/insurance/IGetInsu
|
|||||||
import { IGetInsuranceCostResponseData } from "@spt/models/eft/insurance/IGetInsuranceCostResponseData";
|
import { IGetInsuranceCostResponseData } from "@spt/models/eft/insurance/IGetInsuranceCostResponseData";
|
||||||
import { IInsureRequestData } from "@spt/models/eft/insurance/IInsureRequestData";
|
import { IInsureRequestData } from "@spt/models/eft/insurance/IInsureRequestData";
|
||||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
import { Insurance } from "@spt/models/eft/profile/ISptProfile";
|
import { IInsurance } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { IInsuranceConfig } from "@spt/models/spt/config/IInsuranceConfig";
|
import { IInsuranceConfig } from "@spt/models/spt/config/IInsuranceConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { EventOutputHolder } from "@spt/routers/EventOutputHolder";
|
import { EventOutputHolder } from "@spt/routers/EventOutputHolder";
|
||||||
@ -68,7 +68,7 @@ export declare class InsuranceController {
|
|||||||
* @param time The time to check ready status against. Current time by default.
|
* @param time The time to check ready status against. Current time by default.
|
||||||
* @returns All insured items that are ready to be processed.
|
* @returns All insured items that are ready to be processed.
|
||||||
*/
|
*/
|
||||||
protected filterInsuredItems(sessionID: string, time?: number): Insurance[];
|
protected filterInsuredItems(sessionID: string, time?: number): IInsurance[];
|
||||||
/**
|
/**
|
||||||
* This method orchestrates the processing of insured items in a profile.
|
* This method orchestrates the processing of insured items in a profile.
|
||||||
*
|
*
|
||||||
@ -76,13 +76,13 @@ export declare class InsuranceController {
|
|||||||
* @param sessionID The session ID that should receive the processed items.
|
* @param sessionID The session ID that should receive the processed items.
|
||||||
* @returns void
|
* @returns void
|
||||||
*/
|
*/
|
||||||
protected processInsuredItems(insuranceDetails: Insurance[], sessionID: string): void;
|
protected processInsuredItems(insuranceDetails: IInsurance[], sessionID: string): void;
|
||||||
/**
|
/**
|
||||||
* Count all items in all insurance packages.
|
* Count all items in all insurance packages.
|
||||||
* @param insurance
|
* @param insurance
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
protected countAllInsuranceItems(insurance: Insurance[]): number;
|
protected countAllInsuranceItems(insurance: IInsurance[]): number;
|
||||||
/**
|
/**
|
||||||
* Remove an insurance package from a profile using the package's system data information.
|
* Remove an insurance package from a profile using the package's system data information.
|
||||||
*
|
*
|
||||||
@ -90,7 +90,7 @@ export declare class InsuranceController {
|
|||||||
* @param index The array index of the insurance package to remove.
|
* @param index The array index of the insurance package to remove.
|
||||||
* @returns void
|
* @returns void
|
||||||
*/
|
*/
|
||||||
protected removeInsurancePackageFromProfile(sessionID: string, insPackage: Insurance): void;
|
protected removeInsurancePackageFromProfile(sessionID: string, insPackage: IInsurance): void;
|
||||||
/**
|
/**
|
||||||
* Finds the items that should be deleted based on the given Insurance object.
|
* Finds the items that should be deleted based on the given Insurance object.
|
||||||
*
|
*
|
||||||
@ -98,7 +98,7 @@ export declare class InsuranceController {
|
|||||||
* @param insured - The insurance object containing the items to evaluate for deletion.
|
* @param insured - The insurance object containing the items to evaluate for deletion.
|
||||||
* @returns A Set containing the IDs of items that should be deleted.
|
* @returns A Set containing the IDs of items that should be deleted.
|
||||||
*/
|
*/
|
||||||
protected findItemsToDelete(rootItemParentID: string, insured: Insurance): Set<string>;
|
protected findItemsToDelete(rootItemParentID: string, insured: IInsurance): Set<string>;
|
||||||
/**
|
/**
|
||||||
* Initialize a Map object that holds main-parents to all of their attachments. Note that "main-parent" in this
|
* Initialize a Map object that holds main-parents to all of their attachments. Note that "main-parent" in this
|
||||||
* context refers to the parent item that an attachment is attached to. For example, a suppressor attached to a gun,
|
* context refers to the parent item that an attachment is attached to. For example, a suppressor attached to a gun,
|
||||||
@ -109,7 +109,7 @@ export declare class InsuranceController {
|
|||||||
* @param itemsMap - A Map object for quick item look-up by item ID.
|
* @param itemsMap - A Map object for quick item look-up by item ID.
|
||||||
* @returns A Map object containing parent item IDs to arrays of their attachment items.
|
* @returns A Map object containing parent item IDs to arrays of their attachment items.
|
||||||
*/
|
*/
|
||||||
protected populateParentAttachmentsMap(rootItemParentID: string, insured: Insurance, itemsMap: Map<string, IItem>): Map<string, IItem[]>;
|
protected populateParentAttachmentsMap(rootItemParentID: string, insured: IInsurance, itemsMap: Map<string, IItem>): Map<string, IItem[]>;
|
||||||
/**
|
/**
|
||||||
* Remove attachments that can not be moddable in-raid from the parentAttachmentsMap. If no moddable attachments
|
* Remove attachments that can not be moddable in-raid from the parentAttachmentsMap. If no moddable attachments
|
||||||
* remain, the parent is removed from the map as well.
|
* remain, the parent is removed from the map as well.
|
||||||
@ -129,7 +129,7 @@ export declare class InsuranceController {
|
|||||||
* @param parentAttachmentsMap A Map object containing parent item IDs to arrays of their attachment items.
|
* @param parentAttachmentsMap A Map object containing parent item IDs to arrays of their attachment items.
|
||||||
* @returns void
|
* @returns void
|
||||||
*/
|
*/
|
||||||
protected processRegularItems(insured: Insurance, toDelete: Set<string>, parentAttachmentsMap: Map<string, IItem[]>): void;
|
protected processRegularItems(insured: IInsurance, toDelete: Set<string>, parentAttachmentsMap: Map<string, IItem[]>): void;
|
||||||
/**
|
/**
|
||||||
* Process parent items and their attachments, updating the toDelete Set accordingly.
|
* Process parent items and their attachments, updating the toDelete Set accordingly.
|
||||||
*
|
*
|
||||||
@ -167,7 +167,7 @@ export declare class InsuranceController {
|
|||||||
* @param toDelete The items that should be deleted.
|
* @param toDelete The items that should be deleted.
|
||||||
* @returns void
|
* @returns void
|
||||||
*/
|
*/
|
||||||
protected removeItemsFromInsurance(insured: Insurance, toDelete: Set<string>): void;
|
protected removeItemsFromInsurance(insured: IInsurance, toDelete: Set<string>): void;
|
||||||
/**
|
/**
|
||||||
* Handle sending the insurance message to the user that potentially contains the valid insurance items.
|
* Handle sending the insurance message to the user that potentially contains the valid insurance items.
|
||||||
*
|
*
|
||||||
@ -175,7 +175,7 @@ export declare class InsuranceController {
|
|||||||
* @param insurance The context of insurance to use.
|
* @param insurance The context of insurance to use.
|
||||||
* @returns void
|
* @returns void
|
||||||
*/
|
*/
|
||||||
protected sendMail(sessionID: string, insurance: Insurance): void;
|
protected sendMail(sessionID: string, insurance: IInsurance): void;
|
||||||
/**
|
/**
|
||||||
* Determines whether an insured item should be removed from the player's inventory based on a random roll and
|
* Determines whether an insured item should be removed from the player's inventory based on a random roll and
|
||||||
* trader-specific return chance.
|
* trader-specific return chance.
|
||||||
|
@ -5,7 +5,7 @@ import { IChangeRequestData } from "@spt/models/eft/launcher/IChangeRequestData"
|
|||||||
import { ILoginRequestData } from "@spt/models/eft/launcher/ILoginRequestData";
|
import { ILoginRequestData } from "@spt/models/eft/launcher/ILoginRequestData";
|
||||||
import { IRegisterData } from "@spt/models/eft/launcher/IRegisterData";
|
import { IRegisterData } from "@spt/models/eft/launcher/IRegisterData";
|
||||||
import { IConnectResponse } from "@spt/models/eft/profile/IConnectResponse";
|
import { IConnectResponse } from "@spt/models/eft/profile/IConnectResponse";
|
||||||
import { Info, ModDetails } from "@spt/models/eft/profile/ISptProfile";
|
import { IModDetails, Info } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||||
import { IPackageJsonData } from "@spt/models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "@spt/models/spt/mod/IPackageJsonData";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -61,5 +61,5 @@ export declare class LauncherController {
|
|||||||
* @param sessionId Player id
|
* @param sessionId Player id
|
||||||
* @returns Array of mod details
|
* @returns Array of mod details
|
||||||
*/
|
*/
|
||||||
getServerModsProfileUsed(sessionId: string): ModDetails[];
|
getServerModsProfileUsed(sessionId: string): IModDetails[];
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase";
|
import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase";
|
||||||
|
import { IGetAirdropLootRequest } from "@spt/models/eft/location/IGetAirdropLootRequest";
|
||||||
import { IGetAirdropLootResponse } from "@spt/models/eft/location/IGetAirdropLootResponse";
|
import { IGetAirdropLootResponse } from "@spt/models/eft/location/IGetAirdropLootResponse";
|
||||||
import { ILocationConfig } from "@spt/models/spt/config/ILocationConfig";
|
import { ILocationConfig } from "@spt/models/spt/config/ILocationConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -22,5 +23,5 @@ export declare class LocationController {
|
|||||||
*/
|
*/
|
||||||
generateAll(sessionId: string): ILocationsGenerateAllResponse;
|
generateAll(sessionId: string): ILocationsGenerateAllResponse;
|
||||||
/** Handle client/airdrop/loot */
|
/** Handle client/airdrop/loot */
|
||||||
getAirdropLoot(): IGetAirdropLootResponse;
|
getAirdropLoot(request: IGetAirdropLootRequest): IGetAirdropLootResponse;
|
||||||
}
|
}
|
||||||
|
@ -14,20 +14,18 @@ import { ConfigServer } from "@spt/servers/ConfigServer";
|
|||||||
import { SaveServer } from "@spt/servers/SaveServer";
|
import { SaveServer } from "@spt/servers/SaveServer";
|
||||||
import { LocationLifecycleService } from "@spt/services/LocationLifecycleService";
|
import { LocationLifecycleService } from "@spt/services/LocationLifecycleService";
|
||||||
import { MatchLocationService } from "@spt/services/MatchLocationService";
|
import { MatchLocationService } from "@spt/services/MatchLocationService";
|
||||||
import { ProfileSnapshotService } from "@spt/services/ProfileSnapshotService";
|
|
||||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||||
export declare class MatchController {
|
export declare class MatchController {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected saveServer: SaveServer;
|
protected saveServer: SaveServer;
|
||||||
protected matchLocationService: MatchLocationService;
|
protected matchLocationService: MatchLocationService;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected profileSnapshotService: ProfileSnapshotService;
|
|
||||||
protected applicationContext: ApplicationContext;
|
protected applicationContext: ApplicationContext;
|
||||||
protected locationLifecycleService: LocationLifecycleService;
|
protected locationLifecycleService: LocationLifecycleService;
|
||||||
protected cloner: ICloner;
|
protected cloner: ICloner;
|
||||||
protected matchConfig: IMatchConfig;
|
protected matchConfig: IMatchConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
constructor(logger: ILogger, saveServer: SaveServer, matchLocationService: MatchLocationService, configServer: ConfigServer, profileSnapshotService: ProfileSnapshotService, applicationContext: ApplicationContext, locationLifecycleService: LocationLifecycleService, cloner: ICloner);
|
constructor(logger: ILogger, saveServer: SaveServer, matchLocationService: MatchLocationService, configServer: ConfigServer, applicationContext: ApplicationContext, locationLifecycleService: LocationLifecycleService, cloner: ICloner);
|
||||||
getEnabled(): boolean;
|
getEnabled(): boolean;
|
||||||
/** Handle client/match/group/delete */
|
/** Handle client/match/group/delete */
|
||||||
deleteGroup(info: any): void;
|
deleteGroup(info: any): void;
|
||||||
|
@ -14,7 +14,7 @@ import { IItem } from "@spt/models/eft/common/tables/IItem";
|
|||||||
import { ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { IAddOfferRequestData, Requirement } from "@spt/models/eft/ragfair/IAddOfferRequestData";
|
import { IAddOfferRequestData, IRequirement } from "@spt/models/eft/ragfair/IAddOfferRequestData";
|
||||||
import { IExtendOfferRequestData } from "@spt/models/eft/ragfair/IExtendOfferRequestData";
|
import { IExtendOfferRequestData } from "@spt/models/eft/ragfair/IExtendOfferRequestData";
|
||||||
import { IGetItemPriceResult } from "@spt/models/eft/ragfair/IGetItemPriceResult";
|
import { IGetItemPriceResult } from "@spt/models/eft/ragfair/IGetItemPriceResult";
|
||||||
import { IGetMarketPriceRequestData } from "@spt/models/eft/ragfair/IGetMarketPriceRequestData";
|
import { IGetMarketPriceRequestData } from "@spt/models/eft/ragfair/IGetMarketPriceRequestData";
|
||||||
@ -137,10 +137,11 @@ export declare class RagfairController {
|
|||||||
update(): void;
|
update(): void;
|
||||||
/**
|
/**
|
||||||
* Called when creating an offer on flea, fills values in top right corner
|
* Called when creating an offer on flea, fills values in top right corner
|
||||||
* @param getPriceRequest
|
* @param getPriceRequest Client request object
|
||||||
|
* @param ignoreTraderOffers Should trader offers be ignored in the calcualtion
|
||||||
* @returns min/avg/max values for an item based on flea offers available
|
* @returns min/avg/max values for an item based on flea offers available
|
||||||
*/
|
*/
|
||||||
getItemMinAvgMaxFleaPriceValues(getPriceRequest: IGetMarketPriceRequestData): IGetItemPriceResult;
|
getItemMinAvgMaxFleaPriceValues(getPriceRequest: IGetMarketPriceRequestData, ignoreTraderOffers?: boolean): IGetItemPriceResult;
|
||||||
/**
|
/**
|
||||||
* List item(s) on flea for sale
|
* List item(s) on flea for sale
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -212,7 +213,7 @@ export declare class RagfairController {
|
|||||||
* @param requirements
|
* @param requirements
|
||||||
* @returns Rouble price
|
* @returns Rouble price
|
||||||
*/
|
*/
|
||||||
protected calculateRequirementsPriceInRub(requirements: Requirement[]): number;
|
protected calculateRequirementsPriceInRub(requirements: IRequirement[]): number;
|
||||||
/**
|
/**
|
||||||
* Using item ids from flea offer request, find corresponding items from player inventory and return as array
|
* Using item ids from flea offer request, find corresponding items from player inventory and return as array
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -223,7 +224,7 @@ export declare class RagfairController {
|
|||||||
items: IItem[][] | undefined;
|
items: IItem[][] | undefined;
|
||||||
errorMessage: string | undefined;
|
errorMessage: string | undefined;
|
||||||
};
|
};
|
||||||
createPlayerOffer(sessionId: string, requirements: Requirement[], items: IItem[], sellInOnePiece: boolean): IRagfairOffer;
|
createPlayerOffer(sessionId: string, requirements: IRequirement[], items: IItem[], sellInOnePiece: boolean): IRagfairOffer;
|
||||||
getAllFleaPrices(): Record<string, number>;
|
getAllFleaPrices(): Record<string, number>;
|
||||||
getStaticPrices(): Record<string, number>;
|
getStaticPrices(): Record<string, number>;
|
||||||
/**
|
/**
|
||||||
|
@ -1,17 +1,21 @@
|
|||||||
import { WeatherGenerator } from "@spt/generators/WeatherGenerator";
|
import { WeatherGenerator } from "@spt/generators/WeatherGenerator";
|
||||||
|
import { WeatherHelper } from "@spt/helpers/WeatherHelper";
|
||||||
import { IWeatherData } from "@spt/models/eft/weather/IWeatherData";
|
import { IWeatherData } from "@spt/models/eft/weather/IWeatherData";
|
||||||
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
|
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { IGetLocalWeatherResponseData } from "@spt/models/spt/weather/IGetLocalWeatherResponseData";
|
import { IGetLocalWeatherResponseData } from "@spt/models/spt/weather/IGetLocalWeatherResponseData";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
|
import { RaidWeatherService } from "@spt/services/RaidWeatherService";
|
||||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||||
export declare class WeatherController {
|
export declare class WeatherController {
|
||||||
protected weatherGenerator: WeatherGenerator;
|
protected weatherGenerator: WeatherGenerator;
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected seasonalEventService: SeasonalEventService;
|
protected seasonalEventService: SeasonalEventService;
|
||||||
|
protected raidWeatherService: RaidWeatherService;
|
||||||
|
protected weatherHelper: WeatherHelper;
|
||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService);
|
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||||
/** Handle client/weather */
|
/** Handle client/weather */
|
||||||
generate(): IWeatherData;
|
generate(): IWeatherData;
|
||||||
/**
|
/**
|
||||||
@ -19,5 +23,6 @@ export declare class WeatherController {
|
|||||||
* @returns Date object
|
* @returns Date object
|
||||||
*/
|
*/
|
||||||
getCurrentInRaidTime(): Date;
|
getCurrentInRaidTime(): Date;
|
||||||
generateLocal(sesssionID: string): IGetLocalWeatherResponseData;
|
/** Handle client/localGame/weather */
|
||||||
|
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ import { IFilterPlateModsForSlotByLevelResult } from "@spt/models/spt/bots/IFilt
|
|||||||
import { IGenerateEquipmentProperties } from "@spt/models/spt/bots/IGenerateEquipmentProperties";
|
import { IGenerateEquipmentProperties } from "@spt/models/spt/bots/IGenerateEquipmentProperties";
|
||||||
import { IGenerateWeaponRequest } from "@spt/models/spt/bots/IGenerateWeaponRequest";
|
import { IGenerateWeaponRequest } from "@spt/models/spt/bots/IGenerateWeaponRequest";
|
||||||
import { IModToSpawnRequest } from "@spt/models/spt/bots/IModToSpawnRequest";
|
import { IModToSpawnRequest } from "@spt/models/spt/bots/IModToSpawnRequest";
|
||||||
import { EquipmentFilterDetails, EquipmentFilters, IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
import { EquipmentFilters, IBotConfig, IEquipmentFilterDetails } from "@spt/models/spt/config/IBotConfig";
|
||||||
import { ExhaustableArray } from "@spt/models/spt/server/ExhaustableArray";
|
import { ExhaustableArray } from "@spt/models/spt/server/ExhaustableArray";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
@ -56,11 +56,12 @@ export declare class BotEquipmentModGenerator {
|
|||||||
* @param equipment Equipment item to add mods to
|
* @param equipment Equipment item to add mods to
|
||||||
* @param modPool Mod list to choose frm
|
* @param modPool Mod list to choose frm
|
||||||
* @param parentId parentid of item to add mod to
|
* @param parentId parentid of item to add mod to
|
||||||
* @param parentTemplate template objet of item to add mods to
|
* @param parentTemplate Template object of item to add mods to
|
||||||
|
* @param specificBlacklist The relevant blacklist from bot.json equipment dictionary
|
||||||
* @param forceSpawn should this mod be forced to spawn
|
* @param forceSpawn should this mod be forced to spawn
|
||||||
* @returns Item + compatible mods as an array
|
* @returns Item + compatible mods as an array
|
||||||
*/
|
*/
|
||||||
generateModsForEquipment(equipment: IItem[], parentId: string, parentTemplate: ITemplateItem, settings: IGenerateEquipmentProperties, shouldForceSpawn?: boolean): IItem[];
|
generateModsForEquipment(equipment: IItem[], parentId: string, parentTemplate: ITemplateItem, settings: IGenerateEquipmentProperties, specificBlacklist: IEquipmentFilterDetails, shouldForceSpawn?: boolean): IItem[];
|
||||||
/**
|
/**
|
||||||
* Filter a bots plate pool based on its current level
|
* Filter a bots plate pool based on its current level
|
||||||
* @param settings Bot equipment generation settings
|
* @param settings Bot equipment generation settings
|
||||||
@ -125,13 +126,13 @@ export declare class BotEquipmentModGenerator {
|
|||||||
protected getModItemSlotFromDb(modSlot: string, parentTemplate: ITemplateItem): ISlot;
|
protected getModItemSlotFromDb(modSlot: string, parentTemplate: ITemplateItem): ISlot;
|
||||||
/**
|
/**
|
||||||
* Randomly choose if a mod should be spawned, 100% for required mods OR mod is ammo slot
|
* Randomly choose if a mod should be spawned, 100% for required mods OR mod is ammo slot
|
||||||
* @param itemSlot slot the item sits in
|
* @param itemSlot slot the item sits in from db
|
||||||
* @param modSlot slot the mod sits in
|
* @param modSlotName Name of slot the mod sits in
|
||||||
* @param modSpawnChances Chances for various mod spawns
|
* @param modSpawnChances Chances for various mod spawns
|
||||||
* @param botEquipConfig Various config settings for generating this type of bot
|
* @param botEquipConfig Various config settings for generating this type of bot
|
||||||
* @returns ModSpawn.SPAWN when mod should be spawned, ModSpawn.DEFAULT_MOD when default mod should spawn, ModSpawn.SKIP when mod is skipped
|
* @returns ModSpawn.SPAWN when mod should be spawned, ModSpawn.DEFAULT_MOD when default mod should spawn, ModSpawn.SKIP when mod is skipped
|
||||||
*/
|
*/
|
||||||
protected shouldModBeSpawned(itemSlot: ISlot, modSlot: string, modSpawnChances: IModsChances, botEquipConfig: EquipmentFilters): ModSpawn;
|
protected shouldModBeSpawned(itemSlot: ISlot, modSlotName: string, modSpawnChances: IModsChances, botEquipConfig: EquipmentFilters): ModSpawn;
|
||||||
/**
|
/**
|
||||||
* Choose a mod to fit into the desired slot
|
* Choose a mod to fit into the desired slot
|
||||||
* @param request Data used to choose an appropriate mod with
|
* @param request Data used to choose an appropriate mod with
|
||||||
@ -235,7 +236,7 @@ export declare class BotEquipmentModGenerator {
|
|||||||
* @param modPool Pool of mods we are adding to
|
* @param modPool Pool of mods we are adding to
|
||||||
* @param botEquipBlacklist A blacklist of items that cannot be picked
|
* @param botEquipBlacklist A blacklist of items that cannot be picked
|
||||||
*/
|
*/
|
||||||
protected addCompatibleModsForProvidedMod(desiredSlotName: string, modTemplate: ITemplateItem, modPool: IMods, botEquipBlacklist: EquipmentFilterDetails): void;
|
protected addCompatibleModsForProvidedMod(desiredSlotName: string, modTemplate: ITemplateItem, modPool: IMods, botEquipBlacklist: IEquipmentFilterDetails): void;
|
||||||
/**
|
/**
|
||||||
* Get the possible items that fit a slot
|
* Get the possible items that fit a slot
|
||||||
* @param parentItemId item tpl to get compatible items for
|
* @param parentItemId item tpl to get compatible items for
|
||||||
@ -243,7 +244,7 @@ export declare class BotEquipmentModGenerator {
|
|||||||
* @param botEquipBlacklist Equipment that should not be picked
|
* @param botEquipBlacklist Equipment that should not be picked
|
||||||
* @returns Array of compatible items for that slot
|
* @returns Array of compatible items for that slot
|
||||||
*/
|
*/
|
||||||
protected getDynamicModPool(parentItemId: string, modSlot: string, botEquipBlacklist: EquipmentFilterDetails): string[];
|
protected getDynamicModPool(parentItemId: string, modSlot: string, botEquipBlacklist: IEquipmentFilterDetails): string[];
|
||||||
/**
|
/**
|
||||||
* Take a list of tpls and filter out blacklisted values using itemFilterService + botEquipmentBlacklist
|
* Take a list of tpls and filter out blacklisted values using itemFilterService + botEquipmentBlacklist
|
||||||
* @param allowedMods Base mods to filter
|
* @param allowedMods Base mods to filter
|
||||||
@ -251,7 +252,7 @@ export declare class BotEquipmentModGenerator {
|
|||||||
* @param modSlot Slot mods belong to
|
* @param modSlot Slot mods belong to
|
||||||
* @returns Filtered array of mod tpls
|
* @returns Filtered array of mod tpls
|
||||||
*/
|
*/
|
||||||
protected filterWeaponModsByBlacklist(allowedMods: string[], botEquipBlacklist: EquipmentFilterDetails, modSlot: string): string[];
|
protected filterModsByBlacklist(allowedMods: string[], botEquipBlacklist: IEquipmentFilterDetails, modSlot: string): string[];
|
||||||
/**
|
/**
|
||||||
* With the shotgun revolver (60db29ce99594040e04c4a27) 12.12 introduced CylinderMagazines.
|
* With the shotgun revolver (60db29ce99594040e04c4a27) 12.12 introduced CylinderMagazines.
|
||||||
* Those magazines (e.g. 60dc519adf4c47305f6d410d) have a "Cartridges" entry with a _max_count=0.
|
* Those magazines (e.g. 60dc519adf4c47305f6d410d) have a "Cartridges" entry with a _max_count=0.
|
||||||
|
@ -5,7 +5,7 @@ import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
|||||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||||
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
|
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||||
import { BotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||||
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||||
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
|
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -53,7 +53,7 @@ export declare class BotGenerator {
|
|||||||
* @param botGenerationDetails details on how to generate bots
|
* @param botGenerationDetails details on how to generate bots
|
||||||
* @returns constructed bot
|
* @returns constructed bot
|
||||||
*/
|
*/
|
||||||
prepareAndGenerateBot(sessionId: string, botGenerationDetails: BotGenerationDetails): IBotBase;
|
prepareAndGenerateBot(sessionId: string, botGenerationDetails: IBotGenerationDetails): IBotBase;
|
||||||
/**
|
/**
|
||||||
* Get a clone of the default bot base object and adjust its role/side/difficulty values
|
* Get a clone of the default bot base object and adjust its role/side/difficulty values
|
||||||
* @param botRole Role bot should have
|
* @param botRole Role bot should have
|
||||||
@ -75,7 +75,7 @@ export declare class BotGenerator {
|
|||||||
* @param botGenerationDetails details on how to generate the bot
|
* @param botGenerationDetails details on how to generate the bot
|
||||||
* @returns IBotBase object
|
* @returns IBotBase object
|
||||||
*/
|
*/
|
||||||
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: BotGenerationDetails): IBotBase;
|
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase;
|
||||||
protected addAdditionalPocketLootWeightsForUnheardBot(botJsonTemplate: IBotType): void;
|
protected addAdditionalPocketLootWeightsForUnheardBot(botJsonTemplate: IBotType): void;
|
||||||
/**
|
/**
|
||||||
* Remove items from item.json/lootableItemBlacklist from bots inventory
|
* Remove items from item.json/lootableItemBlacklist from bots inventory
|
||||||
@ -88,7 +88,7 @@ export declare class BotGenerator {
|
|||||||
* @param appearance Appearance settings to choose from
|
* @param appearance Appearance settings to choose from
|
||||||
* @param botGenerationDetails Generation details
|
* @param botGenerationDetails Generation details
|
||||||
*/
|
*/
|
||||||
protected setBotAppearance(bot: IBotBase, appearance: IAppearance, botGenerationDetails: BotGenerationDetails): void;
|
protected setBotAppearance(bot: IBotBase, appearance: IAppearance, botGenerationDetails: IBotGenerationDetails): void;
|
||||||
/**
|
/**
|
||||||
* Log the number of PMCs generated to the debug console
|
* Log the number of PMCs generated to the debug console
|
||||||
* @param output Generated bot array, ready to send to client
|
* @param output Generated bot array, ready to send to client
|
||||||
|
@ -1,17 +1,22 @@
|
|||||||
|
import { ApplicationContext } from "@spt/context/ApplicationContext";
|
||||||
import { BotEquipmentModGenerator } from "@spt/generators/BotEquipmentModGenerator";
|
import { BotEquipmentModGenerator } from "@spt/generators/BotEquipmentModGenerator";
|
||||||
import { BotLootGenerator } from "@spt/generators/BotLootGenerator";
|
import { BotLootGenerator } from "@spt/generators/BotLootGenerator";
|
||||||
import { BotWeaponGenerator } from "@spt/generators/BotWeaponGenerator";
|
import { BotWeaponGenerator } from "@spt/generators/BotWeaponGenerator";
|
||||||
import { BotGeneratorHelper } from "@spt/helpers/BotGeneratorHelper";
|
import { BotGeneratorHelper } from "@spt/helpers/BotGeneratorHelper";
|
||||||
import { BotHelper } from "@spt/helpers/BotHelper";
|
import { BotHelper } from "@spt/helpers/BotHelper";
|
||||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||||
|
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||||
|
import { WeatherHelper } from "@spt/helpers/WeatherHelper";
|
||||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||||
import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { IBotType, IChances, IEquipment, IGeneration, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
import { IBotType, IChances, IEquipment, IGeneration, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||||
|
import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData";
|
||||||
import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots";
|
import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots";
|
||||||
import { IGenerateEquipmentProperties } from "@spt/models/spt/bots/IGenerateEquipmentProperties";
|
import { IGenerateEquipmentProperties } from "@spt/models/spt/bots/IGenerateEquipmentProperties";
|
||||||
import { EquipmentFilterDetails, IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
|
import { BotEquipmentFilterService } from "@spt/services/BotEquipmentFilterService";
|
||||||
import { BotEquipmentModPoolService } from "@spt/services/BotEquipmentModPoolService";
|
import { BotEquipmentModPoolService } from "@spt/services/BotEquipmentModPoolService";
|
||||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||||
@ -22,18 +27,22 @@ export declare class BotInventoryGenerator {
|
|||||||
protected hashUtil: HashUtil;
|
protected hashUtil: HashUtil;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
protected databaseService: DatabaseService;
|
protected databaseService: DatabaseService;
|
||||||
|
protected applicationContext: ApplicationContext;
|
||||||
protected botWeaponGenerator: BotWeaponGenerator;
|
protected botWeaponGenerator: BotWeaponGenerator;
|
||||||
protected botLootGenerator: BotLootGenerator;
|
protected botLootGenerator: BotLootGenerator;
|
||||||
protected botGeneratorHelper: BotGeneratorHelper;
|
protected botGeneratorHelper: BotGeneratorHelper;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
protected botHelper: BotHelper;
|
protected botHelper: BotHelper;
|
||||||
protected weightedRandomHelper: WeightedRandomHelper;
|
protected weightedRandomHelper: WeightedRandomHelper;
|
||||||
protected itemHelper: ItemHelper;
|
protected itemHelper: ItemHelper;
|
||||||
|
protected weatherHelper: WeatherHelper;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
|
protected botEquipmentFilterService: BotEquipmentFilterService;
|
||||||
protected botEquipmentModPoolService: BotEquipmentModPoolService;
|
protected botEquipmentModPoolService: BotEquipmentModPoolService;
|
||||||
protected botEquipmentModGenerator: BotEquipmentModGenerator;
|
protected botEquipmentModGenerator: BotEquipmentModGenerator;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected botConfig: IBotConfig;
|
protected botConfig: IBotConfig;
|
||||||
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseService: DatabaseService, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, botHelper: BotHelper, weightedRandomHelper: WeightedRandomHelper, itemHelper: ItemHelper, localisationService: LocalisationService, botEquipmentModPoolService: BotEquipmentModPoolService, botEquipmentModGenerator: BotEquipmentModGenerator, configServer: ConfigServer);
|
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseService: DatabaseService, applicationContext: ApplicationContext, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, profileHelper: ProfileHelper, botHelper: BotHelper, weightedRandomHelper: WeightedRandomHelper, itemHelper: ItemHelper, weatherHelper: WeatherHelper, localisationService: LocalisationService, botEquipmentFilterService: BotEquipmentFilterService, botEquipmentModPoolService: BotEquipmentModPoolService, botEquipmentModGenerator: BotEquipmentModGenerator, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Add equipment/weapons/loot to bot
|
* Add equipment/weapons/loot to bot
|
||||||
* @param sessionId Session id
|
* @param sessionId Session id
|
||||||
@ -52,6 +61,7 @@ export declare class BotInventoryGenerator {
|
|||||||
protected generateInventoryBase(): PmcInventory;
|
protected generateInventoryBase(): PmcInventory;
|
||||||
/**
|
/**
|
||||||
* Add equipment to a bot
|
* Add equipment to a bot
|
||||||
|
* @param sessionId Session id
|
||||||
* @param templateInventory bot/x.json data from db
|
* @param templateInventory bot/x.json data from db
|
||||||
* @param wornItemChances Chances items will be added to bot
|
* @param wornItemChances Chances items will be added to bot
|
||||||
* @param botRole Role bot has (assault/pmcBot)
|
* @param botRole Role bot has (assault/pmcBot)
|
||||||
@ -59,7 +69,7 @@ export declare class BotInventoryGenerator {
|
|||||||
* @param botLevel Level of bot
|
* @param botLevel Level of bot
|
||||||
* @param chosenGameVersion Game version for bot, only really applies for PMCs
|
* @param chosenGameVersion Game version for bot, only really applies for PMCs
|
||||||
*/
|
*/
|
||||||
protected generateAndAddEquipmentToBot(templateInventory: IInventory, wornItemChances: IChances, botRole: string, botInventory: PmcInventory, botLevel: number, chosenGameVersion: string): void;
|
protected generateAndAddEquipmentToBot(sessionId: string, templateInventory: IInventory, wornItemChances: IChances, botRole: string, botInventory: PmcInventory, botLevel: number, chosenGameVersion: string, raidConfig: IGetRaidConfigurationRequestData): void;
|
||||||
/**
|
/**
|
||||||
* Remove non-armored rigs from parameter data
|
* Remove non-armored rigs from parameter data
|
||||||
* @param templateEquipment Equpiment to filter TacticalVest of
|
* @param templateEquipment Equpiment to filter TacticalVest of
|
||||||
@ -75,6 +85,7 @@ export declare class BotInventoryGenerator {
|
|||||||
protected filterRigsToThoseWithoutProtection(templateEquipment: IEquipment, botRole: string, allowEmptyResult?: boolean): void;
|
protected filterRigsToThoseWithoutProtection(templateEquipment: IEquipment, botRole: string, allowEmptyResult?: boolean): void;
|
||||||
/**
|
/**
|
||||||
* Add a piece of equipment with mods to inventory from the provided pools
|
* Add a piece of equipment with mods to inventory from the provided pools
|
||||||
|
* @param sessionId Session id
|
||||||
* @param settings Values to adjust how item is chosen and added to bot
|
* @param settings Values to adjust how item is chosen and added to bot
|
||||||
* @returns true when item added
|
* @returns true when item added
|
||||||
*/
|
*/
|
||||||
@ -82,10 +93,10 @@ export declare class BotInventoryGenerator {
|
|||||||
/**
|
/**
|
||||||
* Get all possible mods for item and filter down based on equipment blacklist from bot.json config
|
* Get all possible mods for item and filter down based on equipment blacklist from bot.json config
|
||||||
* @param itemTpl Item mod pool is being retrieved and filtered
|
* @param itemTpl Item mod pool is being retrieved and filtered
|
||||||
* @param equipmentBlacklist blacklist to filter mod pool with
|
* @param equipmentBlacklist Blacklist to filter mod pool with
|
||||||
* @returns Filtered pool of mods
|
* @returns Filtered pool of mods
|
||||||
*/
|
*/
|
||||||
protected getFilteredDynamicModsForItem(itemTpl: string, equipmentBlacklist: EquipmentFilterDetails[]): Record<string, string[]>;
|
protected getFilteredDynamicModsForItem(itemTpl: string, equipmentBlacklist: Record<string, string[]>): Record<string, string[]>;
|
||||||
/**
|
/**
|
||||||
* Work out what weapons bot should have equipped and add them to bot inventory
|
* Work out what weapons bot should have equipped and add them to bot inventory
|
||||||
* @param templateInventory bot/x.json data from db
|
* @param templateInventory bot/x.json data from db
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { MinMax } from "@spt/models/common/MinMax";
|
import { MinMax } from "@spt/models/common/MinMax";
|
||||||
import { IRandomisedBotLevelResult } from "@spt/models/eft/bot/IRandomisedBotLevelResult";
|
import { IRandomisedBotLevelResult } from "@spt/models/eft/bot/IRandomisedBotLevelResult";
|
||||||
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
|
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { BotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||||
import { MathUtil } from "@spt/utils/MathUtil";
|
import { MathUtil } from "@spt/utils/MathUtil";
|
||||||
@ -19,7 +19,7 @@ export declare class BotLevelGenerator {
|
|||||||
* @param bot Bot the level is being generated for
|
* @param bot Bot the level is being generated for
|
||||||
* @returns IRandomisedBotLevelResult object
|
* @returns IRandomisedBotLevelResult object
|
||||||
*/
|
*/
|
||||||
generateBotLevel(levelDetails: MinMax, botGenerationDetails: BotGenerationDetails, bot: IBotBase): IRandomisedBotLevelResult;
|
generateBotLevel(levelDetails: MinMax, botGenerationDetails: IBotGenerationDetails, bot: IBotBase): IRandomisedBotLevelResult;
|
||||||
protected chooseBotLevel(min: number, max: number, shift: number, number: number): number;
|
protected chooseBotLevel(min: number, max: number, shift: number, number: number): number;
|
||||||
/**
|
/**
|
||||||
* Return the min and max bot level based on a relative delta from the PMC level
|
* Return the min and max bot level based on a relative delta from the PMC level
|
||||||
@ -28,5 +28,5 @@ export declare class BotLevelGenerator {
|
|||||||
* @param maxlevel Max level allowed
|
* @param maxlevel Max level allowed
|
||||||
* @returns A MinMax of the lowest and highest level to generate the bots
|
* @returns A MinMax of the lowest and highest level to generate the bots
|
||||||
*/
|
*/
|
||||||
protected getRelativeBotLevelRange(botGenerationDetails: BotGenerationDetails, levelDetails: MinMax, maxAvailableLevel: number): MinMax;
|
protected getRelativeBotLevelRange(botGenerationDetails: IBotGenerationDetails, levelDetails: MinMax, maxAvailableLevel: number): MinMax;
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBa
|
|||||||
import { IGenerationData, IInventory, IModsChances } from "@spt/models/eft/common/tables/IBotType";
|
import { IGenerationData, IInventory, IModsChances } from "@spt/models/eft/common/tables/IBotType";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { GenerateWeaponResult } from "@spt/models/spt/bots/GenerateWeaponResult";
|
import { IGenerateWeaponResult } from "@spt/models/spt/bots/IGenerateWeaponResult";
|
||||||
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||||
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
|
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
|
||||||
import { IRepairConfig } from "@spt/models/spt/config/IRepairConfig";
|
import { IRepairConfig } from "@spt/models/spt/config/IRepairConfig";
|
||||||
@ -52,7 +52,7 @@ export declare class BotWeaponGenerator {
|
|||||||
* @param isPmc Is weapon generated for a pmc
|
* @param isPmc Is weapon generated for a pmc
|
||||||
* @returns GenerateWeaponResult object
|
* @returns GenerateWeaponResult object
|
||||||
*/
|
*/
|
||||||
generateRandomWeapon(sessionId: string, equipmentSlot: string, botTemplateInventory: IInventory, weaponParentId: string, modChances: IModsChances, botRole: string, isPmc: boolean, botLevel: number): GenerateWeaponResult;
|
generateRandomWeapon(sessionId: string, equipmentSlot: string, botTemplateInventory: IInventory, weaponParentId: string, modChances: IModsChances, botRole: string, isPmc: boolean, botLevel: number): IGenerateWeaponResult;
|
||||||
/**
|
/**
|
||||||
* Get a random weighted weapon from a bots pool of weapons
|
* Get a random weighted weapon from a bots pool of weapons
|
||||||
* @param equipmentSlot Primary/secondary/holster
|
* @param equipmentSlot Primary/secondary/holster
|
||||||
@ -71,7 +71,7 @@ export declare class BotWeaponGenerator {
|
|||||||
* @param isPmc Is weapon being generated for a pmc
|
* @param isPmc Is weapon being generated for a pmc
|
||||||
* @returns GenerateWeaponResult object
|
* @returns GenerateWeaponResult object
|
||||||
*/
|
*/
|
||||||
generateWeaponByTpl(sessionId: string, weaponTpl: string, slotName: string, botTemplateInventory: IInventory, weaponParentId: string, modChances: IModsChances, botRole: string, isPmc: boolean, botLevel: number): GenerateWeaponResult;
|
generateWeaponByTpl(sessionId: string, weaponTpl: string, slotName: string, botTemplateInventory: IInventory, weaponParentId: string, modChances: IModsChances, botRole: string, isPmc: boolean, botLevel: number): IGenerateWeaponResult;
|
||||||
/**
|
/**
|
||||||
* Insert a cartridge(s) into a weapon
|
* Insert a cartridge(s) into a weapon
|
||||||
* Handles all chambers - patron_in_weapon, patron_in_weapon_000 etc
|
* Handles all chambers - patron_in_weapon, patron_in_weapon_000 etc
|
||||||
@ -114,14 +114,14 @@ export declare class BotWeaponGenerator {
|
|||||||
* @param inventory Inventory to add magazines to
|
* @param inventory Inventory to add magazines to
|
||||||
* @param botRole The bot type we're getting generating extra mags for
|
* @param botRole The bot type we're getting generating extra mags for
|
||||||
*/
|
*/
|
||||||
addExtraMagazinesToInventory(generatedWeaponResult: GenerateWeaponResult, magWeights: IGenerationData, inventory: PmcInventory, botRole: string): void;
|
addExtraMagazinesToInventory(generatedWeaponResult: IGenerateWeaponResult, magWeights: IGenerationData, inventory: PmcInventory, botRole: string): void;
|
||||||
/**
|
/**
|
||||||
* Add Grendaes for UBGL to bots vest and secure container
|
* Add Grendaes for UBGL to bots vest and secure container
|
||||||
* @param weaponMods Weapon array with mods
|
* @param weaponMods Weapon array with mods
|
||||||
* @param generatedWeaponResult result of weapon generation
|
* @param generatedWeaponResult result of weapon generation
|
||||||
* @param inventory bot inventory to add grenades to
|
* @param inventory bot inventory to add grenades to
|
||||||
*/
|
*/
|
||||||
protected addUbglGrenadesToBotInventory(weaponMods: IItem[], generatedWeaponResult: GenerateWeaponResult, inventory: PmcInventory): void;
|
protected addUbglGrenadesToBotInventory(weaponMods: IItem[], generatedWeaponResult: IGenerateWeaponResult, inventory: PmcInventory): void;
|
||||||
/**
|
/**
|
||||||
* Add ammo to the secure container
|
* Add ammo to the secure container
|
||||||
* @param stackCount How many stacks of ammo to add
|
* @param stackCount How many stacks of ammo to add
|
||||||
|
@ -2,11 +2,12 @@ import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
|||||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||||
|
import { MinMax } from "@spt/models/common/MinMax";
|
||||||
import { IPreset } from "@spt/models/eft/common/IGlobals";
|
import { IPreset } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { ISealedAirdropContainerSettings, RewardDetails } from "@spt/models/spt/config/IInventoryConfig";
|
import { IRewardDetails, ISealedAirdropContainerSettings } from "@spt/models/spt/config/IInventoryConfig";
|
||||||
import { LootRequest } from "@spt/models/spt/services/LootRequest";
|
import { ILootRequest } from "@spt/models/spt/services/ILootRequest";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||||
import { ItemFilterService } from "@spt/services/ItemFilterService";
|
import { ItemFilterService } from "@spt/services/ItemFilterService";
|
||||||
@ -36,7 +37,22 @@ export declare class LootGenerator {
|
|||||||
* @param options parameters to adjust how loot is generated
|
* @param options parameters to adjust how loot is generated
|
||||||
* @returns An array of loot items
|
* @returns An array of loot items
|
||||||
*/
|
*/
|
||||||
createRandomLoot(options: LootRequest): IItem[];
|
createRandomLoot(options: ILootRequest): IItem[];
|
||||||
|
/**
|
||||||
|
* Generate An array of items
|
||||||
|
* TODO - handle weapon presets/ammo packs
|
||||||
|
* @param forcedLootDict Dictionary of item tpls with minmax values
|
||||||
|
* @returns Array of IItem
|
||||||
|
*/
|
||||||
|
createForcedLoot(forcedLootDict: Record<string, MinMax>): IItem[];
|
||||||
|
/**
|
||||||
|
* Get pool of items from item db that fit passed in param criteria
|
||||||
|
* @param itemTplBlacklist Prevent these items
|
||||||
|
* @param itemTypeWhitelist Only allow these items
|
||||||
|
* @param useRewardItemBlacklist Should item.json reward item config be used
|
||||||
|
* @param allowBossItems Should boss items be allowed in result
|
||||||
|
* @returns results of filtering + blacklist used
|
||||||
|
*/
|
||||||
protected getItemRewardPool(itemTplBlacklist: string[], itemTypeWhitelist: string[], useRewardItemBlacklist: boolean, allowBossItems: boolean): {
|
protected getItemRewardPool(itemTplBlacklist: string[], itemTypeWhitelist: string[], useRewardItemBlacklist: boolean, allowBossItems: boolean): {
|
||||||
itemPool: [string, ITemplateItem][];
|
itemPool: [string, ITemplateItem][];
|
||||||
blacklist: Set<string>;
|
blacklist: Set<string>;
|
||||||
@ -47,7 +63,7 @@ export declare class LootGenerator {
|
|||||||
* @param options Loot request options - armor level etc
|
* @param options Loot request options - armor level etc
|
||||||
* @returns True if item has desired armor level
|
* @returns True if item has desired armor level
|
||||||
*/
|
*/
|
||||||
protected isArmorOfDesiredProtectionLevel(armor: IPreset, options: LootRequest): boolean;
|
protected isArmorOfDesiredProtectionLevel(armor: IPreset, options: ILootRequest): boolean;
|
||||||
/**
|
/**
|
||||||
* Construct item limit record to hold max and current item count for each item type
|
* Construct item limit record to hold max and current item count for each item type
|
||||||
* @param limits limits as defined in config
|
* @param limits limits as defined in config
|
||||||
@ -65,14 +81,14 @@ export declare class LootGenerator {
|
|||||||
protected findAndAddRandomItemToLoot(items: [string, ITemplateItem][], itemTypeCounts: Record<string, {
|
protected findAndAddRandomItemToLoot(items: [string, ITemplateItem][], itemTypeCounts: Record<string, {
|
||||||
current: number;
|
current: number;
|
||||||
max: number;
|
max: number;
|
||||||
}>, options: LootRequest, result: IItem[]): boolean;
|
}>, options: ILootRequest, result: IItem[]): boolean;
|
||||||
/**
|
/**
|
||||||
* Get a randomised stack count for an item between its StackMinRandom and StackMaxSize values
|
* Get a randomised stack count for an item between its StackMinRandom and StackMaxSize values
|
||||||
* @param item item to get stack count of
|
* @param item item to get stack count of
|
||||||
* @param options loot options
|
* @param options loot options
|
||||||
* @returns stack count
|
* @returns stack count
|
||||||
*/
|
*/
|
||||||
protected getRandomisedStackCount(item: ITemplateItem, options: LootRequest): number;
|
protected getRandomisedStackCount(item: ITemplateItem, options: ILootRequest): number;
|
||||||
/**
|
/**
|
||||||
* Find a random item in items.json and add to result array
|
* Find a random item in items.json and add to result array
|
||||||
* @param presetPool Presets to choose from
|
* @param presetPool Presets to choose from
|
||||||
@ -111,12 +127,12 @@ export declare class LootGenerator {
|
|||||||
* @param rewardContainerDetails
|
* @param rewardContainerDetails
|
||||||
* @returns Array of item with children arrays
|
* @returns Array of item with children arrays
|
||||||
*/
|
*/
|
||||||
getRandomLootContainerLoot(rewardContainerDetails: RewardDetails): IItem[][];
|
getRandomLootContainerLoot(rewardContainerDetails: IRewardDetails): IItem[][];
|
||||||
/**
|
/**
|
||||||
* Pick a reward item based on the reward details data
|
* Pick a reward item based on the reward details data
|
||||||
* @param rewardContainerDetails
|
* @param rewardContainerDetails
|
||||||
* @returns Single tpl
|
* @returns Single tpl
|
||||||
*/
|
*/
|
||||||
protected pickRewardItem(rewardContainerDetails: RewardDetails): string;
|
protected pickRewardItem(rewardContainerDetails: IRewardDetails): string;
|
||||||
}
|
}
|
||||||
export {};
|
export {};
|
||||||
|
@ -6,7 +6,7 @@ import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
|||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { IBotBase, ISkills, IStats } from "@spt/models/eft/common/tables/IBotBase";
|
import { IBotBase, ISkills, IStats } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { IBotType } from "@spt/models/eft/common/tables/IBotType";
|
import { IBotType } from "@spt/models/eft/common/tables/IBotType";
|
||||||
import { IPlayerScavConfig, KarmaLevel } from "@spt/models/spt/config/IPlayerScavConfig";
|
import { IKarmaLevel, IPlayerScavConfig } from "@spt/models/spt/config/IPlayerScavConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
import { SaveServer } from "@spt/servers/SaveServer";
|
import { SaveServer } from "@spt/servers/SaveServer";
|
||||||
@ -67,7 +67,7 @@ export declare class PlayerScavGenerator {
|
|||||||
* @param karmaSettings Values to modify the bot template with
|
* @param karmaSettings Values to modify the bot template with
|
||||||
* @param baseBotNode bot template to modify according to karama level settings
|
* @param baseBotNode bot template to modify according to karama level settings
|
||||||
*/
|
*/
|
||||||
protected adjustBotTemplateWithKarmaSpecificSettings(karmaSettings: KarmaLevel, baseBotNode: IBotType): void;
|
protected adjustBotTemplateWithKarmaSpecificSettings(karmaSettings: IKarmaLevel, baseBotNode: IBotType): void;
|
||||||
protected getScavSkills(scavProfile: IPmcData): ISkills;
|
protected getScavSkills(scavProfile: IPmcData): ISkills;
|
||||||
protected getDefaultScavSkills(): ISkills;
|
protected getDefaultScavSkills(): ISkills;
|
||||||
protected getScavStats(scavProfile: IPmcData): IStats;
|
protected getScavStats(scavProfile: IPmcData): IStats;
|
||||||
|
@ -9,8 +9,10 @@ import { RagfairServerHelper } from "@spt/helpers/RagfairServerHelper";
|
|||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IRagfairOffer, IRagfairOfferUser, OfferRequirement } from "@spt/models/eft/ragfair/IRagfairOffer";
|
import { IOfferRequirement, IRagfairOffer, IRagfairOfferUser } from "@spt/models/eft/ragfair/IRagfairOffer";
|
||||||
import { Dynamic, IArmorPlateBlacklistSettings, IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";
|
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||||
|
import { IArmorPlateBlacklistSettings, IBarterDetails, IDynamic, IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";
|
||||||
|
import { ITplWithFleaPrice } from "@spt/models/spt/ragfair/ITplWithFleaPrice";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
import { SaveServer } from "@spt/servers/SaveServer";
|
import { SaveServer } from "@spt/servers/SaveServer";
|
||||||
@ -45,6 +47,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected cloner: ICloner;
|
protected cloner: ICloner;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
|
protected botConfig: IBotConfig;
|
||||||
protected allowedFleaPriceItemsForBarter: {
|
protected allowedFleaPriceItemsForBarter: {
|
||||||
tpl: string;
|
tpl: string;
|
||||||
price: number;
|
price: number;
|
||||||
@ -86,7 +89,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param offerRequirements barter requirements for offer
|
* @param offerRequirements barter requirements for offer
|
||||||
* @returns rouble cost of offer
|
* @returns rouble cost of offer
|
||||||
*/
|
*/
|
||||||
protected convertOfferRequirementsIntoRoubles(offerRequirements: OfferRequirement[]): number;
|
protected convertOfferRequirementsIntoRoubles(offerRequirements: IOfferRequirement[]): number;
|
||||||
/**
|
/**
|
||||||
* Get avatar url from trader table in db
|
* Get avatar url from trader table in db
|
||||||
* @param isTrader Is user we're getting avatar for a trader
|
* @param isTrader Is user we're getting avatar for a trader
|
||||||
@ -136,7 +139,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param isExpiredOffer is an expired offer
|
* @param isExpiredOffer is an expired offer
|
||||||
* @param config Ragfair dynamic config
|
* @param config Ragfair dynamic config
|
||||||
*/
|
*/
|
||||||
protected createOffersFromAssort(assortItemWithChildren: IItem[], isExpiredOffer: boolean, config: Dynamic): Promise<void>;
|
protected createOffersFromAssort(assortItemWithChildren: IItem[], isExpiredOffer: boolean, config: IDynamic): Promise<void>;
|
||||||
/**
|
/**
|
||||||
* iterate over an items chidren and look for plates above desired level and remove them
|
* iterate over an items chidren and look for plates above desired level and remove them
|
||||||
* @param presetWithChildren preset to check for plates
|
* @param presetWithChildren preset to check for plates
|
||||||
@ -203,17 +206,15 @@ export declare class RagfairOfferGenerator {
|
|||||||
/**
|
/**
|
||||||
* Create a barter-based barter scheme, if not possible, fall back to making barter scheme currency based
|
* Create a barter-based barter scheme, if not possible, fall back to making barter scheme currency based
|
||||||
* @param offerItems Items for sale in offer
|
* @param offerItems Items for sale in offer
|
||||||
|
* @param barterConfig Barter config from ragfairConfig.dynamic.barter
|
||||||
* @returns Barter scheme
|
* @returns Barter scheme
|
||||||
*/
|
*/
|
||||||
protected createBarterBarterScheme(offerItems: IItem[]): IBarterScheme[];
|
protected createBarterBarterScheme(offerItems: IItem[], barterConfig: IBarterDetails): IBarterScheme[];
|
||||||
/**
|
/**
|
||||||
* Get an array of flea prices + item tpl, cached in generator class inside `allowedFleaPriceItemsForBarter`
|
* Get an array of flea prices + item tpl, cached in generator class inside `allowedFleaPriceItemsForBarter`
|
||||||
* @returns array with tpl/price values
|
* @returns array with tpl/price values
|
||||||
*/
|
*/
|
||||||
protected getFleaPricesAsArray(): {
|
protected getFleaPricesAsArray(): ITplWithFleaPrice[];
|
||||||
tpl: string;
|
|
||||||
price: number;
|
|
||||||
}[];
|
|
||||||
/**
|
/**
|
||||||
* Create a random currency-based barter scheme for an array of items
|
* Create a random currency-based barter scheme for an array of items
|
||||||
* @param offerWithChildren Items on offer
|
* @param offerWithChildren Items on offer
|
||||||
|
@ -33,26 +33,30 @@ export declare class RepeatableQuestRewardGenerator {
|
|||||||
protected questConfig: IQuestConfig;
|
protected questConfig: IQuestConfig;
|
||||||
constructor(logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, databaseService: DatabaseService, itemHelper: ItemHelper, presetHelper: PresetHelper, handbookHelper: HandbookHelper, localisationService: LocalisationService, objectId: ObjectId, itemFilterService: ItemFilterService, seasonalEventService: SeasonalEventService, configServer: ConfigServer, cloner: ICloner);
|
constructor(logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, databaseService: DatabaseService, itemHelper: ItemHelper, presetHelper: PresetHelper, handbookHelper: HandbookHelper, localisationService: LocalisationService, objectId: ObjectId, itemFilterService: ItemFilterService, seasonalEventService: SeasonalEventService, configServer: ConfigServer, cloner: ICloner);
|
||||||
/**
|
/**
|
||||||
* Generate the reward for a mission. A reward can consist of
|
* Generate the reward for a mission. A reward can consist of:
|
||||||
* - Experience
|
* - Experience
|
||||||
* - Money
|
* - Money
|
||||||
|
* - GP coins
|
||||||
|
* - Weapon preset
|
||||||
* - Items
|
* - Items
|
||||||
* - Trader Reputation
|
* - Trader Reputation
|
||||||
|
* - Skill level experience
|
||||||
*
|
*
|
||||||
* The reward is dependent on the player level as given by the wiki. The exact mapping of pmcLevel to
|
* The reward is dependent on the player level as given by the wiki. The exact mapping of pmcLevel to
|
||||||
* experience / money / items / trader reputation can be defined in QuestConfig.js
|
* experience / money / items / trader reputation can be defined in QuestConfig.js
|
||||||
*
|
*
|
||||||
* There's also a random variation of the reward the spread of which can be also defined in the config.
|
* There's also a random variation of the reward the spread of which can be also defined in the config
|
||||||
*
|
*
|
||||||
* Additionally, a scaling factor w.r.t. quest difficulty going from 0.2...1 can be used
|
* Additionally, a scaling factor w.r.t. quest difficulty going from 0.2...1 can be used
|
||||||
*
|
* @param pmcLevel Level of player reward is being generated for
|
||||||
* @param {integer} pmcLevel player's level
|
* @param difficulty Reward scaling factor from 0.2 to 1
|
||||||
* @param {number} difficulty a reward scaling factor from 0.2 to 1
|
* @param traderId Trader reward will be given by
|
||||||
* @param {string} traderId the trader for reputation gain (and possible in the future filtering of reward item type based on trader)
|
* @param repeatableConfig Config for quest type (daily, weekly)
|
||||||
* @param {object} repeatableConfig The configuration for the repeatable kind (daily, weekly) as configured in QuestConfig for the requested quest
|
* @param questConfig
|
||||||
* @returns {object} object of "Reward"-type that can be given for a repeatable mission
|
* @param rewardTplBlacklist OPTIONAL: list of tpls to NOT use when picking a reward
|
||||||
|
* @returns IQuestRewards
|
||||||
*/
|
*/
|
||||||
generateReward(pmcLevel: number, difficulty: number, traderId: string, repeatableConfig: IRepeatableQuestConfig, questConfig: IBaseQuestConfig): IQuestRewards;
|
generateReward(pmcLevel: number, difficulty: number, traderId: string, repeatableConfig: IRepeatableQuestConfig, questConfig: IBaseQuestConfig, rewardTplBlacklist?: string[]): IQuestRewards;
|
||||||
protected getQuestRewardValues(rewardScaling: IRewardScaling, difficulty: number, pmcLevel: number): IQuestRewardValues;
|
protected getQuestRewardValues(rewardScaling: IRewardScaling, difficulty: number, pmcLevel: number): IQuestRewardValues;
|
||||||
/**
|
/**
|
||||||
* Get an array of items + stack size to give to player as reward that fit inside of a rouble budget
|
* Get an array of items + stack size to give to player as reward that fit inside of a rouble budget
|
||||||
|
@ -4,7 +4,7 @@ import { IItem } from "@spt/models/eft/common/tables/IItem";
|
|||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||||
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||||
import { RewardCountAndPriceDetails, ScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||||
@ -48,7 +48,7 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
* @param itemFilters how the rewards should be filtered down (by item count)
|
* @param itemFilters how the rewards should be filtered down (by item count)
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
protected pickRandomRewards(items: ITemplateItem[], itemFilters: RewardCountAndPriceDetails, rarity: string): ITemplateItem[];
|
protected pickRandomRewards(items: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails, rarity: string): ITemplateItem[];
|
||||||
/**
|
/**
|
||||||
* Choose if money should be a reward based on the moneyRewardChancePercent config chance in scavCaseConfig
|
* Choose if money should be a reward based on the moneyRewardChancePercent config chance in scavCaseConfig
|
||||||
* @returns true if reward should be money
|
* @returns true if reward should be money
|
||||||
@ -81,13 +81,13 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
* @param itemFilters controls how the dbItems will be filtered and returned (handbook price)
|
* @param itemFilters controls how the dbItems will be filtered and returned (handbook price)
|
||||||
* @returns filtered dbItems array
|
* @returns filtered dbItems array
|
||||||
*/
|
*/
|
||||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: RewardCountAndPriceDetails): ITemplateItem[];
|
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
||||||
/**
|
/**
|
||||||
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
||||||
* @param scavCaseDetails scavcase.json values
|
* @param scavCaseDetails scavcase.json values
|
||||||
* @returns ScavCaseRewardCountsAndPrices object
|
* @returns ScavCaseRewardCountsAndPrices object
|
||||||
*/
|
*/
|
||||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): ScavCaseRewardCountsAndPrices;
|
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
||||||
/**
|
/**
|
||||||
* Randomises the size of ammo and money stacks
|
* Randomises the size of ammo and money stacks
|
||||||
* @param itemToCalculate ammo or money item
|
* @param itemToCalculate ammo or money item
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
import { ApplicationContext } from "@spt/context/ApplicationContext";
|
import { ApplicationContext } from "@spt/context/ApplicationContext";
|
||||||
|
import { WeatherHelper } from "@spt/helpers/WeatherHelper";
|
||||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||||
import { IWeather, IWeatherData } from "@spt/models/eft/weather/IWeatherData";
|
import { IWeather, IWeatherData } from "@spt/models/eft/weather/IWeatherData";
|
||||||
|
import { Season } from "@spt/models/enums/Season";
|
||||||
import { WindDirection } from "@spt/models/enums/WindDirection";
|
import { WindDirection } from "@spt/models/enums/WindDirection";
|
||||||
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
|
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -10,6 +12,7 @@ import { RandomUtil } from "@spt/utils/RandomUtil";
|
|||||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||||
export declare class WeatherGenerator {
|
export declare class WeatherGenerator {
|
||||||
protected weightedRandomHelper: WeightedRandomHelper;
|
protected weightedRandomHelper: WeightedRandomHelper;
|
||||||
|
protected weatherHelper: WeatherHelper;
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
@ -18,7 +21,7 @@ export declare class WeatherGenerator {
|
|||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
private serverStartTimestampMS;
|
private serverStartTimestampMS;
|
||||||
constructor(weightedRandomHelper: WeightedRandomHelper, logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(weightedRandomHelper: WeightedRandomHelper, weatherHelper: WeatherHelper, logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Get current + raid datetime and format into correct BSG format and return
|
* Get current + raid datetime and format into correct BSG format and return
|
||||||
* @param data Weather data
|
* @param data Weather data
|
||||||
@ -32,12 +35,6 @@ export declare class WeatherGenerator {
|
|||||||
* @returns formatted time
|
* @returns formatted time
|
||||||
*/
|
*/
|
||||||
protected getBsgFormattedInRaidTime(): string;
|
protected getBsgFormattedInRaidTime(): string;
|
||||||
/**
|
|
||||||
* Get the current in-raid time
|
|
||||||
* @param currentDate (new Date())
|
|
||||||
* @returns Date object of current in-raid time
|
|
||||||
*/
|
|
||||||
getInRaidTime(): Date;
|
|
||||||
/**
|
/**
|
||||||
* Get current time formatted to fit BSGs requirement
|
* Get current time formatted to fit BSGs requirement
|
||||||
* @param date date to format into bsg style
|
* @param date date to format into bsg style
|
||||||
@ -46,14 +43,24 @@ export declare class WeatherGenerator {
|
|||||||
protected getBSGFormattedTime(date: Date): string;
|
protected getBSGFormattedTime(date: Date): string;
|
||||||
/**
|
/**
|
||||||
* Return randomised Weather data with help of config/weather.json
|
* Return randomised Weather data with help of config/weather.json
|
||||||
|
* @param currentSeason the currently active season
|
||||||
|
* @param timestamp OPTIONAL what timestamp to generate the weather data at, defaults to now when not supplied
|
||||||
* @returns Randomised weather data
|
* @returns Randomised weather data
|
||||||
*/
|
*/
|
||||||
generateWeather(): IWeather;
|
generateWeather(currentSeason: Season, timestamp?: number): IWeather;
|
||||||
|
/**
|
||||||
|
* Choose a temprature for the raid based on time of day and current season
|
||||||
|
* @param currentSeason What season tarkov is currently in
|
||||||
|
* @param inRaidTimestamp What time is the raid running at
|
||||||
|
* @returns Timestamp
|
||||||
|
*/
|
||||||
|
protected getRaidTemperature(currentSeason: Season, inRaidTimestamp: number): number;
|
||||||
/**
|
/**
|
||||||
* Set IWeather date/time/timestamp values to now
|
* Set IWeather date/time/timestamp values to now
|
||||||
* @param weather Object to update
|
* @param weather Object to update
|
||||||
|
* @param timestamp OPTIONAL, define timestamp used
|
||||||
*/
|
*/
|
||||||
protected setCurrentDateTime(weather: IWeather): void;
|
protected setCurrentDateTime(weather: IWeather, timestamp?: number): void;
|
||||||
protected getWeightedWindDirection(): WindDirection;
|
protected getWeightedWindDirection(): WindDirection;
|
||||||
protected getWeightedClouds(): number;
|
protected getWeightedClouds(): number;
|
||||||
protected getWeightedWindSpeed(): number;
|
protected getWeightedWindSpeed(): number;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { MinMax } from "@spt/models/common/MinMax";
|
import { MinMax } from "@spt/models/common/MinMax";
|
||||||
import { IBotType, IDifficultyCategories } from "@spt/models/eft/common/tables/IBotType";
|
import { IBotType, IDifficultyCategories } from "@spt/models/eft/common/tables/IBotType";
|
||||||
import { EquipmentFilters, IBotConfig, RandomisationDetails } from "@spt/models/spt/config/IBotConfig";
|
import { EquipmentFilters, IBotConfig, IRandomisationDetails } from "@spt/models/spt/config/IBotConfig";
|
||||||
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
|
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
@ -54,7 +54,7 @@ export declare class BotHelper {
|
|||||||
* @param botEquipConfig bot equipment json
|
* @param botEquipConfig bot equipment json
|
||||||
* @returns RandomisationDetails
|
* @returns RandomisationDetails
|
||||||
*/
|
*/
|
||||||
getBotRandomizationDetails(botLevel: number, botEquipConfig: EquipmentFilters): RandomisationDetails | undefined;
|
getBotRandomizationDetails(botLevel: number, botEquipConfig: EquipmentFilters): IRandomisationDetails | undefined;
|
||||||
/**
|
/**
|
||||||
* Choose between pmcBEAR and pmcUSEC at random based on the % defined in pmcConfig.isUsec
|
* Choose between pmcBEAR and pmcUSEC at random based on the % defined in pmcConfig.isUsec
|
||||||
* @returns pmc role
|
* @returns pmc role
|
||||||
@ -71,5 +71,11 @@ export declare class BotHelper {
|
|||||||
* @returns pmc side as string
|
* @returns pmc side as string
|
||||||
*/
|
*/
|
||||||
protected getRandomizedPmcSide(): string;
|
protected getRandomizedPmcSide(): string;
|
||||||
getPmcNicknameOfMaxLength(userId: string, maxLength: number): string;
|
/**
|
||||||
|
* Get a name from a PMC that fits the desired length
|
||||||
|
* @param maxLength Max length of name, inclusive
|
||||||
|
* @param side OPTIONAL - what side PMC to get name from (usec/bear)
|
||||||
|
* @returns name of PMC
|
||||||
|
*/
|
||||||
|
getPmcNicknameOfMaxLength(maxLength: number, side?: string): string;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { NotificationSendHelper } from "@spt/helpers/NotificationSendHelper";
|
import { NotificationSendHelper } from "@spt/helpers/NotificationSendHelper";
|
||||||
import { NotifierHelper } from "@spt/helpers/NotifierHelper";
|
import { NotifierHelper } from "@spt/helpers/NotifierHelper";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { Dialogue, MessagePreview } from "@spt/models/eft/profile/ISptProfile";
|
import { IDialogue, IMessagePreview } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { DatabaseServer } from "@spt/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt/servers/DatabaseServer";
|
||||||
import { SaveServer } from "@spt/servers/SaveServer";
|
import { SaveServer } from "@spt/servers/SaveServer";
|
||||||
@ -23,7 +23,7 @@ export declare class DialogueHelper {
|
|||||||
* @param dialogue
|
* @param dialogue
|
||||||
* @returns MessagePreview
|
* @returns MessagePreview
|
||||||
*/
|
*/
|
||||||
getMessagePreview(dialogue: Dialogue): MessagePreview;
|
getMessagePreview(dialogue: IDialogue): IMessagePreview;
|
||||||
/**
|
/**
|
||||||
* Get the item contents for a particular message.
|
* Get the item contents for a particular message.
|
||||||
* @param messageID
|
* @param messageID
|
||||||
@ -37,5 +37,5 @@ export declare class DialogueHelper {
|
|||||||
* @param sessionId Session/player id
|
* @param sessionId Session/player id
|
||||||
* @returns Dialog dictionary
|
* @returns Dialog dictionary
|
||||||
*/
|
*/
|
||||||
getDialogsForProfile(sessionId: string): Record<string, Dialogue>;
|
getDialogsForProfile(sessionId: string): Record<string, IDialogue>;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { IBodyPartsHealth, IHealth } from "@spt/models/eft/common/tables/IBotBase";
|
import { IBodyPartsHealth, IHealth } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { ISyncHealthRequestData } from "@spt/models/eft/health/ISyncHealthRequestData";
|
import { ISyncHealthRequestData } from "@spt/models/eft/health/ISyncHealthRequestData";
|
||||||
import { Effects, ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
import { IEffects, ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { IHealthConfig } from "@spt/models/spt/config/IHealthConfig";
|
import { IHealthConfig } from "@spt/models/spt/config/IHealthConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
@ -63,7 +63,7 @@ export declare class HealthHelper {
|
|||||||
* @param bodyPartsWithEffects dict of body parts with effects that should be added to profile
|
* @param bodyPartsWithEffects dict of body parts with effects that should be added to profile
|
||||||
* @param addEffects Should effects be added back to profile
|
* @param addEffects Should effects be added back to profile
|
||||||
*/
|
*/
|
||||||
protected saveEffects(pmcData: IPmcData, sessionId: string, bodyPartsWithEffects: Effects, deleteExistingEffects?: boolean): void;
|
protected saveEffects(pmcData: IPmcData, sessionId: string, bodyPartsWithEffects: IEffects, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
* Add effect to body part in profile
|
* Add effect to body part in profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
|
@ -4,12 +4,13 @@ import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
|||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { IBotHideoutArea, IHideoutImprovement, IProduction, IProductive } from "@spt/models/eft/common/tables/IBotBase";
|
import { IBotHideoutArea, IHideoutImprovement, IProduction, IProductive } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { IItem, IUpd } from "@spt/models/eft/common/tables/IItem";
|
import { IItem, IUpd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IHideoutArea, StageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea, IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
|
import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
|
||||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||||
import { IHideoutSingleProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutSingleProductionStartRequestData";
|
import { IHideoutSingleProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutSingleProductionStartRequestData";
|
||||||
import { IHideoutTakeProductionRequestData } from "@spt/models/eft/hideout/IHideoutTakeProductionRequestData";
|
import { IHideoutTakeProductionRequestData } from "@spt/models/eft/hideout/IHideoutTakeProductionRequestData";
|
||||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { HideoutAreas } from "@spt/models/enums/HideoutAreas";
|
||||||
import { SkillTypes } from "@spt/models/enums/SkillTypes";
|
import { SkillTypes } from "@spt/models/enums/SkillTypes";
|
||||||
import { IHideoutConfig } from "@spt/models/spt/config/IHideoutConfig";
|
import { IHideoutConfig } from "@spt/models/spt/config/IHideoutConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -55,7 +56,7 @@ export declare class HideoutHelper {
|
|||||||
* This convenience function initializes new Production Object
|
* This convenience function initializes new Production Object
|
||||||
* with all the constants.
|
* with all the constants.
|
||||||
*/
|
*/
|
||||||
initProduction(recipeId: string, productionTime: number, needFuelForAllProductionTime: boolean, isCultistCircle?: boolean): IProduction;
|
initProduction(recipeId: string, productionTime: number, needFuelForAllProductionTime: boolean): IProduction;
|
||||||
/**
|
/**
|
||||||
* Is the provided object a Production type
|
* Is the provided object a Production type
|
||||||
* @param productive
|
* @param productive
|
||||||
@ -67,7 +68,7 @@ export declare class HideoutHelper {
|
|||||||
* @param pmcData Profile to add bonus to
|
* @param pmcData Profile to add bonus to
|
||||||
* @param bonus Bonus to add to profile
|
* @param bonus Bonus to add to profile
|
||||||
*/
|
*/
|
||||||
applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void;
|
applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: IStageBonus): void;
|
||||||
/**
|
/**
|
||||||
* Process a players hideout, update areas that use resources + increment production timers
|
* Process a players hideout, update areas that use resources + increment production timers
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
@ -94,6 +95,21 @@ export declare class HideoutHelper {
|
|||||||
isGeneratorOn: boolean;
|
isGeneratorOn: boolean;
|
||||||
waterCollectorHasFilter: boolean;
|
waterCollectorHasFilter: boolean;
|
||||||
}): void;
|
}): void;
|
||||||
|
/**
|
||||||
|
* Is a craft from a particular hideout area
|
||||||
|
* @param craft Craft to check
|
||||||
|
* @param hideoutType Type to check craft against
|
||||||
|
* @returns True it is from that area
|
||||||
|
*/
|
||||||
|
protected isCraftOfType(craft: IProduction, hideoutType: HideoutAreas): boolean;
|
||||||
|
/**
|
||||||
|
* Has the craft completed
|
||||||
|
* Ignores bitcoin farm/cultist circle as they're continuous crafts
|
||||||
|
* @param craft Craft to check
|
||||||
|
|
||||||
|
* @returns True when craft is compelte
|
||||||
|
*/
|
||||||
|
protected isCraftComplete(craft: IProduction): boolean;
|
||||||
/**
|
/**
|
||||||
* Update progress timer for water collector
|
* Update progress timer for water collector
|
||||||
* @param pmcData profile to update
|
* @param pmcData profile to update
|
||||||
|
@ -39,7 +39,7 @@ export declare class InRaidHelper {
|
|||||||
* @param serverProfile Profile to update
|
* @param serverProfile Profile to update
|
||||||
* @param postRaidProfile Profile returned by client after a raid
|
* @param postRaidProfile Profile returned by client after a raid
|
||||||
*/
|
*/
|
||||||
setInventory(sessionID: string, serverProfile: IPmcData, postRaidProfile: IPmcData, isSurvived: boolean): void;
|
setInventory(sessionID: string, serverProfile: IPmcData, postRaidProfile: IPmcData, isSurvived: boolean, isTransfer: boolean): void;
|
||||||
/**
|
/**
|
||||||
* Iterate over inventory items and remove the property that defines an item as Found in Raid
|
* Iterate over inventory items and remove the property that defines an item as Found in Raid
|
||||||
* Only removes property if item had FiR when entering raid
|
* Only removes property if item had FiR when entering raid
|
||||||
|
@ -16,7 +16,7 @@ import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventor
|
|||||||
import { IInventorySplitRequestData } from "@spt/models/eft/inventory/IInventorySplitRequestData";
|
import { IInventorySplitRequestData } from "@spt/models/eft/inventory/IInventorySplitRequestData";
|
||||||
import { IInventoryTransferRequestData } from "@spt/models/eft/inventory/IInventoryTransferRequestData";
|
import { IInventoryTransferRequestData } from "@spt/models/eft/inventory/IInventoryTransferRequestData";
|
||||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
import { IInventoryConfig, RewardDetails } from "@spt/models/spt/config/IInventoryConfig";
|
import { IInventoryConfig, IRewardDetails } from "@spt/models/spt/config/IInventoryConfig";
|
||||||
import { IOwnerInventoryItems } from "@spt/models/spt/inventory/IOwnerInventoryItems";
|
import { IOwnerInventoryItems } from "@spt/models/spt/inventory/IOwnerInventoryItems";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
@ -246,7 +246,7 @@ export declare class InventoryHelper {
|
|||||||
* @param itemTpl Container being opened
|
* @param itemTpl Container being opened
|
||||||
* @returns Reward details
|
* @returns Reward details
|
||||||
*/
|
*/
|
||||||
getRandomLootContainerRewardDetails(itemTpl: string): RewardDetails;
|
getRandomLootContainerRewardDetails(itemTpl: string): IRewardDetails;
|
||||||
getInventoryConfig(): IInventoryConfig;
|
getInventoryConfig(): IInventoryConfig;
|
||||||
/**
|
/**
|
||||||
* Recursively checks if the given item is
|
* Recursively checks if the given item is
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Dialogue, IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
import { IDialogue, IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
|
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
|
||||||
import { MessageType } from "@spt/models/enums/MessageType";
|
import { MessageType } from "@spt/models/enums/MessageType";
|
||||||
import { SaveServer } from "@spt/servers/SaveServer";
|
import { SaveServer } from "@spt/servers/SaveServer";
|
||||||
@ -32,5 +32,5 @@ export declare class NotificationSendHelper {
|
|||||||
* @param senderDetails Who is sending the message
|
* @param senderDetails Who is sending the message
|
||||||
* @returns Dialogue
|
* @returns Dialogue
|
||||||
*/
|
*/
|
||||||
protected getDialog(sessionId: string, messageType: MessageType, senderDetails: IUserDialogInfo): Dialogue;
|
protected getDialog(sessionId: string, messageType: MessageType, senderDetails: IUserDialogInfo): IDialogue;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { HttpServerHelper } from "@spt/helpers/HttpServerHelper";
|
import { HttpServerHelper } from "@spt/helpers/HttpServerHelper";
|
||||||
import { Message, MessageContentRagfair } from "@spt/models/eft/profile/ISptProfile";
|
import { IMessage, IMessageContentRagfair } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { IWsChatMessageReceived } from "@spt/models/eft/ws/IWsChatMessageReceived";
|
import { IWsChatMessageReceived } from "@spt/models/eft/ws/IWsChatMessageReceived";
|
||||||
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
|
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
|
||||||
import { IWsRagfairOfferSold } from "@spt/models/eft/ws/IWsRagfairOfferSold";
|
import { IWsRagfairOfferSold } from "@spt/models/eft/ws/IWsRagfairOfferSold";
|
||||||
@ -17,12 +17,12 @@ export declare class NotifierHelper {
|
|||||||
* @param ragfairData Ragfair data to attach to notification
|
* @param ragfairData Ragfair data to attach to notification
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
createRagfairOfferSoldNotification(dialogueMessage: Message, ragfairData: MessageContentRagfair): IWsRagfairOfferSold;
|
createRagfairOfferSoldNotification(dialogueMessage: IMessage, ragfairData: IMessageContentRagfair): IWsRagfairOfferSold;
|
||||||
/**
|
/**
|
||||||
* Create a new notification with the specified dialogueMessage object
|
* Create a new notification with the specified dialogueMessage object
|
||||||
* @param dialogueMessage
|
* @param dialogueMessage
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
createNewMessageNotification(dialogueMessage: Message): IWsChatMessageReceived;
|
createNewMessageNotification(dialogueMessage: IMessage): IWsChatMessageReceived;
|
||||||
getWebSocketServer(sessionID: string): string;
|
getWebSocketServer(sessionID: string): string;
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@ import { ConfigServer } from "@spt/servers/ConfigServer";
|
|||||||
import { SaveServer } from "@spt/servers/SaveServer";
|
import { SaveServer } from "@spt/servers/SaveServer";
|
||||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||||
import { ProfileSnapshotService } from "@spt/services/ProfileSnapshotService";
|
|
||||||
import { HashUtil } from "@spt/utils/HashUtil";
|
import { HashUtil } from "@spt/utils/HashUtil";
|
||||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||||
import { Watermark } from "@spt/utils/Watermark";
|
import { Watermark } from "@spt/utils/Watermark";
|
||||||
@ -24,12 +23,11 @@ export declare class ProfileHelper {
|
|||||||
protected saveServer: SaveServer;
|
protected saveServer: SaveServer;
|
||||||
protected databaseService: DatabaseService;
|
protected databaseService: DatabaseService;
|
||||||
protected itemHelper: ItemHelper;
|
protected itemHelper: ItemHelper;
|
||||||
protected profileSnapshotService: ProfileSnapshotService;
|
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected cloner: ICloner;
|
protected cloner: ICloner;
|
||||||
protected inventoryConfig: IInventoryConfig;
|
protected inventoryConfig: IInventoryConfig;
|
||||||
constructor(logger: ILogger, hashUtil: HashUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseService: DatabaseService, itemHelper: ItemHelper, profileSnapshotService: ProfileSnapshotService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
constructor(logger: ILogger, hashUtil: HashUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseService: DatabaseService, itemHelper: ItemHelper, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||||
/**
|
/**
|
||||||
* Remove/reset a completed quest condtion from players profile quest data
|
* Remove/reset a completed quest condtion from players profile quest data
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
@ -47,19 +45,6 @@ export declare class ProfileHelper {
|
|||||||
* @returns Array of IPmcData objects
|
* @returns Array of IPmcData objects
|
||||||
*/
|
*/
|
||||||
getCompleteProfile(sessionId: string): IPmcData[];
|
getCompleteProfile(sessionId: string): IPmcData[];
|
||||||
/**
|
|
||||||
* Fix xp doubling on post-raid xp reward screen by sending a 'dummy' profile to the post-raid screen
|
|
||||||
* Server saves the post-raid changes prior to the xp screen getting the profile, this results in the xp screen using
|
|
||||||
* the now updated profile values as a base, meaning it shows x2 xp gained
|
|
||||||
* Instead, clone the post-raid profile (so we dont alter its values), apply the pre-raid xp values to the cloned objects and return
|
|
||||||
* Delete snapshot of pre-raid profile prior to returning profile data
|
|
||||||
* @param sessionId Session id
|
|
||||||
* @param output pmc and scav profiles array
|
|
||||||
* @param pmcProfile post-raid pmc profile
|
|
||||||
* @param scavProfile post-raid scav profile
|
|
||||||
* @returns Updated profile array
|
|
||||||
*/
|
|
||||||
protected postRaidXpWorkaroundFix(sessionId: string, clonedPmc: IPmcData, clonedScav: IPmcData, output: IPmcData[]): IPmcData[];
|
|
||||||
/**
|
/**
|
||||||
* Sanitize any information from the profile that the client does not expect to receive
|
* Sanitize any information from the profile that the client does not expect to receive
|
||||||
* @param clonedProfile A clone of the full player profile
|
* @param clonedProfile A clone of the full player profile
|
||||||
|
@ -15,6 +15,7 @@ import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRo
|
|||||||
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { IRagfairOffer } from "@spt/models/eft/ragfair/IRagfairOffer";
|
import { IRagfairOffer } from "@spt/models/eft/ragfair/IRagfairOffer";
|
||||||
import { ISearchRequestData } from "@spt/models/eft/ragfair/ISearchRequestData";
|
import { ISearchRequestData } from "@spt/models/eft/ragfair/ISearchRequestData";
|
||||||
|
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||||
import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig";
|
import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig";
|
||||||
import { IRagfairConfig, ITieredFlea } from "@spt/models/spt/config/IRagfairConfig";
|
import { IRagfairConfig, ITieredFlea } from "@spt/models/spt/config/IRagfairConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -55,6 +56,7 @@ export declare class RagfairOfferHelper {
|
|||||||
protected static goodSoldTemplate: string;
|
protected static goodSoldTemplate: string;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected questConfig: IQuestConfig;
|
protected questConfig: IQuestConfig;
|
||||||
|
protected botConfig: IBotConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, traderHelper: TraderHelper, saveServer: SaveServer, itemHelper: ItemHelper, botHelper: BotHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, localeService: LocaleService, localisationService: LocalisationService, mailSendService: MailSendService, configServer: ConfigServer);
|
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, traderHelper: TraderHelper, saveServer: SaveServer, itemHelper: ItemHelper, botHelper: BotHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, localeService: LocaleService, localisationService: LocalisationService, mailSendService: MailSendService, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Passthrough to ragfairOfferService.getOffers(), get flea offers a player should see
|
* Passthrough to ragfairOfferService.getOffers(), get flea offers a player should see
|
||||||
@ -65,7 +67,7 @@ export declare class RagfairOfferHelper {
|
|||||||
* @returns Offers the player should see
|
* @returns Offers the player should see
|
||||||
*/
|
*/
|
||||||
getValidOffers(searchRequest: ISearchRequestData, itemsToAdd: string[], traderAssorts: Record<string, ITraderAssort>, pmcData: IPmcData): IRagfairOffer[];
|
getValidOffers(searchRequest: ISearchRequestData, itemsToAdd: string[], traderAssorts: Record<string, ITraderAssort>, pmcData: IPmcData): IRagfairOffer[];
|
||||||
protected offerIsHiddenFromPlayerTieredFlea(tieredFlea: ITieredFlea, offer: IRagfairOffer, tieredFleaLimitTypes: string[], playerLevel: number): boolean;
|
protected checkAndLockOfferFromPlayerTieredFlea(tieredFlea: ITieredFlea, offer: IRagfairOffer, tieredFleaLimitTypes: string[], playerLevel: number): void;
|
||||||
/**
|
/**
|
||||||
* Get matching offers that require the desired item and filter out offers from non traders if player is below ragfair unlock level
|
* Get matching offers that require the desired item and filter out offers from non traders if player is below ragfair unlock level
|
||||||
* @param searchRequest Search request from client
|
* @param searchRequest Search request from client
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem, Props } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { IProps, ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IRepairConfig } from "@spt/models/spt/config/IRepairConfig";
|
import { IRepairConfig } from "@spt/models/spt/config/IRepairConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
@ -42,5 +42,5 @@ export declare class RepairHelper {
|
|||||||
* @param traderQualityMultipler Different traders produce different loss values
|
* @param traderQualityMultipler Different traders produce different loss values
|
||||||
* @returns Amount to reduce max durability by
|
* @returns Amount to reduce max durability by
|
||||||
*/
|
*/
|
||||||
protected getRandomisedWeaponRepairDegradationValue(itemProps: Props, isRepairKit: boolean, weaponMax: number, traderQualityMultipler: number): number;
|
protected getRandomisedWeaponRepairDegradationValue(itemProps: IProps, isRepairKit: boolean, weaponMax: number, traderQualityMultipler: number): number;
|
||||||
}
|
}
|
||||||
|
25
TypeScript/10ScopesAndTypes/types/helpers/WeatherHelper.d.ts
vendored
Normal file
25
TypeScript/10ScopesAndTypes/types/helpers/WeatherHelper.d.ts
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { DateTime } from "@spt/models/enums/DateTime";
|
||||||
|
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
|
||||||
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
|
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||||
|
export declare class WeatherHelper {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected weatherConfig: IWeatherConfig;
|
||||||
|
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Get the current in-raid time
|
||||||
|
* @param currentDate (new Date())
|
||||||
|
* @returns Date object of current in-raid time
|
||||||
|
*/
|
||||||
|
getInRaidTime(timestamp?: number): Date;
|
||||||
|
/**
|
||||||
|
* Is the current raid at nighttime
|
||||||
|
* @param timeVariant PASS OR CURR (from raid settings)
|
||||||
|
* @returns True when nighttime
|
||||||
|
*/
|
||||||
|
isNightTime(timeVariant: DateTime): boolean;
|
||||||
|
isHourAtNightTime(currentHour: number): boolean;
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
import { ModLoadOrder } from "@spt/loaders/ModLoadOrder";
|
import { ModLoadOrder } from "@spt/loaders/ModLoadOrder";
|
||||||
import { ModTypeCheck } from "@spt/loaders/ModTypeCheck";
|
import { ModTypeCheck } from "@spt/loaders/ModTypeCheck";
|
||||||
import { ModDetails } from "@spt/models/eft/profile/ISptProfile";
|
import { IModDetails } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "@spt/models/spt/mod/IModLoader";
|
import { IModLoader } from "@spt/models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "@spt/models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "@spt/models/spt/mod/IPackageJsonData";
|
||||||
@ -36,7 +36,7 @@ export declare class PreSptModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
getProfileModsGroupedByModName(profileMods: IModDetails[]): IModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importModsAsync(): Promise<void>;
|
protected importModsAsync(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -299,7 +299,7 @@ export interface IInsuredItem {
|
|||||||
itemId: string;
|
itemId: string;
|
||||||
}
|
}
|
||||||
export interface IHideout {
|
export interface IHideout {
|
||||||
Production: Record<string, IProductive>;
|
Production: Record<string, IProduction>;
|
||||||
Areas: IBotHideoutArea[];
|
Areas: IBotHideoutArea[];
|
||||||
Improvements: Record<string, IHideoutImprovement>;
|
Improvements: Record<string, IHideoutImprovement>;
|
||||||
HideoutCounters: IHideoutCounters;
|
HideoutCounters: IHideoutCounters;
|
||||||
@ -347,8 +347,8 @@ export interface IProductive {
|
|||||||
}
|
}
|
||||||
export interface IProduction extends IProductive {
|
export interface IProduction extends IProductive {
|
||||||
RecipeId: string;
|
RecipeId: string;
|
||||||
SkipTime: number;
|
SkipTime?: number;
|
||||||
ProductionTime: number;
|
ProductionTime?: number;
|
||||||
}
|
}
|
||||||
export interface IScavCase extends IProductive {
|
export interface IScavCase extends IProductive {
|
||||||
RecipeId: string;
|
RecipeId: string;
|
||||||
|
@ -4,10 +4,10 @@ export interface ICustomizationItem {
|
|||||||
_name: string;
|
_name: string;
|
||||||
_parent: string;
|
_parent: string;
|
||||||
_type: string;
|
_type: string;
|
||||||
_props: Props;
|
_props: IProps;
|
||||||
_proto: string;
|
_proto: string;
|
||||||
}
|
}
|
||||||
export interface Props {
|
export interface IProps {
|
||||||
Name: string;
|
Name: string;
|
||||||
ShortName: string;
|
ShortName: string;
|
||||||
Description: string;
|
Description: string;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Dialogue, IUserBuilds } from "@spt/models/eft/profile/ISptProfile";
|
import { IDialogue, IUserBuilds } from "@spt/models/eft/profile/ISptProfile";
|
||||||
export interface IProfileTemplates {
|
export interface IProfileTemplates {
|
||||||
Standard: IProfileSides;
|
Standard: IProfileSides;
|
||||||
"Left Behind": IProfileSides;
|
"Left Behind": IProfileSides;
|
||||||
@ -19,7 +19,7 @@ export interface IProfileSides {
|
|||||||
export interface ITemplateSide {
|
export interface ITemplateSide {
|
||||||
character: IPmcData;
|
character: IPmcData;
|
||||||
suits: string[];
|
suits: string[];
|
||||||
dialogues: Record<string, Dialogue>;
|
dialogues: Record<string, IDialogue>;
|
||||||
userbuilds: IUserBuilds;
|
userbuilds: IUserBuilds;
|
||||||
trader: IProfileTraderTemplate;
|
trader: IProfileTraderTemplate;
|
||||||
}
|
}
|
||||||
|
@ -17,21 +17,19 @@ export interface IQuest {
|
|||||||
image: string;
|
image: string;
|
||||||
type: QuestTypeEnum;
|
type: QuestTypeEnum;
|
||||||
isKey: boolean;
|
isKey: boolean;
|
||||||
/** @deprecated - Likely not used, use 'status' instead */
|
|
||||||
questStatus: QuestStatus;
|
|
||||||
restartable: boolean;
|
restartable: boolean;
|
||||||
instantComplete: boolean;
|
instantComplete: boolean;
|
||||||
secretQuest: boolean;
|
secretQuest: boolean;
|
||||||
startedMessageText: string;
|
startedMessageText: string;
|
||||||
successMessageText: string;
|
successMessageText: string;
|
||||||
acceptPlayerMessage: string;
|
acceptPlayerMessage?: string;
|
||||||
declinePlayerMessage: string;
|
declinePlayerMessage: string;
|
||||||
completePlayerMessage: string;
|
completePlayerMessage?: string;
|
||||||
templateId: string;
|
templateId?: string;
|
||||||
rewards: IQuestRewards;
|
rewards: IQuestRewards;
|
||||||
/** Becomes 'AppearStatus' inside client */
|
/** Becomes 'AppearStatus' inside client */
|
||||||
status: string | number;
|
status?: string | number;
|
||||||
KeyQuest: boolean;
|
KeyQuest?: boolean;
|
||||||
changeQuestMessageText: string;
|
changeQuestMessageText: string;
|
||||||
/** "Pmc" or "Scav" */
|
/** "Pmc" or "Scav" */
|
||||||
side: string;
|
side: string;
|
||||||
@ -39,10 +37,10 @@ export interface IQuest {
|
|||||||
sptStatus?: QuestStatus;
|
sptStatus?: QuestStatus;
|
||||||
}
|
}
|
||||||
export interface IQuestConditionTypes {
|
export interface IQuestConditionTypes {
|
||||||
Started: IQuestCondition[];
|
Started?: IQuestCondition[];
|
||||||
AvailableForFinish: IQuestCondition[];
|
AvailableForFinish: IQuestCondition[];
|
||||||
AvailableForStart: IQuestCondition[];
|
AvailableForStart: IQuestCondition[];
|
||||||
Success: IQuestCondition[];
|
Success?: IQuestCondition[];
|
||||||
Fail: IQuestCondition[];
|
Fail: IQuestCondition[];
|
||||||
}
|
}
|
||||||
export interface IQuestCondition {
|
export interface IQuestCondition {
|
||||||
@ -53,9 +51,9 @@ export interface IQuestCondition {
|
|||||||
visibilityConditions?: IVisibilityCondition[];
|
visibilityConditions?: IVisibilityCondition[];
|
||||||
globalQuestCounterId?: string;
|
globalQuestCounterId?: string;
|
||||||
parentId?: string;
|
parentId?: string;
|
||||||
target: string[] | string;
|
target?: string[] | string;
|
||||||
value?: string | number;
|
value?: string | number;
|
||||||
type?: boolean;
|
type?: boolean | string;
|
||||||
status?: QuestStatus[];
|
status?: QuestStatus[];
|
||||||
availableAfter?: number;
|
availableAfter?: number;
|
||||||
dispersion?: number;
|
dispersion?: number;
|
||||||
@ -64,10 +62,10 @@ export interface IQuestCondition {
|
|||||||
isResetOnConditionFailed?: boolean;
|
isResetOnConditionFailed?: boolean;
|
||||||
isNecessary?: boolean;
|
isNecessary?: boolean;
|
||||||
doNotResetIfCounterCompleted?: boolean;
|
doNotResetIfCounterCompleted?: boolean;
|
||||||
dogtagLevel?: number;
|
dogtagLevel?: number | string;
|
||||||
traderId?: string;
|
traderId?: string;
|
||||||
maxDurability?: number;
|
maxDurability?: number | string;
|
||||||
minDurability?: number;
|
minDurability?: number | string;
|
||||||
counter?: IQuestConditionCounter;
|
counter?: IQuestConditionCounter;
|
||||||
plantTime?: number;
|
plantTime?: number;
|
||||||
zoneId?: string;
|
zoneId?: string;
|
||||||
@ -82,7 +80,7 @@ export interface IQuestConditionCounter {
|
|||||||
}
|
}
|
||||||
export interface IQuestConditionCounterCondition {
|
export interface IQuestConditionCounterCondition {
|
||||||
id: string;
|
id: string;
|
||||||
dynamicLocale: boolean;
|
dynamicLocale?: boolean;
|
||||||
target?: string[] | string;
|
target?: string[] | string;
|
||||||
completeInSeconds?: number;
|
completeInSeconds?: number;
|
||||||
energy?: IValueCompare;
|
energy?: IValueCompare;
|
||||||
@ -90,7 +88,7 @@ export interface IQuestConditionCounterCondition {
|
|||||||
hydration?: IValueCompare;
|
hydration?: IValueCompare;
|
||||||
time?: IValueCompare;
|
time?: IValueCompare;
|
||||||
compareMethod?: string;
|
compareMethod?: string;
|
||||||
value?: number;
|
value?: number | string;
|
||||||
weapon?: string[];
|
weapon?: string[];
|
||||||
distance?: ICounterConditionDistance;
|
distance?: ICounterConditionDistance;
|
||||||
equipmentInclusive?: string[][];
|
equipmentInclusive?: string[][];
|
||||||
@ -128,7 +126,7 @@ export interface IVisibilityCondition {
|
|||||||
target: string;
|
target: string;
|
||||||
value?: number;
|
value?: number;
|
||||||
dynamicLocale?: boolean;
|
dynamicLocale?: boolean;
|
||||||
oneSessionOnly: boolean;
|
oneSessionOnly?: boolean;
|
||||||
conditionType: string;
|
conditionType: string;
|
||||||
}
|
}
|
||||||
export interface IQuestRewards {
|
export interface IQuestRewards {
|
||||||
@ -152,4 +150,8 @@ export interface IQuestReward {
|
|||||||
traderId?: string;
|
traderId?: string;
|
||||||
unknown?: boolean;
|
unknown?: boolean;
|
||||||
findInRaid?: boolean;
|
findInRaid?: boolean;
|
||||||
|
/** Game editions whitelisted to get reward */
|
||||||
|
availableInGameEditions?: string[];
|
||||||
|
/** Game editions blacklisted from getting reward */
|
||||||
|
notAvailableInGameEditions?: string[];
|
||||||
}
|
}
|
||||||
|
@ -4,11 +4,11 @@ export interface ITemplateItem {
|
|||||||
_name: string;
|
_name: string;
|
||||||
_parent: string;
|
_parent: string;
|
||||||
_type: ItemType;
|
_type: ItemType;
|
||||||
_props: Props;
|
_props: IProps;
|
||||||
_proto?: string;
|
_proto?: string;
|
||||||
}
|
}
|
||||||
export interface Props {
|
export interface IProps {
|
||||||
AllowSpawnOnLocations?: any[];
|
AllowSpawnOnLocations?: string[];
|
||||||
BeltMagazineRefreshCount?: number;
|
BeltMagazineRefreshCount?: number;
|
||||||
ChangePriceCoef?: number;
|
ChangePriceCoef?: number;
|
||||||
FixedPrice?: boolean;
|
FixedPrice?: boolean;
|
||||||
@ -175,7 +175,7 @@ export interface Props {
|
|||||||
spawnRarity?: string;
|
spawnRarity?: string;
|
||||||
minCountSpawn?: number;
|
minCountSpawn?: number;
|
||||||
maxCountSpawn?: number;
|
maxCountSpawn?: number;
|
||||||
openedByKeyID?: any[];
|
openedByKeyID?: string[];
|
||||||
RigLayoutName?: string;
|
RigLayoutName?: string;
|
||||||
MaxDurability?: number;
|
MaxDurability?: number;
|
||||||
armorZone?: string[];
|
armorZone?: string[];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { Message } from "@spt/models/eft/profile/ISptProfile";
|
import { IMessage } from "@spt/models/eft/profile/ISptProfile";
|
||||||
export interface IGetAllAttachmentsResponse {
|
export interface IGetAllAttachmentsResponse {
|
||||||
messages: Message[];
|
messages: IMessage[];
|
||||||
profiles: any[];
|
profiles: any[];
|
||||||
hasMessagesWithRewards: boolean;
|
hasMessagesWithRewards: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { IUserDialogInfo, Message } from "@spt/models/eft/profile/ISptProfile";
|
import { IMessage, IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||||
export interface IGetMailDialogViewResponseData {
|
export interface IGetMailDialogViewResponseData {
|
||||||
messages: Message[];
|
messages: IMessage[];
|
||||||
profiles: IUserDialogInfo[];
|
profiles: IUserDialogInfo[];
|
||||||
hasMessagesWithRewards: boolean;
|
hasMessagesWithRewards: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
export interface IVersionValidateRequestData {
|
export interface IVersionValidateRequestData {
|
||||||
version: Version;
|
version: IVersion;
|
||||||
develop: boolean;
|
develop: boolean;
|
||||||
}
|
}
|
||||||
export interface Version {
|
export interface IVersion {
|
||||||
major: string;
|
major: string;
|
||||||
minor: string;
|
minor: string;
|
||||||
game: string;
|
game: string;
|
||||||
|
@ -1,4 +1,36 @@
|
|||||||
export interface IWorkoutData extends Record<string, any> {
|
export interface IWorkoutData extends Record<string, any> {
|
||||||
skills: any;
|
skills: IWorkoutSkills;
|
||||||
effects: any;
|
effects: IWorkoutEffects;
|
||||||
|
}
|
||||||
|
export interface IWorkoutSkills {
|
||||||
|
Common: IWorkoutSkillCommon[];
|
||||||
|
Mastering: any[];
|
||||||
|
Bonuses: any;
|
||||||
|
Points: number;
|
||||||
|
}
|
||||||
|
export interface IWorkoutSkillCommon {
|
||||||
|
Id: string;
|
||||||
|
Progress: number;
|
||||||
|
PointsEarnedDuringSession: number;
|
||||||
|
LastAccess: number;
|
||||||
|
}
|
||||||
|
export interface IWorkoutEffects {
|
||||||
|
Effects: IWorkoutEffectsParts;
|
||||||
|
Hydration: number;
|
||||||
|
Energy: number;
|
||||||
|
}
|
||||||
|
export interface IWorkoutEffectsParts {
|
||||||
|
Head: IWorkoutBodyPart;
|
||||||
|
Chest: IWorkoutBodyPart;
|
||||||
|
Stomach: IWorkoutBodyPart;
|
||||||
|
LeftArm: IWorkoutBodyPart;
|
||||||
|
RightArm: IWorkoutBodyPart;
|
||||||
|
LeftLeg: IWorkoutBodyPart;
|
||||||
|
RightLeg: IWorkoutBodyPart;
|
||||||
|
Common: IWorkoutBodyPart;
|
||||||
|
}
|
||||||
|
export interface IWorkoutBodyPart {
|
||||||
|
Regeneration: number;
|
||||||
|
Fracture: number;
|
||||||
|
MildMusclePain: number;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
export interface HideoutUpgradeCompleteRequestData {
|
|
||||||
Action: string;
|
|
||||||
areaType: number;
|
|
||||||
timestamp: number;
|
|
||||||
}
|
|
@ -12,16 +12,16 @@ export interface IHideoutArea {
|
|||||||
displayLevel: boolean;
|
displayLevel: boolean;
|
||||||
enableAreaRequirements: boolean;
|
enableAreaRequirements: boolean;
|
||||||
parentArea?: string;
|
parentArea?: string;
|
||||||
stages: Record<string, Stage>;
|
stages: Record<string, IStage>;
|
||||||
}
|
}
|
||||||
export interface IAreaRequirement {
|
export interface IAreaRequirement {
|
||||||
areaType: number;
|
areaType: number;
|
||||||
requiredlevel: number;
|
requiredlevel: number;
|
||||||
type: string;
|
type: string;
|
||||||
}
|
}
|
||||||
export interface Stage {
|
export interface IStage {
|
||||||
autoUpgrade: boolean;
|
autoUpgrade: boolean;
|
||||||
bonuses: StageBonus[];
|
bonuses: IStageBonus[];
|
||||||
constructionTime: number;
|
constructionTime: number;
|
||||||
/** Containers inventory tpl */
|
/** Containers inventory tpl */
|
||||||
container?: string;
|
container?: string;
|
||||||
@ -63,7 +63,7 @@ export interface IStageRequirement extends IRequirementBase {
|
|||||||
skillName?: string;
|
skillName?: string;
|
||||||
skillLevel?: number;
|
skillLevel?: number;
|
||||||
}
|
}
|
||||||
export interface StageBonus {
|
export interface IStageBonus {
|
||||||
value: number;
|
value: number;
|
||||||
passive: boolean;
|
passive: boolean;
|
||||||
production: boolean;
|
production: boolean;
|
||||||
|
@ -3,10 +3,10 @@ export interface IHideoutImproveAreaRequestData {
|
|||||||
/** Hideout area id from areas.json */
|
/** Hideout area id from areas.json */
|
||||||
id: string;
|
id: string;
|
||||||
areaType: number;
|
areaType: number;
|
||||||
items: HideoutItem[];
|
items: IHideoutItem[];
|
||||||
timestamp: number;
|
timestamp: number;
|
||||||
}
|
}
|
||||||
export interface HideoutItem {
|
export interface IHideoutItem {
|
||||||
/** Hideout inventory id that was used by improvement action */
|
/** Hideout inventory id that was used by improvement action */
|
||||||
id: string;
|
id: string;
|
||||||
count: number;
|
count: number;
|
||||||
|
@ -7,7 +7,7 @@ export interface IHideoutProductionData {
|
|||||||
export interface IHideoutProduction {
|
export interface IHideoutProduction {
|
||||||
_id: string;
|
_id: string;
|
||||||
areaType: number;
|
areaType: number;
|
||||||
requirements: Requirement[];
|
requirements: IRequirement[];
|
||||||
productionTime: number;
|
productionTime: number;
|
||||||
/** Tpl of item being crafted */
|
/** Tpl of item being crafted */
|
||||||
endProduct: string;
|
endProduct: string;
|
||||||
@ -18,7 +18,7 @@ export interface IHideoutProduction {
|
|||||||
count: number;
|
count: number;
|
||||||
productionLimitCount: number;
|
productionLimitCount: number;
|
||||||
}
|
}
|
||||||
export interface Requirement extends IRequirementBase {
|
export interface IRequirement extends IRequirementBase {
|
||||||
templateId?: string;
|
templateId?: string;
|
||||||
count?: number;
|
count?: number;
|
||||||
isEncoded?: boolean;
|
isEncoded?: boolean;
|
||||||
@ -33,7 +33,7 @@ export interface IRequirementBase {
|
|||||||
}
|
}
|
||||||
export type IScavRecipe = {
|
export type IScavRecipe = {
|
||||||
_id: string;
|
_id: string;
|
||||||
requirements: Requirement[];
|
requirements: IRequirement[];
|
||||||
productionTime: number;
|
productionTime: number;
|
||||||
endProducts: IEndProducts;
|
endProducts: IEndProducts;
|
||||||
};
|
};
|
||||||
|
@ -2,16 +2,16 @@ import { MinMax } from "@spt/models/common/MinMax";
|
|||||||
export interface IHideoutScavCase {
|
export interface IHideoutScavCase {
|
||||||
_id: string;
|
_id: string;
|
||||||
ProductionTime: number;
|
ProductionTime: number;
|
||||||
Requirements: Requirement[];
|
Requirements: IRequirement[];
|
||||||
EndProducts: EndProducts;
|
EndProducts: IEndProducts;
|
||||||
}
|
}
|
||||||
export interface Requirement {
|
export interface IRequirement {
|
||||||
templateId: string;
|
templateId: string;
|
||||||
count: number;
|
count: number;
|
||||||
isFunctional: boolean;
|
isFunctional: boolean;
|
||||||
type: string;
|
type: string;
|
||||||
}
|
}
|
||||||
export interface EndProducts {
|
export interface IEndProducts {
|
||||||
Common: MinMax;
|
Common: MinMax;
|
||||||
Rare: MinMax;
|
Rare: MinMax;
|
||||||
Superrare: MinMax;
|
Superrare: MinMax;
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
export interface IHideoutScavCaseStartRequestData {
|
export interface IHideoutScavCaseStartRequestData {
|
||||||
Action: "HideoutScavCaseProductionStart";
|
Action: "HideoutScavCaseProductionStart";
|
||||||
recipeId: string;
|
recipeId: string;
|
||||||
items: HideoutItem[];
|
items: IHideoutItem[];
|
||||||
tools: Tool[];
|
tools: ITool[];
|
||||||
timestamp: number;
|
timestamp: number;
|
||||||
}
|
}
|
||||||
export interface HideoutItem {
|
export interface IHideoutItem {
|
||||||
id: string;
|
id: string;
|
||||||
count: number;
|
count: number;
|
||||||
}
|
}
|
||||||
export interface Tool {
|
export interface ITool {
|
||||||
id: string;
|
id: string;
|
||||||
count: number;
|
count: number;
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
export interface IHideoutUpgradeRequestData {
|
export interface IHideoutUpgradeRequestData {
|
||||||
Action: "HideoutUpgrade";
|
Action: "HideoutUpgrade";
|
||||||
areaType: number;
|
areaType: number;
|
||||||
items: HideoutItem[];
|
items: IHideoutItem[];
|
||||||
timestamp: number;
|
timestamp: number;
|
||||||
}
|
}
|
||||||
export interface HideoutItem {
|
export interface IHideoutItem {
|
||||||
count: number;
|
count: number;
|
||||||
id: string;
|
id: string;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { Container, IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData";
|
import { IContainer, IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData";
|
||||||
export interface IInventoryAddRequestData extends IInventoryBaseActionRequestData {
|
export interface IInventoryAddRequestData extends IInventoryBaseActionRequestData {
|
||||||
Action: "Add";
|
Action: "Add";
|
||||||
item: string;
|
item: string;
|
||||||
container: Container;
|
container: IContainer;
|
||||||
}
|
}
|
||||||
|
@ -2,18 +2,18 @@ import { IBaseInteractionRequestData } from "@spt/models/eft/common/request/IBas
|
|||||||
import { IItemLocation } from "@spt/models/eft/common/tables/IItem";
|
import { IItemLocation } from "@spt/models/eft/common/tables/IItem";
|
||||||
export interface IInventoryBaseActionRequestData extends IBaseInteractionRequestData {
|
export interface IInventoryBaseActionRequestData extends IBaseInteractionRequestData {
|
||||||
}
|
}
|
||||||
export interface To {
|
export interface ITo {
|
||||||
id: string;
|
id: string;
|
||||||
container: string;
|
container: string;
|
||||||
location?: IItemLocation | number;
|
location?: IItemLocation | number;
|
||||||
isSearched?: boolean;
|
isSearched?: boolean;
|
||||||
}
|
}
|
||||||
export interface Container {
|
export interface IContainer {
|
||||||
id: string;
|
id: string;
|
||||||
container: string;
|
container: string;
|
||||||
location?: Location | number;
|
location?: ILocation | number;
|
||||||
}
|
}
|
||||||
export interface Location {
|
export interface ILocation {
|
||||||
x: number;
|
x: number;
|
||||||
y: number;
|
y: number;
|
||||||
r: string;
|
r: string;
|
||||||
|
@ -2,9 +2,9 @@ import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInve
|
|||||||
export interface IInventoryCreateMarkerRequestData extends IInventoryBaseActionRequestData {
|
export interface IInventoryCreateMarkerRequestData extends IInventoryBaseActionRequestData {
|
||||||
Action: "CreateMapMarker";
|
Action: "CreateMapMarker";
|
||||||
item: string;
|
item: string;
|
||||||
mapMarker: MapMarker;
|
mapMarker: IMapMarker;
|
||||||
}
|
}
|
||||||
export interface MapMarker {
|
export interface IMapMarker {
|
||||||
Type: string;
|
Type: string;
|
||||||
X: number;
|
X: number;
|
||||||
Y: number;
|
Y: number;
|
||||||
|
@ -4,9 +4,9 @@ export interface IInventoryEditMarkerRequestData extends IInventoryBaseActionReq
|
|||||||
item: string;
|
item: string;
|
||||||
X: number;
|
X: number;
|
||||||
Y: number;
|
Y: number;
|
||||||
mapMarker: MapMarker;
|
mapMarker: IMapMarker;
|
||||||
}
|
}
|
||||||
export interface MapMarker {
|
export interface IMapMarker {
|
||||||
Type: string;
|
Type: string;
|
||||||
X: number;
|
X: number;
|
||||||
Y: number;
|
Y: number;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { IInventoryBaseActionRequestData, To } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData";
|
import { IInventoryBaseActionRequestData, ITo } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData";
|
||||||
export interface IInventoryMoveRequestData extends IInventoryBaseActionRequestData {
|
export interface IInventoryMoveRequestData extends IInventoryBaseActionRequestData {
|
||||||
Action: "Move";
|
Action: "Move";
|
||||||
item: string;
|
item: string;
|
||||||
to: To;
|
to: ITo;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Container, IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData";
|
import { IContainer, IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData";
|
||||||
export interface IInventorySplitRequestData extends IInventoryBaseActionRequestData {
|
export interface IInventorySplitRequestData extends IInventoryBaseActionRequestData {
|
||||||
Action: "Split";
|
Action: "Split";
|
||||||
/** Id of item to split */
|
/** Id of item to split */
|
||||||
@ -6,6 +6,6 @@ export interface IInventorySplitRequestData extends IInventoryBaseActionRequestD
|
|||||||
/** Id of new item stack */
|
/** Id of new item stack */
|
||||||
newItem: string;
|
newItem: string;
|
||||||
/** Destination new item will be placed in */
|
/** Destination new item will be placed in */
|
||||||
container: Container;
|
container: IContainer;
|
||||||
count: number;
|
count: number;
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { OwnerInfo } from "@spt/models/eft/common/request/IBaseInteractionRequestData";
|
import { OwnerInfo } from "@spt/models/eft/common/request/IBaseInteractionRequestData";
|
||||||
import { IInventoryBaseActionRequestData, To } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData";
|
import { IInventoryBaseActionRequestData, ITo } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData";
|
||||||
export interface IInventorySwapRequestData extends IInventoryBaseActionRequestData {
|
export interface IInventorySwapRequestData extends IInventoryBaseActionRequestData {
|
||||||
Action: "Swap";
|
Action: "Swap";
|
||||||
item: string;
|
item: string;
|
||||||
to: To;
|
to: ITo;
|
||||||
item2: string;
|
item2: string;
|
||||||
to2: To;
|
to2: ITo;
|
||||||
fromOwner2: OwnerInfo;
|
fromOwner2: OwnerInfo;
|
||||||
toOwner2: OwnerInfo;
|
toOwner2: OwnerInfo;
|
||||||
}
|
}
|
||||||
|
@ -3,9 +3,9 @@ export interface IOpenRandomLootContainerRequestData extends IInventoryBaseActio
|
|||||||
Action: "OpenRandomLootContainer";
|
Action: "OpenRandomLootContainer";
|
||||||
/** Container item id being opened */
|
/** Container item id being opened */
|
||||||
item: string;
|
item: string;
|
||||||
to: To[];
|
to: ITo[];
|
||||||
}
|
}
|
||||||
export interface To {
|
export interface ITo {
|
||||||
/** Player character (pmc/scav) id items will be sent to */
|
/** Player character (pmc/scav) id items will be sent to */
|
||||||
id: string;
|
id: string;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ export interface IProfileChange {
|
|||||||
improvements: Record<string, IHideoutImprovement>;
|
improvements: Record<string, IHideoutImprovement>;
|
||||||
skills: ISkills;
|
skills: ISkills;
|
||||||
health: IHealth;
|
health: IHealth;
|
||||||
traderRelations: Record<string, TraderData>;
|
traderRelations: Record<string, ITraderData>;
|
||||||
moneyTransferLimitData: IMoneyTransferLimits;
|
moneyTransferLimitData: IMoneyTransferLimits;
|
||||||
repeatableQuests?: IPmcDataRepeatableQuest[];
|
repeatableQuests?: IPmcDataRepeatableQuest[];
|
||||||
recipeUnlocked: Record<string, boolean>;
|
recipeUnlocked: Record<string, boolean>;
|
||||||
@ -60,7 +60,7 @@ export interface IItemChanges {
|
|||||||
del: IProduct[];
|
del: IProduct[];
|
||||||
}
|
}
|
||||||
/** Related to TraderInfo */
|
/** Related to TraderInfo */
|
||||||
export interface TraderData {
|
export interface ITraderData {
|
||||||
salesSum: number;
|
salesSum: number;
|
||||||
standing: number;
|
standing: number;
|
||||||
loyalty: number;
|
loyalty: number;
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
export interface IItemEventRouterRequest {
|
export interface IItemEventRouterRequest {
|
||||||
data: Daum[];
|
data: IDaum[];
|
||||||
tm: number;
|
tm: number;
|
||||||
reload: number;
|
reload: number;
|
||||||
}
|
}
|
||||||
export interface Daum {
|
export interface IDaum {
|
||||||
Action: string;
|
Action: string;
|
||||||
item: string;
|
item: string;
|
||||||
to: To;
|
to: ITo;
|
||||||
}
|
}
|
||||||
export interface To {
|
export interface ITo {
|
||||||
id: string;
|
id: string;
|
||||||
container: string;
|
container: string;
|
||||||
location?: Location;
|
location?: ILocation;
|
||||||
}
|
}
|
||||||
export interface Location {
|
export interface ILocation {
|
||||||
x: number;
|
x: number;
|
||||||
y: number;
|
y: number;
|
||||||
r: string;
|
r: string;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Spt } from "../profile/ISptProfile";
|
import { ISpt } from "../profile/ISptProfile";
|
||||||
export interface IMiniProfile {
|
export interface IMiniProfile {
|
||||||
username: string;
|
username: string;
|
||||||
nickname: string;
|
nickname: string;
|
||||||
@ -10,5 +10,5 @@ export interface IMiniProfile {
|
|||||||
maxlvl: number;
|
maxlvl: number;
|
||||||
edition: string;
|
edition: string;
|
||||||
profileId: string;
|
profileId: string;
|
||||||
sptData: Spt;
|
sptData: ISpt;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { LootItem } from "@spt/models/spt/services/LootItem";
|
import { ILootItem } from "@spt/models/spt/services/LootItem";
|
||||||
export interface IAirdropLootResult {
|
export interface IAirdropLootResult {
|
||||||
dropType: string;
|
dropType: string;
|
||||||
loot: LootItem[];
|
loot: ILootItem[];
|
||||||
}
|
}
|
||||||
|
3
TypeScript/10ScopesAndTypes/types/models/eft/location/IGetAirdropLootRequest.d.ts
vendored
Normal file
3
TypeScript/10ScopesAndTypes/types/models/eft/location/IGetAirdropLootRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export interface IGetAirdropLootRequest {
|
||||||
|
containerId: string;
|
||||||
|
}
|
@ -13,6 +13,7 @@ export interface IEndLocalRaidRequestData {
|
|||||||
}
|
}
|
||||||
export interface IEndRaidResult {
|
export interface IEndRaidResult {
|
||||||
profile: IPmcData;
|
profile: IPmcData;
|
||||||
|
/** "Survived/Transit etc" */
|
||||||
result: string;
|
result: string;
|
||||||
ExitStatus: ExitStatus;
|
ExitStatus: ExitStatus;
|
||||||
killerId: string;
|
killerId: string;
|
||||||
|
@ -15,15 +15,15 @@ export interface IRaidSettings {
|
|||||||
isLocationTransition: boolean;
|
isLocationTransition: boolean;
|
||||||
timeVariant: DateTime;
|
timeVariant: DateTime;
|
||||||
metabolismDisabled: boolean;
|
metabolismDisabled: boolean;
|
||||||
timeAndWeatherSettings: TimeAndWeatherSettings;
|
timeAndWeatherSettings: ITimeAndWeatherSettings;
|
||||||
botSettings: BotSettings;
|
botSettings: IBotSettings;
|
||||||
wavesSettings: WavesSettings;
|
wavesSettings: IWavesSettings;
|
||||||
side: SideType;
|
side: SideType;
|
||||||
raidMode: RaidMode;
|
raidMode: RaidMode;
|
||||||
playersSpawnPlace: PlayersSpawnPlace;
|
playersSpawnPlace: PlayersSpawnPlace;
|
||||||
CanShowGroupPreview: boolean;
|
CanShowGroupPreview: boolean;
|
||||||
}
|
}
|
||||||
export interface TimeAndWeatherSettings {
|
export interface ITimeAndWeatherSettings {
|
||||||
isRandomTime: boolean;
|
isRandomTime: boolean;
|
||||||
isRandomWeather: boolean;
|
isRandomWeather: boolean;
|
||||||
cloudinessType: CloudinessType;
|
cloudinessType: CloudinessType;
|
||||||
@ -33,11 +33,11 @@ export interface TimeAndWeatherSettings {
|
|||||||
timeFlowType: TimeFlowType;
|
timeFlowType: TimeFlowType;
|
||||||
hourOfDay: number;
|
hourOfDay: number;
|
||||||
}
|
}
|
||||||
export interface BotSettings {
|
export interface IBotSettings {
|
||||||
isScavWars: boolean;
|
isScavWars: boolean;
|
||||||
botAmount: BotAmount;
|
botAmount: BotAmount;
|
||||||
}
|
}
|
||||||
export interface WavesSettings {
|
export interface IWavesSettings {
|
||||||
botAmount: BotAmount;
|
botAmount: BotAmount;
|
||||||
botDifficulty: BotDifficulty;
|
botDifficulty: BotDifficulty;
|
||||||
isBosses: boolean;
|
isBosses: boolean;
|
||||||
|
@ -6,6 +6,8 @@ export interface IStartLocalRaidRequestData {
|
|||||||
playerSide: string;
|
playerSide: string;
|
||||||
isLocationTransition: boolean;
|
isLocationTransition: boolean;
|
||||||
transition: IStartLocalRaidTransition;
|
transition: IStartLocalRaidTransition;
|
||||||
|
/** Should loot generation be skipped, default false */
|
||||||
|
sptSkipLootGeneration?: boolean;
|
||||||
}
|
}
|
||||||
export interface IStartLocalRaidTransition {
|
export interface IStartLocalRaidTransition {
|
||||||
isLocationTransition: boolean;
|
isLocationTransition: boolean;
|
||||||
|
@ -6,21 +6,21 @@ import { MessageType } from "@spt/models/enums/MessageType";
|
|||||||
import { IProfileChangeEvent } from "@spt/models/spt/dialog/ISendMessageDetails";
|
import { IProfileChangeEvent } from "@spt/models/spt/dialog/ISendMessageDetails";
|
||||||
export interface ISptProfile {
|
export interface ISptProfile {
|
||||||
info: Info;
|
info: Info;
|
||||||
characters: Characters;
|
characters: ICharacters;
|
||||||
/** Clothing purchases */
|
/** Clothing purchases */
|
||||||
suits: string[];
|
suits: string[];
|
||||||
userbuilds: IUserBuilds;
|
userbuilds: IUserBuilds;
|
||||||
dialogues: Record<string, Dialogue>;
|
dialogues: Record<string, IDialogue>;
|
||||||
spt: Spt;
|
spt: ISpt;
|
||||||
vitality: Vitality;
|
vitality: IVitality;
|
||||||
inraid: Inraid;
|
inraid: IInraid;
|
||||||
insurance: Insurance[];
|
insurance: IInsurance[];
|
||||||
/** Assort purchases made by player since last trader refresh */
|
/** Assort purchases made by player since last trader refresh */
|
||||||
traderPurchases?: Record<string, Record<string, TraderPurchaseData>>;
|
traderPurchases?: Record<string, Record<string, ITraderPurchaseData>>;
|
||||||
/** Achievements earned by player */
|
/** Achievements earned by player */
|
||||||
achievements: Record<string, number>;
|
achievements: Record<string, number>;
|
||||||
}
|
}
|
||||||
export declare class TraderPurchaseData {
|
export declare class ITraderPurchaseData {
|
||||||
count: number;
|
count: number;
|
||||||
purchaseTimestamp: number;
|
purchaseTimestamp: number;
|
||||||
}
|
}
|
||||||
@ -34,7 +34,7 @@ export interface Info {
|
|||||||
wipe: boolean;
|
wipe: boolean;
|
||||||
edition: string;
|
edition: string;
|
||||||
}
|
}
|
||||||
export interface Characters {
|
export interface ICharacters {
|
||||||
pmc: IPmcData;
|
pmc: IPmcData;
|
||||||
scav: IPmcData;
|
scav: IPmcData;
|
||||||
}
|
}
|
||||||
@ -74,13 +74,13 @@ export interface IDefaultEquipmentPreset extends IUserBuild {
|
|||||||
BuildType: EquipmentBuildType;
|
BuildType: EquipmentBuildType;
|
||||||
type: string;
|
type: string;
|
||||||
}
|
}
|
||||||
export interface Dialogue {
|
export interface IDialogue {
|
||||||
attachmentsNew: number;
|
attachmentsNew: number;
|
||||||
new: number;
|
new: number;
|
||||||
type: MessageType;
|
type: MessageType;
|
||||||
Users?: IUserDialogInfo[];
|
Users?: IUserDialogInfo[];
|
||||||
pinned: boolean;
|
pinned: boolean;
|
||||||
messages: Message[];
|
messages: IMessage[];
|
||||||
_id: string;
|
_id: string;
|
||||||
}
|
}
|
||||||
export interface IUserDialogInfo {
|
export interface IUserDialogInfo {
|
||||||
@ -95,16 +95,16 @@ export interface IUserDialogDetails {
|
|||||||
MemberCategory: MemberCategory;
|
MemberCategory: MemberCategory;
|
||||||
SelectedMemberCategory: MemberCategory;
|
SelectedMemberCategory: MemberCategory;
|
||||||
}
|
}
|
||||||
export interface DialogueInfo {
|
export interface IDialogueInfo {
|
||||||
attachmentsNew: number;
|
attachmentsNew: number;
|
||||||
new: number;
|
new: number;
|
||||||
_id: string;
|
_id: string;
|
||||||
type: MessageType;
|
type: MessageType;
|
||||||
pinned: boolean;
|
pinned: boolean;
|
||||||
Users?: IUserDialogInfo[];
|
Users?: IUserDialogInfo[];
|
||||||
message: MessagePreview;
|
message: IMessagePreview;
|
||||||
}
|
}
|
||||||
export interface Message {
|
export interface IMessage {
|
||||||
_id: string;
|
_id: string;
|
||||||
uid: string;
|
uid: string;
|
||||||
type: MessageType;
|
type: MessageType;
|
||||||
@ -116,7 +116,7 @@ export interface Message {
|
|||||||
replyTo?: IReplyTo;
|
replyTo?: IReplyTo;
|
||||||
hasRewards?: boolean;
|
hasRewards?: boolean;
|
||||||
rewardCollected: boolean;
|
rewardCollected: boolean;
|
||||||
items?: MessageItems;
|
items?: IMessageItems;
|
||||||
maxStorageTime?: number;
|
maxStorageTime?: number;
|
||||||
systemData?: ISystemData;
|
systemData?: ISystemData;
|
||||||
profileChangeEvents?: IProfileChangeEvent[];
|
profileChangeEvents?: IProfileChangeEvent[];
|
||||||
@ -128,7 +128,7 @@ export interface IReplyTo {
|
|||||||
dt: number;
|
dt: number;
|
||||||
text?: string;
|
text?: string;
|
||||||
}
|
}
|
||||||
export interface MessagePreview {
|
export interface IMessagePreview {
|
||||||
uid: string;
|
uid: string;
|
||||||
type: MessageType;
|
type: MessageType;
|
||||||
dt: number;
|
dt: number;
|
||||||
@ -136,7 +136,7 @@ export interface MessagePreview {
|
|||||||
text?: string;
|
text?: string;
|
||||||
systemData?: ISystemData;
|
systemData?: ISystemData;
|
||||||
}
|
}
|
||||||
export interface MessageItems {
|
export interface IMessageItems {
|
||||||
stash?: string;
|
stash?: string;
|
||||||
data?: IItem[];
|
data?: IItem[];
|
||||||
}
|
}
|
||||||
@ -156,17 +156,13 @@ export interface IUpdatableChatMember {
|
|||||||
Ignored: boolean;
|
Ignored: boolean;
|
||||||
Banned: boolean;
|
Banned: boolean;
|
||||||
}
|
}
|
||||||
export interface DateTime {
|
export interface ISpt {
|
||||||
date: string;
|
|
||||||
time: string;
|
|
||||||
}
|
|
||||||
export interface Spt {
|
|
||||||
/** What version of SPT was this profile made with */
|
/** What version of SPT was this profile made with */
|
||||||
version: string;
|
version: string;
|
||||||
/** What mods has this profile loaded at any point in time */
|
/** What mods has this profile loaded at any point in time */
|
||||||
mods?: ModDetails[];
|
mods?: IModDetails[];
|
||||||
/** What gifts has this profile received and how many */
|
/** What gifts has this profile received and how many */
|
||||||
receivedGifts?: ReceivedGift[];
|
receivedGifts?: IReceivedGift[];
|
||||||
/** item TPLs blacklisted from being sold on flea for this profile */
|
/** item TPLs blacklisted from being sold on flea for this profile */
|
||||||
blacklistedItemTpls?: string[];
|
blacklistedItemTpls?: string[];
|
||||||
/** key: daily type */
|
/** key: daily type */
|
||||||
@ -174,23 +170,23 @@ export interface Spt {
|
|||||||
/** When was a profile migrated, value is timestamp */
|
/** When was a profile migrated, value is timestamp */
|
||||||
migrations?: Record<string, number>;
|
migrations?: Record<string, number>;
|
||||||
}
|
}
|
||||||
export interface ModDetails {
|
export interface IModDetails {
|
||||||
name: string;
|
name: string;
|
||||||
version: string;
|
version: string;
|
||||||
author: string;
|
author: string;
|
||||||
dateAdded: number;
|
dateAdded: number;
|
||||||
url: string;
|
url: string;
|
||||||
}
|
}
|
||||||
export interface ReceivedGift {
|
export interface IReceivedGift {
|
||||||
giftId: string;
|
giftId: string;
|
||||||
timestampLastAccepted: number;
|
timestampLastAccepted: number;
|
||||||
current: number;
|
current: number;
|
||||||
}
|
}
|
||||||
export interface Vitality {
|
export interface IVitality {
|
||||||
health: Health;
|
health: IHealth;
|
||||||
effects: Effects;
|
effects: IEffects;
|
||||||
}
|
}
|
||||||
export interface Health {
|
export interface IHealth {
|
||||||
Hydration: number;
|
Hydration: number;
|
||||||
Energy: number;
|
Energy: number;
|
||||||
Temperature: number;
|
Temperature: number;
|
||||||
@ -202,35 +198,35 @@ export interface Health {
|
|||||||
LeftLeg: number;
|
LeftLeg: number;
|
||||||
RightLeg: number;
|
RightLeg: number;
|
||||||
}
|
}
|
||||||
export interface Effects {
|
export interface IEffects {
|
||||||
Head: Head;
|
Head: IHead;
|
||||||
Chest: Chest;
|
Chest: IChest;
|
||||||
Stomach: Stomach;
|
Stomach: IStomach;
|
||||||
LeftArm: LeftArm;
|
LeftArm: ILeftArm;
|
||||||
RightArm: RightArm;
|
RightArm: IRightArm;
|
||||||
LeftLeg: LeftLeg;
|
LeftLeg: ILeftLeg;
|
||||||
RightLeg: RightLeg;
|
RightLeg: IRightLeg;
|
||||||
}
|
}
|
||||||
export type Head = {};
|
export type IHead = {};
|
||||||
export type Chest = {};
|
export type IChest = {};
|
||||||
export type Stomach = {};
|
export type IStomach = {};
|
||||||
export interface LeftArm {
|
export interface ILeftArm {
|
||||||
Fracture?: number;
|
Fracture?: number;
|
||||||
}
|
}
|
||||||
export interface RightArm {
|
export interface IRightArm {
|
||||||
Fracture?: number;
|
Fracture?: number;
|
||||||
}
|
}
|
||||||
export interface LeftLeg {
|
export interface ILeftLeg {
|
||||||
Fracture?: number;
|
Fracture?: number;
|
||||||
}
|
}
|
||||||
export interface RightLeg {
|
export interface IRightLeg {
|
||||||
Fracture?: number;
|
Fracture?: number;
|
||||||
}
|
}
|
||||||
export interface Inraid {
|
export interface IInraid {
|
||||||
location: string;
|
location: string;
|
||||||
character: string;
|
character: string;
|
||||||
}
|
}
|
||||||
export interface Insurance {
|
export interface IInsurance {
|
||||||
scheduledTime: number;
|
scheduledTime: number;
|
||||||
traderId: string;
|
traderId: string;
|
||||||
maxStorageTime: number;
|
maxStorageTime: number;
|
||||||
@ -239,7 +235,7 @@ export interface Insurance {
|
|||||||
messageTemplateId: string;
|
messageTemplateId: string;
|
||||||
items: IItem[];
|
items: IItem[];
|
||||||
}
|
}
|
||||||
export interface MessageContentRagfair {
|
export interface IMessageContentRagfair {
|
||||||
offerId: string;
|
offerId: string;
|
||||||
count: number;
|
count: number;
|
||||||
handbookId: string;
|
handbookId: string;
|
||||||
|
@ -2,9 +2,9 @@ export interface IAddOfferRequestData {
|
|||||||
Action: string;
|
Action: string;
|
||||||
sellInOnePiece: boolean;
|
sellInOnePiece: boolean;
|
||||||
items: string[];
|
items: string[];
|
||||||
requirements: Requirement[];
|
requirements: IRequirement[];
|
||||||
}
|
}
|
||||||
export interface Requirement {
|
export interface IRequirement {
|
||||||
_tpl: string;
|
_tpl: string;
|
||||||
count: number;
|
count: number;
|
||||||
level: number;
|
level: number;
|
||||||
|
@ -5,7 +5,7 @@ export interface IRagfairOffer {
|
|||||||
sellResult?: ISellResult[];
|
sellResult?: ISellResult[];
|
||||||
_id: string;
|
_id: string;
|
||||||
items: IItem[];
|
items: IItem[];
|
||||||
requirements: OfferRequirement[];
|
requirements: IOfferRequirement[];
|
||||||
root: string;
|
root: string;
|
||||||
intId: number;
|
intId: number;
|
||||||
/** Handbook price */
|
/** Handbook price */
|
||||||
@ -14,6 +14,7 @@ export interface IRagfairOffer {
|
|||||||
requirementsCost: number;
|
requirementsCost: number;
|
||||||
startTime: number;
|
startTime: number;
|
||||||
endTime: number;
|
endTime: number;
|
||||||
|
/** True when offer is sold as pack */
|
||||||
sellInOnePiece: boolean;
|
sellInOnePiece: boolean;
|
||||||
/** Rouble price - same as requirementsCost */
|
/** Rouble price - same as requirementsCost */
|
||||||
summaryCost: number;
|
summaryCost: number;
|
||||||
@ -25,7 +26,7 @@ export interface IRagfairOffer {
|
|||||||
buyRestrictionCurrent?: number;
|
buyRestrictionCurrent?: number;
|
||||||
locked?: boolean;
|
locked?: boolean;
|
||||||
}
|
}
|
||||||
export interface OfferRequirement {
|
export interface IOfferRequirement {
|
||||||
_tpl: string;
|
_tpl: string;
|
||||||
count: number;
|
count: number;
|
||||||
onlyFunctional: boolean;
|
onlyFunctional: boolean;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import { IBaseRepairActionDataRequest } from "@spt/models/eft/repair/IBaseRepairActionDataRequest";
|
import { IBaseRepairActionDataRequest } from "@spt/models/eft/repair/IBaseRepairActionDataRequest";
|
||||||
export interface IRepairActionDataRequest extends IBaseRepairActionDataRequest {
|
export interface IRepairActionDataRequest extends IBaseRepairActionDataRequest {
|
||||||
Action: "Repair";
|
Action: "Repair";
|
||||||
repairKitsInfo: RepairKitsInfo[];
|
repairKitsInfo: IRepairKitsInfo[];
|
||||||
target: string;
|
target: string;
|
||||||
}
|
}
|
||||||
export interface RepairKitsInfo {
|
export interface IRepairKitsInfo {
|
||||||
_id: string;
|
_id: string;
|
||||||
count: number;
|
count: number;
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@ import { IBaseRepairActionDataRequest } from "@spt/models/eft/repair/IBaseRepair
|
|||||||
export interface ITraderRepairActionDataRequest extends IBaseRepairActionDataRequest {
|
export interface ITraderRepairActionDataRequest extends IBaseRepairActionDataRequest {
|
||||||
Action: "TraderRepair";
|
Action: "TraderRepair";
|
||||||
tid: string;
|
tid: string;
|
||||||
repairItems: RepairItem[];
|
repairItems: IRepairItem[];
|
||||||
}
|
}
|
||||||
export interface RepairItem {
|
export interface IRepairItem {
|
||||||
_id: string;
|
_id: string;
|
||||||
count: number;
|
count: number;
|
||||||
}
|
}
|
||||||
|
@ -12,12 +12,15 @@ export interface IWeather {
|
|||||||
temp: number;
|
temp: number;
|
||||||
fog: number;
|
fog: number;
|
||||||
rain_intensity: number;
|
rain_intensity: number;
|
||||||
|
/** 1 - 3 light rain, 3+ 'rain' */
|
||||||
rain: number;
|
rain: number;
|
||||||
wind_gustiness: number;
|
wind_gustiness: number;
|
||||||
wind_direction: WindDirection;
|
wind_direction: WindDirection;
|
||||||
wind_speed: number;
|
wind_speed: number;
|
||||||
|
/** < -0.4 = clear day */
|
||||||
cloud: number;
|
cloud: number;
|
||||||
time: string;
|
time: string;
|
||||||
date: string;
|
date: string;
|
||||||
timestamp: number;
|
timestamp: number;
|
||||||
|
sptInRaidTimestamp: number;
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter";
|
import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter";
|
||||||
import { Message } from "@spt/models/eft/profile/ISptProfile";
|
import { IMessage } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
|
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
|
||||||
export interface IWsChatMessageReceived extends IWsNotificationEvent {
|
export interface IWsChatMessageReceived extends IWsNotificationEvent {
|
||||||
dialogId: string;
|
dialogId: string;
|
||||||
message: Message;
|
message: IMessage;
|
||||||
profiles?: IGroupCharacter[];
|
profiles?: IGroupCharacter[];
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
export declare enum AirdropTypeEnum {
|
export declare enum AirdropTypeEnum {
|
||||||
|
COMMON = "Common",
|
||||||
|
SUPPLY = "Supply",
|
||||||
|
MEDICAL = "Medical",
|
||||||
|
WEAPON_ARMOR = "Weapon"
|
||||||
|
}
|
||||||
|
export declare enum SptAirdropTypeEnum {
|
||||||
COMMON = "mixed",
|
COMMON = "mixed",
|
||||||
SUPPLY = "barter",
|
SUPPLY = "barter",
|
||||||
FOOD_MEDICAL = "foodMedical",
|
FOOD_MEDICAL = "foodMedical",
|
||||||
WEAPON_ARMOR = "weaponArmor"
|
WEAPON_ARMOR = "weaponArmor",
|
||||||
|
RADAR = "radar"
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,5 @@ export declare enum WildSpawnTypeNumber {
|
|||||||
SKIER = 53,
|
SKIER = 53,
|
||||||
SECTANTPREDVESTNIK = 57,
|
SECTANTPREDVESTNIK = 57,
|
||||||
SECTANTPRIZRAK = 58,
|
SECTANTPRIZRAK = 58,
|
||||||
SECTANTONI = 59,
|
SECTANTONI = 59
|
||||||
SPTUSEC = 100,
|
|
||||||
SPTBEAR = 101
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
export declare enum QteEffectType {
|
export declare enum QteEffectType {
|
||||||
FINISH_EFFECT = "FinishEffect",
|
FINISH_EFFECT = "finishEffect",
|
||||||
SINGLE_SUCCESS_EFFECT = "SingleSuccessEffect",
|
SINGLE_SUCCESS_EFFECT = "singleSuccessEffect",
|
||||||
SINGLE_FAIL_EFFECT = "SingleFailEffect"
|
SINGLE_FAIL_EFFECT = "singleFailEffect"
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { MinMax } from "@spt/models/common/MinMax";
|
import { MinMax } from "@spt/models/common/MinMax";
|
||||||
export interface BotGenerationDetails {
|
export interface IBotGenerationDetails {
|
||||||
/** Should the bot be generated as a PMC */
|
/** Should the bot be generated as a PMC */
|
||||||
isPmc: boolean;
|
isPmc: boolean;
|
||||||
/** assault/pmcBot etc */
|
/** assault/pmcBot etc */
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { IChances, IMods } from "@spt/models/eft/common/tables/IBotType";
|
import { IChances, IMods } from "@spt/models/eft/common/tables/IBotType";
|
||||||
import { EquipmentFilters, RandomisationDetails } from "@spt/models/spt/config/IBotConfig";
|
import { EquipmentFilters, IRandomisationDetails } from "@spt/models/spt/config/IBotConfig";
|
||||||
|
import { IBotData } from "./IGenerateWeaponRequest";
|
||||||
export interface IGenerateEquipmentProperties {
|
export interface IGenerateEquipmentProperties {
|
||||||
/** Root Slot being generated */
|
/** Root Slot being generated */
|
||||||
rootEquipmentSlot: string;
|
rootEquipmentSlot: string;
|
||||||
@ -9,14 +10,13 @@ export interface IGenerateEquipmentProperties {
|
|||||||
modPool: IMods;
|
modPool: IMods;
|
||||||
/** Dictionary of mod items and their chance to spawn for this bot type */
|
/** Dictionary of mod items and their chance to spawn for this bot type */
|
||||||
spawnChances: IChances;
|
spawnChances: IChances;
|
||||||
/** Role being generated for */
|
/** Bot-specific properties */
|
||||||
botRole: string;
|
botData: IBotData;
|
||||||
/** Level of bot being generated */
|
|
||||||
botLevel: number;
|
|
||||||
inventory: PmcInventory;
|
inventory: PmcInventory;
|
||||||
botEquipmentConfig: EquipmentFilters;
|
botEquipmentConfig: EquipmentFilters;
|
||||||
/** Settings from bot.json to adjust how item is generated */
|
/** Settings from bot.json to adjust how item is generated */
|
||||||
randomisationDetails: RandomisationDetails;
|
randomisationDetails: IRandomisationDetails;
|
||||||
/** OPTIONAL - Do not generate mods for tpls in this array */
|
/** OPTIONAL - Do not generate mods for tpls in this array */
|
||||||
generateModsBlacklist?: string[];
|
generateModsBlacklist?: string[];
|
||||||
|
generatingPlayerLevel: number;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { IMods } from "@spt/models/eft/common/tables/IBotType";
|
import { IMods } from "@spt/models/eft/common/tables/IBotType";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
export declare class GenerateWeaponResult {
|
export interface IGenerateWeaponResult {
|
||||||
weapon: IItem[];
|
weapon: IItem[];
|
||||||
chosenAmmoTpl: string;
|
chosenAmmoTpl: string;
|
||||||
chosenUbglAmmoTpl: string;
|
chosenUbglAmmoTpl: string;
|
@ -2,7 +2,7 @@ import { IItem } from "@spt/models/eft/common/tables/IItem";
|
|||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { ModSpawn } from "@spt/models/enums/ModSpawn";
|
import { ModSpawn } from "@spt/models/enums/ModSpawn";
|
||||||
import { IBotData, IWeaponStats } from "@spt/models/spt/bots/IGenerateWeaponRequest";
|
import { IBotData, IWeaponStats } from "@spt/models/spt/bots/IGenerateWeaponRequest";
|
||||||
import { EquipmentFilterDetails } from "@spt/models/spt/config/IBotConfig";
|
import { IEquipmentFilterDetails } from "@spt/models/spt/config/IBotConfig";
|
||||||
export interface IModToSpawnRequest {
|
export interface IModToSpawnRequest {
|
||||||
/** Slot mod will fit into */
|
/** Slot mod will fit into */
|
||||||
modSlot: string;
|
modSlot: string;
|
||||||
@ -11,7 +11,7 @@ export interface IModToSpawnRequest {
|
|||||||
/** Parent slot the item will be a part of */
|
/** Parent slot the item will be a part of */
|
||||||
botWeaponSightWhitelist: Record<string, string[]>;
|
botWeaponSightWhitelist: Record<string, string[]>;
|
||||||
/** Blacklist to prevent mods from being picked */
|
/** Blacklist to prevent mods from being picked */
|
||||||
botEquipBlacklist: EquipmentFilterDetails;
|
botEquipBlacklist: IEquipmentFilterDetails;
|
||||||
/** Pool of items to pick from */
|
/** Pool of items to pick from */
|
||||||
itemModPool: Record<string, string[]>;
|
itemModPool: Record<string, string[]>;
|
||||||
/** Array with only weapon tpl in it, ready for mods to be added */
|
/** Array with only weapon tpl in it, ready for mods to be added */
|
||||||
|
@ -14,11 +14,11 @@ import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest"
|
|||||||
import { ISetDialogReadRequestData } from "@spt/models/eft/dialog/ISetDialogReadRequestData";
|
import { ISetDialogReadRequestData } from "@spt/models/eft/dialog/ISetDialogReadRequestData";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
|
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
|
||||||
import { DialogueInfo } from "@spt/models/eft/profile/ISptProfile";
|
import { IDialogueInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||||
export interface IDialogueCallbacks {
|
export interface IDialogueCallbacks {
|
||||||
getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetFriendListDataResponse>;
|
getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetFriendListDataResponse>;
|
||||||
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
|
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<IDialogueInfo[]>;
|
||||||
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
|
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
|
||||||
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<any>;
|
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
import { MinMax } from "@spt/models/common/MinMax";
|
import { MinMax } from "@spt/models/common/MinMax";
|
||||||
import { AirdropTypeEnum } from "@spt/models/enums/AirdropType";
|
import { AirdropTypeEnum, SptAirdropTypeEnum } from "@spt/models/enums/AirdropType";
|
||||||
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
||||||
export interface IAirdropConfig extends IBaseConfig {
|
export interface IAirdropConfig extends IBaseConfig {
|
||||||
kind: "spt-airdrop";
|
kind: "spt-airdrop";
|
||||||
airdropTypeWeightings: Record<AirdropTypeEnum, number>;
|
airdropTypeWeightings: Record<SptAirdropTypeEnum, number>;
|
||||||
/** What rewards will the loot crate contain, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter */
|
/** What rewards will the loot crate contain, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter */
|
||||||
loot: Record<string, IAirdropLoot>;
|
loot: Record<string, IAirdropLoot>;
|
||||||
|
customAirdropMapping: Record<string, SptAirdropTypeEnum>;
|
||||||
}
|
}
|
||||||
/** Chance map will have an airdrop occur out of 100 - locations not included count as 0% */
|
/** Chance map will have an airdrop occur out of 100 - locations not included count as 0% */
|
||||||
export interface IAirdropChancePercent {
|
export interface IAirdropChancePercent {
|
||||||
@ -20,6 +21,7 @@ export interface IAirdropChancePercent {
|
|||||||
}
|
}
|
||||||
/** Loot inside crate */
|
/** Loot inside crate */
|
||||||
export interface IAirdropLoot {
|
export interface IAirdropLoot {
|
||||||
|
icon: AirdropTypeEnum;
|
||||||
/** Min/max of weapons inside crate */
|
/** Min/max of weapons inside crate */
|
||||||
weaponPresetCount?: MinMax;
|
weaponPresetCount?: MinMax;
|
||||||
/** Min/max of armors (head/chest/rig) inside crate */
|
/** Min/max of armors (head/chest/rig) inside crate */
|
||||||
@ -40,4 +42,6 @@ export interface IAirdropLoot {
|
|||||||
armorLevelWhitelist?: number[];
|
armorLevelWhitelist?: number[];
|
||||||
/** Should boss items be added to airdrop crate */
|
/** Should boss items be added to airdrop crate */
|
||||||
allowBossItems: boolean;
|
allowBossItems: boolean;
|
||||||
|
useForcedLoot?: boolean;
|
||||||
|
forcedLoot?: Record<string, MinMax>;
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import { IBotDurability } from "@spt/models/spt/config/IBotDurability";
|
|||||||
export interface IBotConfig extends IBaseConfig {
|
export interface IBotConfig extends IBaseConfig {
|
||||||
kind: "spt-bot";
|
kind: "spt-bot";
|
||||||
/** How many variants of each bot should be generated on raid start */
|
/** How many variants of each bot should be generated on raid start */
|
||||||
presetBatch: PresetBatch;
|
presetBatch: IPresetBatch;
|
||||||
/** Bot roles that should not have PMC types (pmcBEAR/pmcUSEC) added as enemies to */
|
/** Bot roles that should not have PMC types (pmcBEAR/pmcUSEC) added as enemies to */
|
||||||
botsToNotAddPMCsAsEnemiesTo: string[];
|
botsToNotAddPMCsAsEnemiesTo: string[];
|
||||||
/** What bot types should be classified as bosses */
|
/** What bot types should be classified as bosses */
|
||||||
@ -44,6 +44,10 @@ export interface IBotConfig extends IBaseConfig {
|
|||||||
/** What bottypes should be excluded from having loot generated on them (backpack/pocket/vest) does not disable food/drink/special/ */
|
/** What bottypes should be excluded from having loot generated on them (backpack/pocket/vest) does not disable food/drink/special/ */
|
||||||
disableLootOnBotTypes: string[];
|
disableLootOnBotTypes: string[];
|
||||||
assaultToBossConversion: IAssaultToBossConversion;
|
assaultToBossConversion: IAssaultToBossConversion;
|
||||||
|
/** Max length a bots name can be */
|
||||||
|
botNameLengthLimit: number;
|
||||||
|
/** Bot roles that must have a unique name when generated vs other bots in raid */
|
||||||
|
botRolesThatMustHaveUniqueName: string[];
|
||||||
}
|
}
|
||||||
export interface IAssaultToBossConversion {
|
export interface IAssaultToBossConversion {
|
||||||
bossConvertEnabled: boolean;
|
bossConvertEnabled: boolean;
|
||||||
@ -51,7 +55,7 @@ export interface IAssaultToBossConversion {
|
|||||||
bossConvertMinMax: Record<string, MinMax>;
|
bossConvertMinMax: Record<string, MinMax>;
|
||||||
}
|
}
|
||||||
/** Number of bots to generate and store in cache on raid start per bot type */
|
/** Number of bots to generate and store in cache on raid start per bot type */
|
||||||
export interface PresetBatch {
|
export interface IPresetBatch {
|
||||||
assault: number;
|
assault: number;
|
||||||
bossBully: number;
|
bossBully: number;
|
||||||
bossGluhar: number;
|
bossGluhar: number;
|
||||||
@ -100,7 +104,7 @@ export interface IWalletLootSettings {
|
|||||||
}
|
}
|
||||||
export interface EquipmentFilters {
|
export interface EquipmentFilters {
|
||||||
/** Limits for mod types per weapon .e.g. scopes */
|
/** Limits for mod types per weapon .e.g. scopes */
|
||||||
weaponModLimits: ModLimits;
|
weaponModLimits: IModLimits;
|
||||||
/** Whitelist for weapon sight types allowed per gun */
|
/** Whitelist for weapon sight types allowed per gun */
|
||||||
weaponSightWhitelist: Record<string, string[]>;
|
weaponSightWhitelist: Record<string, string[]>;
|
||||||
/** Chance face shield is down/active */
|
/** Chance face shield is down/active */
|
||||||
@ -121,27 +125,27 @@ export interface EquipmentFilters {
|
|||||||
/** What additional slot ids should be seen as required when choosing a mod to add to a weapon */
|
/** What additional slot ids should be seen as required when choosing a mod to add to a weapon */
|
||||||
weaponSlotIdsToMakeRequired?: string[];
|
weaponSlotIdsToMakeRequired?: string[];
|
||||||
/** Adjust weighting/chances of items on bot by level of bot */
|
/** Adjust weighting/chances of items on bot by level of bot */
|
||||||
randomisation: RandomisationDetails[];
|
randomisation: IRandomisationDetails[];
|
||||||
/** Blacklist equipment by level of bot */
|
/** Blacklist equipment by level of bot */
|
||||||
blacklist: EquipmentFilterDetails[];
|
blacklist: IEquipmentFilterDetails[];
|
||||||
/** Whitelist equipment by level of bot */
|
/** Whitelist equipment by level of bot */
|
||||||
whitelist: EquipmentFilterDetails[];
|
whitelist: IEquipmentFilterDetails[];
|
||||||
/** Adjust equipment/ammo */
|
/** Adjust equipment/ammo */
|
||||||
weightingAdjustmentsByBotLevel: WeightingAdjustmentDetails[];
|
weightingAdjustmentsByBotLevel: IWeightingAdjustmentDetails[];
|
||||||
/** Same as weightingAdjustments but based on player level instead of bot level */
|
/** Same as weightingAdjustments but based on player level instead of bot level */
|
||||||
weightingAdjustmentsByPlayerLevel?: WeightingAdjustmentDetails[];
|
weightingAdjustmentsByPlayerLevel?: IWeightingAdjustmentDetails[];
|
||||||
/** Should the stock mod be forced to spawn on bot */
|
/** Should the stock mod be forced to spawn on bot */
|
||||||
forceStock?: boolean;
|
forceStock?: boolean;
|
||||||
armorPlateWeighting?: IArmorPlateWeights[];
|
armorPlateWeighting?: IArmorPlateWeights[];
|
||||||
forceRigWhenNoVest?: boolean;
|
forceRigWhenNoVest?: boolean;
|
||||||
}
|
}
|
||||||
export interface ModLimits {
|
export interface IModLimits {
|
||||||
/** How many scopes are allowed on a weapon - hard coded to work with OPTIC_SCOPE, ASSAULT_SCOPE, COLLIMATOR, COMPACT_COLLIMATOR */
|
/** How many scopes are allowed on a weapon - hard coded to work with OPTIC_SCOPE, ASSAULT_SCOPE, COLLIMATOR, COMPACT_COLLIMATOR */
|
||||||
scopeLimit?: number;
|
scopeLimit?: number;
|
||||||
/** How many lasers or lights are allowed on a weapon - hard coded to work with TACTICAL_COMBO, and FLASHLIGHT */
|
/** How many lasers or lights are allowed on a weapon - hard coded to work with TACTICAL_COMBO, and FLASHLIGHT */
|
||||||
lightLaserLimit?: number;
|
lightLaserLimit?: number;
|
||||||
}
|
}
|
||||||
export interface RandomisationDetails {
|
export interface IRandomisationDetails {
|
||||||
/** Between what levels do these randomisation setting apply to */
|
/** Between what levels do these randomisation setting apply to */
|
||||||
levelRange: MinMax;
|
levelRange: MinMax;
|
||||||
generation?: Record<string, IGenerationData>;
|
generation?: Record<string, IGenerationData>;
|
||||||
@ -155,8 +159,13 @@ export interface RandomisationDetails {
|
|||||||
weaponMods?: Record<string, number>;
|
weaponMods?: Record<string, number>;
|
||||||
/** Equipment mod chances */
|
/** Equipment mod chances */
|
||||||
equipmentMods?: Record<string, number>;
|
equipmentMods?: Record<string, number>;
|
||||||
|
nighttimeChanges?: INighttimeChanges;
|
||||||
}
|
}
|
||||||
export interface EquipmentFilterDetails {
|
export interface INighttimeChanges {
|
||||||
|
/** Applies changes to values stored in equipmentMods */
|
||||||
|
equipmentModsModifiers: Record<string, number>;
|
||||||
|
}
|
||||||
|
export interface IEquipmentFilterDetails {
|
||||||
/** Between what levels do these equipment filter setting apply to */
|
/** Between what levels do these equipment filter setting apply to */
|
||||||
levelRange: MinMax;
|
levelRange: MinMax;
|
||||||
/** Key: mod slot name e.g. mod_magazine, value: item tpls */
|
/** Key: mod slot name e.g. mod_magazine, value: item tpls */
|
||||||
@ -164,7 +173,7 @@ export interface EquipmentFilterDetails {
|
|||||||
/** Key: cartridge type e.g. Caliber23x75, value: item tpls */
|
/** Key: cartridge type e.g. Caliber23x75, value: item tpls */
|
||||||
cartridge: Record<string, string[]>;
|
cartridge: Record<string, string[]>;
|
||||||
}
|
}
|
||||||
export interface WeightingAdjustmentDetails {
|
export interface IWeightingAdjustmentDetails {
|
||||||
/** Between what levels do these weight settings apply to */
|
/** Between what levels do these weight settings apply to */
|
||||||
levelRange: MinMax;
|
levelRange: MinMax;
|
||||||
/** Key: ammo type e.g. Caliber556x45NATO, value: item tpl + weight */
|
/** Key: ammo type e.g. Caliber556x45NATO, value: item tpl + weight */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export interface IBotDurability {
|
export interface IBotDurability {
|
||||||
default: IDefaultDurability;
|
default: IDefaultDurability;
|
||||||
pmc: PmcDurability;
|
pmc: IPmcDurability;
|
||||||
boss: IBotDurability;
|
boss: IBotDurability;
|
||||||
follower: IBotDurability;
|
follower: IBotDurability;
|
||||||
assault: IBotDurability;
|
assault: IBotDurability;
|
||||||
@ -20,7 +20,7 @@ export interface IDefaultDurability {
|
|||||||
armor: IArmorDurability;
|
armor: IArmorDurability;
|
||||||
weapon: IWeaponDurability;
|
weapon: IWeaponDurability;
|
||||||
}
|
}
|
||||||
export interface PmcDurability {
|
export interface IPmcDurability {
|
||||||
armor: IPmcDurabilityArmor;
|
armor: IPmcDurabilityArmor;
|
||||||
weapon: IWeaponDurability;
|
weapon: IWeaponDurability;
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
||||||
export interface IHealthConfig extends IBaseConfig {
|
export interface IHealthConfig extends IBaseConfig {
|
||||||
kind: "spt-health";
|
kind: "spt-health";
|
||||||
healthMultipliers: HealthMultipliers;
|
healthMultipliers: IHealthMultipliers;
|
||||||
save: Save;
|
save: ISave;
|
||||||
}
|
}
|
||||||
export interface HealthMultipliers {
|
export interface IHealthMultipliers {
|
||||||
death: number;
|
death: number;
|
||||||
blacked: number;
|
blacked: number;
|
||||||
}
|
}
|
||||||
export interface Save {
|
export interface ISave {
|
||||||
health: boolean;
|
health: boolean;
|
||||||
effects: boolean;
|
effects: boolean;
|
||||||
}
|
}
|
||||||
|
@ -18,11 +18,11 @@ export interface ICultistCircleSettings {
|
|||||||
maxRewardItemCount: number;
|
maxRewardItemCount: number;
|
||||||
maxAttemptsToPickRewardsWithinBudget: number;
|
maxAttemptsToPickRewardsWithinBudget: number;
|
||||||
rewardPriceMultiplerMinMax: MinMax;
|
rewardPriceMultiplerMinMax: MinMax;
|
||||||
craftTimeThreshholds: CraftTimeThreshhold[];
|
craftTimeThreshholds: ICraftTimeThreshhold[];
|
||||||
/** -1 means no override */
|
/** -1 means no override */
|
||||||
craftTimeOverride: number;
|
craftTimeOverride: number;
|
||||||
/** Specific reward pool when player sacrificed one specific item */
|
/** Specific reward pool when player sacrificed one specific item */
|
||||||
directRewards: Record<string, DirectRewardSettings>;
|
directRewards: Record<string, IDirectRewardSettings>;
|
||||||
directRewardStackSize: Record<string, MinMax>;
|
directRewardStackSize: Record<string, MinMax>;
|
||||||
/** Item tpls to exclude from the reward pool */
|
/** Item tpls to exclude from the reward pool */
|
||||||
rewardItemBlacklist: string[];
|
rewardItemBlacklist: string[];
|
||||||
@ -30,10 +30,10 @@ export interface ICultistCircleSettings {
|
|||||||
additionalRewardItemPool: string[];
|
additionalRewardItemPool: string[];
|
||||||
currencyRewards: Record<string, MinMax>;
|
currencyRewards: Record<string, MinMax>;
|
||||||
}
|
}
|
||||||
export interface CraftTimeThreshhold extends MinMax {
|
export interface ICraftTimeThreshhold extends MinMax {
|
||||||
craftTimeSeconds: number;
|
craftTimeSeconds: number;
|
||||||
}
|
}
|
||||||
export interface DirectRewardSettings {
|
export interface IDirectRewardSettings {
|
||||||
rewardTpls: string[];
|
rewardTpls: string[];
|
||||||
craftTimeSeconds: number;
|
craftTimeSeconds: number;
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@ import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
|||||||
export interface IInRaidConfig extends IBaseConfig {
|
export interface IInRaidConfig extends IBaseConfig {
|
||||||
kind: "spt-inraid";
|
kind: "spt-inraid";
|
||||||
/** Overrides to apply to the pre-raid settings screen */
|
/** Overrides to apply to the pre-raid settings screen */
|
||||||
raidMenuSettings: RaidMenuSettings;
|
raidMenuSettings: IRaidMenuSettings;
|
||||||
/** What effects should be saved post-raid */
|
/** What effects should be saved post-raid */
|
||||||
save: Save;
|
save: ISave;
|
||||||
/** Names of car extracts */
|
/** Names of car extracts */
|
||||||
carExtracts: string[];
|
carExtracts: string[];
|
||||||
/** Names of coop extracts */
|
/** Names of coop extracts */
|
||||||
@ -14,7 +14,7 @@ export interface IInRaidConfig extends IBaseConfig {
|
|||||||
/** Fence rep gain from a single coop extract */
|
/** Fence rep gain from a single coop extract */
|
||||||
coopExtractBaseStandingGain: number;
|
coopExtractBaseStandingGain: number;
|
||||||
/** Fence rep gain when successfully extracting as pscav */
|
/** Fence rep gain when successfully extracting as pscav */
|
||||||
scavExtractGain: number;
|
scavExtractStandingGain: number;
|
||||||
/** The likelihood of PMC eliminating a minimum of 2 scavs while you engage them as a pscav. */
|
/** The likelihood of PMC eliminating a minimum of 2 scavs while you engage them as a pscav. */
|
||||||
pmcKillProbabilityForScavGain: number;
|
pmcKillProbabilityForScavGain: number;
|
||||||
/** On death should items in your secure keep their Find in raid status regardless of how you finished the raid */
|
/** On death should items in your secure keep their Find in raid status regardless of how you finished the raid */
|
||||||
@ -24,7 +24,7 @@ export interface IInRaidConfig extends IBaseConfig {
|
|||||||
/** Percentage chance a player scav hot is hostile to the player when scavving */
|
/** Percentage chance a player scav hot is hostile to the player when scavving */
|
||||||
playerScavHostileChancePercent: number;
|
playerScavHostileChancePercent: number;
|
||||||
}
|
}
|
||||||
export interface RaidMenuSettings {
|
export interface IRaidMenuSettings {
|
||||||
aiAmount: string;
|
aiAmount: string;
|
||||||
aiDifficulty: string;
|
aiDifficulty: string;
|
||||||
bossEnabled: boolean;
|
bossEnabled: boolean;
|
||||||
@ -34,7 +34,7 @@ export interface RaidMenuSettings {
|
|||||||
randomWeather: boolean;
|
randomWeather: boolean;
|
||||||
randomTime: boolean;
|
randomTime: boolean;
|
||||||
}
|
}
|
||||||
export interface Save {
|
export interface ISave {
|
||||||
/** Should loot gained from raid be saved */
|
/** Should loot gained from raid be saved */
|
||||||
loot: boolean;
|
loot: boolean;
|
||||||
}
|
}
|
||||||
|
@ -4,14 +4,14 @@ export interface IInventoryConfig extends IBaseConfig {
|
|||||||
kind: "spt-inventory";
|
kind: "spt-inventory";
|
||||||
/** Should new items purchased by flagged as found in raid */
|
/** Should new items purchased by flagged as found in raid */
|
||||||
newItemsMarkedFound: boolean;
|
newItemsMarkedFound: boolean;
|
||||||
randomLootContainers: Record<string, RewardDetails>;
|
randomLootContainers: Record<string, IRewardDetails>;
|
||||||
sealedAirdropContainer: ISealedAirdropContainerSettings;
|
sealedAirdropContainer: ISealedAirdropContainerSettings;
|
||||||
/** Contains item tpls that the server should consider money and treat the same as roubles/euros/dollars */
|
/** Contains item tpls that the server should consider money and treat the same as roubles/euros/dollars */
|
||||||
customMoneyTpls: string[];
|
customMoneyTpls: string[];
|
||||||
/** Multipliers for skill gain when inside menus, NOT in-game */
|
/** Multipliers for skill gain when inside menus, NOT in-game */
|
||||||
skillGainMultiplers: Record<string, number>;
|
skillGainMultiplers: Record<string, number>;
|
||||||
}
|
}
|
||||||
export interface RewardDetails {
|
export interface IRewardDetails {
|
||||||
rewardCount: number;
|
rewardCount: number;
|
||||||
foundInRaid: boolean;
|
foundInRaid: boolean;
|
||||||
rewardTplPool?: Record<string, number>;
|
rewardTplPool?: Record<string, number>;
|
||||||
|
@ -2,16 +2,16 @@ import { IGenerationData } from "@spt/models/eft/common/tables/IBotType";
|
|||||||
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
||||||
export interface IPlayerScavConfig extends IBaseConfig {
|
export interface IPlayerScavConfig extends IBaseConfig {
|
||||||
kind: "spt-playerscav";
|
kind: "spt-playerscav";
|
||||||
karmaLevel: Record<string, KarmaLevel>;
|
karmaLevel: Record<string, IKarmaLevel>;
|
||||||
}
|
}
|
||||||
export interface KarmaLevel {
|
export interface IKarmaLevel {
|
||||||
botTypeForLoot: string;
|
botTypeForLoot: string;
|
||||||
modifiers: Modifiers;
|
modifiers: IModifiers;
|
||||||
itemLimits: ItemLimits;
|
itemLimits: ItemLimits;
|
||||||
equipmentBlacklist: Record<string, string[]>;
|
equipmentBlacklist: Record<string, string[]>;
|
||||||
lootItemsToAddChancePercent: Record<string, number>;
|
lootItemsToAddChancePercent: Record<string, number>;
|
||||||
}
|
}
|
||||||
export interface Modifiers {
|
export interface IModifiers {
|
||||||
equipment: Record<string, number>;
|
equipment: Record<string, number>;
|
||||||
mod: Record<string, number>;
|
mod: Record<string, number>;
|
||||||
}
|
}
|
||||||
|
@ -9,11 +9,11 @@ export interface IPmcConfig extends IBaseConfig {
|
|||||||
/** What account type should the PMC have */
|
/** What account type should the PMC have */
|
||||||
accountTypeWeight: Record<MemberCategory, number>;
|
accountTypeWeight: Record<MemberCategory, number>;
|
||||||
/** Global whitelist/blacklist of vest loot for PMCs */
|
/** Global whitelist/blacklist of vest loot for PMCs */
|
||||||
vestLoot: SlotLootSettings;
|
vestLoot: ISlotLootSettings;
|
||||||
/** Global whitelist/blacklist of pocket loot for PMCs */
|
/** Global whitelist/blacklist of pocket loot for PMCs */
|
||||||
pocketLoot: SlotLootSettings;
|
pocketLoot: ISlotLootSettings;
|
||||||
/** Global whitelist/blacklist of backpack loot for PMCs */
|
/** Global whitelist/blacklist of backpack loot for PMCs */
|
||||||
backpackLoot: SlotLootSettings;
|
backpackLoot: ISlotLootSettings;
|
||||||
/** Use difficulty defined in config/bot.json/difficulty instead of chosen difficulty dropdown value */
|
/** Use difficulty defined in config/bot.json/difficulty instead of chosen difficulty dropdown value */
|
||||||
useDifficultyOverride: boolean;
|
useDifficultyOverride: boolean;
|
||||||
/** Difficulty override e.g. "AsOnline/Hard" */
|
/** Difficulty override e.g. "AsOnline/Hard" */
|
||||||
@ -32,7 +32,7 @@ export interface IPmcConfig extends IBaseConfig {
|
|||||||
bearType: string;
|
bearType: string;
|
||||||
/** What 'brain' does a PMC use, keyed by map and side (USEC/BEAR) key: map location, value: type for usec/bear */
|
/** What 'brain' does a PMC use, keyed by map and side (USEC/BEAR) key: map location, value: type for usec/bear */
|
||||||
pmcType: Record<string, Record<string, Record<string, number>>>;
|
pmcType: Record<string, Record<string, Record<string, number>>>;
|
||||||
maxBackpackLootTotalRub: MinMaxLootValue[];
|
maxBackpackLootTotalRub: IMinMaxLootValue[];
|
||||||
maxPocketLootTotalRub: number;
|
maxPocketLootTotalRub: number;
|
||||||
maxVestLootTotalRub: number;
|
maxVestLootTotalRub: number;
|
||||||
/** Percentage chance a bot from a wave is converted into a PMC, first key = map, second key = bot wildspawn type (assault/exusec), value: min+max chance to be converted */
|
/** Percentage chance a bot from a wave is converted into a PMC, first key = map, second key = bot wildspawn type (assault/exusec), value: min+max chance to be converted */
|
||||||
@ -61,14 +61,14 @@ export interface IHostilitySettings {
|
|||||||
additionalFriendlyTypes?: string[];
|
additionalFriendlyTypes?: string[];
|
||||||
savagePlayerBehaviour?: string;
|
savagePlayerBehaviour?: string;
|
||||||
}
|
}
|
||||||
export interface PmcTypes {
|
export interface IPmcTypes {
|
||||||
usec: string;
|
usec: string;
|
||||||
bear: string;
|
bear: string;
|
||||||
}
|
}
|
||||||
export interface SlotLootSettings {
|
export interface ISlotLootSettings {
|
||||||
whitelist: string[];
|
whitelist: string[];
|
||||||
blacklist: string[];
|
blacklist: string[];
|
||||||
}
|
}
|
||||||
export interface MinMaxLootValue extends MinMax {
|
export interface IMinMaxLootValue extends MinMax {
|
||||||
value: number;
|
value: number;
|
||||||
}
|
}
|
||||||
|
@ -7,13 +7,13 @@ export interface IRagfairConfig extends IBaseConfig {
|
|||||||
/** Default values used to hydrate `runIntervalSeconds` with */
|
/** Default values used to hydrate `runIntervalSeconds` with */
|
||||||
runIntervalValues: IRunIntervalValues;
|
runIntervalValues: IRunIntervalValues;
|
||||||
/** Player listing settings */
|
/** Player listing settings */
|
||||||
sell: Sell;
|
sell: ISell;
|
||||||
/** Trader ids + should their assorts be listed on flea */
|
/** Trader ids + should their assorts be listed on flea */
|
||||||
traders: Record<string, boolean>;
|
traders: Record<string, boolean>;
|
||||||
dynamic: Dynamic;
|
dynamic: IDynamic;
|
||||||
tieredFlea: ITieredFlea;
|
tieredFlea: ITieredFlea;
|
||||||
}
|
}
|
||||||
export interface Sell {
|
export interface ISell {
|
||||||
/** Should a fee be deducted from player when liting an item for sale */
|
/** Should a fee be deducted from player when liting an item for sale */
|
||||||
fees: boolean;
|
fees: boolean;
|
||||||
/** Settings to control chances of offer being sold */
|
/** Settings to control chances of offer being sold */
|
||||||
@ -33,7 +33,7 @@ export interface Chance {
|
|||||||
/** Min possible sell chance % for a player listed offer */
|
/** Min possible sell chance % for a player listed offer */
|
||||||
minSellChancePercent: number;
|
minSellChancePercent: number;
|
||||||
}
|
}
|
||||||
export interface Dynamic {
|
export interface IDynamic {
|
||||||
purchasesAreFoundInRaid: boolean;
|
purchasesAreFoundInRaid: boolean;
|
||||||
/** Use the highest trader price for an offer if its greater than the price in templates/prices.json */
|
/** Use the highest trader price for an offer if its greater than the price in templates/prices.json */
|
||||||
useTraderPriceForOffersIfHigher: boolean;
|
useTraderPriceForOffersIfHigher: boolean;
|
||||||
@ -41,7 +41,7 @@ export interface Dynamic {
|
|||||||
barter: IBarterDetails;
|
barter: IBarterDetails;
|
||||||
pack: IPackDetails;
|
pack: IPackDetails;
|
||||||
/** Dynamic offer price below handbook adjustment values */
|
/** Dynamic offer price below handbook adjustment values */
|
||||||
offerAdjustment: OfferAdjustment;
|
offerAdjustment: IOfferAdjustment;
|
||||||
/** How many offers should expire before an offer regeneration occurs */
|
/** How many offers should expire before an offer regeneration occurs */
|
||||||
expiredOfferThreshold: number;
|
expiredOfferThreshold: number;
|
||||||
/** How many offers should be listed */
|
/** How many offers should be listed */
|
||||||
@ -70,7 +70,7 @@ export interface Dynamic {
|
|||||||
/** Should christmas/halloween items be removed from flea when not within the seasonal bounds */
|
/** Should christmas/halloween items be removed from flea when not within the seasonal bounds */
|
||||||
removeSeasonalItemsWhenNotInEvent: boolean;
|
removeSeasonalItemsWhenNotInEvent: boolean;
|
||||||
/** Flea blacklist settings */
|
/** Flea blacklist settings */
|
||||||
blacklist: Blacklist;
|
blacklist: IRagfairBlacklist;
|
||||||
/** Dict of price limits keyed by item type */
|
/** Dict of price limits keyed by item type */
|
||||||
unreasonableModPrices: Record<string, IUnreasonableModPrices>;
|
unreasonableModPrices: Record<string, IUnreasonableModPrices>;
|
||||||
}
|
}
|
||||||
@ -103,7 +103,7 @@ export interface IPackDetails {
|
|||||||
/** item types to allow being a pack */
|
/** item types to allow being a pack */
|
||||||
itemTypeWhitelist: string[];
|
itemTypeWhitelist: string[];
|
||||||
}
|
}
|
||||||
export interface OfferAdjustment {
|
export interface IOfferAdjustment {
|
||||||
/** Shuld offer price be adjusted when below handbook price */
|
/** Shuld offer price be adjusted when below handbook price */
|
||||||
adjustPriceWhenBelowHandbookPrice: boolean;
|
adjustPriceWhenBelowHandbookPrice: boolean;
|
||||||
/** How big a percentage difference does price need to vary from handbook to be considered for adjustment */
|
/** How big a percentage difference does price need to vary from handbook to be considered for adjustment */
|
||||||
@ -119,7 +119,7 @@ export interface Condition {
|
|||||||
current: MinMax;
|
current: MinMax;
|
||||||
max: MinMax;
|
max: MinMax;
|
||||||
}
|
}
|
||||||
export interface Blacklist {
|
export interface IRagfairBlacklist {
|
||||||
/** Damaged ammo packs */
|
/** Damaged ammo packs */
|
||||||
damagedAmmoPacks: boolean;
|
damagedAmmoPacks: boolean;
|
||||||
/** Custom blacklist for item Tpls */
|
/** Custom blacklist for item Tpls */
|
||||||
@ -159,7 +159,10 @@ export interface IArmorSettings {
|
|||||||
}
|
}
|
||||||
export interface ITieredFlea {
|
export interface ITieredFlea {
|
||||||
enabled: boolean;
|
enabled: boolean;
|
||||||
unlocks: Record<string, number>;
|
/** key: tpl, value: playerlevel */
|
||||||
|
unlocksTpl: Record<string, number>;
|
||||||
|
/** key: item type id, value: playerlevel */
|
||||||
|
unlocksType: Record<string, number>;
|
||||||
ammoTiersEnabled: boolean;
|
ammoTiersEnabled: boolean;
|
||||||
ammoTplUnlocks: Record<string, number>;
|
ammoTplUnlocks: Record<string, number>;
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
weaponTreatment: IWeaponTreatmentRepairValues;
|
weaponTreatment: IWeaponTreatmentRepairValues;
|
||||||
repairKit: RepairKit;
|
repairKit: IRepairKit;
|
||||||
}
|
}
|
||||||
export interface IIntellectGainValues {
|
export interface IIntellectGainValues {
|
||||||
weapon: number;
|
weapon: number;
|
||||||
@ -30,17 +30,17 @@ export interface IWeaponTreatmentRepairValues {
|
|||||||
/** The multiplier used for calculating weapon maintenance XP */
|
/** The multiplier used for calculating weapon maintenance XP */
|
||||||
pointGainMultiplier: number;
|
pointGainMultiplier: number;
|
||||||
}
|
}
|
||||||
export interface RepairKit {
|
export interface IRepairKit {
|
||||||
armor: BonusSettings;
|
armor: IBonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: IBonusSettings;
|
||||||
}
|
}
|
||||||
export interface BonusSettings {
|
export interface IBonusSettings {
|
||||||
rarityWeight: Record<string, number>;
|
rarityWeight: Record<string, number>;
|
||||||
bonusTypeWeight: Record<string, number>;
|
bonusTypeWeight: Record<string, number>;
|
||||||
common: Record<string, BonusValues>;
|
common: Record<string, IBonusValues>;
|
||||||
rare: Record<string, BonusValues>;
|
rare: Record<string, IBonusValues>;
|
||||||
}
|
}
|
||||||
export interface BonusValues {
|
export interface IBonusValues {
|
||||||
valuesMinMax: MinMax;
|
valuesMinMax: MinMax;
|
||||||
/** What dura is buff active between (min max of current max) */
|
/** What dura is buff active between (min max of current max) */
|
||||||
activeDurabilityPercentMinMax: MinMax;
|
activeDurabilityPercentMinMax: MinMax;
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
import { MinMax } from "@spt/models/common/MinMax";
|
import { MinMax } from "@spt/models/common/MinMax";
|
||||||
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
||||||
import { LootRequest } from "@spt/models/spt/services/LootRequest";
|
import { ILootRequest } from "@spt/models/spt/services/ILootRequest";
|
||||||
export interface ITraderConfig extends IBaseConfig {
|
export interface ITraderConfig extends IBaseConfig {
|
||||||
kind: "spt-trader";
|
kind: "spt-trader";
|
||||||
updateTime: UpdateTime[];
|
updateTime: IUpdateTime[];
|
||||||
purchasesAreFoundInRaid: boolean;
|
purchasesAreFoundInRaid: boolean;
|
||||||
/** Should trader reset times be set based on server start time (false = bsg time - on the hour) */
|
/** Should trader reset times be set based on server start time (false = bsg time - on the hour) */
|
||||||
tradersResetFromServerStart: boolean;
|
tradersResetFromServerStart: boolean;
|
||||||
updateTimeDefault: number;
|
updateTimeDefault: number;
|
||||||
traderPriceMultipler: number;
|
traderPriceMultipler: number;
|
||||||
fence: FenceConfig;
|
fence: IFenceConfig;
|
||||||
moddedTraders: ModdedTraders;
|
moddedTraders: IModdedTraders;
|
||||||
}
|
}
|
||||||
export interface UpdateTime {
|
export interface IUpdateTime {
|
||||||
traderId: string;
|
traderId: string;
|
||||||
/** Seconds between trader resets */
|
/** Seconds between trader resets */
|
||||||
seconds: MinMax;
|
seconds: MinMax;
|
||||||
}
|
}
|
||||||
export interface FenceConfig {
|
export interface IFenceConfig {
|
||||||
discountOptions: DiscountOptions;
|
discountOptions: IDiscountOptions;
|
||||||
partialRefreshTimeSeconds: number;
|
partialRefreshTimeSeconds: number;
|
||||||
partialRefreshChangePercent: number;
|
partialRefreshChangePercent: number;
|
||||||
assortSize: number;
|
assortSize: number;
|
||||||
@ -45,19 +45,19 @@ export interface FenceConfig {
|
|||||||
/** Max pen value allowed to be listed on flea - affects ammo + ammo boxes */
|
/** Max pen value allowed to be listed on flea - affects ammo + ammo boxes */
|
||||||
ammoMaxPenLimit: number;
|
ammoMaxPenLimit: number;
|
||||||
blacklist: string[];
|
blacklist: string[];
|
||||||
coopExtractGift: CoopExtractReward;
|
coopExtractGift: ICoopExtractReward;
|
||||||
btrDeliveryExpireHours: number;
|
btrDeliveryExpireHours: number;
|
||||||
}
|
}
|
||||||
export interface IItemDurabilityCurrentMax {
|
export interface IItemDurabilityCurrentMax {
|
||||||
current: MinMax;
|
current: MinMax;
|
||||||
max: MinMax;
|
max: MinMax;
|
||||||
}
|
}
|
||||||
export interface CoopExtractReward extends LootRequest {
|
export interface ICoopExtractReward extends ILootRequest {
|
||||||
sendGift: boolean;
|
sendGift: boolean;
|
||||||
messageLocaleIds: string[];
|
messageLocaleIds: string[];
|
||||||
giftExpiryHours: number;
|
giftExpiryHours: number;
|
||||||
}
|
}
|
||||||
export interface DiscountOptions {
|
export interface IDiscountOptions {
|
||||||
assortSize: number;
|
assortSize: number;
|
||||||
itemPriceMult: number;
|
itemPriceMult: number;
|
||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
@ -65,7 +65,7 @@ export interface DiscountOptions {
|
|||||||
equipmentPresetMinMax: MinMax;
|
equipmentPresetMinMax: MinMax;
|
||||||
}
|
}
|
||||||
/** Custom trader data needed client side for things such as the clothing service */
|
/** Custom trader data needed client side for things such as the clothing service */
|
||||||
export interface ModdedTraders {
|
export interface IModdedTraders {
|
||||||
/** Trader Ids to enable the clothing service for */
|
/** Trader Ids to enable the clothing service for */
|
||||||
clothingService: string[];
|
clothingService: string[];
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
|||||||
export interface IWeatherConfig extends IBaseConfig {
|
export interface IWeatherConfig extends IBaseConfig {
|
||||||
kind: "spt-weather";
|
kind: "spt-weather";
|
||||||
acceleration: number;
|
acceleration: number;
|
||||||
weather: Weather;
|
weather: IWeatherValues;
|
||||||
seasonDates: ISeasonDateTimes[];
|
seasonDates: ISeasonDateTimes[];
|
||||||
overrideSeason?: Season;
|
overrideSeason?: Season;
|
||||||
}
|
}
|
||||||
@ -17,7 +17,9 @@ export interface ISeasonDateTimes {
|
|||||||
endDay: number;
|
endDay: number;
|
||||||
endMonth: number;
|
endMonth: number;
|
||||||
}
|
}
|
||||||
export interface Weather {
|
export interface IWeatherValues {
|
||||||
|
/** How many hours to generate weather data into the future */
|
||||||
|
generateWeatherAmountHours: number;
|
||||||
clouds: WeatherSettings<string>;
|
clouds: WeatherSettings<string>;
|
||||||
windSpeed: WeatherSettings<number>;
|
windSpeed: WeatherSettings<number>;
|
||||||
windDirection: WeatherSettings<WindDirection>;
|
windDirection: WeatherSettings<WindDirection>;
|
||||||
@ -25,8 +27,14 @@ export interface Weather {
|
|||||||
rain: WeatherSettings<number>;
|
rain: WeatherSettings<number>;
|
||||||
rainIntensity: MinMax;
|
rainIntensity: MinMax;
|
||||||
fog: WeatherSettings<string>;
|
fog: WeatherSettings<string>;
|
||||||
temp: MinMax;
|
temp: Record<Season, ITempDayNight>;
|
||||||
pressure: MinMax;
|
pressure: MinMax;
|
||||||
|
/** Length of each weather period */
|
||||||
|
timePeriod: WeatherSettings<number>;
|
||||||
|
}
|
||||||
|
export interface ITempDayNight {
|
||||||
|
day: MinMax;
|
||||||
|
night: MinMax;
|
||||||
}
|
}
|
||||||
export interface WeatherSettings<T> {
|
export interface WeatherSettings<T> {
|
||||||
values: T[];
|
values: T[];
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ISystemData, IUserDialogInfo, MessageContentRagfair } from "@spt/models/eft/profile/ISptProfile";
|
import { IMessageContentRagfair, ISystemData, IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { MessageType } from "@spt/models/enums/MessageType";
|
import { MessageType } from "@spt/models/enums/MessageType";
|
||||||
import { Traders } from "@spt/models/enums/Traders";
|
import { Traders } from "@spt/models/enums/Traders";
|
||||||
export interface ISendMessageDetails {
|
export interface ISendMessageDetails {
|
||||||
@ -24,7 +24,7 @@ export interface ISendMessageDetails {
|
|||||||
/** Optional - ragfair related */
|
/** Optional - ragfair related */
|
||||||
systemData?: ISystemData;
|
systemData?: ISystemData;
|
||||||
/** Optional - Used by ragfair messages */
|
/** Optional - Used by ragfair messages */
|
||||||
ragfairDetails?: MessageContentRagfair;
|
ragfairDetails?: IMessageContentRagfair;
|
||||||
/** OPTIONAL - allows modification of profile settings via mail */
|
/** OPTIONAL - allows modification of profile settings via mail */
|
||||||
profileChangeEvents?: IProfileChangeEvent[];
|
profileChangeEvents?: IProfileChangeEvent[];
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
export interface ScavCaseRewardCountsAndPrices {
|
export interface IScavCaseRewardCountsAndPrices {
|
||||||
Common: RewardCountAndPriceDetails;
|
Common: IRewardCountAndPriceDetails;
|
||||||
Rare: RewardCountAndPriceDetails;
|
Rare: IRewardCountAndPriceDetails;
|
||||||
Superrare: RewardCountAndPriceDetails;
|
Superrare: IRewardCountAndPriceDetails;
|
||||||
}
|
}
|
||||||
export interface RewardCountAndPriceDetails {
|
export interface IRewardCountAndPriceDetails {
|
||||||
minCount: number;
|
minCount: number;
|
||||||
maxCount: number;
|
maxCount: number;
|
||||||
minPriceRub: number;
|
minPriceRub: number;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user