Update types
This commit is contained in:
parent
4b9660d454
commit
78f1193641
@ -39,6 +39,7 @@ declare class GameCallbacks {
|
|||||||
*/
|
*/
|
||||||
getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData<IGameConfigResponse>;
|
getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData<IGameConfigResponse>;
|
||||||
getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IServerDetails[]>;
|
getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IServerDetails[]>;
|
||||||
|
getCurrentGroup(url: string, info: IEmptyRequestData, sessionID: string): any;
|
||||||
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICheckVersionResponse>;
|
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICheckVersionResponse>;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/keepalive
|
* Handle client/game/keepalive
|
||||||
|
@ -5,6 +5,7 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons
|
|||||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData";
|
import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData";
|
||||||
import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData";
|
import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData";
|
||||||
|
import { IGetProfileSettingsRequest } from "../models/eft/profile/IGetProfileSettingsRequest";
|
||||||
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
||||||
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
||||||
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
||||||
@ -64,6 +65,7 @@ export declare class ProfileCallbacks {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<GetProfileStatusResponseData>;
|
getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<GetProfileStatusResponseData>;
|
||||||
|
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||||
searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData<ISearchFriendResponse[]>;
|
searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData<ISearchFriendResponse[]>;
|
||||||
getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string;
|
getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string;
|
||||||
getAllMiniProfiles(url: string, info: any, sessionID: string): string;
|
getAllMiniProfiles(url: string, info: any, sessionID: string): string;
|
||||||
|
@ -8,6 +8,8 @@ export declare class ApplicationContext {
|
|||||||
*
|
*
|
||||||
* const registerPlayerInfo = this.applicationContext.getLatestValue(ContextVariableType.REGISTER_PLAYER_REQUEST).getValue<IRegisterPlayerRequestData>();
|
* const registerPlayerInfo = this.applicationContext.getLatestValue(ContextVariableType.REGISTER_PLAYER_REQUEST).getValue<IRegisterPlayerRequestData>();
|
||||||
*
|
*
|
||||||
|
* const activePlayerSessionId = this.applicationContext.getLatestValue(ContextVariableType.SESSION_ID).getValue<string>();
|
||||||
|
*
|
||||||
* const matchInfo = this.applicationContext.getLatestValue(ContextVariableType.MATCH_INFO).getValue<IStartOfflineRaidRequestData>();
|
* const matchInfo = this.applicationContext.getLatestValue(ContextVariableType.MATCH_INFO).getValue<IStartOfflineRaidRequestData>();
|
||||||
* @param type
|
* @param type
|
||||||
* @returns
|
* @returns
|
||||||
|
@ -20,10 +20,12 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
export declare class GameController {
|
export declare class GameController {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
@ -39,7 +41,7 @@ export declare class GameController {
|
|||||||
protected httpConfig: IHttpConfig;
|
protected httpConfig: IHttpConfig;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void;
|
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void;
|
||||||
/**
|
/**
|
||||||
* When player logs in, iterate over all active effects and reduce timer
|
* When player logs in, iterate over all active effects and reduce timer
|
||||||
@ -55,6 +57,10 @@ export declare class GameController {
|
|||||||
* Make Rogues spawn later to allow for scavs to spawn first instead of rogues filling up all spawn positions
|
* Make Rogues spawn later to allow for scavs to spawn first instead of rogues filling up all spawn positions
|
||||||
*/
|
*/
|
||||||
protected fixRoguesSpawningInstantlyOnLighthouse(): void;
|
protected fixRoguesSpawningInstantlyOnLighthouse(): void;
|
||||||
|
/**
|
||||||
|
* Find and split waves with large numbers of bots into smaller waves - BSG appears to reduce the size of these waves to one bot when they're waiting to spawn for too long
|
||||||
|
*/
|
||||||
|
protected splitBotWavesIntoSingleWaves(): void;
|
||||||
/**
|
/**
|
||||||
* Get a list of installed mods and save their details to the profile being used
|
* Get a list of installed mods and save their details to the profile being used
|
||||||
* @param fullProfile Profile to add mod details to
|
* @param fullProfile Profile to add mod details to
|
||||||
@ -76,5 +82,6 @@ export declare class GameController {
|
|||||||
protected logProfileDetails(fullProfile: IAkiProfile): void;
|
protected logProfileDetails(fullProfile: IAkiProfile): void;
|
||||||
getGameConfig(sessionID: string): IGameConfigResponse;
|
getGameConfig(sessionID: string): IGameConfigResponse;
|
||||||
getServer(): IServerDetails[];
|
getServer(): IServerDetails[];
|
||||||
|
getCurrentGroup(sessionId: any): any;
|
||||||
getValidGameVersion(): ICheckVersionResponse;
|
getValidGameVersion(): ICheckVersionResponse;
|
||||||
}
|
}
|
||||||
|
@ -61,18 +61,18 @@ export declare class InraidController {
|
|||||||
*/
|
*/
|
||||||
protected savePmcProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
protected savePmcProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
||||||
/**
|
/**
|
||||||
* Make changes to pmc profile after they left raid dead,
|
* Make changes to pmc profile after they've died in raid,
|
||||||
* alter bodypart hp, handle insurance, delete inventory items, remove carried quest items
|
* Alter bodypart hp, handle insurance, delete inventory items, remove carried quest items
|
||||||
* @param postRaidSaveRequest post-raid save request
|
* @param postRaidSaveRequest Post-raid save request
|
||||||
* @param pmcData pmc profile
|
* @param pmcData Pmc profile
|
||||||
* @param insuranceEnabled is insurance enabled
|
* @param insuranceEnabled Is insurance enabled
|
||||||
* @param preRaidGear gear player had before raid
|
* @param preRaidGear Gear player had before raid
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @returns Updated profile object
|
* @returns Updated profile object
|
||||||
*/
|
*/
|
||||||
protected performPostRaidActionsWhenDead(postRaidSaveRequest: ISaveProgressRequestData, pmcData: IPmcData, insuranceEnabled: boolean, preRaidGear: Item[], sessionID: string): IPmcData;
|
protected performPostRaidActionsWhenDead(postRaidSaveRequest: ISaveProgressRequestData, pmcData: IPmcData, insuranceEnabled: boolean, preRaidGear: Item[], sessionID: string): IPmcData;
|
||||||
/**
|
/**
|
||||||
* Adjust player characters bodypart hp if they left raid early
|
* Adjust player characters bodypart hp post-raid
|
||||||
* @param postRaidSaveRequest post raid data
|
* @param postRaidSaveRequest post raid data
|
||||||
* @param pmcData player profile
|
* @param pmcData player profile
|
||||||
*/
|
*/
|
||||||
|
@ -112,7 +112,14 @@ export declare class InventoryController {
|
|||||||
* @returns client response object
|
* @returns client response object
|
||||||
*/
|
*/
|
||||||
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
|
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
|
/**
|
||||||
|
* Bind an inventory item to the quick access menu at bottom of player screen
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param bindRequest Reqeust object
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
bindItem(pmcData: IPmcData, bindRequest: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
/**
|
/**
|
||||||
* Handles examining an item
|
* Handles examining an item
|
||||||
* @param pmcData player profile
|
* @param pmcData player profile
|
||||||
@ -137,9 +144,36 @@ export declare class InventoryController {
|
|||||||
* @returns IItemEventRouterResponse
|
* @returns IItemEventRouterResponse
|
||||||
*/
|
*/
|
||||||
sortInventory(pmcData: IPmcData, request: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse;
|
sortInventory(pmcData: IPmcData, request: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
/**
|
||||||
deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
* Add note to a map
|
||||||
editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
* @param pmcData Player profile
|
||||||
|
* @param request Add marker request
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
createMapMarker(pmcData: IPmcData, request: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Delete a map marker
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param request Delete marker request
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
deleteMapMarker(pmcData: IPmcData, request: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Edit an existing map marker
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param request Edit marker request
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
editMapMarker(pmcData: IPmcData, request: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Strip out characters from note string that are not: letter/numbers/unicode/spaces
|
||||||
|
* @param mapNoteText Marker text to sanitise
|
||||||
|
* @returns Sanitised map marker text
|
||||||
|
*/
|
||||||
|
protected sanitiseMapMarkerText(mapNoteText: string): string;
|
||||||
/**
|
/**
|
||||||
* Handle event fired when a container is unpacked (currently only the halloween pumpkin)
|
* Handle event fired when a container is unpacked (currently only the halloween pumpkin)
|
||||||
* @param pmcData Profile data
|
* @param pmcData Profile data
|
||||||
|
@ -7,6 +7,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout
|
|||||||
import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData";
|
import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData";
|
||||||
import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData";
|
import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData";
|
||||||
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
||||||
|
import { ITraderConfig } from "../models/spt/config/ITraderConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { EventOutputHolder } from "../routers/EventOutputHolder";
|
import { EventOutputHolder } from "../routers/EventOutputHolder";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
@ -24,8 +25,10 @@ declare class TradeController {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
|
protected traderConfig: ITraderConfig;
|
||||||
constructor(logger: ILogger, eventOutputHolder: EventOutputHolder, tradeHelper: TradeHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer, httpResponse: HttpResponseUtil, localisationService: LocalisationService, configServer: ConfigServer);
|
constructor(logger: ILogger, eventOutputHolder: EventOutputHolder, tradeHelper: TradeHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer, httpResponse: HttpResponseUtil, localisationService: LocalisationService, configServer: ConfigServer);
|
||||||
confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse;
|
confirmTrading(pmcData: IPmcData, request: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
protected confirmTradingInternal(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse;
|
||||||
}
|
}
|
||||||
export { TradeController };
|
export { TradeController };
|
||||||
|
@ -5,7 +5,7 @@ import { ItemHelper } from "../helpers/ItemHelper";
|
|||||||
import { Inventory as PmcInventory } from "../models/eft/common/tables/IBotBase";
|
import { Inventory as PmcInventory } from "../models/eft/common/tables/IBotBase";
|
||||||
import { Chances, Inventory, ItemMinMax, ModsChances } from "../models/eft/common/tables/IBotType";
|
import { Chances, Inventory, ItemMinMax, ModsChances } from "../models/eft/common/tables/IBotType";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem, Props } from "../models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
@ -96,19 +96,6 @@ export declare class BotLootGenerator {
|
|||||||
* @returns true if item has reached spawn limit
|
* @returns true if item has reached spawn limit
|
||||||
*/
|
*/
|
||||||
protected itemHasReachedSpawnLimit(itemTemplate: ITemplateItem, botRole: string, isPmc: boolean, limitCount: Record<string, number>, itemSpawnLimits: Record<string, number>): boolean;
|
protected itemHasReachedSpawnLimit(itemTemplate: ITemplateItem, botRole: string, isPmc: boolean, limitCount: Record<string, number>, itemSpawnLimits: Record<string, number>): boolean;
|
||||||
/**
|
|
||||||
* Is the item an ammo box
|
|
||||||
* @param props props of the item to check
|
|
||||||
* @returns true if item is an ammo box
|
|
||||||
*/
|
|
||||||
protected isAmmoBox(props: Props): boolean;
|
|
||||||
/**
|
|
||||||
* Create an object that contains the ammo stack for an ammo box
|
|
||||||
* @param parentId ammo box id
|
|
||||||
* @param props ammo box props
|
|
||||||
* @returns Item object
|
|
||||||
*/
|
|
||||||
protected createAmmoForAmmoBox(parentId: string, props: Props): Item;
|
|
||||||
/**
|
/**
|
||||||
* Randomise the stack size of a money object, uses different values for pmc or scavs
|
* Randomise the stack size of a money object, uses different values for pmc or scavs
|
||||||
* @param isPmc is this a PMC
|
* @param isPmc is this a PMC
|
||||||
|
@ -140,26 +140,27 @@ export declare class BotWeaponGenerator {
|
|||||||
protected getWeaponCaliber(weaponTemplate: ITemplateItem): string;
|
protected getWeaponCaliber(weaponTemplate: ITemplateItem): string;
|
||||||
/**
|
/**
|
||||||
* Fill existing magazines to full, while replacing their contents with specified ammo
|
* Fill existing magazines to full, while replacing their contents with specified ammo
|
||||||
* @param weaponMods
|
* @param weaponMods Weapon with children
|
||||||
* @param magazine
|
* @param magazine Magazine item
|
||||||
* @param ammoTpl
|
* @param cartridgeTpl Cartridge to insert into magazine
|
||||||
*/
|
*/
|
||||||
protected fillExistingMagazines(weaponMods: Item[], magazine: Item, ammoTpl: string): void;
|
protected fillExistingMagazines(weaponMods: Item[], magazine: Item, cartridgeTpl: string): void;
|
||||||
/**
|
/**
|
||||||
* Add desired ammo tpl as item to weaponmods array, placed as child to UBGL
|
* Add desired ammo tpl as item to weaponmods array, placed as child to UBGL
|
||||||
* @param weaponMods
|
* @param weaponMods Weapon with children
|
||||||
* @param ubglMod
|
* @param ubglMod UBGL item
|
||||||
* @param ubglAmmoTpl
|
* @param ubglAmmoTpl Grenade ammo tpl
|
||||||
*/
|
*/
|
||||||
protected fillUbgl(weaponMods: Item[], ubglMod: Item, ubglAmmoTpl: string): void;
|
protected fillUbgl(weaponMods: Item[], ubglMod: Item, ubglAmmoTpl: string): void;
|
||||||
/**
|
/**
|
||||||
* Add cartridge item to weapon Item array, if it already exists, update
|
* Add cartridge item to weapon Item array, if it already exists, update
|
||||||
* @param weaponMods Weapon items array to amend
|
* @param weaponWithMods Weapon items array to amend
|
||||||
* @param magazine magazine item details we're adding cartridges to
|
* @param magazine magazine item details we're adding cartridges to
|
||||||
* @param chosenAmmo cartridge to put into the magazine
|
* @param chosenAmmoTpl cartridge to put into the magazine
|
||||||
* @param newStackSize how many cartridges should go into the magazine
|
* @param newStackSize how many cartridges should go into the magazine
|
||||||
|
* @param magazineTemplate magazines db template
|
||||||
*/
|
*/
|
||||||
protected addOrUpdateMagazinesChildWithAmmo(weaponMods: Item[], magazine: Item, chosenAmmo: string, newStackSize: number): void;
|
protected addOrUpdateMagazinesChildWithAmmo(weaponWithMods: Item[], magazine: Item, chosenAmmoTpl: string, magazineTemplate: ITemplateItem): void;
|
||||||
/**
|
/**
|
||||||
* Fill each Camora with a bullet
|
* Fill each Camora with a bullet
|
||||||
* @param weaponMods Weapon mods to find and update camora mod(s) from
|
* @param weaponMods Weapon mods to find and update camora mod(s) from
|
||||||
|
@ -2,7 +2,7 @@ import { ContainerHelper } from "../helpers/ContainerHelper";
|
|||||||
import { ItemHelper } from "../helpers/ItemHelper";
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
import { PresetHelper } from "../helpers/PresetHelper";
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
|
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
|
||||||
import { ILooseLoot, SpawnpointsForced, SpawnpointTemplate } from "../models/eft/common/ILooseLoot";
|
import { ILooseLoot, Spawnpoint, SpawnpointsForced, SpawnpointTemplate } from "../models/eft/common/ILooseLoot";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase";
|
import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase";
|
||||||
import { ILocationConfig } from "../models/spt/config/ILocationConfig";
|
import { ILocationConfig } from "../models/spt/config/ILocationConfig";
|
||||||
@ -34,6 +34,15 @@ export declare class LocationGenerator {
|
|||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, seasonalEventService: SeasonalEventService, containerHelper: ContainerHelper, presetHelper: PresetHelper, localisationService: LocalisationService, configServer: ConfigServer);
|
constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, seasonalEventService: SeasonalEventService, containerHelper: ContainerHelper, presetHelper: PresetHelper, localisationService: LocalisationService, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Choose loot to put into a static container
|
||||||
|
* @param containerIn
|
||||||
|
* @param staticForced
|
||||||
|
* @param staticLootDist
|
||||||
|
* @param staticAmmoDist
|
||||||
|
* @param locationName Name of the map to generate static loot for
|
||||||
|
* @returns IStaticContainerProps
|
||||||
|
*/
|
||||||
generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record<string, IStaticLootDetails>, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): IStaticContainerProps;
|
generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record<string, IStaticLootDetails>, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): IStaticContainerProps;
|
||||||
protected getLooseLootMultiplerForLocation(location: string): number;
|
protected getLooseLootMultiplerForLocation(location: string): number;
|
||||||
protected getStaticLootMultiplerForLocation(location: string): number;
|
protected getStaticLootMultiplerForLocation(location: string): number;
|
||||||
@ -52,5 +61,25 @@ export declare class LocationGenerator {
|
|||||||
* @param name of map currently generating forced loot for
|
* @param name of map currently generating forced loot for
|
||||||
*/
|
*/
|
||||||
protected addForcedLoot(loot: SpawnpointTemplate[], forcedSpawnPoints: SpawnpointsForced[], locationName: string): void;
|
protected addForcedLoot(loot: SpawnpointTemplate[], forcedSpawnPoints: SpawnpointsForced[], locationName: string): void;
|
||||||
protected createItem(tpl: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, parentId?: string): IContainerItem;
|
/**
|
||||||
|
* Create array of item (with child items) and return
|
||||||
|
* @param chosenComposedKey Key we want to look up items for
|
||||||
|
* @param spawnPoint Dynamic spawn point item we want will be placed in
|
||||||
|
* @returns IContainerItem
|
||||||
|
*/
|
||||||
|
protected createDynamicLootItem(chosenComposedKey: string, spawnPoint: Spawnpoint): IContainerItem;
|
||||||
|
/**
|
||||||
|
* Replace the _id value for base item + all children items parentid value
|
||||||
|
* @param itemWithChildren Item with mods to update
|
||||||
|
* @param newId new id to add on chidren of base item
|
||||||
|
*/
|
||||||
|
protected reparentItemAndChildren(itemWithChildren: Item[], newId?: string): void;
|
||||||
|
/**
|
||||||
|
* Find an item in array by its _tpl, handle differently if chosenTpl is a weapon
|
||||||
|
* @param items Items array to search
|
||||||
|
* @param chosenTpl Tpl we want to get item with
|
||||||
|
* @returns Item object
|
||||||
|
*/
|
||||||
|
protected getItemInArray(items: Item[], chosenTpl: string): Item;
|
||||||
|
protected createStaticLootItem(tpl: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, parentId?: string): IContainerItem;
|
||||||
}
|
}
|
||||||
|
@ -65,11 +65,11 @@ export declare class BotWeaponGeneratorHelper {
|
|||||||
/**
|
/**
|
||||||
* TODO - move into BotGeneratorHelper, this is not the class for it
|
* TODO - move into BotGeneratorHelper, this is not the class for it
|
||||||
* Adds an item with all its children into specified equipmentSlots, wherever it fits.
|
* Adds an item with all its children into specified equipmentSlots, wherever it fits.
|
||||||
* @param equipmentSlots
|
* @param equipmentSlots Slot to add item+children into
|
||||||
* @param parentId
|
* @param parentId
|
||||||
* @param parentTpl
|
* @param parentTpl
|
||||||
* @param itemWithChildren
|
* @param itemWithChildren Item to add
|
||||||
* @param inventory
|
* @param inventory Inventory to add item+children into
|
||||||
* @returns a `boolean` indicating item was added
|
* @returns a `boolean` indicating item was added
|
||||||
*/
|
*/
|
||||||
addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: Inventory): boolean;
|
addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: Inventory): boolean;
|
||||||
|
@ -140,8 +140,21 @@ export declare class HideoutHelper {
|
|||||||
* @returns coin slot count
|
* @returns coin slot count
|
||||||
*/
|
*/
|
||||||
protected getBTCSlots(pmcData: IPmcData): number;
|
protected getBTCSlots(pmcData: IPmcData): number;
|
||||||
|
/**
|
||||||
|
* Get a count of bitcoins player miner can hold
|
||||||
|
*/
|
||||||
protected getManagementSkillsSlots(): number;
|
protected getManagementSkillsSlots(): number;
|
||||||
protected hasManagementSkillSlots(pmcData: IPmcData): boolean;
|
/**
|
||||||
|
* Does profile have elite hideout management skill
|
||||||
|
* @param pmcData Profile to look at
|
||||||
|
* @returns True if profile has skill
|
||||||
|
*/
|
||||||
|
protected hasEliteHideoutManagementSkill(pmcData: IPmcData): boolean;
|
||||||
|
/**
|
||||||
|
* Get the hideout management skill from player profile
|
||||||
|
* @param pmcData Profile to look at
|
||||||
|
* @returns Hideout management skill object
|
||||||
|
*/
|
||||||
protected getHideoutManagementSkill(pmcData: IPmcData): Common;
|
protected getHideoutManagementSkill(pmcData: IPmcData): Common;
|
||||||
protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number;
|
protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number;
|
||||||
/**
|
/**
|
||||||
|
@ -2,24 +2,35 @@ import { IPmcData } from "../models/eft/common/IPmcData";
|
|||||||
import { Victim } from "../models/eft/common/tables/IBotBase";
|
import { Victim } from "../models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
||||||
|
import { ILostOnDeathConfig } from "../models/spt/config/ILostOnDeathConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { SaveServer } from "../servers/SaveServer";
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
import { LocalisationService } from "../services/LocalisationService";
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { InventoryHelper } from "./InventoryHelper";
|
import { InventoryHelper } from "./InventoryHelper";
|
||||||
|
import { ItemHelper } from "./ItemHelper";
|
||||||
import { PaymentHelper } from "./PaymentHelper";
|
import { PaymentHelper } from "./PaymentHelper";
|
||||||
export declare class InRaidHelper {
|
export declare class InRaidHelper {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected saveServer: SaveServer;
|
protected saveServer: SaveServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected inventoryHelper: InventoryHelper;
|
protected inventoryHelper: InventoryHelper;
|
||||||
protected paymentHelper: PaymentHelper;
|
protected paymentHelper: PaymentHelper;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected profileFixerService: ProfileFixerService;
|
protected profileFixerService: ProfileFixerService;
|
||||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, profileFixerService: ProfileFixerService);
|
protected configServer: ConfigServer;
|
||||||
|
protected lostOnDeathConfig: ILostOnDeathConfig;
|
||||||
|
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, profileFixerService: ProfileFixerService, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Should quest items be removed from player inventory on death
|
||||||
|
* @returns True if items should be removed from inventory
|
||||||
|
*/
|
||||||
|
removeQuestItemsOnDeath(): boolean;
|
||||||
/**
|
/**
|
||||||
* Check an array of items and add an upd object to money items with a stack count of 1
|
* Check an array of items and add an upd object to money items with a stack count of 1
|
||||||
* Single stack money items have no upd object and thus no StackObjectsCount, causing issues
|
* Single stack money items have no upd object and thus no StackObjectsCount, causing issues
|
||||||
@ -83,7 +94,7 @@ export declare class InRaidHelper {
|
|||||||
* Remove equipped items from pre-raid
|
* Remove equipped items from pre-raid
|
||||||
* Add new items found in raid to profile
|
* Add new items found in raid to profile
|
||||||
* Store insurance items in profile
|
* Store insurance items in profile
|
||||||
* @param sessionID
|
* @param sessionID Session id
|
||||||
* @param pmcData Profile to update
|
* @param pmcData Profile to update
|
||||||
* @param postRaidProfile Profile returned by client after a raid
|
* @param postRaidProfile Profile returned by client after a raid
|
||||||
* @returns Updated profile
|
* @returns Updated profile
|
||||||
@ -94,15 +105,21 @@ export declare class InRaidHelper {
|
|||||||
* Used post-raid to remove items after death
|
* Used post-raid to remove items after death
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @returns Player profile with pmc inventory cleared
|
|
||||||
*/
|
*/
|
||||||
deleteInventory(pmcData: IPmcData, sessionID: string): IPmcData;
|
deleteInventory(pmcData: IPmcData, sessionID: string): void;
|
||||||
|
/**
|
||||||
|
* Get items in vest/pocket/backpack inventory containers (excluding children)
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @returns Item array
|
||||||
|
*/
|
||||||
|
protected getBaseItemsInRigPocketAndBackpack(pmcData: IPmcData): Item[];
|
||||||
/**
|
/**
|
||||||
* Does the provided items slotId mean its kept on the player after death
|
* Does the provided items slotId mean its kept on the player after death
|
||||||
* @param slotId slotid of item to check
|
* @pmcData Player profile
|
||||||
|
* @itemToCheck Item to check should be kept
|
||||||
* @returns true if item is kept after death
|
* @returns true if item is kept after death
|
||||||
*/
|
*/
|
||||||
isItemKeptAfterDeath(slotId: string): boolean;
|
protected isItemKeptAfterDeath(pmcData: IPmcData, itemToCheck: Item): boolean;
|
||||||
/**
|
/**
|
||||||
* Return the equipped items from a players inventory
|
* Return the equipped items from a players inventory
|
||||||
* @param items Players inventory to search through
|
* @param items Players inventory to search through
|
||||||
|
@ -61,12 +61,12 @@ export declare class InventoryHelper {
|
|||||||
/**
|
/**
|
||||||
* Add ammo to ammo boxes
|
* Add ammo to ammo boxes
|
||||||
* @param itemToAdd Item to check is ammo box
|
* @param itemToAdd Item to check is ammo box
|
||||||
* @param toDo
|
* @param parentId Ammo box parent id
|
||||||
* @param output IItemEventRouterResponse object
|
* @param output IItemEventRouterResponse object
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param pmcData Profile to add ammobox to
|
* @param pmcData Profile to add ammobox to
|
||||||
*/
|
*/
|
||||||
protected hydrateAmmoBoxWithAmmo(pmcData: IPmcData, itemToAdd: IAddItemTempObject, toDo: string[][], sessionID: string, output: IItemEventRouterResponse): void;
|
protected hydrateAmmoBoxWithAmmo(pmcData: IPmcData, itemToAdd: IAddItemTempObject, parentId: string, sessionID: string, output: IItemEventRouterResponse): void;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param assortItems Items to add to inventory
|
* @param assortItems Items to add to inventory
|
||||||
@ -111,7 +111,13 @@ export declare class InventoryHelper {
|
|||||||
/**
|
/**
|
||||||
* Internal helper function to move item within the same profile_f.
|
* Internal helper function to move item within the same profile_f.
|
||||||
*/
|
*/
|
||||||
moveItemInternal(inventoryItems: Item[], body: IInventoryMoveRequestData): void;
|
moveItemInternal(pmcData: IPmcData, inventoryItems: Item[], moveRequest: IInventoryMoveRequestData): void;
|
||||||
|
/**
|
||||||
|
* Update fast panel bindings when an item is moved into a container that doesnt allow quick slot access
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param itemBeingMoved item being moved
|
||||||
|
*/
|
||||||
|
protected updateFastPanelBinding(pmcData: IPmcData, itemBeingMoved: Item): void;
|
||||||
/**
|
/**
|
||||||
* Internal helper function to handle cartridges in inventory if any of them exist.
|
* Internal helper function to handle cartridges in inventory if any of them exist.
|
||||||
*/
|
*/
|
||||||
|
@ -193,31 +193,53 @@ declare class ItemHelper {
|
|||||||
replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[];
|
replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[];
|
||||||
/**
|
/**
|
||||||
* WARNING, SLOW. Recursively loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do
|
* WARNING, SLOW. Recursively loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do
|
||||||
* @param {string} tpl
|
* @param {string} tpl Items tpl to check parents of
|
||||||
* @param {Array} tplsToCheck
|
* @param {Array} tplsToCheck Tpl values to check if parents of item match
|
||||||
* @returns boolean
|
* @returns boolean Match found
|
||||||
*/
|
*/
|
||||||
doesItemOrParentsIdMatch(tpl: string, tplsToCheck: string[]): boolean;
|
doesItemOrParentsIdMatch(tpl: string, tplsToCheck: string[]): boolean;
|
||||||
/**
|
/**
|
||||||
* Return true if item is a quest item
|
* Check if item is quest item
|
||||||
* @param {string} tpl
|
* @param tpl Items tpl to check quest status of
|
||||||
* @returns boolean
|
* @returns true if item is flagged as quest item
|
||||||
*/
|
*/
|
||||||
isQuestItem(tpl: string): boolean;
|
isQuestItem(tpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Get the inventory size of an item
|
* Get the inventory size of an item
|
||||||
* @param items
|
* @param items Item with children
|
||||||
* @param rootItemId
|
* @param rootItemId
|
||||||
* @returns ItemSize object (width and height)
|
* @returns ItemSize object (width and height)
|
||||||
*/
|
*/
|
||||||
getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize;
|
getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize;
|
||||||
/**
|
/**
|
||||||
* Get a random cartridge from an items Filter property
|
* Get a random cartridge from an items Filter property
|
||||||
* @param item
|
* @param item Db item template to look up Cartridge filter values from
|
||||||
* @returns
|
* @returns Caliber of cartridge
|
||||||
*/
|
*/
|
||||||
getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string;
|
getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string;
|
||||||
createRandomMagCartridges(magTemplate: ITemplateItem, parentId: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string): Item;
|
/**
|
||||||
|
* Add cartridges to the ammo box with correct max stack sizes
|
||||||
|
* @param ammoBox Box to add cartridges to
|
||||||
|
* @param ammoBoxDetails Item template from items db
|
||||||
|
*/
|
||||||
|
addCartridgesToAmmoBox(ammoBox: Item[], ammoBoxDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Add child items (cartridges) to a magazine
|
||||||
|
* @param magazine Magazine to add child items to
|
||||||
|
* @param magTemplate Db template of magazine
|
||||||
|
* @param staticAmmoDist Cartridge distribution
|
||||||
|
* @param caliber Caliber of cartridge to add to magazine
|
||||||
|
* @param minSizePercent % the magazine must be filled to
|
||||||
|
*/
|
||||||
|
fillMagazineWithRandomCartridge(magazine: Item[], magTemplate: ITemplateItem, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string, minSizePercent?: number): void;
|
||||||
|
/**
|
||||||
|
* Add child items to a magazine of a specific cartridge
|
||||||
|
* @param magazine Magazine to add child items to
|
||||||
|
* @param magTemplate Db template of magazine
|
||||||
|
* @param cartridgeTpl Cartridge to add to magazine
|
||||||
|
* @param minSizePercent % the magazine must be filled to
|
||||||
|
*/
|
||||||
|
fillMagazineWithCartridge(magazine: Item[], magTemplate: ITemplateItem, cartridgeTpl: string, minSizePercent?: number): void;
|
||||||
protected getRandomValidCaliber(magTemplate: ITemplateItem): string;
|
protected getRandomValidCaliber(magTemplate: ITemplateItem): string;
|
||||||
protected drawAmmoTpl(caliber: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>): string;
|
protected drawAmmoTpl(caliber: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>): string;
|
||||||
/**
|
/**
|
||||||
|
@ -20,7 +20,12 @@ export declare class ProfileHelper {
|
|||||||
protected itemHelper: ItemHelper;
|
protected itemHelper: ItemHelper;
|
||||||
protected profileSnapshotService: ProfileSnapshotService;
|
protected profileSnapshotService: ProfileSnapshotService;
|
||||||
constructor(logger: ILogger, jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileSnapshotService: ProfileSnapshotService);
|
constructor(logger: ILogger, jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileSnapshotService: ProfileSnapshotService);
|
||||||
resetProfileQuestCondition(sessionID: string, conditionId: string): void;
|
/**
|
||||||
|
* Remove/reset started quest condtions in player profile
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @param conditionIds Condition ids that need to be reset/removed
|
||||||
|
*/
|
||||||
|
resetProfileQuestCondition(sessionID: string, conditionIds: string[]): void;
|
||||||
/**
|
/**
|
||||||
* Get all profiles from server
|
* Get all profiles from server
|
||||||
* @returns Dictionary of profiles
|
* @returns Dictionary of profiles
|
||||||
|
@ -211,7 +211,7 @@ export declare class QuestHelper {
|
|||||||
* @param itemTpl item tpl to look for
|
* @param itemTpl item tpl to look for
|
||||||
* @returns 'FindItem' condition id
|
* @returns 'FindItem' condition id
|
||||||
*/
|
*/
|
||||||
getFindItemIdForQuestHandIn(itemTpl: string): string;
|
getFindItemIdForQuestHandIn(itemTpl: string): string[];
|
||||||
/**
|
/**
|
||||||
* Add all quests to a profile with the provided statuses
|
* Add all quests to a profile with the provided statuses
|
||||||
* @param pmcProfile profile to update
|
* @param pmcProfile profile to update
|
||||||
|
@ -1,15 +1,19 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { VFS } from "../utils/VFS";
|
import { VFS } from "../utils/VFS";
|
||||||
import { BundleLoader } from "./BundleLoader";
|
import { BundleLoader } from "./BundleLoader";
|
||||||
import { ModTypeCheck } from "./ModTypeCheck";
|
import { ModTypeCheck } from "./ModTypeCheck";
|
||||||
import { PreAkiModLoader } from "./PreAkiModLoader";
|
import { PreAkiModLoader } from "./PreAkiModLoader";
|
||||||
export declare class PostAkiModLoader implements IModLoader {
|
export declare class PostAkiModLoader implements IModLoader {
|
||||||
|
protected logger: ILogger;
|
||||||
protected bundleLoader: BundleLoader;
|
protected bundleLoader: BundleLoader;
|
||||||
protected vfs: VFS;
|
protected vfs: VFS;
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
|
protected localisationService: LocalisationService;
|
||||||
protected modTypeCheck: ModTypeCheck;
|
protected modTypeCheck: ModTypeCheck;
|
||||||
constructor(bundleLoader: BundleLoader, vfs: VFS, preAkiModLoader: PreAkiModLoader, modTypeCheck: ModTypeCheck);
|
constructor(logger: ILogger, bundleLoader: BundleLoader, vfs: VFS, preAkiModLoader: PreAkiModLoader, localisationService: LocalisationService, modTypeCheck: ModTypeCheck);
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
load(): Promise<void>;
|
load(): Promise<void>;
|
||||||
protected executeMods(container: DependencyContainer): Promise<void>;
|
protected executeMods(container: DependencyContainer): Promise<void>;
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
import { OnLoad } from "../di/OnLoad";
|
import { OnLoad } from "../di/OnLoad";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { ModTypeCheck } from "./ModTypeCheck";
|
import { ModTypeCheck } from "./ModTypeCheck";
|
||||||
import { PreAkiModLoader } from "./PreAkiModLoader";
|
import { PreAkiModLoader } from "./PreAkiModLoader";
|
||||||
export declare class PostDBModLoader implements OnLoad {
|
export declare class PostDBModLoader implements OnLoad {
|
||||||
|
protected logger: ILogger;
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
|
protected localisationService: LocalisationService;
|
||||||
protected modTypeCheck: ModTypeCheck;
|
protected modTypeCheck: ModTypeCheck;
|
||||||
constructor(preAkiModLoader: PreAkiModLoader, modTypeCheck: ModTypeCheck);
|
constructor(logger: ILogger, preAkiModLoader: PreAkiModLoader, localisationService: LocalisationService, modTypeCheck: ModTypeCheck);
|
||||||
onLoad(): Promise<void>;
|
onLoad(): Promise<void>;
|
||||||
getRoute(): string;
|
getRoute(): string;
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
|
@ -70,6 +70,7 @@ export interface Config {
|
|||||||
EventType: string[];
|
EventType: string[];
|
||||||
WalkSpeed: xyz;
|
WalkSpeed: xyz;
|
||||||
SprintSpeed: xyz;
|
SprintSpeed: xyz;
|
||||||
|
SquadSettings: ISquadSettings;
|
||||||
SkillEnduranceWeightThreshold: number;
|
SkillEnduranceWeightThreshold: number;
|
||||||
TeamSearchingTimeout: number;
|
TeamSearchingTimeout: number;
|
||||||
Insurance: Insurance;
|
Insurance: Insurance;
|
||||||
@ -803,6 +804,11 @@ export interface RestrictionsInRaid {
|
|||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
Value: number;
|
Value: number;
|
||||||
}
|
}
|
||||||
|
export interface ISquadSettings {
|
||||||
|
CountOfRequestsToOnePlayer: number;
|
||||||
|
SecondsForExpiredRequest: number;
|
||||||
|
SendRequestDelaySeconds: number;
|
||||||
|
}
|
||||||
export interface Insurance {
|
export interface Insurance {
|
||||||
MaxStorageTimeInHour: number;
|
MaxStorageTimeInHour: number;
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,9 @@ export interface Xyz {
|
|||||||
z: number;
|
z: number;
|
||||||
}
|
}
|
||||||
export interface ItemDistribution {
|
export interface ItemDistribution {
|
||||||
tpl: string;
|
composedKey: ComposedKey;
|
||||||
relativeProbability: number;
|
relativeProbability: number;
|
||||||
}
|
}
|
||||||
|
export interface ComposedKey {
|
||||||
|
key: string;
|
||||||
|
}
|
||||||
|
@ -120,9 +120,7 @@ export interface Inventory {
|
|||||||
sortingTable: string;
|
sortingTable: string;
|
||||||
questRaidItems: string;
|
questRaidItems: string;
|
||||||
questStashItems: string;
|
questStashItems: string;
|
||||||
fastPanel: FastPanel;
|
fastPanel: Record<string, string>;
|
||||||
}
|
|
||||||
export interface FastPanel {
|
|
||||||
}
|
}
|
||||||
export interface Skills {
|
export interface Skills {
|
||||||
Common: Common[];
|
Common: Common[];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export interface IEndOfflineRaidRequestData {
|
export interface IEndOfflineRaidRequestData {
|
||||||
crc: number;
|
crc: number;
|
||||||
exitStatus: string;
|
exitStatus: string;
|
||||||
exitName: any;
|
exitName: string;
|
||||||
raidSeconds: number;
|
raidSeconds: number;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
export interface IGetRaidConfigurationRequestData {
|
export interface IGetRaidConfigurationRequestData {
|
||||||
|
keyId: string;
|
||||||
|
side: string;
|
||||||
|
location: string;
|
||||||
timeVariant: string;
|
timeVariant: string;
|
||||||
raidMode: string;
|
raidMode: string;
|
||||||
metabolismDisabled: boolean;
|
metabolismDisabled: boolean;
|
||||||
@ -6,7 +9,6 @@ export interface IGetRaidConfigurationRequestData {
|
|||||||
timeAndWeatherSettings: TimeAndWeatherSettings;
|
timeAndWeatherSettings: TimeAndWeatherSettings;
|
||||||
botSettings: BotSettings;
|
botSettings: BotSettings;
|
||||||
wavesSettings: WavesSettings;
|
wavesSettings: WavesSettings;
|
||||||
location: string;
|
|
||||||
}
|
}
|
||||||
export interface TimeAndWeatherSettings {
|
export interface TimeAndWeatherSettings {
|
||||||
isRandomTime: boolean;
|
isRandomTime: boolean;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { Upd } from "../common/tables/IItem";
|
||||||
export interface IPresetBuildActionRequestData {
|
export interface IPresetBuildActionRequestData {
|
||||||
Action: string;
|
Action: string;
|
||||||
id: string;
|
id: string;
|
||||||
@ -12,14 +13,3 @@ export interface Item {
|
|||||||
parentId?: string;
|
parentId?: string;
|
||||||
slotId?: string;
|
slotId?: string;
|
||||||
}
|
}
|
||||||
export interface Upd {
|
|
||||||
Repairable: Repairable;
|
|
||||||
FireMode: FireMode;
|
|
||||||
}
|
|
||||||
export interface Repairable {
|
|
||||||
MaxDurability: number;
|
|
||||||
Durability: number;
|
|
||||||
}
|
|
||||||
export interface FireMode {
|
|
||||||
FireMode: string;
|
|
||||||
}
|
|
||||||
|
3
TypeScript/10ScopesAndTypes/types/models/eft/profile/IGetProfileSettingsRequest.d.ts
vendored
Normal file
3
TypeScript/10ScopesAndTypes/types/models/eft/profile/IGetProfileSettingsRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export interface IGetProfileSettingsRequest {
|
||||||
|
squadInviteRestriction: boolean;
|
||||||
|
}
|
@ -19,5 +19,6 @@ export declare enum ConfigTypes {
|
|||||||
SCAVCASE = "aki-scavcase",
|
SCAVCASE = "aki-scavcase",
|
||||||
TRADER = "aki-trader",
|
TRADER = "aki-trader",
|
||||||
WEATHER = "aki-weather",
|
WEATHER = "aki-weather",
|
||||||
SEASONAL_EVENT = "aki-seasonalevents"
|
SEASONAL_EVENT = "aki-seasonalevents",
|
||||||
|
LOST_ON_DEATH = "aki-lostondeath"
|
||||||
}
|
}
|
||||||
|
@ -4,4 +4,5 @@ export interface IHttpConfig extends IBaseConfig {
|
|||||||
kind: "aki-http";
|
kind: "aki-http";
|
||||||
ip: string;
|
ip: string;
|
||||||
port: number;
|
port: number;
|
||||||
|
logRequests: boolean;
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@ import { BossLocationSpawn, Wave } from "../../../models/eft/common/ILocationBas
|
|||||||
import { IBaseConfig } from "./IBaseConfig";
|
import { IBaseConfig } from "./IBaseConfig";
|
||||||
export interface ILocationConfig extends IBaseConfig {
|
export interface ILocationConfig extends IBaseConfig {
|
||||||
kind: "aki-location";
|
kind: "aki-location";
|
||||||
fixEmptyBotWaves: boolean;
|
fixEmptyBotWavesSettings: IFixEmptyBotWavesSettings;
|
||||||
fixRoguesTakingAllSpawnsOnLighthouse: boolean;
|
rogueLighthouseSpawnTimeSettings: IRogueLighthouseSpawnTimeSettings;
|
||||||
lighthouseRogueSpawnTimeSeconds: number;
|
splitWaveIntoSingleSpawnsSettings: ISplitWaveSettings;
|
||||||
looseLootMultiplier: LootMultiplier;
|
looseLootMultiplier: LootMultiplier;
|
||||||
staticLootMultiplier: LootMultiplier;
|
staticLootMultiplier: LootMultiplier;
|
||||||
customWaves: CustomWaves;
|
customWaves: CustomWaves;
|
||||||
@ -12,6 +12,21 @@ export interface ILocationConfig extends IBaseConfig {
|
|||||||
openZones: Record<string, string[]>;
|
openZones: Record<string, string[]>;
|
||||||
/** Key = map id, value = item tpls that should only have one forced loot spawn position */
|
/** Key = map id, value = item tpls that should only have one forced loot spawn position */
|
||||||
forcedLootSingleSpawnById: Record<string, string[]>;
|
forcedLootSingleSpawnById: Record<string, string[]>;
|
||||||
|
/** How many attempts should be taken to fit an item into a container before giving up */
|
||||||
|
fitLootIntoContainerAttempts: number;
|
||||||
|
}
|
||||||
|
export interface IFixEmptyBotWavesSettings {
|
||||||
|
enabled: boolean;
|
||||||
|
ignoreMaps: string[];
|
||||||
|
}
|
||||||
|
export interface IRogueLighthouseSpawnTimeSettings {
|
||||||
|
enabled: boolean;
|
||||||
|
waitTimeSeconds: number;
|
||||||
|
}
|
||||||
|
export interface ISplitWaveSettings {
|
||||||
|
enabled: boolean;
|
||||||
|
ignoreMaps: string[];
|
||||||
|
waveSizeThreshold: number;
|
||||||
}
|
}
|
||||||
export interface CustomWaves {
|
export interface CustomWaves {
|
||||||
boss: Record<string, BossLocationSpawn[]>;
|
boss: Record<string, BossLocationSpawn[]>;
|
||||||
|
21
TypeScript/10ScopesAndTypes/types/models/spt/config/ILostOnDeathConfig.d.ts
vendored
Normal file
21
TypeScript/10ScopesAndTypes/types/models/spt/config/ILostOnDeathConfig.d.ts
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import { IBaseConfig } from "./IBaseConfig";
|
||||||
|
export interface ILostOnDeathConfig extends IBaseConfig {
|
||||||
|
kind: "aki-lostondeath";
|
||||||
|
equipment: Equipment;
|
||||||
|
specialSlotItems: boolean;
|
||||||
|
questItems: boolean;
|
||||||
|
}
|
||||||
|
export interface Equipment {
|
||||||
|
ArmBand: boolean;
|
||||||
|
Headwear: boolean;
|
||||||
|
Earpiece: boolean;
|
||||||
|
FaceCover: boolean;
|
||||||
|
ArmorVest: boolean;
|
||||||
|
Eyewear: boolean;
|
||||||
|
TacticalVest: boolean;
|
||||||
|
Backpack: boolean;
|
||||||
|
Holster: boolean;
|
||||||
|
FirstPrimaryWeapon: boolean;
|
||||||
|
SecondPrimaryWeapon: boolean;
|
||||||
|
Scabbard: boolean;
|
||||||
|
}
|
@ -3,6 +3,7 @@ import { IBaseConfig } from "./IBaseConfig";
|
|||||||
export interface ITraderConfig extends IBaseConfig {
|
export interface ITraderConfig extends IBaseConfig {
|
||||||
kind: "aki-trader";
|
kind: "aki-trader";
|
||||||
updateTime: UpdateTime[];
|
updateTime: UpdateTime[];
|
||||||
|
purchasesAreFoundInRaid: boolean;
|
||||||
updateTimeDefault: number;
|
updateTimeDefault: number;
|
||||||
traderPriceMultipler: number;
|
traderPriceMultipler: number;
|
||||||
persistPurchaseDataInProfile: boolean;
|
persistPurchaseDataInProfile: boolean;
|
||||||
|
@ -4,6 +4,8 @@ export declare abstract class NewItemDetailsBase {
|
|||||||
fleaPriceRoubles: number;
|
fleaPriceRoubles: number;
|
||||||
/** Price of the item in the handbook */
|
/** Price of the item in the handbook */
|
||||||
handbookPriceRoubles: number;
|
handbookPriceRoubles: number;
|
||||||
|
/** Handbook ParentId for the new item */
|
||||||
|
handbookParentId: string;
|
||||||
/**
|
/**
|
||||||
* A dictionary for locale settings, key = langauge (e.g. en,cn,es-mx,jp,fr)
|
* A dictionary for locale settings, key = langauge (e.g. en,cn,es-mx,jp,fr)
|
||||||
* If a language is not included, the first item in the array will be used in its place
|
* If a language is not included, the first item in the array will be used in its place
|
||||||
|
@ -63,8 +63,16 @@ export declare class InsuranceService {
|
|||||||
* @param offraidData post-raid request object
|
* @param offraidData post-raid request object
|
||||||
* @param preRaidGear gear player wore prior to raid
|
* @param preRaidGear gear player wore prior to raid
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
|
* @param playerDied did the player die in raid
|
||||||
|
*/
|
||||||
|
storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string, playerDied: boolean): void;
|
||||||
|
/**
|
||||||
|
* Store insured items on pmc death inside insurance array in player profile
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param offraidData Player gear post-raid
|
||||||
|
* @param preRaidGear Player gear before raid
|
||||||
|
* @param sessionID Session id
|
||||||
*/
|
*/
|
||||||
storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
|
||||||
storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
||||||
/**
|
/**
|
||||||
* Add gear item to InsuredItems array in player profile
|
* Add gear item to InsuredItems array in player profile
|
||||||
|
@ -39,6 +39,7 @@ declare class GameCallbacks {
|
|||||||
*/
|
*/
|
||||||
getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData<IGameConfigResponse>;
|
getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData<IGameConfigResponse>;
|
||||||
getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IServerDetails[]>;
|
getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IServerDetails[]>;
|
||||||
|
getCurrentGroup(url: string, info: IEmptyRequestData, sessionID: string): any;
|
||||||
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICheckVersionResponse>;
|
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICheckVersionResponse>;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/keepalive
|
* Handle client/game/keepalive
|
||||||
|
@ -5,6 +5,7 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons
|
|||||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData";
|
import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData";
|
||||||
import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData";
|
import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData";
|
||||||
|
import { IGetProfileSettingsRequest } from "../models/eft/profile/IGetProfileSettingsRequest";
|
||||||
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
||||||
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
||||||
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
||||||
@ -64,6 +65,7 @@ export declare class ProfileCallbacks {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<GetProfileStatusResponseData>;
|
getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<GetProfileStatusResponseData>;
|
||||||
|
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||||
searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData<ISearchFriendResponse[]>;
|
searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData<ISearchFriendResponse[]>;
|
||||||
getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string;
|
getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string;
|
||||||
getAllMiniProfiles(url: string, info: any, sessionID: string): string;
|
getAllMiniProfiles(url: string, info: any, sessionID: string): string;
|
||||||
|
@ -8,6 +8,8 @@ export declare class ApplicationContext {
|
|||||||
*
|
*
|
||||||
* const registerPlayerInfo = this.applicationContext.getLatestValue(ContextVariableType.REGISTER_PLAYER_REQUEST).getValue<IRegisterPlayerRequestData>();
|
* const registerPlayerInfo = this.applicationContext.getLatestValue(ContextVariableType.REGISTER_PLAYER_REQUEST).getValue<IRegisterPlayerRequestData>();
|
||||||
*
|
*
|
||||||
|
* const activePlayerSessionId = this.applicationContext.getLatestValue(ContextVariableType.SESSION_ID).getValue<string>();
|
||||||
|
*
|
||||||
* const matchInfo = this.applicationContext.getLatestValue(ContextVariableType.MATCH_INFO).getValue<IStartOfflineRaidRequestData>();
|
* const matchInfo = this.applicationContext.getLatestValue(ContextVariableType.MATCH_INFO).getValue<IStartOfflineRaidRequestData>();
|
||||||
* @param type
|
* @param type
|
||||||
* @returns
|
* @returns
|
||||||
|
@ -20,10 +20,12 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
export declare class GameController {
|
export declare class GameController {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
@ -39,7 +41,7 @@ export declare class GameController {
|
|||||||
protected httpConfig: IHttpConfig;
|
protected httpConfig: IHttpConfig;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void;
|
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void;
|
||||||
/**
|
/**
|
||||||
* When player logs in, iterate over all active effects and reduce timer
|
* When player logs in, iterate over all active effects and reduce timer
|
||||||
@ -55,6 +57,10 @@ export declare class GameController {
|
|||||||
* Make Rogues spawn later to allow for scavs to spawn first instead of rogues filling up all spawn positions
|
* Make Rogues spawn later to allow for scavs to spawn first instead of rogues filling up all spawn positions
|
||||||
*/
|
*/
|
||||||
protected fixRoguesSpawningInstantlyOnLighthouse(): void;
|
protected fixRoguesSpawningInstantlyOnLighthouse(): void;
|
||||||
|
/**
|
||||||
|
* Find and split waves with large numbers of bots into smaller waves - BSG appears to reduce the size of these waves to one bot when they're waiting to spawn for too long
|
||||||
|
*/
|
||||||
|
protected splitBotWavesIntoSingleWaves(): void;
|
||||||
/**
|
/**
|
||||||
* Get a list of installed mods and save their details to the profile being used
|
* Get a list of installed mods and save their details to the profile being used
|
||||||
* @param fullProfile Profile to add mod details to
|
* @param fullProfile Profile to add mod details to
|
||||||
@ -76,5 +82,6 @@ export declare class GameController {
|
|||||||
protected logProfileDetails(fullProfile: IAkiProfile): void;
|
protected logProfileDetails(fullProfile: IAkiProfile): void;
|
||||||
getGameConfig(sessionID: string): IGameConfigResponse;
|
getGameConfig(sessionID: string): IGameConfigResponse;
|
||||||
getServer(): IServerDetails[];
|
getServer(): IServerDetails[];
|
||||||
|
getCurrentGroup(sessionId: any): any;
|
||||||
getValidGameVersion(): ICheckVersionResponse;
|
getValidGameVersion(): ICheckVersionResponse;
|
||||||
}
|
}
|
||||||
|
@ -61,18 +61,18 @@ export declare class InraidController {
|
|||||||
*/
|
*/
|
||||||
protected savePmcProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
protected savePmcProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
||||||
/**
|
/**
|
||||||
* Make changes to pmc profile after they left raid dead,
|
* Make changes to pmc profile after they've died in raid,
|
||||||
* alter bodypart hp, handle insurance, delete inventory items, remove carried quest items
|
* Alter bodypart hp, handle insurance, delete inventory items, remove carried quest items
|
||||||
* @param postRaidSaveRequest post-raid save request
|
* @param postRaidSaveRequest Post-raid save request
|
||||||
* @param pmcData pmc profile
|
* @param pmcData Pmc profile
|
||||||
* @param insuranceEnabled is insurance enabled
|
* @param insuranceEnabled Is insurance enabled
|
||||||
* @param preRaidGear gear player had before raid
|
* @param preRaidGear Gear player had before raid
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @returns Updated profile object
|
* @returns Updated profile object
|
||||||
*/
|
*/
|
||||||
protected performPostRaidActionsWhenDead(postRaidSaveRequest: ISaveProgressRequestData, pmcData: IPmcData, insuranceEnabled: boolean, preRaidGear: Item[], sessionID: string): IPmcData;
|
protected performPostRaidActionsWhenDead(postRaidSaveRequest: ISaveProgressRequestData, pmcData: IPmcData, insuranceEnabled: boolean, preRaidGear: Item[], sessionID: string): IPmcData;
|
||||||
/**
|
/**
|
||||||
* Adjust player characters bodypart hp if they left raid early
|
* Adjust player characters bodypart hp post-raid
|
||||||
* @param postRaidSaveRequest post raid data
|
* @param postRaidSaveRequest post raid data
|
||||||
* @param pmcData player profile
|
* @param pmcData player profile
|
||||||
*/
|
*/
|
||||||
|
@ -112,7 +112,14 @@ export declare class InventoryController {
|
|||||||
* @returns client response object
|
* @returns client response object
|
||||||
*/
|
*/
|
||||||
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
|
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
|
/**
|
||||||
|
* Bind an inventory item to the quick access menu at bottom of player screen
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param bindRequest Reqeust object
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
bindItem(pmcData: IPmcData, bindRequest: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
/**
|
/**
|
||||||
* Handles examining an item
|
* Handles examining an item
|
||||||
* @param pmcData player profile
|
* @param pmcData player profile
|
||||||
@ -137,9 +144,36 @@ export declare class InventoryController {
|
|||||||
* @returns IItemEventRouterResponse
|
* @returns IItemEventRouterResponse
|
||||||
*/
|
*/
|
||||||
sortInventory(pmcData: IPmcData, request: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse;
|
sortInventory(pmcData: IPmcData, request: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
/**
|
||||||
deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
* Add note to a map
|
||||||
editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
* @param pmcData Player profile
|
||||||
|
* @param request Add marker request
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
createMapMarker(pmcData: IPmcData, request: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Delete a map marker
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param request Delete marker request
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
deleteMapMarker(pmcData: IPmcData, request: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Edit an existing map marker
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param request Edit marker request
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
editMapMarker(pmcData: IPmcData, request: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Strip out characters from note string that are not: letter/numbers/unicode/spaces
|
||||||
|
* @param mapNoteText Marker text to sanitise
|
||||||
|
* @returns Sanitised map marker text
|
||||||
|
*/
|
||||||
|
protected sanitiseMapMarkerText(mapNoteText: string): string;
|
||||||
/**
|
/**
|
||||||
* Handle event fired when a container is unpacked (currently only the halloween pumpkin)
|
* Handle event fired when a container is unpacked (currently only the halloween pumpkin)
|
||||||
* @param pmcData Profile data
|
* @param pmcData Profile data
|
||||||
|
@ -7,6 +7,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout
|
|||||||
import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData";
|
import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData";
|
||||||
import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData";
|
import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData";
|
||||||
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
||||||
|
import { ITraderConfig } from "../models/spt/config/ITraderConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { EventOutputHolder } from "../routers/EventOutputHolder";
|
import { EventOutputHolder } from "../routers/EventOutputHolder";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
@ -24,8 +25,10 @@ declare class TradeController {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
|
protected traderConfig: ITraderConfig;
|
||||||
constructor(logger: ILogger, eventOutputHolder: EventOutputHolder, tradeHelper: TradeHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer, httpResponse: HttpResponseUtil, localisationService: LocalisationService, configServer: ConfigServer);
|
constructor(logger: ILogger, eventOutputHolder: EventOutputHolder, tradeHelper: TradeHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer, httpResponse: HttpResponseUtil, localisationService: LocalisationService, configServer: ConfigServer);
|
||||||
confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse;
|
confirmTrading(pmcData: IPmcData, request: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
protected confirmTradingInternal(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse;
|
||||||
}
|
}
|
||||||
export { TradeController };
|
export { TradeController };
|
||||||
|
@ -5,7 +5,7 @@ import { ItemHelper } from "../helpers/ItemHelper";
|
|||||||
import { Inventory as PmcInventory } from "../models/eft/common/tables/IBotBase";
|
import { Inventory as PmcInventory } from "../models/eft/common/tables/IBotBase";
|
||||||
import { Chances, Inventory, ItemMinMax, ModsChances } from "../models/eft/common/tables/IBotType";
|
import { Chances, Inventory, ItemMinMax, ModsChances } from "../models/eft/common/tables/IBotType";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem, Props } from "../models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
@ -96,19 +96,6 @@ export declare class BotLootGenerator {
|
|||||||
* @returns true if item has reached spawn limit
|
* @returns true if item has reached spawn limit
|
||||||
*/
|
*/
|
||||||
protected itemHasReachedSpawnLimit(itemTemplate: ITemplateItem, botRole: string, isPmc: boolean, limitCount: Record<string, number>, itemSpawnLimits: Record<string, number>): boolean;
|
protected itemHasReachedSpawnLimit(itemTemplate: ITemplateItem, botRole: string, isPmc: boolean, limitCount: Record<string, number>, itemSpawnLimits: Record<string, number>): boolean;
|
||||||
/**
|
|
||||||
* Is the item an ammo box
|
|
||||||
* @param props props of the item to check
|
|
||||||
* @returns true if item is an ammo box
|
|
||||||
*/
|
|
||||||
protected isAmmoBox(props: Props): boolean;
|
|
||||||
/**
|
|
||||||
* Create an object that contains the ammo stack for an ammo box
|
|
||||||
* @param parentId ammo box id
|
|
||||||
* @param props ammo box props
|
|
||||||
* @returns Item object
|
|
||||||
*/
|
|
||||||
protected createAmmoForAmmoBox(parentId: string, props: Props): Item;
|
|
||||||
/**
|
/**
|
||||||
* Randomise the stack size of a money object, uses different values for pmc or scavs
|
* Randomise the stack size of a money object, uses different values for pmc or scavs
|
||||||
* @param isPmc is this a PMC
|
* @param isPmc is this a PMC
|
||||||
|
@ -140,26 +140,27 @@ export declare class BotWeaponGenerator {
|
|||||||
protected getWeaponCaliber(weaponTemplate: ITemplateItem): string;
|
protected getWeaponCaliber(weaponTemplate: ITemplateItem): string;
|
||||||
/**
|
/**
|
||||||
* Fill existing magazines to full, while replacing their contents with specified ammo
|
* Fill existing magazines to full, while replacing their contents with specified ammo
|
||||||
* @param weaponMods
|
* @param weaponMods Weapon with children
|
||||||
* @param magazine
|
* @param magazine Magazine item
|
||||||
* @param ammoTpl
|
* @param cartridgeTpl Cartridge to insert into magazine
|
||||||
*/
|
*/
|
||||||
protected fillExistingMagazines(weaponMods: Item[], magazine: Item, ammoTpl: string): void;
|
protected fillExistingMagazines(weaponMods: Item[], magazine: Item, cartridgeTpl: string): void;
|
||||||
/**
|
/**
|
||||||
* Add desired ammo tpl as item to weaponmods array, placed as child to UBGL
|
* Add desired ammo tpl as item to weaponmods array, placed as child to UBGL
|
||||||
* @param weaponMods
|
* @param weaponMods Weapon with children
|
||||||
* @param ubglMod
|
* @param ubglMod UBGL item
|
||||||
* @param ubglAmmoTpl
|
* @param ubglAmmoTpl Grenade ammo tpl
|
||||||
*/
|
*/
|
||||||
protected fillUbgl(weaponMods: Item[], ubglMod: Item, ubglAmmoTpl: string): void;
|
protected fillUbgl(weaponMods: Item[], ubglMod: Item, ubglAmmoTpl: string): void;
|
||||||
/**
|
/**
|
||||||
* Add cartridge item to weapon Item array, if it already exists, update
|
* Add cartridge item to weapon Item array, if it already exists, update
|
||||||
* @param weaponMods Weapon items array to amend
|
* @param weaponWithMods Weapon items array to amend
|
||||||
* @param magazine magazine item details we're adding cartridges to
|
* @param magazine magazine item details we're adding cartridges to
|
||||||
* @param chosenAmmo cartridge to put into the magazine
|
* @param chosenAmmoTpl cartridge to put into the magazine
|
||||||
* @param newStackSize how many cartridges should go into the magazine
|
* @param newStackSize how many cartridges should go into the magazine
|
||||||
|
* @param magazineTemplate magazines db template
|
||||||
*/
|
*/
|
||||||
protected addOrUpdateMagazinesChildWithAmmo(weaponMods: Item[], magazine: Item, chosenAmmo: string, newStackSize: number): void;
|
protected addOrUpdateMagazinesChildWithAmmo(weaponWithMods: Item[], magazine: Item, chosenAmmoTpl: string, magazineTemplate: ITemplateItem): void;
|
||||||
/**
|
/**
|
||||||
* Fill each Camora with a bullet
|
* Fill each Camora with a bullet
|
||||||
* @param weaponMods Weapon mods to find and update camora mod(s) from
|
* @param weaponMods Weapon mods to find and update camora mod(s) from
|
||||||
|
@ -2,7 +2,7 @@ import { ContainerHelper } from "../helpers/ContainerHelper";
|
|||||||
import { ItemHelper } from "../helpers/ItemHelper";
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
import { PresetHelper } from "../helpers/PresetHelper";
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
|
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
|
||||||
import { ILooseLoot, SpawnpointsForced, SpawnpointTemplate } from "../models/eft/common/ILooseLoot";
|
import { ILooseLoot, Spawnpoint, SpawnpointsForced, SpawnpointTemplate } from "../models/eft/common/ILooseLoot";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase";
|
import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase";
|
||||||
import { ILocationConfig } from "../models/spt/config/ILocationConfig";
|
import { ILocationConfig } from "../models/spt/config/ILocationConfig";
|
||||||
@ -34,6 +34,15 @@ export declare class LocationGenerator {
|
|||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, seasonalEventService: SeasonalEventService, containerHelper: ContainerHelper, presetHelper: PresetHelper, localisationService: LocalisationService, configServer: ConfigServer);
|
constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, seasonalEventService: SeasonalEventService, containerHelper: ContainerHelper, presetHelper: PresetHelper, localisationService: LocalisationService, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Choose loot to put into a static container
|
||||||
|
* @param containerIn
|
||||||
|
* @param staticForced
|
||||||
|
* @param staticLootDist
|
||||||
|
* @param staticAmmoDist
|
||||||
|
* @param locationName Name of the map to generate static loot for
|
||||||
|
* @returns IStaticContainerProps
|
||||||
|
*/
|
||||||
generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record<string, IStaticLootDetails>, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): IStaticContainerProps;
|
generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record<string, IStaticLootDetails>, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): IStaticContainerProps;
|
||||||
protected getLooseLootMultiplerForLocation(location: string): number;
|
protected getLooseLootMultiplerForLocation(location: string): number;
|
||||||
protected getStaticLootMultiplerForLocation(location: string): number;
|
protected getStaticLootMultiplerForLocation(location: string): number;
|
||||||
@ -52,5 +61,25 @@ export declare class LocationGenerator {
|
|||||||
* @param name of map currently generating forced loot for
|
* @param name of map currently generating forced loot for
|
||||||
*/
|
*/
|
||||||
protected addForcedLoot(loot: SpawnpointTemplate[], forcedSpawnPoints: SpawnpointsForced[], locationName: string): void;
|
protected addForcedLoot(loot: SpawnpointTemplate[], forcedSpawnPoints: SpawnpointsForced[], locationName: string): void;
|
||||||
protected createItem(tpl: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, parentId?: string): IContainerItem;
|
/**
|
||||||
|
* Create array of item (with child items) and return
|
||||||
|
* @param chosenComposedKey Key we want to look up items for
|
||||||
|
* @param spawnPoint Dynamic spawn point item we want will be placed in
|
||||||
|
* @returns IContainerItem
|
||||||
|
*/
|
||||||
|
protected createDynamicLootItem(chosenComposedKey: string, spawnPoint: Spawnpoint): IContainerItem;
|
||||||
|
/**
|
||||||
|
* Replace the _id value for base item + all children items parentid value
|
||||||
|
* @param itemWithChildren Item with mods to update
|
||||||
|
* @param newId new id to add on chidren of base item
|
||||||
|
*/
|
||||||
|
protected reparentItemAndChildren(itemWithChildren: Item[], newId?: string): void;
|
||||||
|
/**
|
||||||
|
* Find an item in array by its _tpl, handle differently if chosenTpl is a weapon
|
||||||
|
* @param items Items array to search
|
||||||
|
* @param chosenTpl Tpl we want to get item with
|
||||||
|
* @returns Item object
|
||||||
|
*/
|
||||||
|
protected getItemInArray(items: Item[], chosenTpl: string): Item;
|
||||||
|
protected createStaticLootItem(tpl: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, parentId?: string): IContainerItem;
|
||||||
}
|
}
|
||||||
|
@ -65,11 +65,11 @@ export declare class BotWeaponGeneratorHelper {
|
|||||||
/**
|
/**
|
||||||
* TODO - move into BotGeneratorHelper, this is not the class for it
|
* TODO - move into BotGeneratorHelper, this is not the class for it
|
||||||
* Adds an item with all its children into specified equipmentSlots, wherever it fits.
|
* Adds an item with all its children into specified equipmentSlots, wherever it fits.
|
||||||
* @param equipmentSlots
|
* @param equipmentSlots Slot to add item+children into
|
||||||
* @param parentId
|
* @param parentId
|
||||||
* @param parentTpl
|
* @param parentTpl
|
||||||
* @param itemWithChildren
|
* @param itemWithChildren Item to add
|
||||||
* @param inventory
|
* @param inventory Inventory to add item+children into
|
||||||
* @returns a `boolean` indicating item was added
|
* @returns a `boolean` indicating item was added
|
||||||
*/
|
*/
|
||||||
addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: Inventory): boolean;
|
addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: Inventory): boolean;
|
||||||
|
@ -140,8 +140,21 @@ export declare class HideoutHelper {
|
|||||||
* @returns coin slot count
|
* @returns coin slot count
|
||||||
*/
|
*/
|
||||||
protected getBTCSlots(pmcData: IPmcData): number;
|
protected getBTCSlots(pmcData: IPmcData): number;
|
||||||
|
/**
|
||||||
|
* Get a count of bitcoins player miner can hold
|
||||||
|
*/
|
||||||
protected getManagementSkillsSlots(): number;
|
protected getManagementSkillsSlots(): number;
|
||||||
protected hasManagementSkillSlots(pmcData: IPmcData): boolean;
|
/**
|
||||||
|
* Does profile have elite hideout management skill
|
||||||
|
* @param pmcData Profile to look at
|
||||||
|
* @returns True if profile has skill
|
||||||
|
*/
|
||||||
|
protected hasEliteHideoutManagementSkill(pmcData: IPmcData): boolean;
|
||||||
|
/**
|
||||||
|
* Get the hideout management skill from player profile
|
||||||
|
* @param pmcData Profile to look at
|
||||||
|
* @returns Hideout management skill object
|
||||||
|
*/
|
||||||
protected getHideoutManagementSkill(pmcData: IPmcData): Common;
|
protected getHideoutManagementSkill(pmcData: IPmcData): Common;
|
||||||
protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number;
|
protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number;
|
||||||
/**
|
/**
|
||||||
|
@ -2,24 +2,35 @@ import { IPmcData } from "../models/eft/common/IPmcData";
|
|||||||
import { Victim } from "../models/eft/common/tables/IBotBase";
|
import { Victim } from "../models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
||||||
|
import { ILostOnDeathConfig } from "../models/spt/config/ILostOnDeathConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { SaveServer } from "../servers/SaveServer";
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
import { LocalisationService } from "../services/LocalisationService";
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { InventoryHelper } from "./InventoryHelper";
|
import { InventoryHelper } from "./InventoryHelper";
|
||||||
|
import { ItemHelper } from "./ItemHelper";
|
||||||
import { PaymentHelper } from "./PaymentHelper";
|
import { PaymentHelper } from "./PaymentHelper";
|
||||||
export declare class InRaidHelper {
|
export declare class InRaidHelper {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected saveServer: SaveServer;
|
protected saveServer: SaveServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected inventoryHelper: InventoryHelper;
|
protected inventoryHelper: InventoryHelper;
|
||||||
protected paymentHelper: PaymentHelper;
|
protected paymentHelper: PaymentHelper;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected profileFixerService: ProfileFixerService;
|
protected profileFixerService: ProfileFixerService;
|
||||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, profileFixerService: ProfileFixerService);
|
protected configServer: ConfigServer;
|
||||||
|
protected lostOnDeathConfig: ILostOnDeathConfig;
|
||||||
|
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, profileFixerService: ProfileFixerService, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Should quest items be removed from player inventory on death
|
||||||
|
* @returns True if items should be removed from inventory
|
||||||
|
*/
|
||||||
|
removeQuestItemsOnDeath(): boolean;
|
||||||
/**
|
/**
|
||||||
* Check an array of items and add an upd object to money items with a stack count of 1
|
* Check an array of items and add an upd object to money items with a stack count of 1
|
||||||
* Single stack money items have no upd object and thus no StackObjectsCount, causing issues
|
* Single stack money items have no upd object and thus no StackObjectsCount, causing issues
|
||||||
@ -83,7 +94,7 @@ export declare class InRaidHelper {
|
|||||||
* Remove equipped items from pre-raid
|
* Remove equipped items from pre-raid
|
||||||
* Add new items found in raid to profile
|
* Add new items found in raid to profile
|
||||||
* Store insurance items in profile
|
* Store insurance items in profile
|
||||||
* @param sessionID
|
* @param sessionID Session id
|
||||||
* @param pmcData Profile to update
|
* @param pmcData Profile to update
|
||||||
* @param postRaidProfile Profile returned by client after a raid
|
* @param postRaidProfile Profile returned by client after a raid
|
||||||
* @returns Updated profile
|
* @returns Updated profile
|
||||||
@ -94,15 +105,21 @@ export declare class InRaidHelper {
|
|||||||
* Used post-raid to remove items after death
|
* Used post-raid to remove items after death
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @returns Player profile with pmc inventory cleared
|
|
||||||
*/
|
*/
|
||||||
deleteInventory(pmcData: IPmcData, sessionID: string): IPmcData;
|
deleteInventory(pmcData: IPmcData, sessionID: string): void;
|
||||||
|
/**
|
||||||
|
* Get items in vest/pocket/backpack inventory containers (excluding children)
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @returns Item array
|
||||||
|
*/
|
||||||
|
protected getBaseItemsInRigPocketAndBackpack(pmcData: IPmcData): Item[];
|
||||||
/**
|
/**
|
||||||
* Does the provided items slotId mean its kept on the player after death
|
* Does the provided items slotId mean its kept on the player after death
|
||||||
* @param slotId slotid of item to check
|
* @pmcData Player profile
|
||||||
|
* @itemToCheck Item to check should be kept
|
||||||
* @returns true if item is kept after death
|
* @returns true if item is kept after death
|
||||||
*/
|
*/
|
||||||
isItemKeptAfterDeath(slotId: string): boolean;
|
protected isItemKeptAfterDeath(pmcData: IPmcData, itemToCheck: Item): boolean;
|
||||||
/**
|
/**
|
||||||
* Return the equipped items from a players inventory
|
* Return the equipped items from a players inventory
|
||||||
* @param items Players inventory to search through
|
* @param items Players inventory to search through
|
||||||
|
@ -61,12 +61,12 @@ export declare class InventoryHelper {
|
|||||||
/**
|
/**
|
||||||
* Add ammo to ammo boxes
|
* Add ammo to ammo boxes
|
||||||
* @param itemToAdd Item to check is ammo box
|
* @param itemToAdd Item to check is ammo box
|
||||||
* @param toDo
|
* @param parentId Ammo box parent id
|
||||||
* @param output IItemEventRouterResponse object
|
* @param output IItemEventRouterResponse object
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param pmcData Profile to add ammobox to
|
* @param pmcData Profile to add ammobox to
|
||||||
*/
|
*/
|
||||||
protected hydrateAmmoBoxWithAmmo(pmcData: IPmcData, itemToAdd: IAddItemTempObject, toDo: string[][], sessionID: string, output: IItemEventRouterResponse): void;
|
protected hydrateAmmoBoxWithAmmo(pmcData: IPmcData, itemToAdd: IAddItemTempObject, parentId: string, sessionID: string, output: IItemEventRouterResponse): void;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param assortItems Items to add to inventory
|
* @param assortItems Items to add to inventory
|
||||||
@ -111,7 +111,13 @@ export declare class InventoryHelper {
|
|||||||
/**
|
/**
|
||||||
* Internal helper function to move item within the same profile_f.
|
* Internal helper function to move item within the same profile_f.
|
||||||
*/
|
*/
|
||||||
moveItemInternal(inventoryItems: Item[], body: IInventoryMoveRequestData): void;
|
moveItemInternal(pmcData: IPmcData, inventoryItems: Item[], moveRequest: IInventoryMoveRequestData): void;
|
||||||
|
/**
|
||||||
|
* Update fast panel bindings when an item is moved into a container that doesnt allow quick slot access
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param itemBeingMoved item being moved
|
||||||
|
*/
|
||||||
|
protected updateFastPanelBinding(pmcData: IPmcData, itemBeingMoved: Item): void;
|
||||||
/**
|
/**
|
||||||
* Internal helper function to handle cartridges in inventory if any of them exist.
|
* Internal helper function to handle cartridges in inventory if any of them exist.
|
||||||
*/
|
*/
|
||||||
|
@ -193,31 +193,53 @@ declare class ItemHelper {
|
|||||||
replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[];
|
replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[];
|
||||||
/**
|
/**
|
||||||
* WARNING, SLOW. Recursively loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do
|
* WARNING, SLOW. Recursively loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do
|
||||||
* @param {string} tpl
|
* @param {string} tpl Items tpl to check parents of
|
||||||
* @param {Array} tplsToCheck
|
* @param {Array} tplsToCheck Tpl values to check if parents of item match
|
||||||
* @returns boolean
|
* @returns boolean Match found
|
||||||
*/
|
*/
|
||||||
doesItemOrParentsIdMatch(tpl: string, tplsToCheck: string[]): boolean;
|
doesItemOrParentsIdMatch(tpl: string, tplsToCheck: string[]): boolean;
|
||||||
/**
|
/**
|
||||||
* Return true if item is a quest item
|
* Check if item is quest item
|
||||||
* @param {string} tpl
|
* @param tpl Items tpl to check quest status of
|
||||||
* @returns boolean
|
* @returns true if item is flagged as quest item
|
||||||
*/
|
*/
|
||||||
isQuestItem(tpl: string): boolean;
|
isQuestItem(tpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Get the inventory size of an item
|
* Get the inventory size of an item
|
||||||
* @param items
|
* @param items Item with children
|
||||||
* @param rootItemId
|
* @param rootItemId
|
||||||
* @returns ItemSize object (width and height)
|
* @returns ItemSize object (width and height)
|
||||||
*/
|
*/
|
||||||
getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize;
|
getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize;
|
||||||
/**
|
/**
|
||||||
* Get a random cartridge from an items Filter property
|
* Get a random cartridge from an items Filter property
|
||||||
* @param item
|
* @param item Db item template to look up Cartridge filter values from
|
||||||
* @returns
|
* @returns Caliber of cartridge
|
||||||
*/
|
*/
|
||||||
getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string;
|
getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string;
|
||||||
createRandomMagCartridges(magTemplate: ITemplateItem, parentId: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string): Item;
|
/**
|
||||||
|
* Add cartridges to the ammo box with correct max stack sizes
|
||||||
|
* @param ammoBox Box to add cartridges to
|
||||||
|
* @param ammoBoxDetails Item template from items db
|
||||||
|
*/
|
||||||
|
addCartridgesToAmmoBox(ammoBox: Item[], ammoBoxDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Add child items (cartridges) to a magazine
|
||||||
|
* @param magazine Magazine to add child items to
|
||||||
|
* @param magTemplate Db template of magazine
|
||||||
|
* @param staticAmmoDist Cartridge distribution
|
||||||
|
* @param caliber Caliber of cartridge to add to magazine
|
||||||
|
* @param minSizePercent % the magazine must be filled to
|
||||||
|
*/
|
||||||
|
fillMagazineWithRandomCartridge(magazine: Item[], magTemplate: ITemplateItem, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string, minSizePercent?: number): void;
|
||||||
|
/**
|
||||||
|
* Add child items to a magazine of a specific cartridge
|
||||||
|
* @param magazine Magazine to add child items to
|
||||||
|
* @param magTemplate Db template of magazine
|
||||||
|
* @param cartridgeTpl Cartridge to add to magazine
|
||||||
|
* @param minSizePercent % the magazine must be filled to
|
||||||
|
*/
|
||||||
|
fillMagazineWithCartridge(magazine: Item[], magTemplate: ITemplateItem, cartridgeTpl: string, minSizePercent?: number): void;
|
||||||
protected getRandomValidCaliber(magTemplate: ITemplateItem): string;
|
protected getRandomValidCaliber(magTemplate: ITemplateItem): string;
|
||||||
protected drawAmmoTpl(caliber: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>): string;
|
protected drawAmmoTpl(caliber: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>): string;
|
||||||
/**
|
/**
|
||||||
|
@ -20,7 +20,12 @@ export declare class ProfileHelper {
|
|||||||
protected itemHelper: ItemHelper;
|
protected itemHelper: ItemHelper;
|
||||||
protected profileSnapshotService: ProfileSnapshotService;
|
protected profileSnapshotService: ProfileSnapshotService;
|
||||||
constructor(logger: ILogger, jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileSnapshotService: ProfileSnapshotService);
|
constructor(logger: ILogger, jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileSnapshotService: ProfileSnapshotService);
|
||||||
resetProfileQuestCondition(sessionID: string, conditionId: string): void;
|
/**
|
||||||
|
* Remove/reset started quest condtions in player profile
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @param conditionIds Condition ids that need to be reset/removed
|
||||||
|
*/
|
||||||
|
resetProfileQuestCondition(sessionID: string, conditionIds: string[]): void;
|
||||||
/**
|
/**
|
||||||
* Get all profiles from server
|
* Get all profiles from server
|
||||||
* @returns Dictionary of profiles
|
* @returns Dictionary of profiles
|
||||||
|
@ -211,7 +211,7 @@ export declare class QuestHelper {
|
|||||||
* @param itemTpl item tpl to look for
|
* @param itemTpl item tpl to look for
|
||||||
* @returns 'FindItem' condition id
|
* @returns 'FindItem' condition id
|
||||||
*/
|
*/
|
||||||
getFindItemIdForQuestHandIn(itemTpl: string): string;
|
getFindItemIdForQuestHandIn(itemTpl: string): string[];
|
||||||
/**
|
/**
|
||||||
* Add all quests to a profile with the provided statuses
|
* Add all quests to a profile with the provided statuses
|
||||||
* @param pmcProfile profile to update
|
* @param pmcProfile profile to update
|
||||||
|
@ -1,15 +1,19 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { VFS } from "../utils/VFS";
|
import { VFS } from "../utils/VFS";
|
||||||
import { BundleLoader } from "./BundleLoader";
|
import { BundleLoader } from "./BundleLoader";
|
||||||
import { ModTypeCheck } from "./ModTypeCheck";
|
import { ModTypeCheck } from "./ModTypeCheck";
|
||||||
import { PreAkiModLoader } from "./PreAkiModLoader";
|
import { PreAkiModLoader } from "./PreAkiModLoader";
|
||||||
export declare class PostAkiModLoader implements IModLoader {
|
export declare class PostAkiModLoader implements IModLoader {
|
||||||
|
protected logger: ILogger;
|
||||||
protected bundleLoader: BundleLoader;
|
protected bundleLoader: BundleLoader;
|
||||||
protected vfs: VFS;
|
protected vfs: VFS;
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
|
protected localisationService: LocalisationService;
|
||||||
protected modTypeCheck: ModTypeCheck;
|
protected modTypeCheck: ModTypeCheck;
|
||||||
constructor(bundleLoader: BundleLoader, vfs: VFS, preAkiModLoader: PreAkiModLoader, modTypeCheck: ModTypeCheck);
|
constructor(logger: ILogger, bundleLoader: BundleLoader, vfs: VFS, preAkiModLoader: PreAkiModLoader, localisationService: LocalisationService, modTypeCheck: ModTypeCheck);
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
load(): Promise<void>;
|
load(): Promise<void>;
|
||||||
protected executeMods(container: DependencyContainer): Promise<void>;
|
protected executeMods(container: DependencyContainer): Promise<void>;
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
import { OnLoad } from "../di/OnLoad";
|
import { OnLoad } from "../di/OnLoad";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { ModTypeCheck } from "./ModTypeCheck";
|
import { ModTypeCheck } from "./ModTypeCheck";
|
||||||
import { PreAkiModLoader } from "./PreAkiModLoader";
|
import { PreAkiModLoader } from "./PreAkiModLoader";
|
||||||
export declare class PostDBModLoader implements OnLoad {
|
export declare class PostDBModLoader implements OnLoad {
|
||||||
|
protected logger: ILogger;
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
|
protected localisationService: LocalisationService;
|
||||||
protected modTypeCheck: ModTypeCheck;
|
protected modTypeCheck: ModTypeCheck;
|
||||||
constructor(preAkiModLoader: PreAkiModLoader, modTypeCheck: ModTypeCheck);
|
constructor(logger: ILogger, preAkiModLoader: PreAkiModLoader, localisationService: LocalisationService, modTypeCheck: ModTypeCheck);
|
||||||
onLoad(): Promise<void>;
|
onLoad(): Promise<void>;
|
||||||
getRoute(): string;
|
getRoute(): string;
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
|
@ -70,6 +70,7 @@ export interface Config {
|
|||||||
EventType: string[];
|
EventType: string[];
|
||||||
WalkSpeed: xyz;
|
WalkSpeed: xyz;
|
||||||
SprintSpeed: xyz;
|
SprintSpeed: xyz;
|
||||||
|
SquadSettings: ISquadSettings;
|
||||||
SkillEnduranceWeightThreshold: number;
|
SkillEnduranceWeightThreshold: number;
|
||||||
TeamSearchingTimeout: number;
|
TeamSearchingTimeout: number;
|
||||||
Insurance: Insurance;
|
Insurance: Insurance;
|
||||||
@ -803,6 +804,11 @@ export interface RestrictionsInRaid {
|
|||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
Value: number;
|
Value: number;
|
||||||
}
|
}
|
||||||
|
export interface ISquadSettings {
|
||||||
|
CountOfRequestsToOnePlayer: number;
|
||||||
|
SecondsForExpiredRequest: number;
|
||||||
|
SendRequestDelaySeconds: number;
|
||||||
|
}
|
||||||
export interface Insurance {
|
export interface Insurance {
|
||||||
MaxStorageTimeInHour: number;
|
MaxStorageTimeInHour: number;
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,9 @@ export interface Xyz {
|
|||||||
z: number;
|
z: number;
|
||||||
}
|
}
|
||||||
export interface ItemDistribution {
|
export interface ItemDistribution {
|
||||||
tpl: string;
|
composedKey: ComposedKey;
|
||||||
relativeProbability: number;
|
relativeProbability: number;
|
||||||
}
|
}
|
||||||
|
export interface ComposedKey {
|
||||||
|
key: string;
|
||||||
|
}
|
||||||
|
@ -120,9 +120,7 @@ export interface Inventory {
|
|||||||
sortingTable: string;
|
sortingTable: string;
|
||||||
questRaidItems: string;
|
questRaidItems: string;
|
||||||
questStashItems: string;
|
questStashItems: string;
|
||||||
fastPanel: FastPanel;
|
fastPanel: Record<string, string>;
|
||||||
}
|
|
||||||
export interface FastPanel {
|
|
||||||
}
|
}
|
||||||
export interface Skills {
|
export interface Skills {
|
||||||
Common: Common[];
|
Common: Common[];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export interface IEndOfflineRaidRequestData {
|
export interface IEndOfflineRaidRequestData {
|
||||||
crc: number;
|
crc: number;
|
||||||
exitStatus: string;
|
exitStatus: string;
|
||||||
exitName: any;
|
exitName: string;
|
||||||
raidSeconds: number;
|
raidSeconds: number;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
export interface IGetRaidConfigurationRequestData {
|
export interface IGetRaidConfigurationRequestData {
|
||||||
|
keyId: string;
|
||||||
|
side: string;
|
||||||
|
location: string;
|
||||||
timeVariant: string;
|
timeVariant: string;
|
||||||
raidMode: string;
|
raidMode: string;
|
||||||
metabolismDisabled: boolean;
|
metabolismDisabled: boolean;
|
||||||
@ -6,7 +9,6 @@ export interface IGetRaidConfigurationRequestData {
|
|||||||
timeAndWeatherSettings: TimeAndWeatherSettings;
|
timeAndWeatherSettings: TimeAndWeatherSettings;
|
||||||
botSettings: BotSettings;
|
botSettings: BotSettings;
|
||||||
wavesSettings: WavesSettings;
|
wavesSettings: WavesSettings;
|
||||||
location: string;
|
|
||||||
}
|
}
|
||||||
export interface TimeAndWeatherSettings {
|
export interface TimeAndWeatherSettings {
|
||||||
isRandomTime: boolean;
|
isRandomTime: boolean;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { Upd } from "../common/tables/IItem";
|
||||||
export interface IPresetBuildActionRequestData {
|
export interface IPresetBuildActionRequestData {
|
||||||
Action: string;
|
Action: string;
|
||||||
id: string;
|
id: string;
|
||||||
@ -12,14 +13,3 @@ export interface Item {
|
|||||||
parentId?: string;
|
parentId?: string;
|
||||||
slotId?: string;
|
slotId?: string;
|
||||||
}
|
}
|
||||||
export interface Upd {
|
|
||||||
Repairable: Repairable;
|
|
||||||
FireMode: FireMode;
|
|
||||||
}
|
|
||||||
export interface Repairable {
|
|
||||||
MaxDurability: number;
|
|
||||||
Durability: number;
|
|
||||||
}
|
|
||||||
export interface FireMode {
|
|
||||||
FireMode: string;
|
|
||||||
}
|
|
||||||
|
3
TypeScript/11BundleLoadingSample/types/models/eft/profile/IGetProfileSettingsRequest.d.ts
vendored
Normal file
3
TypeScript/11BundleLoadingSample/types/models/eft/profile/IGetProfileSettingsRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export interface IGetProfileSettingsRequest {
|
||||||
|
squadInviteRestriction: boolean;
|
||||||
|
}
|
@ -19,5 +19,6 @@ export declare enum ConfigTypes {
|
|||||||
SCAVCASE = "aki-scavcase",
|
SCAVCASE = "aki-scavcase",
|
||||||
TRADER = "aki-trader",
|
TRADER = "aki-trader",
|
||||||
WEATHER = "aki-weather",
|
WEATHER = "aki-weather",
|
||||||
SEASONAL_EVENT = "aki-seasonalevents"
|
SEASONAL_EVENT = "aki-seasonalevents",
|
||||||
|
LOST_ON_DEATH = "aki-lostondeath"
|
||||||
}
|
}
|
||||||
|
@ -4,4 +4,5 @@ export interface IHttpConfig extends IBaseConfig {
|
|||||||
kind: "aki-http";
|
kind: "aki-http";
|
||||||
ip: string;
|
ip: string;
|
||||||
port: number;
|
port: number;
|
||||||
|
logRequests: boolean;
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@ import { BossLocationSpawn, Wave } from "../../../models/eft/common/ILocationBas
|
|||||||
import { IBaseConfig } from "./IBaseConfig";
|
import { IBaseConfig } from "./IBaseConfig";
|
||||||
export interface ILocationConfig extends IBaseConfig {
|
export interface ILocationConfig extends IBaseConfig {
|
||||||
kind: "aki-location";
|
kind: "aki-location";
|
||||||
fixEmptyBotWaves: boolean;
|
fixEmptyBotWavesSettings: IFixEmptyBotWavesSettings;
|
||||||
fixRoguesTakingAllSpawnsOnLighthouse: boolean;
|
rogueLighthouseSpawnTimeSettings: IRogueLighthouseSpawnTimeSettings;
|
||||||
lighthouseRogueSpawnTimeSeconds: number;
|
splitWaveIntoSingleSpawnsSettings: ISplitWaveSettings;
|
||||||
looseLootMultiplier: LootMultiplier;
|
looseLootMultiplier: LootMultiplier;
|
||||||
staticLootMultiplier: LootMultiplier;
|
staticLootMultiplier: LootMultiplier;
|
||||||
customWaves: CustomWaves;
|
customWaves: CustomWaves;
|
||||||
@ -12,6 +12,21 @@ export interface ILocationConfig extends IBaseConfig {
|
|||||||
openZones: Record<string, string[]>;
|
openZones: Record<string, string[]>;
|
||||||
/** Key = map id, value = item tpls that should only have one forced loot spawn position */
|
/** Key = map id, value = item tpls that should only have one forced loot spawn position */
|
||||||
forcedLootSingleSpawnById: Record<string, string[]>;
|
forcedLootSingleSpawnById: Record<string, string[]>;
|
||||||
|
/** How many attempts should be taken to fit an item into a container before giving up */
|
||||||
|
fitLootIntoContainerAttempts: number;
|
||||||
|
}
|
||||||
|
export interface IFixEmptyBotWavesSettings {
|
||||||
|
enabled: boolean;
|
||||||
|
ignoreMaps: string[];
|
||||||
|
}
|
||||||
|
export interface IRogueLighthouseSpawnTimeSettings {
|
||||||
|
enabled: boolean;
|
||||||
|
waitTimeSeconds: number;
|
||||||
|
}
|
||||||
|
export interface ISplitWaveSettings {
|
||||||
|
enabled: boolean;
|
||||||
|
ignoreMaps: string[];
|
||||||
|
waveSizeThreshold: number;
|
||||||
}
|
}
|
||||||
export interface CustomWaves {
|
export interface CustomWaves {
|
||||||
boss: Record<string, BossLocationSpawn[]>;
|
boss: Record<string, BossLocationSpawn[]>;
|
||||||
|
21
TypeScript/11BundleLoadingSample/types/models/spt/config/ILostOnDeathConfig.d.ts
vendored
Normal file
21
TypeScript/11BundleLoadingSample/types/models/spt/config/ILostOnDeathConfig.d.ts
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import { IBaseConfig } from "./IBaseConfig";
|
||||||
|
export interface ILostOnDeathConfig extends IBaseConfig {
|
||||||
|
kind: "aki-lostondeath";
|
||||||
|
equipment: Equipment;
|
||||||
|
specialSlotItems: boolean;
|
||||||
|
questItems: boolean;
|
||||||
|
}
|
||||||
|
export interface Equipment {
|
||||||
|
ArmBand: boolean;
|
||||||
|
Headwear: boolean;
|
||||||
|
Earpiece: boolean;
|
||||||
|
FaceCover: boolean;
|
||||||
|
ArmorVest: boolean;
|
||||||
|
Eyewear: boolean;
|
||||||
|
TacticalVest: boolean;
|
||||||
|
Backpack: boolean;
|
||||||
|
Holster: boolean;
|
||||||
|
FirstPrimaryWeapon: boolean;
|
||||||
|
SecondPrimaryWeapon: boolean;
|
||||||
|
Scabbard: boolean;
|
||||||
|
}
|
@ -3,6 +3,7 @@ import { IBaseConfig } from "./IBaseConfig";
|
|||||||
export interface ITraderConfig extends IBaseConfig {
|
export interface ITraderConfig extends IBaseConfig {
|
||||||
kind: "aki-trader";
|
kind: "aki-trader";
|
||||||
updateTime: UpdateTime[];
|
updateTime: UpdateTime[];
|
||||||
|
purchasesAreFoundInRaid: boolean;
|
||||||
updateTimeDefault: number;
|
updateTimeDefault: number;
|
||||||
traderPriceMultipler: number;
|
traderPriceMultipler: number;
|
||||||
persistPurchaseDataInProfile: boolean;
|
persistPurchaseDataInProfile: boolean;
|
||||||
|
@ -4,6 +4,8 @@ export declare abstract class NewItemDetailsBase {
|
|||||||
fleaPriceRoubles: number;
|
fleaPriceRoubles: number;
|
||||||
/** Price of the item in the handbook */
|
/** Price of the item in the handbook */
|
||||||
handbookPriceRoubles: number;
|
handbookPriceRoubles: number;
|
||||||
|
/** Handbook ParentId for the new item */
|
||||||
|
handbookParentId: string;
|
||||||
/**
|
/**
|
||||||
* A dictionary for locale settings, key = langauge (e.g. en,cn,es-mx,jp,fr)
|
* A dictionary for locale settings, key = langauge (e.g. en,cn,es-mx,jp,fr)
|
||||||
* If a language is not included, the first item in the array will be used in its place
|
* If a language is not included, the first item in the array will be used in its place
|
||||||
|
@ -63,8 +63,16 @@ export declare class InsuranceService {
|
|||||||
* @param offraidData post-raid request object
|
* @param offraidData post-raid request object
|
||||||
* @param preRaidGear gear player wore prior to raid
|
* @param preRaidGear gear player wore prior to raid
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
|
* @param playerDied did the player die in raid
|
||||||
|
*/
|
||||||
|
storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string, playerDied: boolean): void;
|
||||||
|
/**
|
||||||
|
* Store insured items on pmc death inside insurance array in player profile
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param offraidData Player gear post-raid
|
||||||
|
* @param preRaidGear Player gear before raid
|
||||||
|
* @param sessionID Session id
|
||||||
*/
|
*/
|
||||||
storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
|
||||||
storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
||||||
/**
|
/**
|
||||||
* Add gear item to InsuredItems array in player profile
|
* Add gear item to InsuredItems array in player profile
|
||||||
|
@ -39,6 +39,7 @@ declare class GameCallbacks {
|
|||||||
*/
|
*/
|
||||||
getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData<IGameConfigResponse>;
|
getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData<IGameConfigResponse>;
|
||||||
getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IServerDetails[]>;
|
getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IServerDetails[]>;
|
||||||
|
getCurrentGroup(url: string, info: IEmptyRequestData, sessionID: string): any;
|
||||||
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICheckVersionResponse>;
|
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICheckVersionResponse>;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/keepalive
|
* Handle client/game/keepalive
|
||||||
|
@ -5,6 +5,7 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons
|
|||||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData";
|
import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData";
|
||||||
import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData";
|
import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData";
|
||||||
|
import { IGetProfileSettingsRequest } from "../models/eft/profile/IGetProfileSettingsRequest";
|
||||||
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
||||||
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
||||||
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
||||||
@ -64,6 +65,7 @@ export declare class ProfileCallbacks {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<GetProfileStatusResponseData>;
|
getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<GetProfileStatusResponseData>;
|
||||||
|
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||||
searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData<ISearchFriendResponse[]>;
|
searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData<ISearchFriendResponse[]>;
|
||||||
getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string;
|
getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string;
|
||||||
getAllMiniProfiles(url: string, info: any, sessionID: string): string;
|
getAllMiniProfiles(url: string, info: any, sessionID: string): string;
|
||||||
|
@ -8,6 +8,8 @@ export declare class ApplicationContext {
|
|||||||
*
|
*
|
||||||
* const registerPlayerInfo = this.applicationContext.getLatestValue(ContextVariableType.REGISTER_PLAYER_REQUEST).getValue<IRegisterPlayerRequestData>();
|
* const registerPlayerInfo = this.applicationContext.getLatestValue(ContextVariableType.REGISTER_PLAYER_REQUEST).getValue<IRegisterPlayerRequestData>();
|
||||||
*
|
*
|
||||||
|
* const activePlayerSessionId = this.applicationContext.getLatestValue(ContextVariableType.SESSION_ID).getValue<string>();
|
||||||
|
*
|
||||||
* const matchInfo = this.applicationContext.getLatestValue(ContextVariableType.MATCH_INFO).getValue<IStartOfflineRaidRequestData>();
|
* const matchInfo = this.applicationContext.getLatestValue(ContextVariableType.MATCH_INFO).getValue<IStartOfflineRaidRequestData>();
|
||||||
* @param type
|
* @param type
|
||||||
* @returns
|
* @returns
|
||||||
|
@ -20,10 +20,12 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
export declare class GameController {
|
export declare class GameController {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
@ -39,7 +41,7 @@ export declare class GameController {
|
|||||||
protected httpConfig: IHttpConfig;
|
protected httpConfig: IHttpConfig;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void;
|
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void;
|
||||||
/**
|
/**
|
||||||
* When player logs in, iterate over all active effects and reduce timer
|
* When player logs in, iterate over all active effects and reduce timer
|
||||||
@ -55,6 +57,10 @@ export declare class GameController {
|
|||||||
* Make Rogues spawn later to allow for scavs to spawn first instead of rogues filling up all spawn positions
|
* Make Rogues spawn later to allow for scavs to spawn first instead of rogues filling up all spawn positions
|
||||||
*/
|
*/
|
||||||
protected fixRoguesSpawningInstantlyOnLighthouse(): void;
|
protected fixRoguesSpawningInstantlyOnLighthouse(): void;
|
||||||
|
/**
|
||||||
|
* Find and split waves with large numbers of bots into smaller waves - BSG appears to reduce the size of these waves to one bot when they're waiting to spawn for too long
|
||||||
|
*/
|
||||||
|
protected splitBotWavesIntoSingleWaves(): void;
|
||||||
/**
|
/**
|
||||||
* Get a list of installed mods and save their details to the profile being used
|
* Get a list of installed mods and save their details to the profile being used
|
||||||
* @param fullProfile Profile to add mod details to
|
* @param fullProfile Profile to add mod details to
|
||||||
@ -76,5 +82,6 @@ export declare class GameController {
|
|||||||
protected logProfileDetails(fullProfile: IAkiProfile): void;
|
protected logProfileDetails(fullProfile: IAkiProfile): void;
|
||||||
getGameConfig(sessionID: string): IGameConfigResponse;
|
getGameConfig(sessionID: string): IGameConfigResponse;
|
||||||
getServer(): IServerDetails[];
|
getServer(): IServerDetails[];
|
||||||
|
getCurrentGroup(sessionId: any): any;
|
||||||
getValidGameVersion(): ICheckVersionResponse;
|
getValidGameVersion(): ICheckVersionResponse;
|
||||||
}
|
}
|
||||||
|
@ -61,18 +61,18 @@ export declare class InraidController {
|
|||||||
*/
|
*/
|
||||||
protected savePmcProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
protected savePmcProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
||||||
/**
|
/**
|
||||||
* Make changes to pmc profile after they left raid dead,
|
* Make changes to pmc profile after they've died in raid,
|
||||||
* alter bodypart hp, handle insurance, delete inventory items, remove carried quest items
|
* Alter bodypart hp, handle insurance, delete inventory items, remove carried quest items
|
||||||
* @param postRaidSaveRequest post-raid save request
|
* @param postRaidSaveRequest Post-raid save request
|
||||||
* @param pmcData pmc profile
|
* @param pmcData Pmc profile
|
||||||
* @param insuranceEnabled is insurance enabled
|
* @param insuranceEnabled Is insurance enabled
|
||||||
* @param preRaidGear gear player had before raid
|
* @param preRaidGear Gear player had before raid
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @returns Updated profile object
|
* @returns Updated profile object
|
||||||
*/
|
*/
|
||||||
protected performPostRaidActionsWhenDead(postRaidSaveRequest: ISaveProgressRequestData, pmcData: IPmcData, insuranceEnabled: boolean, preRaidGear: Item[], sessionID: string): IPmcData;
|
protected performPostRaidActionsWhenDead(postRaidSaveRequest: ISaveProgressRequestData, pmcData: IPmcData, insuranceEnabled: boolean, preRaidGear: Item[], sessionID: string): IPmcData;
|
||||||
/**
|
/**
|
||||||
* Adjust player characters bodypart hp if they left raid early
|
* Adjust player characters bodypart hp post-raid
|
||||||
* @param postRaidSaveRequest post raid data
|
* @param postRaidSaveRequest post raid data
|
||||||
* @param pmcData player profile
|
* @param pmcData player profile
|
||||||
*/
|
*/
|
||||||
|
@ -112,7 +112,14 @@ export declare class InventoryController {
|
|||||||
* @returns client response object
|
* @returns client response object
|
||||||
*/
|
*/
|
||||||
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
|
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
|
/**
|
||||||
|
* Bind an inventory item to the quick access menu at bottom of player screen
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param bindRequest Reqeust object
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
bindItem(pmcData: IPmcData, bindRequest: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
/**
|
/**
|
||||||
* Handles examining an item
|
* Handles examining an item
|
||||||
* @param pmcData player profile
|
* @param pmcData player profile
|
||||||
@ -137,9 +144,36 @@ export declare class InventoryController {
|
|||||||
* @returns IItemEventRouterResponse
|
* @returns IItemEventRouterResponse
|
||||||
*/
|
*/
|
||||||
sortInventory(pmcData: IPmcData, request: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse;
|
sortInventory(pmcData: IPmcData, request: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
/**
|
||||||
deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
* Add note to a map
|
||||||
editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
* @param pmcData Player profile
|
||||||
|
* @param request Add marker request
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
createMapMarker(pmcData: IPmcData, request: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Delete a map marker
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param request Delete marker request
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
deleteMapMarker(pmcData: IPmcData, request: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Edit an existing map marker
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param request Edit marker request
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns IItemEventRouterResponse
|
||||||
|
*/
|
||||||
|
editMapMarker(pmcData: IPmcData, request: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Strip out characters from note string that are not: letter/numbers/unicode/spaces
|
||||||
|
* @param mapNoteText Marker text to sanitise
|
||||||
|
* @returns Sanitised map marker text
|
||||||
|
*/
|
||||||
|
protected sanitiseMapMarkerText(mapNoteText: string): string;
|
||||||
/**
|
/**
|
||||||
* Handle event fired when a container is unpacked (currently only the halloween pumpkin)
|
* Handle event fired when a container is unpacked (currently only the halloween pumpkin)
|
||||||
* @param pmcData Profile data
|
* @param pmcData Profile data
|
||||||
|
@ -7,6 +7,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout
|
|||||||
import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData";
|
import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData";
|
||||||
import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData";
|
import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData";
|
||||||
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
||||||
|
import { ITraderConfig } from "../models/spt/config/ITraderConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { EventOutputHolder } from "../routers/EventOutputHolder";
|
import { EventOutputHolder } from "../routers/EventOutputHolder";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
@ -24,8 +25,10 @@ declare class TradeController {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
|
protected traderConfig: ITraderConfig;
|
||||||
constructor(logger: ILogger, eventOutputHolder: EventOutputHolder, tradeHelper: TradeHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer, httpResponse: HttpResponseUtil, localisationService: LocalisationService, configServer: ConfigServer);
|
constructor(logger: ILogger, eventOutputHolder: EventOutputHolder, tradeHelper: TradeHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer, httpResponse: HttpResponseUtil, localisationService: LocalisationService, configServer: ConfigServer);
|
||||||
confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse;
|
confirmTrading(pmcData: IPmcData, request: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
protected confirmTradingInternal(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse;
|
||||||
}
|
}
|
||||||
export { TradeController };
|
export { TradeController };
|
||||||
|
@ -5,7 +5,7 @@ import { ItemHelper } from "../helpers/ItemHelper";
|
|||||||
import { Inventory as PmcInventory } from "../models/eft/common/tables/IBotBase";
|
import { Inventory as PmcInventory } from "../models/eft/common/tables/IBotBase";
|
||||||
import { Chances, Inventory, ItemMinMax, ModsChances } from "../models/eft/common/tables/IBotType";
|
import { Chances, Inventory, ItemMinMax, ModsChances } from "../models/eft/common/tables/IBotType";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem, Props } from "../models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
@ -96,19 +96,6 @@ export declare class BotLootGenerator {
|
|||||||
* @returns true if item has reached spawn limit
|
* @returns true if item has reached spawn limit
|
||||||
*/
|
*/
|
||||||
protected itemHasReachedSpawnLimit(itemTemplate: ITemplateItem, botRole: string, isPmc: boolean, limitCount: Record<string, number>, itemSpawnLimits: Record<string, number>): boolean;
|
protected itemHasReachedSpawnLimit(itemTemplate: ITemplateItem, botRole: string, isPmc: boolean, limitCount: Record<string, number>, itemSpawnLimits: Record<string, number>): boolean;
|
||||||
/**
|
|
||||||
* Is the item an ammo box
|
|
||||||
* @param props props of the item to check
|
|
||||||
* @returns true if item is an ammo box
|
|
||||||
*/
|
|
||||||
protected isAmmoBox(props: Props): boolean;
|
|
||||||
/**
|
|
||||||
* Create an object that contains the ammo stack for an ammo box
|
|
||||||
* @param parentId ammo box id
|
|
||||||
* @param props ammo box props
|
|
||||||
* @returns Item object
|
|
||||||
*/
|
|
||||||
protected createAmmoForAmmoBox(parentId: string, props: Props): Item;
|
|
||||||
/**
|
/**
|
||||||
* Randomise the stack size of a money object, uses different values for pmc or scavs
|
* Randomise the stack size of a money object, uses different values for pmc or scavs
|
||||||
* @param isPmc is this a PMC
|
* @param isPmc is this a PMC
|
||||||
|
@ -140,26 +140,27 @@ export declare class BotWeaponGenerator {
|
|||||||
protected getWeaponCaliber(weaponTemplate: ITemplateItem): string;
|
protected getWeaponCaliber(weaponTemplate: ITemplateItem): string;
|
||||||
/**
|
/**
|
||||||
* Fill existing magazines to full, while replacing their contents with specified ammo
|
* Fill existing magazines to full, while replacing their contents with specified ammo
|
||||||
* @param weaponMods
|
* @param weaponMods Weapon with children
|
||||||
* @param magazine
|
* @param magazine Magazine item
|
||||||
* @param ammoTpl
|
* @param cartridgeTpl Cartridge to insert into magazine
|
||||||
*/
|
*/
|
||||||
protected fillExistingMagazines(weaponMods: Item[], magazine: Item, ammoTpl: string): void;
|
protected fillExistingMagazines(weaponMods: Item[], magazine: Item, cartridgeTpl: string): void;
|
||||||
/**
|
/**
|
||||||
* Add desired ammo tpl as item to weaponmods array, placed as child to UBGL
|
* Add desired ammo tpl as item to weaponmods array, placed as child to UBGL
|
||||||
* @param weaponMods
|
* @param weaponMods Weapon with children
|
||||||
* @param ubglMod
|
* @param ubglMod UBGL item
|
||||||
* @param ubglAmmoTpl
|
* @param ubglAmmoTpl Grenade ammo tpl
|
||||||
*/
|
*/
|
||||||
protected fillUbgl(weaponMods: Item[], ubglMod: Item, ubglAmmoTpl: string): void;
|
protected fillUbgl(weaponMods: Item[], ubglMod: Item, ubglAmmoTpl: string): void;
|
||||||
/**
|
/**
|
||||||
* Add cartridge item to weapon Item array, if it already exists, update
|
* Add cartridge item to weapon Item array, if it already exists, update
|
||||||
* @param weaponMods Weapon items array to amend
|
* @param weaponWithMods Weapon items array to amend
|
||||||
* @param magazine magazine item details we're adding cartridges to
|
* @param magazine magazine item details we're adding cartridges to
|
||||||
* @param chosenAmmo cartridge to put into the magazine
|
* @param chosenAmmoTpl cartridge to put into the magazine
|
||||||
* @param newStackSize how many cartridges should go into the magazine
|
* @param newStackSize how many cartridges should go into the magazine
|
||||||
|
* @param magazineTemplate magazines db template
|
||||||
*/
|
*/
|
||||||
protected addOrUpdateMagazinesChildWithAmmo(weaponMods: Item[], magazine: Item, chosenAmmo: string, newStackSize: number): void;
|
protected addOrUpdateMagazinesChildWithAmmo(weaponWithMods: Item[], magazine: Item, chosenAmmoTpl: string, magazineTemplate: ITemplateItem): void;
|
||||||
/**
|
/**
|
||||||
* Fill each Camora with a bullet
|
* Fill each Camora with a bullet
|
||||||
* @param weaponMods Weapon mods to find and update camora mod(s) from
|
* @param weaponMods Weapon mods to find and update camora mod(s) from
|
||||||
|
@ -2,7 +2,7 @@ import { ContainerHelper } from "../helpers/ContainerHelper";
|
|||||||
import { ItemHelper } from "../helpers/ItemHelper";
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
import { PresetHelper } from "../helpers/PresetHelper";
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
|
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
|
||||||
import { ILooseLoot, SpawnpointsForced, SpawnpointTemplate } from "../models/eft/common/ILooseLoot";
|
import { ILooseLoot, Spawnpoint, SpawnpointsForced, SpawnpointTemplate } from "../models/eft/common/ILooseLoot";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase";
|
import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase";
|
||||||
import { ILocationConfig } from "../models/spt/config/ILocationConfig";
|
import { ILocationConfig } from "../models/spt/config/ILocationConfig";
|
||||||
@ -34,6 +34,15 @@ export declare class LocationGenerator {
|
|||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, seasonalEventService: SeasonalEventService, containerHelper: ContainerHelper, presetHelper: PresetHelper, localisationService: LocalisationService, configServer: ConfigServer);
|
constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, seasonalEventService: SeasonalEventService, containerHelper: ContainerHelper, presetHelper: PresetHelper, localisationService: LocalisationService, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Choose loot to put into a static container
|
||||||
|
* @param containerIn
|
||||||
|
* @param staticForced
|
||||||
|
* @param staticLootDist
|
||||||
|
* @param staticAmmoDist
|
||||||
|
* @param locationName Name of the map to generate static loot for
|
||||||
|
* @returns IStaticContainerProps
|
||||||
|
*/
|
||||||
generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record<string, IStaticLootDetails>, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): IStaticContainerProps;
|
generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record<string, IStaticLootDetails>, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): IStaticContainerProps;
|
||||||
protected getLooseLootMultiplerForLocation(location: string): number;
|
protected getLooseLootMultiplerForLocation(location: string): number;
|
||||||
protected getStaticLootMultiplerForLocation(location: string): number;
|
protected getStaticLootMultiplerForLocation(location: string): number;
|
||||||
@ -52,5 +61,25 @@ export declare class LocationGenerator {
|
|||||||
* @param name of map currently generating forced loot for
|
* @param name of map currently generating forced loot for
|
||||||
*/
|
*/
|
||||||
protected addForcedLoot(loot: SpawnpointTemplate[], forcedSpawnPoints: SpawnpointsForced[], locationName: string): void;
|
protected addForcedLoot(loot: SpawnpointTemplate[], forcedSpawnPoints: SpawnpointsForced[], locationName: string): void;
|
||||||
protected createItem(tpl: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, parentId?: string): IContainerItem;
|
/**
|
||||||
|
* Create array of item (with child items) and return
|
||||||
|
* @param chosenComposedKey Key we want to look up items for
|
||||||
|
* @param spawnPoint Dynamic spawn point item we want will be placed in
|
||||||
|
* @returns IContainerItem
|
||||||
|
*/
|
||||||
|
protected createDynamicLootItem(chosenComposedKey: string, spawnPoint: Spawnpoint): IContainerItem;
|
||||||
|
/**
|
||||||
|
* Replace the _id value for base item + all children items parentid value
|
||||||
|
* @param itemWithChildren Item with mods to update
|
||||||
|
* @param newId new id to add on chidren of base item
|
||||||
|
*/
|
||||||
|
protected reparentItemAndChildren(itemWithChildren: Item[], newId?: string): void;
|
||||||
|
/**
|
||||||
|
* Find an item in array by its _tpl, handle differently if chosenTpl is a weapon
|
||||||
|
* @param items Items array to search
|
||||||
|
* @param chosenTpl Tpl we want to get item with
|
||||||
|
* @returns Item object
|
||||||
|
*/
|
||||||
|
protected getItemInArray(items: Item[], chosenTpl: string): Item;
|
||||||
|
protected createStaticLootItem(tpl: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, parentId?: string): IContainerItem;
|
||||||
}
|
}
|
||||||
|
@ -65,11 +65,11 @@ export declare class BotWeaponGeneratorHelper {
|
|||||||
/**
|
/**
|
||||||
* TODO - move into BotGeneratorHelper, this is not the class for it
|
* TODO - move into BotGeneratorHelper, this is not the class for it
|
||||||
* Adds an item with all its children into specified equipmentSlots, wherever it fits.
|
* Adds an item with all its children into specified equipmentSlots, wherever it fits.
|
||||||
* @param equipmentSlots
|
* @param equipmentSlots Slot to add item+children into
|
||||||
* @param parentId
|
* @param parentId
|
||||||
* @param parentTpl
|
* @param parentTpl
|
||||||
* @param itemWithChildren
|
* @param itemWithChildren Item to add
|
||||||
* @param inventory
|
* @param inventory Inventory to add item+children into
|
||||||
* @returns a `boolean` indicating item was added
|
* @returns a `boolean` indicating item was added
|
||||||
*/
|
*/
|
||||||
addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: Inventory): boolean;
|
addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: Inventory): boolean;
|
||||||
|
@ -140,8 +140,21 @@ export declare class HideoutHelper {
|
|||||||
* @returns coin slot count
|
* @returns coin slot count
|
||||||
*/
|
*/
|
||||||
protected getBTCSlots(pmcData: IPmcData): number;
|
protected getBTCSlots(pmcData: IPmcData): number;
|
||||||
|
/**
|
||||||
|
* Get a count of bitcoins player miner can hold
|
||||||
|
*/
|
||||||
protected getManagementSkillsSlots(): number;
|
protected getManagementSkillsSlots(): number;
|
||||||
protected hasManagementSkillSlots(pmcData: IPmcData): boolean;
|
/**
|
||||||
|
* Does profile have elite hideout management skill
|
||||||
|
* @param pmcData Profile to look at
|
||||||
|
* @returns True if profile has skill
|
||||||
|
*/
|
||||||
|
protected hasEliteHideoutManagementSkill(pmcData: IPmcData): boolean;
|
||||||
|
/**
|
||||||
|
* Get the hideout management skill from player profile
|
||||||
|
* @param pmcData Profile to look at
|
||||||
|
* @returns Hideout management skill object
|
||||||
|
*/
|
||||||
protected getHideoutManagementSkill(pmcData: IPmcData): Common;
|
protected getHideoutManagementSkill(pmcData: IPmcData): Common;
|
||||||
protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number;
|
protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number;
|
||||||
/**
|
/**
|
||||||
|
@ -2,24 +2,35 @@ import { IPmcData } from "../models/eft/common/IPmcData";
|
|||||||
import { Victim } from "../models/eft/common/tables/IBotBase";
|
import { Victim } from "../models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
||||||
|
import { ILostOnDeathConfig } from "../models/spt/config/ILostOnDeathConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { SaveServer } from "../servers/SaveServer";
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
import { LocalisationService } from "../services/LocalisationService";
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { InventoryHelper } from "./InventoryHelper";
|
import { InventoryHelper } from "./InventoryHelper";
|
||||||
|
import { ItemHelper } from "./ItemHelper";
|
||||||
import { PaymentHelper } from "./PaymentHelper";
|
import { PaymentHelper } from "./PaymentHelper";
|
||||||
export declare class InRaidHelper {
|
export declare class InRaidHelper {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected saveServer: SaveServer;
|
protected saveServer: SaveServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected inventoryHelper: InventoryHelper;
|
protected inventoryHelper: InventoryHelper;
|
||||||
protected paymentHelper: PaymentHelper;
|
protected paymentHelper: PaymentHelper;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected profileFixerService: ProfileFixerService;
|
protected profileFixerService: ProfileFixerService;
|
||||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, profileFixerService: ProfileFixerService);
|
protected configServer: ConfigServer;
|
||||||
|
protected lostOnDeathConfig: ILostOnDeathConfig;
|
||||||
|
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, profileFixerService: ProfileFixerService, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Should quest items be removed from player inventory on death
|
||||||
|
* @returns True if items should be removed from inventory
|
||||||
|
*/
|
||||||
|
removeQuestItemsOnDeath(): boolean;
|
||||||
/**
|
/**
|
||||||
* Check an array of items and add an upd object to money items with a stack count of 1
|
* Check an array of items and add an upd object to money items with a stack count of 1
|
||||||
* Single stack money items have no upd object and thus no StackObjectsCount, causing issues
|
* Single stack money items have no upd object and thus no StackObjectsCount, causing issues
|
||||||
@ -83,7 +94,7 @@ export declare class InRaidHelper {
|
|||||||
* Remove equipped items from pre-raid
|
* Remove equipped items from pre-raid
|
||||||
* Add new items found in raid to profile
|
* Add new items found in raid to profile
|
||||||
* Store insurance items in profile
|
* Store insurance items in profile
|
||||||
* @param sessionID
|
* @param sessionID Session id
|
||||||
* @param pmcData Profile to update
|
* @param pmcData Profile to update
|
||||||
* @param postRaidProfile Profile returned by client after a raid
|
* @param postRaidProfile Profile returned by client after a raid
|
||||||
* @returns Updated profile
|
* @returns Updated profile
|
||||||
@ -94,15 +105,21 @@ export declare class InRaidHelper {
|
|||||||
* Used post-raid to remove items after death
|
* Used post-raid to remove items after death
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @returns Player profile with pmc inventory cleared
|
|
||||||
*/
|
*/
|
||||||
deleteInventory(pmcData: IPmcData, sessionID: string): IPmcData;
|
deleteInventory(pmcData: IPmcData, sessionID: string): void;
|
||||||
|
/**
|
||||||
|
* Get items in vest/pocket/backpack inventory containers (excluding children)
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @returns Item array
|
||||||
|
*/
|
||||||
|
protected getBaseItemsInRigPocketAndBackpack(pmcData: IPmcData): Item[];
|
||||||
/**
|
/**
|
||||||
* Does the provided items slotId mean its kept on the player after death
|
* Does the provided items slotId mean its kept on the player after death
|
||||||
* @param slotId slotid of item to check
|
* @pmcData Player profile
|
||||||
|
* @itemToCheck Item to check should be kept
|
||||||
* @returns true if item is kept after death
|
* @returns true if item is kept after death
|
||||||
*/
|
*/
|
||||||
isItemKeptAfterDeath(slotId: string): boolean;
|
protected isItemKeptAfterDeath(pmcData: IPmcData, itemToCheck: Item): boolean;
|
||||||
/**
|
/**
|
||||||
* Return the equipped items from a players inventory
|
* Return the equipped items from a players inventory
|
||||||
* @param items Players inventory to search through
|
* @param items Players inventory to search through
|
||||||
|
@ -61,12 +61,12 @@ export declare class InventoryHelper {
|
|||||||
/**
|
/**
|
||||||
* Add ammo to ammo boxes
|
* Add ammo to ammo boxes
|
||||||
* @param itemToAdd Item to check is ammo box
|
* @param itemToAdd Item to check is ammo box
|
||||||
* @param toDo
|
* @param parentId Ammo box parent id
|
||||||
* @param output IItemEventRouterResponse object
|
* @param output IItemEventRouterResponse object
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param pmcData Profile to add ammobox to
|
* @param pmcData Profile to add ammobox to
|
||||||
*/
|
*/
|
||||||
protected hydrateAmmoBoxWithAmmo(pmcData: IPmcData, itemToAdd: IAddItemTempObject, toDo: string[][], sessionID: string, output: IItemEventRouterResponse): void;
|
protected hydrateAmmoBoxWithAmmo(pmcData: IPmcData, itemToAdd: IAddItemTempObject, parentId: string, sessionID: string, output: IItemEventRouterResponse): void;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param assortItems Items to add to inventory
|
* @param assortItems Items to add to inventory
|
||||||
@ -111,7 +111,13 @@ export declare class InventoryHelper {
|
|||||||
/**
|
/**
|
||||||
* Internal helper function to move item within the same profile_f.
|
* Internal helper function to move item within the same profile_f.
|
||||||
*/
|
*/
|
||||||
moveItemInternal(inventoryItems: Item[], body: IInventoryMoveRequestData): void;
|
moveItemInternal(pmcData: IPmcData, inventoryItems: Item[], moveRequest: IInventoryMoveRequestData): void;
|
||||||
|
/**
|
||||||
|
* Update fast panel bindings when an item is moved into a container that doesnt allow quick slot access
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param itemBeingMoved item being moved
|
||||||
|
*/
|
||||||
|
protected updateFastPanelBinding(pmcData: IPmcData, itemBeingMoved: Item): void;
|
||||||
/**
|
/**
|
||||||
* Internal helper function to handle cartridges in inventory if any of them exist.
|
* Internal helper function to handle cartridges in inventory if any of them exist.
|
||||||
*/
|
*/
|
||||||
|
@ -193,31 +193,53 @@ declare class ItemHelper {
|
|||||||
replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[];
|
replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[];
|
||||||
/**
|
/**
|
||||||
* WARNING, SLOW. Recursively loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do
|
* WARNING, SLOW. Recursively loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do
|
||||||
* @param {string} tpl
|
* @param {string} tpl Items tpl to check parents of
|
||||||
* @param {Array} tplsToCheck
|
* @param {Array} tplsToCheck Tpl values to check if parents of item match
|
||||||
* @returns boolean
|
* @returns boolean Match found
|
||||||
*/
|
*/
|
||||||
doesItemOrParentsIdMatch(tpl: string, tplsToCheck: string[]): boolean;
|
doesItemOrParentsIdMatch(tpl: string, tplsToCheck: string[]): boolean;
|
||||||
/**
|
/**
|
||||||
* Return true if item is a quest item
|
* Check if item is quest item
|
||||||
* @param {string} tpl
|
* @param tpl Items tpl to check quest status of
|
||||||
* @returns boolean
|
* @returns true if item is flagged as quest item
|
||||||
*/
|
*/
|
||||||
isQuestItem(tpl: string): boolean;
|
isQuestItem(tpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Get the inventory size of an item
|
* Get the inventory size of an item
|
||||||
* @param items
|
* @param items Item with children
|
||||||
* @param rootItemId
|
* @param rootItemId
|
||||||
* @returns ItemSize object (width and height)
|
* @returns ItemSize object (width and height)
|
||||||
*/
|
*/
|
||||||
getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize;
|
getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize;
|
||||||
/**
|
/**
|
||||||
* Get a random cartridge from an items Filter property
|
* Get a random cartridge from an items Filter property
|
||||||
* @param item
|
* @param item Db item template to look up Cartridge filter values from
|
||||||
* @returns
|
* @returns Caliber of cartridge
|
||||||
*/
|
*/
|
||||||
getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string;
|
getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string;
|
||||||
createRandomMagCartridges(magTemplate: ITemplateItem, parentId: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string): Item;
|
/**
|
||||||
|
* Add cartridges to the ammo box with correct max stack sizes
|
||||||
|
* @param ammoBox Box to add cartridges to
|
||||||
|
* @param ammoBoxDetails Item template from items db
|
||||||
|
*/
|
||||||
|
addCartridgesToAmmoBox(ammoBox: Item[], ammoBoxDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Add child items (cartridges) to a magazine
|
||||||
|
* @param magazine Magazine to add child items to
|
||||||
|
* @param magTemplate Db template of magazine
|
||||||
|
* @param staticAmmoDist Cartridge distribution
|
||||||
|
* @param caliber Caliber of cartridge to add to magazine
|
||||||
|
* @param minSizePercent % the magazine must be filled to
|
||||||
|
*/
|
||||||
|
fillMagazineWithRandomCartridge(magazine: Item[], magTemplate: ITemplateItem, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string, minSizePercent?: number): void;
|
||||||
|
/**
|
||||||
|
* Add child items to a magazine of a specific cartridge
|
||||||
|
* @param magazine Magazine to add child items to
|
||||||
|
* @param magTemplate Db template of magazine
|
||||||
|
* @param cartridgeTpl Cartridge to add to magazine
|
||||||
|
* @param minSizePercent % the magazine must be filled to
|
||||||
|
*/
|
||||||
|
fillMagazineWithCartridge(magazine: Item[], magTemplate: ITemplateItem, cartridgeTpl: string, minSizePercent?: number): void;
|
||||||
protected getRandomValidCaliber(magTemplate: ITemplateItem): string;
|
protected getRandomValidCaliber(magTemplate: ITemplateItem): string;
|
||||||
protected drawAmmoTpl(caliber: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>): string;
|
protected drawAmmoTpl(caliber: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>): string;
|
||||||
/**
|
/**
|
||||||
|
@ -20,7 +20,12 @@ export declare class ProfileHelper {
|
|||||||
protected itemHelper: ItemHelper;
|
protected itemHelper: ItemHelper;
|
||||||
protected profileSnapshotService: ProfileSnapshotService;
|
protected profileSnapshotService: ProfileSnapshotService;
|
||||||
constructor(logger: ILogger, jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileSnapshotService: ProfileSnapshotService);
|
constructor(logger: ILogger, jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileSnapshotService: ProfileSnapshotService);
|
||||||
resetProfileQuestCondition(sessionID: string, conditionId: string): void;
|
/**
|
||||||
|
* Remove/reset started quest condtions in player profile
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @param conditionIds Condition ids that need to be reset/removed
|
||||||
|
*/
|
||||||
|
resetProfileQuestCondition(sessionID: string, conditionIds: string[]): void;
|
||||||
/**
|
/**
|
||||||
* Get all profiles from server
|
* Get all profiles from server
|
||||||
* @returns Dictionary of profiles
|
* @returns Dictionary of profiles
|
||||||
|
@ -211,7 +211,7 @@ export declare class QuestHelper {
|
|||||||
* @param itemTpl item tpl to look for
|
* @param itemTpl item tpl to look for
|
||||||
* @returns 'FindItem' condition id
|
* @returns 'FindItem' condition id
|
||||||
*/
|
*/
|
||||||
getFindItemIdForQuestHandIn(itemTpl: string): string;
|
getFindItemIdForQuestHandIn(itemTpl: string): string[];
|
||||||
/**
|
/**
|
||||||
* Add all quests to a profile with the provided statuses
|
* Add all quests to a profile with the provided statuses
|
||||||
* @param pmcProfile profile to update
|
* @param pmcProfile profile to update
|
||||||
|
@ -1,15 +1,19 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { VFS } from "../utils/VFS";
|
import { VFS } from "../utils/VFS";
|
||||||
import { BundleLoader } from "./BundleLoader";
|
import { BundleLoader } from "./BundleLoader";
|
||||||
import { ModTypeCheck } from "./ModTypeCheck";
|
import { ModTypeCheck } from "./ModTypeCheck";
|
||||||
import { PreAkiModLoader } from "./PreAkiModLoader";
|
import { PreAkiModLoader } from "./PreAkiModLoader";
|
||||||
export declare class PostAkiModLoader implements IModLoader {
|
export declare class PostAkiModLoader implements IModLoader {
|
||||||
|
protected logger: ILogger;
|
||||||
protected bundleLoader: BundleLoader;
|
protected bundleLoader: BundleLoader;
|
||||||
protected vfs: VFS;
|
protected vfs: VFS;
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
|
protected localisationService: LocalisationService;
|
||||||
protected modTypeCheck: ModTypeCheck;
|
protected modTypeCheck: ModTypeCheck;
|
||||||
constructor(bundleLoader: BundleLoader, vfs: VFS, preAkiModLoader: PreAkiModLoader, modTypeCheck: ModTypeCheck);
|
constructor(logger: ILogger, bundleLoader: BundleLoader, vfs: VFS, preAkiModLoader: PreAkiModLoader, localisationService: LocalisationService, modTypeCheck: ModTypeCheck);
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
load(): Promise<void>;
|
load(): Promise<void>;
|
||||||
protected executeMods(container: DependencyContainer): Promise<void>;
|
protected executeMods(container: DependencyContainer): Promise<void>;
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
import { OnLoad } from "../di/OnLoad";
|
import { OnLoad } from "../di/OnLoad";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { ModTypeCheck } from "./ModTypeCheck";
|
import { ModTypeCheck } from "./ModTypeCheck";
|
||||||
import { PreAkiModLoader } from "./PreAkiModLoader";
|
import { PreAkiModLoader } from "./PreAkiModLoader";
|
||||||
export declare class PostDBModLoader implements OnLoad {
|
export declare class PostDBModLoader implements OnLoad {
|
||||||
|
protected logger: ILogger;
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
|
protected localisationService: LocalisationService;
|
||||||
protected modTypeCheck: ModTypeCheck;
|
protected modTypeCheck: ModTypeCheck;
|
||||||
constructor(preAkiModLoader: PreAkiModLoader, modTypeCheck: ModTypeCheck);
|
constructor(logger: ILogger, preAkiModLoader: PreAkiModLoader, localisationService: LocalisationService, modTypeCheck: ModTypeCheck);
|
||||||
onLoad(): Promise<void>;
|
onLoad(): Promise<void>;
|
||||||
getRoute(): string;
|
getRoute(): string;
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
|
@ -70,6 +70,7 @@ export interface Config {
|
|||||||
EventType: string[];
|
EventType: string[];
|
||||||
WalkSpeed: xyz;
|
WalkSpeed: xyz;
|
||||||
SprintSpeed: xyz;
|
SprintSpeed: xyz;
|
||||||
|
SquadSettings: ISquadSettings;
|
||||||
SkillEnduranceWeightThreshold: number;
|
SkillEnduranceWeightThreshold: number;
|
||||||
TeamSearchingTimeout: number;
|
TeamSearchingTimeout: number;
|
||||||
Insurance: Insurance;
|
Insurance: Insurance;
|
||||||
@ -803,6 +804,11 @@ export interface RestrictionsInRaid {
|
|||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
Value: number;
|
Value: number;
|
||||||
}
|
}
|
||||||
|
export interface ISquadSettings {
|
||||||
|
CountOfRequestsToOnePlayer: number;
|
||||||
|
SecondsForExpiredRequest: number;
|
||||||
|
SendRequestDelaySeconds: number;
|
||||||
|
}
|
||||||
export interface Insurance {
|
export interface Insurance {
|
||||||
MaxStorageTimeInHour: number;
|
MaxStorageTimeInHour: number;
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,9 @@ export interface Xyz {
|
|||||||
z: number;
|
z: number;
|
||||||
}
|
}
|
||||||
export interface ItemDistribution {
|
export interface ItemDistribution {
|
||||||
tpl: string;
|
composedKey: ComposedKey;
|
||||||
relativeProbability: number;
|
relativeProbability: number;
|
||||||
}
|
}
|
||||||
|
export interface ComposedKey {
|
||||||
|
key: string;
|
||||||
|
}
|
||||||
|
@ -120,9 +120,7 @@ export interface Inventory {
|
|||||||
sortingTable: string;
|
sortingTable: string;
|
||||||
questRaidItems: string;
|
questRaidItems: string;
|
||||||
questStashItems: string;
|
questStashItems: string;
|
||||||
fastPanel: FastPanel;
|
fastPanel: Record<string, string>;
|
||||||
}
|
|
||||||
export interface FastPanel {
|
|
||||||
}
|
}
|
||||||
export interface Skills {
|
export interface Skills {
|
||||||
Common: Common[];
|
Common: Common[];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export interface IEndOfflineRaidRequestData {
|
export interface IEndOfflineRaidRequestData {
|
||||||
crc: number;
|
crc: number;
|
||||||
exitStatus: string;
|
exitStatus: string;
|
||||||
exitName: any;
|
exitName: string;
|
||||||
raidSeconds: number;
|
raidSeconds: number;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
export interface IGetRaidConfigurationRequestData {
|
export interface IGetRaidConfigurationRequestData {
|
||||||
|
keyId: string;
|
||||||
|
side: string;
|
||||||
|
location: string;
|
||||||
timeVariant: string;
|
timeVariant: string;
|
||||||
raidMode: string;
|
raidMode: string;
|
||||||
metabolismDisabled: boolean;
|
metabolismDisabled: boolean;
|
||||||
@ -6,7 +9,6 @@ export interface IGetRaidConfigurationRequestData {
|
|||||||
timeAndWeatherSettings: TimeAndWeatherSettings;
|
timeAndWeatherSettings: TimeAndWeatherSettings;
|
||||||
botSettings: BotSettings;
|
botSettings: BotSettings;
|
||||||
wavesSettings: WavesSettings;
|
wavesSettings: WavesSettings;
|
||||||
location: string;
|
|
||||||
}
|
}
|
||||||
export interface TimeAndWeatherSettings {
|
export interface TimeAndWeatherSettings {
|
||||||
isRandomTime: boolean;
|
isRandomTime: boolean;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { Upd } from "../common/tables/IItem";
|
||||||
export interface IPresetBuildActionRequestData {
|
export interface IPresetBuildActionRequestData {
|
||||||
Action: string;
|
Action: string;
|
||||||
id: string;
|
id: string;
|
||||||
@ -12,14 +13,3 @@ export interface Item {
|
|||||||
parentId?: string;
|
parentId?: string;
|
||||||
slotId?: string;
|
slotId?: string;
|
||||||
}
|
}
|
||||||
export interface Upd {
|
|
||||||
Repairable: Repairable;
|
|
||||||
FireMode: FireMode;
|
|
||||||
}
|
|
||||||
export interface Repairable {
|
|
||||||
MaxDurability: number;
|
|
||||||
Durability: number;
|
|
||||||
}
|
|
||||||
export interface FireMode {
|
|
||||||
FireMode: string;
|
|
||||||
}
|
|
||||||
|
3
TypeScript/12ClassExtensionOverride/types/models/eft/profile/IGetProfileSettingsRequest.d.ts
vendored
Normal file
3
TypeScript/12ClassExtensionOverride/types/models/eft/profile/IGetProfileSettingsRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export interface IGetProfileSettingsRequest {
|
||||||
|
squadInviteRestriction: boolean;
|
||||||
|
}
|
@ -19,5 +19,6 @@ export declare enum ConfigTypes {
|
|||||||
SCAVCASE = "aki-scavcase",
|
SCAVCASE = "aki-scavcase",
|
||||||
TRADER = "aki-trader",
|
TRADER = "aki-trader",
|
||||||
WEATHER = "aki-weather",
|
WEATHER = "aki-weather",
|
||||||
SEASONAL_EVENT = "aki-seasonalevents"
|
SEASONAL_EVENT = "aki-seasonalevents",
|
||||||
|
LOST_ON_DEATH = "aki-lostondeath"
|
||||||
}
|
}
|
||||||
|
@ -4,4 +4,5 @@ export interface IHttpConfig extends IBaseConfig {
|
|||||||
kind: "aki-http";
|
kind: "aki-http";
|
||||||
ip: string;
|
ip: string;
|
||||||
port: number;
|
port: number;
|
||||||
|
logRequests: boolean;
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@ import { BossLocationSpawn, Wave } from "../../../models/eft/common/ILocationBas
|
|||||||
import { IBaseConfig } from "./IBaseConfig";
|
import { IBaseConfig } from "./IBaseConfig";
|
||||||
export interface ILocationConfig extends IBaseConfig {
|
export interface ILocationConfig extends IBaseConfig {
|
||||||
kind: "aki-location";
|
kind: "aki-location";
|
||||||
fixEmptyBotWaves: boolean;
|
fixEmptyBotWavesSettings: IFixEmptyBotWavesSettings;
|
||||||
fixRoguesTakingAllSpawnsOnLighthouse: boolean;
|
rogueLighthouseSpawnTimeSettings: IRogueLighthouseSpawnTimeSettings;
|
||||||
lighthouseRogueSpawnTimeSeconds: number;
|
splitWaveIntoSingleSpawnsSettings: ISplitWaveSettings;
|
||||||
looseLootMultiplier: LootMultiplier;
|
looseLootMultiplier: LootMultiplier;
|
||||||
staticLootMultiplier: LootMultiplier;
|
staticLootMultiplier: LootMultiplier;
|
||||||
customWaves: CustomWaves;
|
customWaves: CustomWaves;
|
||||||
@ -12,6 +12,21 @@ export interface ILocationConfig extends IBaseConfig {
|
|||||||
openZones: Record<string, string[]>;
|
openZones: Record<string, string[]>;
|
||||||
/** Key = map id, value = item tpls that should only have one forced loot spawn position */
|
/** Key = map id, value = item tpls that should only have one forced loot spawn position */
|
||||||
forcedLootSingleSpawnById: Record<string, string[]>;
|
forcedLootSingleSpawnById: Record<string, string[]>;
|
||||||
|
/** How many attempts should be taken to fit an item into a container before giving up */
|
||||||
|
fitLootIntoContainerAttempts: number;
|
||||||
|
}
|
||||||
|
export interface IFixEmptyBotWavesSettings {
|
||||||
|
enabled: boolean;
|
||||||
|
ignoreMaps: string[];
|
||||||
|
}
|
||||||
|
export interface IRogueLighthouseSpawnTimeSettings {
|
||||||
|
enabled: boolean;
|
||||||
|
waitTimeSeconds: number;
|
||||||
|
}
|
||||||
|
export interface ISplitWaveSettings {
|
||||||
|
enabled: boolean;
|
||||||
|
ignoreMaps: string[];
|
||||||
|
waveSizeThreshold: number;
|
||||||
}
|
}
|
||||||
export interface CustomWaves {
|
export interface CustomWaves {
|
||||||
boss: Record<string, BossLocationSpawn[]>;
|
boss: Record<string, BossLocationSpawn[]>;
|
||||||
|
21
TypeScript/12ClassExtensionOverride/types/models/spt/config/ILostOnDeathConfig.d.ts
vendored
Normal file
21
TypeScript/12ClassExtensionOverride/types/models/spt/config/ILostOnDeathConfig.d.ts
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import { IBaseConfig } from "./IBaseConfig";
|
||||||
|
export interface ILostOnDeathConfig extends IBaseConfig {
|
||||||
|
kind: "aki-lostondeath";
|
||||||
|
equipment: Equipment;
|
||||||
|
specialSlotItems: boolean;
|
||||||
|
questItems: boolean;
|
||||||
|
}
|
||||||
|
export interface Equipment {
|
||||||
|
ArmBand: boolean;
|
||||||
|
Headwear: boolean;
|
||||||
|
Earpiece: boolean;
|
||||||
|
FaceCover: boolean;
|
||||||
|
ArmorVest: boolean;
|
||||||
|
Eyewear: boolean;
|
||||||
|
TacticalVest: boolean;
|
||||||
|
Backpack: boolean;
|
||||||
|
Holster: boolean;
|
||||||
|
FirstPrimaryWeapon: boolean;
|
||||||
|
SecondPrimaryWeapon: boolean;
|
||||||
|
Scabbard: boolean;
|
||||||
|
}
|
@ -3,6 +3,7 @@ import { IBaseConfig } from "./IBaseConfig";
|
|||||||
export interface ITraderConfig extends IBaseConfig {
|
export interface ITraderConfig extends IBaseConfig {
|
||||||
kind: "aki-trader";
|
kind: "aki-trader";
|
||||||
updateTime: UpdateTime[];
|
updateTime: UpdateTime[];
|
||||||
|
purchasesAreFoundInRaid: boolean;
|
||||||
updateTimeDefault: number;
|
updateTimeDefault: number;
|
||||||
traderPriceMultipler: number;
|
traderPriceMultipler: number;
|
||||||
persistPurchaseDataInProfile: boolean;
|
persistPurchaseDataInProfile: boolean;
|
||||||
|
@ -4,6 +4,8 @@ export declare abstract class NewItemDetailsBase {
|
|||||||
fleaPriceRoubles: number;
|
fleaPriceRoubles: number;
|
||||||
/** Price of the item in the handbook */
|
/** Price of the item in the handbook */
|
||||||
handbookPriceRoubles: number;
|
handbookPriceRoubles: number;
|
||||||
|
/** Handbook ParentId for the new item */
|
||||||
|
handbookParentId: string;
|
||||||
/**
|
/**
|
||||||
* A dictionary for locale settings, key = langauge (e.g. en,cn,es-mx,jp,fr)
|
* A dictionary for locale settings, key = langauge (e.g. en,cn,es-mx,jp,fr)
|
||||||
* If a language is not included, the first item in the array will be used in its place
|
* If a language is not included, the first item in the array will be used in its place
|
||||||
|
@ -63,8 +63,16 @@ export declare class InsuranceService {
|
|||||||
* @param offraidData post-raid request object
|
* @param offraidData post-raid request object
|
||||||
* @param preRaidGear gear player wore prior to raid
|
* @param preRaidGear gear player wore prior to raid
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
|
* @param playerDied did the player die in raid
|
||||||
|
*/
|
||||||
|
storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string, playerDied: boolean): void;
|
||||||
|
/**
|
||||||
|
* Store insured items on pmc death inside insurance array in player profile
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param offraidData Player gear post-raid
|
||||||
|
* @param preRaidGear Player gear before raid
|
||||||
|
* @param sessionID Session id
|
||||||
*/
|
*/
|
||||||
storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
|
||||||
storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
||||||
/**
|
/**
|
||||||
* Add gear item to InsuredItems array in player profile
|
* Add gear item to InsuredItems array in player profile
|
||||||
|
@ -39,6 +39,7 @@ declare class GameCallbacks {
|
|||||||
*/
|
*/
|
||||||
getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData<IGameConfigResponse>;
|
getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData<IGameConfigResponse>;
|
||||||
getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IServerDetails[]>;
|
getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IServerDetails[]>;
|
||||||
|
getCurrentGroup(url: string, info: IEmptyRequestData, sessionID: string): any;
|
||||||
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICheckVersionResponse>;
|
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICheckVersionResponse>;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/keepalive
|
* Handle client/game/keepalive
|
||||||
|
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