From 57b1a223811278555b4472847114ea57a27d6811 Mon Sep 17 00:00:00 2001 From: Dev Date: Tue, 18 Jul 2023 16:59:04 +0100 Subject: [PATCH] Update types --- .../types/callbacks/GameCallbacks.d.ts | 3 +- .../types/callbacks/MatchCallbacks.d.ts | 2 + .../types/controllers/GameController.d.ts | 1 + .../types/controllers/MatchController.d.ts | 2 +- .../types/generators/BotLevelGenerator.d.ts | 4 +- .../types/generators/LootGenerator.d.ts | 6 +- .../generators/RagfairAssortGenerator.d.ts | 6 +- .../generators/ScavCaseRewardGenerator.d.ts | 3 +- .../types/helpers/HealthHelper.d.ts | 4 +- .../types/helpers/PresetHelper.d.ts | 12 +- .../types/helpers/ProfileHelper.d.ts | 4 + .../types/models/eft/common/IGlobals.d.ts | 924 +++++++++--------- .../models/eft/common/ILocationBase.d.ts | 24 +- .../types/models/eft/common/ILooseLoot.d.ts | 12 +- .../types/models/eft/common/Ixyz.d.ts | 5 + .../eft/common/tables/ICustomizationItem.d.ts | 10 +- .../models/eft/common/tables/ILootBase.d.ts | 18 +- .../models/eft/common/tables/IQuest.d.ts | 9 +- .../eft/common/tables/ITemplateItem.d.ts | 28 +- .../IGetMailDialogViewResponseData.d.ts | 4 +- .../eft/ragfair/IGetItemPriceResult.d.ts | 5 +- .../types/models/enums/QuestRewardType.d.ts | 4 +- .../types/models/enums/QuestTypeEnum.d.ts | 15 + .../models/spt/config/IAirdropConfig.d.ts | 20 +- .../types/models/spt/config/IBotConfig.d.ts | 19 +- .../models/spt/config/IInRaidConfig.d.ts | 6 + .../models/spt/config/IInsuranceConfig.d.ts | 6 + .../models/spt/config/IInventoryConfig.d.ts | 2 + .../models/spt/config/ILocationConfig.d.ts | 14 + .../models/spt/config/ILostOnDeathConfig.d.ts | 3 + .../types/models/spt/config/IPmcConfig.d.ts | 12 +- .../models/spt/config/IRagfairConfig.d.ts | 8 +- .../models/spt/config/ITraderConfig.d.ts | 1 + .../models/spt/services/CustomPreset.d.ts | 4 +- .../types/services/FenceService.d.ts | 6 +- .../types/services/RagfairPriceService.d.ts | 6 +- .../types/services/SeasonalEventService.d.ts | 4 +- 37 files changed, 650 insertions(+), 566 deletions(-) create mode 100644 TypeScript/13AddTrader/types/models/eft/common/Ixyz.d.ts create mode 100644 TypeScript/13AddTrader/types/models/enums/QuestTypeEnum.d.ts diff --git a/TypeScript/13AddTrader/types/callbacks/GameCallbacks.d.ts b/TypeScript/13AddTrader/types/callbacks/GameCallbacks.d.ts index edda2ee..aa80036 100644 --- a/TypeScript/13AddTrader/types/callbacks/GameCallbacks.d.ts +++ b/TypeScript/13AddTrader/types/callbacks/GameCallbacks.d.ts @@ -1,6 +1,7 @@ import { GameController } from "../controllers/GameController"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { ICheckVersionResponse } from "../models/eft/game/ICheckVersionResponse"; +import { ICurrentGroupResponse } from "../models/eft/game/ICurrentGroupResponse"; import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData"; import { IGameKeepAliveResponse } from "../models/eft/game/IGameKeepAliveResponse"; @@ -48,7 +49,7 @@ declare class GameCallbacks { /** * Handle client/match/group/current */ - getCurrentGroup(url: string, info: IEmptyRequestData, sessionID: string): any; + getCurrentGroup(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; /** * Handle client/checkVersion */ diff --git a/TypeScript/13AddTrader/types/callbacks/MatchCallbacks.d.ts b/TypeScript/13AddTrader/types/callbacks/MatchCallbacks.d.ts index bc27c16..0ed7d37 100644 --- a/TypeScript/13AddTrader/types/callbacks/MatchCallbacks.d.ts +++ b/TypeScript/13AddTrader/types/callbacks/MatchCallbacks.d.ts @@ -44,6 +44,7 @@ export declare class MatchCallbacks { transferGroup(url: string, info: ITransferGroupRequest, sessionID: string): IGetBodyResponseData; /** Handle client/match/group/invite/cancel-all */ cancelAllGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + /** @deprecated - not called on raid start/end or game start/exit */ putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData; /** Handle raid/profile/list */ getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData; @@ -53,6 +54,7 @@ export declare class MatchCallbacks { /** Handle client/getMetricsConfig */ getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData; /** + * @deprecated - not called on raid start/end or game start/exit * Handle client/match/group/status * @returns */ diff --git a/TypeScript/13AddTrader/types/controllers/GameController.d.ts b/TypeScript/13AddTrader/types/controllers/GameController.d.ts index 1bd3b42..c8f13ff 100644 --- a/TypeScript/13AddTrader/types/controllers/GameController.d.ts +++ b/TypeScript/13AddTrader/types/controllers/GameController.d.ts @@ -51,6 +51,7 @@ export declare class GameController { * Handle client/game/start */ gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void; + protected adjustMapBotLimits(): void; /** * Handle client/game/config */ diff --git a/TypeScript/13AddTrader/types/controllers/MatchController.d.ts b/TypeScript/13AddTrader/types/controllers/MatchController.d.ts index 6417701..1535ee6 100644 --- a/TypeScript/13AddTrader/types/controllers/MatchController.d.ts +++ b/TypeScript/13AddTrader/types/controllers/MatchController.d.ts @@ -60,7 +60,7 @@ export declare class MatchController { /** Handle client/match/offline/end */ endOfflineRaid(info: IEndOfflineRaidRequestData, sessionId: string): void; /** - * Is extract by car + * Was extract by car * @param extractName name of extract * @returns true if car extract */ diff --git a/TypeScript/13AddTrader/types/generators/BotLevelGenerator.d.ts b/TypeScript/13AddTrader/types/generators/BotLevelGenerator.d.ts index 751e6e6..56005a5 100644 --- a/TypeScript/13AddTrader/types/generators/BotLevelGenerator.d.ts +++ b/TypeScript/13AddTrader/types/generators/BotLevelGenerator.d.ts @@ -1,6 +1,6 @@ import { MinMax } from "../models/common/MinMax"; import { IRandomisedBotLevelResult } from "../models/eft/bot/IRandomisedBotLevelResult"; -import { ExpTable } from "../models/eft/common/IGlobals"; +import { IExpTable } from "../models/eft/common/IGlobals"; import { IBotBase } from "../models/eft/common/tables/IBotBase"; import { BotGenerationDetails } from "../models/spt/bots/BotGenerationDetails"; import { ILogger } from "../models/spt/utils/ILogger"; @@ -25,5 +25,5 @@ export declare class BotLevelGenerator { * @param relativeDeltaMax max delta above player level to go * @returns highest level possible for bot */ - protected getHighestRelativeBotLevel(playerLevel: number, relativeDeltaMax: number, levelDetails: MinMax, expTable: ExpTable[]): number; + protected getHighestRelativeBotLevel(playerLevel: number, relativeDeltaMax: number, levelDetails: MinMax, expTable: IExpTable[]): number; } diff --git a/TypeScript/13AddTrader/types/generators/LootGenerator.d.ts b/TypeScript/13AddTrader/types/generators/LootGenerator.d.ts index 30da765..fd7f2c2 100644 --- a/TypeScript/13AddTrader/types/generators/LootGenerator.d.ts +++ b/TypeScript/13AddTrader/types/generators/LootGenerator.d.ts @@ -2,7 +2,7 @@ import { InventoryHelper } from "../helpers/InventoryHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; -import { Preset } from "../models/eft/common/IGlobals"; +import { IPreset } from "../models/eft/common/IGlobals"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { AddItem } from "../models/eft/inventory/IAddItemRequestData"; import { ISealedAirdropContainerSettings, RewardDetails } from "../models/spt/config/IInventoryConfig"; @@ -71,7 +71,7 @@ export declare class LootGenerator { * @param result array to add found preset to * @returns true if preset was valid and added to pool */ - protected findAndAddRandomPresetToLoot(globalDefaultPresets: [string, Preset][], itemTypeCounts: Record, itemBlacklist: string[], result: LootItem[]): boolean; @@ -95,7 +95,7 @@ export declare class LootGenerator { * @param chosenWeaponPreset The weapon preset given to player as reward * @returns AddItem array */ - protected getSealedContainerWeaponModRewards(containerSettings: ISealedAirdropContainerSettings, linkedItemsToWeapon: ITemplateItem[], chosenWeaponPreset: Preset): AddItem[]; + protected getSealedContainerWeaponModRewards(containerSettings: ISealedAirdropContainerSettings, linkedItemsToWeapon: ITemplateItem[], chosenWeaponPreset: IPreset): AddItem[]; /** * Handle event-related loot containers - currently just the halloween jack-o-lanterns that give food rewards * @param rewardContainerDetails diff --git a/TypeScript/13AddTrader/types/generators/RagfairAssortGenerator.d.ts b/TypeScript/13AddTrader/types/generators/RagfairAssortGenerator.d.ts index 630e863..b26b6e1 100644 --- a/TypeScript/13AddTrader/types/generators/RagfairAssortGenerator.d.ts +++ b/TypeScript/13AddTrader/types/generators/RagfairAssortGenerator.d.ts @@ -1,5 +1,5 @@ import { ItemHelper } from "../helpers/ItemHelper"; -import { Preset } from "../models/eft/common/IGlobals"; +import { IPreset } from "../models/eft/common/IGlobals"; import { Item } from "../models/eft/common/tables/IItem"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ConfigServer } from "../servers/ConfigServer"; @@ -36,12 +36,12 @@ export declare class RagfairAssortGenerator { * Get presets from globals.json * @returns Preset object array */ - protected getPresets(): Preset[]; + protected getPresets(): IPreset[]; /** * Get default presets from globals.json * @returns Preset object array */ - protected getDefaultPresets(): Preset[]; + protected getDefaultPresets(): IPreset[]; /** * Create a base assort item and return it with populated values + 999999 stack count + unlimited count = true * @param tplId tplid to add to item diff --git a/TypeScript/13AddTrader/types/generators/ScavCaseRewardGenerator.d.ts b/TypeScript/13AddTrader/types/generators/ScavCaseRewardGenerator.d.ts index a7f4302..4ba1888 100644 --- a/TypeScript/13AddTrader/types/generators/ScavCaseRewardGenerator.d.ts +++ b/TypeScript/13AddTrader/types/generators/ScavCaseRewardGenerator.d.ts @@ -1,5 +1,6 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { Product } from "../models/eft/common/tables/IBotBase"; +import { Upd } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase"; import { IScavCaseConfig } from "../models/spt/config/IScavCaseConfig"; @@ -78,7 +79,7 @@ export declare class ScavCaseRewardGenerator { protected addStackCountToAmmoAndMoney(item: ITemplateItem, resultItem: { _id: string; _tpl: string; - upd: any; + upd: Upd; }, rarity: string): void; /** * diff --git a/TypeScript/13AddTrader/types/helpers/HealthHelper.d.ts b/TypeScript/13AddTrader/types/helpers/HealthHelper.d.ts index 7a6d41d..3694a6e 100644 --- a/TypeScript/13AddTrader/types/helpers/HealthHelper.d.ts +++ b/TypeScript/13AddTrader/types/helpers/HealthHelper.d.ts @@ -53,5 +53,7 @@ export declare class HealthHelper { * @param duration How long the effect has left in seconds (-1 by default, no duration). */ protected addEffect(pmcData: IPmcData, effectBodyPart: string, effectType: string, duration?: number): void; - protected isEmpty(map: any): boolean; + protected isEmpty(map: Record): boolean; } diff --git a/TypeScript/13AddTrader/types/helpers/PresetHelper.d.ts b/TypeScript/13AddTrader/types/helpers/PresetHelper.d.ts index cea210e..8f84625 100644 --- a/TypeScript/13AddTrader/types/helpers/PresetHelper.d.ts +++ b/TypeScript/13AddTrader/types/helpers/PresetHelper.d.ts @@ -1,18 +1,18 @@ -import { Preset } from "../models/eft/common/IGlobals"; +import { IPreset } from "../models/eft/common/IGlobals"; import { DatabaseServer } from "../servers/DatabaseServer"; import { JsonUtil } from "../utils/JsonUtil"; export declare class PresetHelper { protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; protected lookup: Record; - protected defaultPresets: Record; + protected defaultPresets: Record; constructor(jsonUtil: JsonUtil, databaseServer: DatabaseServer); hydratePresetStore(input: Record): void; - getDefaultPresets(): Record; + getDefaultPresets(): Record; isPreset(id: string): boolean; hasPreset(templateId: string): boolean; - getPreset(id: string): Preset; - getPresets(templateId: string): Preset[]; - getDefaultPreset(templateId: string): Preset; + getPreset(id: string): IPreset; + getPresets(templateId: string): IPreset[]; + getDefaultPreset(templateId: string): IPreset; getBaseItemTpl(presetId: string): string; } diff --git a/TypeScript/13AddTrader/types/helpers/ProfileHelper.d.ts b/TypeScript/13AddTrader/types/helpers/ProfileHelper.d.ts index 91e71ae..26bd7e9 100644 --- a/TypeScript/13AddTrader/types/helpers/ProfileHelper.d.ts +++ b/TypeScript/13AddTrader/types/helpers/ProfileHelper.d.ts @@ -68,6 +68,10 @@ export declare class ProfileHelper { getFullProfile(sessionID: string): IAkiProfile; getPmcProfile(sessionID: string): IPmcData; getScavProfile(sessionID: string): IPmcData; + /** + * Get baseline counter values for a fresh profile + * @returns Stats + */ getDefaultCounters(): Stats; protected isWiped(sessionID: string): boolean; protected getServerVersion(): string; diff --git a/TypeScript/13AddTrader/types/models/eft/common/IGlobals.d.ts b/TypeScript/13AddTrader/types/models/eft/common/IGlobals.d.ts index def7fcb..19321db 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/IGlobals.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/IGlobals.d.ts @@ -1,21 +1,22 @@ +import { Ixyz } from "./Ixyz"; import { Item } from "./tables/IItem"; export interface IGlobals { time: number; - config: Config; - bot_presets: BotPreset[]; + config: IConfig; + bot_presets: IBotPreset[]; AudioSettings: IAudioSettings; - BotWeaponScatterings: BotWeaponScattering[]; - ItemPresets: Record; + BotWeaponScatterings: IBotWeaponScattering[]; + ItemPresets: Record; } -export interface Config { - content: Content; +export interface IConfig { + content: IContent; AimPunchMagnitude: number; WeaponSkillProgressRate: number; SkillAtrophy: boolean; - exp: Exp; + exp: IExp; t_base_looting: number; t_base_lockpicking: number; - armor: Armor; + armor: IArmor; SessionsToShowHotKeys: number; MaxBotsAliveOnMap: number; SavagePlayCooldown: number; @@ -23,7 +24,7 @@ export interface Config { MarksmanAccuracy: number; SavagePlayCooldownDevelop: number; TODSkyDate: string; - Mastering: Mastering[]; + Mastering: IMastering[]; GlobalItemPriceModifier: number; TradingUnlimitedItems: boolean; MaxLoyaltyLevelForAll: boolean; @@ -37,30 +38,30 @@ export interface Config { BaseLoadTime: number; BaseUnloadTime: number; BaseCheckTime: number; - Customization: Customization; + Customization: ICustomization; UncheckOnShot: boolean; BotsEnabled: boolean; BufferZone: IBufferZone; - ArmorMaterials: ArmorMaterials; + ArmorMaterials: IArmorMaterials; LegsOverdamage: number; HandsOverdamage: number; StomachOverdamage: number; - Health: Health; - rating: Rating; - tournament: Tournament; - RagFair: RagFair; - handbook: Handbook; - FractureCausedByFalling: Probability; - FractureCausedByBulletHit: Probability; + Health: IHealth; + rating: IRating; + tournament: ITournament; + RagFair: IRagFair; + handbook: IHandbook; + FractureCausedByFalling: IProbability; + FractureCausedByBulletHit: IProbability; WAVE_COEF_LOW: number; WAVE_COEF_MID: number; WAVE_COEF_HIGH: number; WAVE_COEF_HORDE: number; - Stamina: Stamina; - StaminaRestoration: StaminaRestoration; - StaminaDrain: StaminaDrain; - RequirementReferences: RequirementReferences; - RestrictionsInRaid: RestrictionsInRaid[]; + Stamina: IStamina; + StaminaRestoration: IStaminaRestoration; + StaminaDrain: IStaminaDrain; + RequirementReferences: IRequirementReferences; + RestrictionsInRaid: IRestrictionsInRaid[]; SkillMinEffectiveness: number; SkillFatiguePerPoint: number; SkillFreshEffectiveness: number; @@ -69,25 +70,25 @@ export interface Config { SkillFatigueReset: number; DiscardLimitsEnabled: boolean; EventType: string[]; - WalkSpeed: xyz; - SprintSpeed: xyz; + WalkSpeed: Ixyz; + SprintSpeed: Ixyz; SquadSettings: ISquadSettings; SkillEnduranceWeightThreshold: number; TeamSearchingTimeout: number; - Insurance: Insurance; + Insurance: IInsurance; SkillExpPerLevel: number; GameSearchingTimeout: number; - WallContusionAbsorption: xyz; - SkillsSettings: SkillsSettings; + WallContusionAbsorption: Ixyz; + SkillsSettings: ISkillsSettings; AzimuthPanelShowsPlayerOrientation: boolean; - Aiming: Aiming; - Malfunction: Malfunction; - Overheat: Overheat; - FenceSettings: FenceSettings; + Aiming: IAiming; + Malfunction: IMalfunction; + Overheat: IOverheat; + FenceSettings: IFenceSettings; TestValue: number; - Inertia: Inertia; - Ballistic: Ballistic; - RepairSettings: RepairSettings; + Inertia: IInertia; + Ballistic: IBallistic; + RepairSettings: IRepairSettings; } export interface IBufferZone { CustomerAccessTime: number; @@ -105,27 +106,27 @@ export interface IBuyoutRestrictions { MinFoodDrinkResource: number; MinMedsResource: number; } -export interface Content { +export interface IContent { ip: string; port: number; root: string; } -export interface Exp { - heal: Heal; - match_end: MatchEnd; - kill: Kill; - level: Level; - loot_attempts: LootAttempt[]; +export interface IExp { + heal: IHeal; + match_end: IMatchEnd; + kill: IKill; + level: ILevel; + loot_attempts: ILootAttempt[]; expForLockedDoorOpen: number; expForLockedDoorBreach: number; triggerMult: number; } -export interface Heal { +export interface IHeal { expForHeal: number; expForHydration: number; expForEnergy: number; } -export interface MatchEnd { +export interface IMatchEnd { README: string; survived_exp_requirement: number; survived_seconds_requirement: number; @@ -138,8 +139,8 @@ export interface MatchEnd { runnerMult: number; killedMult: number; } -export interface Kill { - combo: Combo[]; +export interface IKill { + combo: ICombo[]; victimLevelExp: number; headShotMult: number; expOnDamageAllHealth: number; @@ -147,166 +148,166 @@ export interface Kill { bloodLossToLitre: number; victimBotLevelExp: number; } -export interface Combo { +export interface ICombo { percent: number; } -export interface Level { - exp_table: ExpTable[]; +export interface ILevel { + exp_table: IExpTable[]; trade_level: number; savage_level: number; clan_level: number; mastering1: number; mastering2: number; } -export interface ExpTable { +export interface IExpTable { exp: number; } -export interface LootAttempt { +export interface ILootAttempt { k_exp: number; } -export interface Armor { - class: Class[]; +export interface IArmor { + class: IClass[]; } -export interface Class { +export interface IClass { resistance: number; } -export interface Mastering { +export interface IMastering { Name: string; Templates: string[]; Level2: number; Level3: number; } -export interface Customization { - SavageHead: SavageHead; - SavageBody: SavageBody; - SavageFeet: SavageFeet; - CustomizationVoice: CustomizationVoice[]; - BodyParts: BodyParts; +export interface ICustomization { + SavageHead: ISavageHead; + SavageBody: ISavageBody; + SavageFeet: ISavageFeet; + CustomizationVoice: ICustomizationVoice[]; + BodyParts: IBodyParts; } -export interface SavageHead { - wild_head_1: WildHead; - wild_head_2: WildHead; - wild_head_3: WildHead; - Wild_Dealmaker_head: WildHead; - Wild_Killa_head: WildHead; - bear_head: WildHead; - bear_head_1: WildHead; - usec_head_1: WildHead; - Head_BOSS_Glukhar: WildHead; - Wild_Head_nonMesh: WildHead; - Head_BOSS_Sanitar: WildHead; - wild_head_drozd: WildHead; - wild_head_misha: WildHead; - head_cultist_01: WildHead; - head_cultist_02: WildHead; - head_cultist_03: WildHead; - DefaultUsecHead: WildHead; - usec_head_3: WildHead; - usec_head_4: WildHead; - usec_head_5: WildHead; +export interface ISavageHead { + wild_head_1: IWildHead; + wild_head_2: IWildHead; + wild_head_3: IWildHead; + Wild_Dealmaker_head: IWildHead; + Wild_Killa_head: IWildHead; + bear_head: IWildHead; + bear_head_1: IWildHead; + usec_head_1: IWildHead; + Head_BOSS_Glukhar: IWildHead; + Wild_Head_nonMesh: IWildHead; + Head_BOSS_Sanitar: IWildHead; + wild_head_drozd: IWildHead; + wild_head_misha: IWildHead; + head_cultist_01: IWildHead; + head_cultist_02: IWildHead; + head_cultist_03: IWildHead; + DefaultUsecHead: IWildHead; + usec_head_3: IWildHead; + usec_head_4: IWildHead; + usec_head_5: IWildHead; } -export interface WildHead { +export interface IWildHead { head: string; isNotRandom: boolean; NotRandom: boolean; } -export interface SavageBody { - wild_body: WildBody; - wild_body_1: WildBody; - wild_body_2: WildBody; - wild_body_3: WildBody; - Wild_Dealmaker_body: WildBody; - wild_security_body_1: WildBody; - wild_security_body_2: WildBody; - wild_Killa_body: WildBody; - wild_pmcBot_body: WildBody; - wild_Shturman_body: WildBody; - wild_Gluhar_body: WildBody; - Tshirt_security_TshirtTatu_01: WildBody; - Tshirt_security_TshirtTatu_02: WildBody; - Top_security_Husky: WildBody; - Top_security_Gorka4: WildBody; - scav_kit_upper_meteor: WildBody; - wild_body_russia1: WildBody; - Top_BOSS_Sanitar: WildBody; - wild_body_motocross: WildBody; - top_cultist_01: WildBody; - top_cultist_02: WildBody; - wild_body_rainparka: WildBody; - wild_body_underarmour: WildBody; - top_boss_tagilla: WildBody; - DefaultUsecBody: WildBody; - usec_upper_acu: WildBody; - usec_upper_commando: WildBody; - usec_upper_aggressor: WildBody; - usec_upper_hoody: WildBody; - usec_upper_pcuironsight: WildBody; - usec_top_beltstaff: WildBody; - usec_upper_flexion: WildBody; - usec_upper_tier3: WildBody; - usec_upper_pcsmulticam: WildBody; - usec_upper_tier_2: WildBody; - usec_upper_infiltrator: WildBody; - user_upper_NightPatrol: WildBody; - wild_body_bomber: WildBody; - wild_top_yellowcoat: WildBody; +export interface ISavageBody { + wild_body: IWildBody; + wild_body_1: IWildBody; + wild_body_2: IWildBody; + wild_body_3: IWildBody; + Wild_Dealmaker_body: IWildBody; + wild_security_body_1: IWildBody; + wild_security_body_2: IWildBody; + wild_Killa_body: IWildBody; + wild_pmcBot_body: IWildBody; + wild_Shturman_body: IWildBody; + wild_Gluhar_body: IWildBody; + Tshirt_security_TshirtTatu_01: IWildBody; + Tshirt_security_TshirtTatu_02: IWildBody; + Top_security_Husky: IWildBody; + Top_security_Gorka4: IWildBody; + scav_kit_upper_meteor: IWildBody; + wild_body_russia1: IWildBody; + Top_BOSS_Sanitar: IWildBody; + wild_body_motocross: IWildBody; + top_cultist_01: IWildBody; + top_cultist_02: IWildBody; + wild_body_rainparka: IWildBody; + wild_body_underarmour: IWildBody; + top_boss_tagilla: IWildBody; + DefaultUsecBody: IWildBody; + usec_upper_acu: IWildBody; + usec_upper_commando: IWildBody; + usec_upper_aggressor: IWildBody; + usec_upper_hoody: IWildBody; + usec_upper_pcuironsight: IWildBody; + usec_top_beltstaff: IWildBody; + usec_upper_flexion: IWildBody; + usec_upper_tier3: IWildBody; + usec_upper_pcsmulticam: IWildBody; + usec_upper_tier_2: IWildBody; + usec_upper_infiltrator: IWildBody; + user_upper_NightPatrol: IWildBody; + wild_body_bomber: IWildBody; + wild_top_yellowcoat: IWildBody; } -export interface WildBody { +export interface IWildBody { body: string; hands: string; isNotRandom: boolean; } -export interface SavageFeet { - wild_feet: WildFeet; - wild_feet_1: WildFeet; - wild_feet_2: WildFeet; - Wild_Dealmaker_feet: WildFeet; - wild_security_feet_1: WildFeet; - Wild_Killa_feet: WildFeet; - wild_pmcBot_feet: WildFeet; - Pants_BOSS_Glukhar: WildFeet; - Pants_BOSS_Shturman: WildFeet; - Pants_security_Gorka4: WildFeet; - Pants_security_Flora: WildFeet; - scav_kit_lower_sklon: WildFeet; - Pants_BOSS_Sanitar: WildFeet; - wild_feet_sweatpants: WildFeet; - wild_feet_wasatch: WildFeet; - wild_feet_slimPants: WildFeet; - pants_cultist_01: WildFeet; - pants_cultist_02: WildFeet; - wild_feet_scavelite_taclite: WildFeet; - pants_boss_tagilla: WildFeet; - wild_feet_bomber: WildFeet; - wild_pants_yellowcoat: WildFeet; +export interface ISavageFeet { + wild_feet: IWildFeet; + wild_feet_1: IWildFeet; + wild_feet_2: IWildFeet; + Wild_Dealmaker_feet: IWildFeet; + wild_security_feet_1: IWildFeet; + Wild_Killa_feet: IWildFeet; + wild_pmcBot_feet: IWildFeet; + Pants_BOSS_Glukhar: IWildFeet; + Pants_BOSS_Shturman: IWildFeet; + Pants_security_Gorka4: IWildFeet; + Pants_security_Flora: IWildFeet; + scav_kit_lower_sklon: IWildFeet; + Pants_BOSS_Sanitar: IWildFeet; + wild_feet_sweatpants: IWildFeet; + wild_feet_wasatch: IWildFeet; + wild_feet_slimPants: IWildFeet; + pants_cultist_01: IWildFeet; + pants_cultist_02: IWildFeet; + wild_feet_scavelite_taclite: IWildFeet; + pants_boss_tagilla: IWildFeet; + wild_feet_bomber: IWildFeet; + wild_pants_yellowcoat: IWildFeet; } -export interface WildFeet { +export interface IWildFeet { feet: string; isNotRandom: boolean; NotRandom: boolean; } -export interface CustomizationVoice { +export interface ICustomizationVoice { voice: string; side: string[]; isNotRandom: boolean; } -export interface BodyParts { +export interface IBodyParts { Head: string; Body: string; Feet: string; Hands: string; } -export interface ArmorMaterials { - UHMWPE: ArmorType; - Aramid: ArmorType; - Combined: ArmorType; - Titan: ArmorType; - Aluminium: ArmorType; - ArmoredSteel: ArmorType; - Ceramic: ArmorType; - Glass: ArmorType; +export interface IArmorMaterials { + UHMWPE: IArmorType; + Aramid: IArmorType; + Combined: IArmorType; + Titan: IArmorType; + Aluminium: IArmorType; + ArmoredSteel: IArmorType; + Ceramic: IArmorType; + Glass: IArmorType; } -export interface ArmorType { +export interface IArmorType { Destructibility: number; MinRepairDegradation: number; MaxRepairDegradation: number; @@ -314,46 +315,46 @@ export interface ArmorType { MinRepairKitDegradation: number; MaxRepairKitDegradation: number; } -export interface Health { - Falling: Falling; - Effects: Effects; - HealPrice: HealPrice; - ProfileHealthSettings: ProfileHealthSettings; +export interface IHealth { + Falling: IFalling; + Effects: IEffects; + HealPrice: IHealPrice; + ProfileHealthSettings: IProfileHealthSettings; } -export interface Falling { +export interface IFalling { DamagePerMeter: number; SafeHeight: number; } -export interface Effects { - Existence: Existence; - Dehydration: Dehydration; - BreakPart: BreakPart; - Contusion: Contusion; - Disorientation: Disorientation; - Exhaustion: Exhaustion; - LowEdgeHealth: LowEdgeHealth; - RadExposure: RadExposure; - Stun: Stun; +export interface IEffects { + Existence: IExistence; + Dehydration: IDehydration; + BreakPart: IBreakPart; + Contusion: IContusion; + Disorientation: IDisorientation; + Exhaustion: IExhaustion; + LowEdgeHealth: ILowEdgeHealth; + RadExposure: IRadExposure; + Stun: IStun; Intoxication: Intoxication; - Regeneration: Regeneration; - Wound: Wound; - Berserk: Berserk; - Flash: Flash; - MedEffect: MedEffect; - Pain: Pain; - PainKiller: PainKiller; - SandingScreen: SandingScreen; + Regeneration: IRegeneration; + Wound: IWound; + Berserk: IBerserk; + Flash: IFlash; + MedEffect: IMedEffect; + Pain: IPain; + PainKiller: IPainKiller; + SandingScreen: ISandingScreen; MildMusclePain: IMusclePainEffect; SevereMusclePain: IMusclePainEffect; - Stimulator: Stimulator; - Tremor: Tremor; - ChronicStaminaFatigue: ChronicStaminaFatigue; - Fracture: Fracture2; - HeavyBleeding: HeavyBleeding2; - LightBleeding: LightBleeding2; - BodyTemperature: BodyTemperature; + Stimulator: IStimulator; + Tremor: ITremor; + ChronicStaminaFatigue: IChronicStaminaFatigue; + Fracture: IFracture; + HeavyBleeding: IHeavyBleeding; + LightBleeding: ILightBleeding; + BodyTemperature: IBodyTemperature; } -export interface Existence { +export interface IExistence { EnergyLoopTime: number; HydrationLoopTime: number; EnergyDamage: number; @@ -361,7 +362,7 @@ export interface Existence { DestroyedStomachEnergyTimeFactor: number; DestroyedStomachHydrationTimeFactor: number; } -export interface Dehydration { +export interface IDehydration { DefaultDelay: number; DefaultResidueTime: number; BleedingHealth: number; @@ -370,7 +371,7 @@ export interface Dehydration { DamageOnStrongDehydration: number; StrongDehydrationLoopTime: number; } -export interface BreakPart { +export interface IBreakPart { DefaultDelay: number; DefaultResidueTime: number; HealExperience: number; @@ -378,31 +379,31 @@ export interface BreakPart { OfflineDurationMax: number; RemovePrice: number; RemovedAfterDeath: boolean; - BulletHitProbability: Probability; - FallingProbability: Probability; + BulletHitProbability: IProbability; + FallingProbability: IProbability; } -export interface Contusion { +export interface IContusion { Dummy: number; } -export interface Disorientation { +export interface IDisorientation { Dummy: number; } -export interface Exhaustion { +export interface IExhaustion { DefaultDelay: number; DefaultResidueTime: number; Damage: number; DamageLoopTime: number; } -export interface LowEdgeHealth { +export interface ILowEdgeHealth { DefaultDelay: number; DefaultResidueTime: number; StartCommonHealth: number; } -export interface RadExposure { +export interface IRadExposure { Damage: number; DamageLoopTime: number; } -export interface Stun { +export interface IStun { Dummy: number; } export interface Intoxication { @@ -416,52 +417,52 @@ export interface Intoxication { HealExperience: number; RemovePrice: number; } -export interface Regeneration { +export interface IRegeneration { LoopTime: number; MinimumHealthPercentage: number; Energy: number; Hydration: number; - BodyHealth: BodyHealth; - Influences: Influences; + BodyHealth: IBodyHealth; + Influences: IInfluences; } -export interface BodyHealth { - Head: BodyHealthValue; - Chest: BodyHealthValue; - Stomach: BodyHealthValue; - LeftArm: BodyHealthValue; - RightArm: BodyHealthValue; - LeftLeg: BodyHealthValue; - RightLeg: BodyHealthValue; +export interface IBodyHealth { + Head: IBodyHealthValue; + Chest: IBodyHealthValue; + Stomach: IBodyHealthValue; + LeftArm: IBodyHealthValue; + RightArm: IBodyHealthValue; + LeftLeg: IBodyHealthValue; + RightLeg: IBodyHealthValue; } -export interface BodyHealthValue { +export interface IBodyHealthValue { Value: number; } -export interface Influences { - LightBleeding: Influence; - HeavyBleeding: Influence; - Fracture: Influence; - RadExposure: Influence; - Intoxication: Influence; +export interface IInfluences { + LightBleeding: IInfluence; + HeavyBleeding: IInfluence; + Fracture: IInfluence; + RadExposure: IInfluence; + Intoxication: IInfluence; } -export interface Influence { +export interface IInfluence { HealthSlowDownPercentage: number; EnergySlowDownPercentage: number; HydrationSlowDownPercentage: number; } -export interface Wound { +export interface IWound { WorkingTime: number; ThresholdMin: number; ThresholdMax: number; } -export interface Berserk { +export interface IBerserk { DefaultDelay: number; WorkingTime: number; DefaultResidueTime: number; } -export interface Flash { +export interface IFlash { Dummy: number; } -export interface MedEffect { +export interface IMedEffect { LoopTime: number; StartDelay: number; DrinkStartDelay: number; @@ -471,14 +472,14 @@ export interface MedEffect { MedicalStartDelay: number; StimulatorStartDelay: number; } -export interface Pain { +export interface IPain { TremorDelay: number; HealExperience: number; } -export interface PainKiller { +export interface IPainKiller { Dummy: number; } -export interface SandingScreen { +export interface ISandingScreen { Dummy: number; } export interface IMusclePainEffect { @@ -487,54 +488,54 @@ export interface IMusclePainEffect { OfflineDurationMin: number; TraumaChance: number; } -export interface Stimulator { +export interface IStimulator { BuffLoopTime: number; - Buffs: Buffs; + Buffs: IBuffs; } -export interface Buffs { - BuffsSJ1TGLabs: Buff[]; - BuffsSJ6TGLabs: Buff[]; - BuffsPropital: Buff[]; - BuffsZagustin: Buff[]; - BuffseTGchange: Buff[]; - BuffsAdrenaline: Buff[]; - BuffsGoldenStarBalm: Buff[]; - Buffs_drink_aquamari: Buff[]; - Buffs_drink_maxenergy: Buff[]; - Buffs_drink_milk: Buff[]; - Buffs_drink_tarcola: Buff[]; - Buffs_drink_hotrod: Buff[]; - Buffs_drink_juice_army: Buff[]; - Buffs_drink_water: Buff[]; - Buffs_food_borodinskiye: Buff[]; - Buffs_food_condensed_milk: Buff[]; - Buffs_food_emelya: Buff[]; - Buffs_food_mayonez: Buff[]; - Buffs_food_mre: Buff[]; - Buffs_food_sugar: Buff[]; - Buffs_drink_vodka: Buff[]; - Buffs_drink_jack: Buff[]; - Buffs_drink_moonshine: Buff[]; - Buffs_drink_purewater: Buff[]; - Buffs_3bTG: Buff[]; - Buffs_AHF1M: Buff[]; - Buffs_L1: Buff[]; - Buffs_MULE: Buff[]; - Buffs_Meldonin: Buff[]; - Buffs_Obdolbos: Buff[]; - Buffs_P22: Buff[]; - Buffs_KultistsToxin: Buff[]; - Buffs_BodyTemperature: Buff[]; - Buffs_Antidote: Buff[]; - Buffs_melee_bleed: Buff[]; - Buffs_melee_blunt: Buff[]; - Buffs_hultafors: Buff[]; - Buffs_drink_vodka_BAD: Buff[]; - Buffs_food_alyonka: Buff[]; - Buffs_food_slippers: Buff[]; - Buffs_knife: Buff[]; +export interface IBuffs { + BuffsSJ1TGLabs: IBuff[]; + BuffsSJ6TGLabs: IBuff[]; + BuffsPropital: IBuff[]; + BuffsZagustin: IBuff[]; + BuffseTGchange: IBuff[]; + BuffsAdrenaline: IBuff[]; + BuffsGoldenStarBalm: IBuff[]; + Buffs_drink_aquamari: IBuff[]; + Buffs_drink_maxenergy: IBuff[]; + Buffs_drink_milk: IBuff[]; + Buffs_drink_tarcola: IBuff[]; + Buffs_drink_hotrod: IBuff[]; + Buffs_drink_juice_army: IBuff[]; + Buffs_drink_water: IBuff[]; + Buffs_food_borodinskiye: IBuff[]; + Buffs_food_condensed_milk: IBuff[]; + Buffs_food_emelya: IBuff[]; + Buffs_food_mayonez: IBuff[]; + Buffs_food_mre: IBuff[]; + Buffs_food_sugar: IBuff[]; + Buffs_drink_vodka: IBuff[]; + Buffs_drink_jack: IBuff[]; + Buffs_drink_moonshine: IBuff[]; + Buffs_drink_purewater: IBuff[]; + Buffs_3bTG: IBuff[]; + Buffs_AHF1M: IBuff[]; + Buffs_L1: IBuff[]; + Buffs_MULE: IBuff[]; + Buffs_Meldonin: IBuff[]; + Buffs_Obdolbos: IBuff[]; + Buffs_P22: IBuff[]; + Buffs_KultistsToxin: IBuff[]; + Buffs_BodyTemperature: IBuff[]; + Buffs_Antidote: IBuff[]; + Buffs_melee_bleed: IBuff[]; + Buffs_melee_blunt: IBuff[]; + Buffs_hultafors: IBuff[]; + Buffs_drink_vodka_BAD: IBuff[]; + Buffs_food_alyonka: IBuff[]; + Buffs_food_slippers: IBuff[]; + Buffs_knife: IBuff[]; } -export interface Buff { +export interface IBuff { BuffType: string; Chance: number; Delay: number; @@ -543,17 +544,17 @@ export interface Buff { AbsoluteValue: boolean; SkillName: string; } -export interface Tremor { +export interface ITremor { DefaultDelay: number; DefaultResidueTime: number; } -export interface ChronicStaminaFatigue { +export interface IChronicStaminaFatigue { EnergyRate: number; WorkingTime: number; TicksEvery: number; EnergyRatePerStack: number; } -export interface Fracture2 { +export interface IFracture { DefaultDelay: number; DefaultResidueTime: number; HealExperience: number; @@ -561,10 +562,10 @@ export interface Fracture2 { OfflineDurationMax: number; RemovePrice: number; RemovedAfterDeath: boolean; - BulletHitProbability: Probability; - FallingProbability: Probability; + BulletHitProbability: IProbability; + FallingProbability: IProbability; } -export interface HeavyBleeding2 { +export interface IHeavyBleeding { DefaultDelay: number; DefaultResidueTime: number; DamageEnergy: number; @@ -580,15 +581,15 @@ export interface HeavyBleeding2 { OfflineDurationMax: number; RemovePrice: number; RemovedAfterDeath: boolean; - Probability: Probability; + Probability: IProbability; } -export interface Probability { +export interface IProbability { FunctionType: string; K: number; B: number; Threshold: number; } -export interface LightBleeding2 { +export interface ILightBleeding { DefaultDelay: number; DefaultResidueTime: number; DamageEnergy: number; @@ -604,58 +605,58 @@ export interface LightBleeding2 { OfflineDurationMax: number; RemovePrice: number; RemovedAfterDeath: boolean; - Probability: Probability; + Probability: IProbability; } -export interface BodyTemperature { +export interface IBodyTemperature { DefaultBuildUpTime: number; DefaultResidueTime: number; LoopTime: number; } -export interface HealPrice { +export interface IHealPrice { HealthPointPrice: number; HydrationPointPrice: number; EnergyPointPrice: number; TrialLevels: number; TrialRaids: number; } -export interface ProfileHealthSettings { - BodyPartsSettings: BodyPartsSettings; - HealthFactorsSettings: HealthFactorsSettings; +export interface IProfileHealthSettings { + BodyPartsSettings: IBodyPartsSettings; + HealthFactorsSettings: IHealthFactorsSettings; DefaultStimulatorBuff: string; } -export interface BodyPartsSettings { - Head: BodyPartsSetting; - Chest: BodyPartsSetting; - Stomach: BodyPartsSetting; - LeftArm: BodyPartsSetting; - RightArm: BodyPartsSetting; - LeftLeg: BodyPartsSetting; - RightLeg: BodyPartsSetting; +export interface IBodyPartsSettings { + Head: IBodyPartsSetting; + Chest: IBodyPartsSetting; + Stomach: IBodyPartsSetting; + LeftArm: IBodyPartsSetting; + RightArm: IBodyPartsSetting; + LeftLeg: IBodyPartsSetting; + RightLeg: IBodyPartsSetting; } -export interface BodyPartsSetting { +export interface IBodyPartsSetting { Minimum: number; Maximum: number; Default: number; OverDamageReceivedMultiplier: number; } -export interface HealthFactorsSettings { - Energy: HealthFactorSetting; - Hydration: HealthFactorSetting; - Temperature: HealthFactorSetting; - Poisoning: HealthFactorSetting; - Radiation: HealthFactorSetting; +export interface IHealthFactorsSettings { + Energy: IHealthFactorSetting; + Hydration: IHealthFactorSetting; + Temperature: IHealthFactorSetting; + Poisoning: IHealthFactorSetting; + Radiation: IHealthFactorSetting; } -export interface HealthFactorSetting { +export interface IHealthFactorSetting { Minimum: number; Maximum: number; Default: number; } -export interface Rating { +export interface IRating { levelRequired: number; limit: number; - categories: Categories; + categories: ICategories; } -export interface Categories { +export interface ICategories { experience: boolean; kd: boolean; surviveRatio: boolean; @@ -667,15 +668,15 @@ export interface Categories { inventoryFullCost: boolean; ragFairStanding: boolean; } -export interface Tournament { - categories: Categories2; +export interface ITournament { + categories: ITournamentCategories; limit: number; levelRequired: number; } -export interface Categories2 { +export interface ITournamentCategories { dogtags: boolean; } -export interface RagFair { +export interface IRagFair { enabled: boolean; priceStabilizerEnabled: boolean; includePveTraderSales: boolean; @@ -690,7 +691,7 @@ export interface RagFair { priorityTimeModifier: number; maxRenewOfferTimeInHour: number; renewPricePerHour: number; - maxActiveOfferCount: MaxActiveOfferCount[]; + maxActiveOfferCount: IMaxActiveOfferCount[]; balancerRemovePriceCoefficient: number; balancerMinPriceCount: number; balancerAveragePriceCoefficient: number; @@ -702,7 +703,7 @@ export interface RagFair { ratingDecreaseCount: number; maxSumForIncreaseRatingPerOneSale: number; maxSumForDecreaseRatingPerOneSale: number; - maxSumForRarity: MaxSumForRarity; + maxSumForRarity: IMaxSumForRarity; ChangePriceCoef: number; balancerUserItemSaleCooldownEnabled: boolean; balancerUserItemSaleCooldown: number; @@ -711,24 +712,24 @@ export interface RagFair { isOnlyFoundInRaidAllowed: boolean; sellInOnePiece: number; } -export interface MaxActiveOfferCount { +export interface IMaxActiveOfferCount { from: number; to: number; count: number; } -export interface MaxSumForRarity { - Common: RarityMaxSum; - Rare: RarityMaxSum; - Superrare: RarityMaxSum; - Not_exist: RarityMaxSum; +export interface IMaxSumForRarity { + Common: IRarityMaxSum; + Rare: IRarityMaxSum; + Superrare: IRarityMaxSum; + Not_exist: IRarityMaxSum; } -export interface RarityMaxSum { +export interface IRarityMaxSum { value: number; } -export interface Handbook { +export interface IHandbook { defaultCategory: string; } -export interface Stamina { +export interface IStamina { Capacity: number; SprintDrainRate: number; BaseRestorationRate: number; @@ -739,27 +740,27 @@ export interface Stamina { AimRangeFinderDrainRate: number; OxygenCapacity: number; OxygenRestoration: number; - WalkOverweightLimits: xyz; - BaseOverweightLimits: xyz; - SprintOverweightLimits: xyz; - WalkSpeedOverweightLimits: xyz; - CrouchConsumption: xyz; - WalkConsumption: xyz; - StandupConsumption: xyz; - TransitionSpeed: xyz; + WalkOverweightLimits: Ixyz; + BaseOverweightLimits: Ixyz; + SprintOverweightLimits: Ixyz; + WalkSpeedOverweightLimits: Ixyz; + CrouchConsumption: Ixyz; + WalkConsumption: Ixyz; + StandupConsumption: Ixyz; + TransitionSpeed: Ixyz; SprintAccelerationLowerLimit: number; SprintSpeedLowerLimit: number; SprintSensitivityLowerLimit: number; - AimConsumptionByPose: xyz; - RestorationMultiplierByPose: xyz; - OverweightConsumptionByPose: xyz; + AimConsumptionByPose: Ixyz; + RestorationMultiplierByPose: Ixyz; + OverweightConsumptionByPose: Ixyz; AimingSpeedMultiplier: number; WalkVisualEffectMultiplier: number; HandsCapacity: number; HandsRestoration: number; ProneConsumption: number; BaseHoldBreathConsumption: number; - SoundRadius: xyz; + SoundRadius: Ixyz; ExhaustedMeleeSpeed: number; FatigueRestorationRate: number; FatigueAmountToCreateEffect: number; @@ -770,12 +771,12 @@ export interface Stamina { StaminaExhaustionCausesJiggle: boolean; StaminaExhaustionStartsBreathSound: boolean; StaminaExhaustionRocksCamera: boolean; - HoldBreathStaminaMultiplier: xyz; - PoseLevelIncreaseSpeed: xyz; - PoseLevelDecreaseSpeed: xyz; - PoseLevelConsumptionPerNotch: xyz; + HoldBreathStaminaMultiplier: Ixyz; + PoseLevelIncreaseSpeed: Ixyz; + PoseLevelDecreaseSpeed: Ixyz; + PoseLevelConsumptionPerNotch: Ixyz; } -export interface StaminaRestoration { +export interface IStaminaRestoration { LowerLeftPoint: number; LowerRightPoint: number; LeftPlatoPoint: number; @@ -783,7 +784,7 @@ export interface StaminaRestoration { RightLimit: number; ZeroValue: number; } -export interface StaminaDrain { +export interface IStaminaDrain { LowerLeftPoint: number; LowerRightPoint: number; LeftPlatoPoint: number; @@ -791,17 +792,17 @@ export interface StaminaDrain { RightLimit: number; ZeroValue: number; } -export interface RequirementReferences { - Alpinist: Alpinist[]; +export interface IRequirementReferences { + Alpinist: IAlpinist[]; } -export interface Alpinist { +export interface IAlpinist { Requirement: string; Id: string; Count: number; RequiredSlot: string; RequirementTip: string; } -export interface RestrictionsInRaid { +export interface IRestrictionsInRaid { TemplateId: string; Value: number; } @@ -810,36 +811,36 @@ export interface ISquadSettings { SecondsForExpiredRequest: number; SendRequestDelaySeconds: number; } -export interface Insurance { +export interface IInsurance { MaxStorageTimeInHour: number; } -export interface SkillsSettings { +export interface ISkillsSettings { SkillProgressRate: number; WeaponSkillProgressRate: number; WeaponSkillRecoilBonusPerLevel: number; - HideoutManagement: HideoutManagement; - Crafting: Crafting; - Metabolism: Metabolism; + HideoutManagement: IHideoutManagement; + Crafting: ICrafting; + Metabolism: IMetabolism; Immunity: Immunity; - Endurance: Endurance; - Strength: Strength; - Vitality: Vitality; - Health: Health2; - StressResistance: StressResistance; - Throwing: Throwing; - RecoilControl: RecoilControl; - Pistol: WeaponSkills; - Revolver: WeaponSkills; + Endurance: IEndurance; + Strength: IStrength; + Vitality: IVitality; + Health: IHealthSkillProgress; + StressResistance: IStressResistance; + Throwing: IThrowing; + RecoilControl: IRecoilControl; + Pistol: IWeaponSkills; + Revolver: IWeaponSkills; SMG: any[]; - Assault: WeaponSkills; - Shotgun: WeaponSkills; - Sniper: WeaponSkills; + Assault: IWeaponSkills; + Shotgun: IWeaponSkills; + Sniper: IWeaponSkills; LMG: any[]; HMG: any[]; Launcher: any[]; AttachedLauncher: any[]; Melee: IMeleeSkill; - DMR: WeaponSkills; + DMR: IWeaponSkills; BearAssaultoperations: any[]; BearAuthority: any[]; BearAksystems: any[]; @@ -851,41 +852,41 @@ export interface SkillsSettings { UsecNegotiations: any[]; UsecTactics: any[]; BotReload: any[]; - CovertMovement: CovertMovement; + CovertMovement: ICovertMovement; FieldMedicine: any[]; - Search: Search; + Search: ISearch; Sniping: any[]; ProneMovement: any[]; FirstAid: any[]; - LightVests: ArmorSkills; - HeavyVests: ArmorSkills; + LightVests: IArmorSkills; + HeavyVests: IArmorSkills; WeaponModding: any[]; AdvancedModding: any[]; NightOps: any[]; SilentOps: any[]; Lockpicking: any[]; - WeaponTreatment: WeaponTreatment; - MagDrills: MagDrills; + WeaponTreatment: IWeaponTreatment; + MagDrills: IMagDrills; Freetrading: any[]; Auctions: any[]; Cleanoperations: any[]; Barter: any[]; Shadowconnections: any[]; Taskperformance: any[]; - Perception: Perception; + Perception: IPerception; Intellect: Intellect; - Attention: Attention; - Charisma: Charisma; - Memory: Memory; - Surgery: Surgery; - AimDrills: AimDrills; + Attention: IAttention; + Charisma: ICharisma; + Memory: IMemory; + Surgery: ISurgery; + AimDrills: IAimDrills; BotSound: any[]; - TroubleShooting: TroubleShooting; + TroubleShooting: ITroubleShooting; } export interface IMeleeSkill { BuffSettings: IBuffSettings; } -export interface ArmorSkills { +export interface IArmorSkills { BuffMaxCount: number; BuffSettings: IBuffSettings; Counters: IArmorCounters; @@ -901,35 +902,35 @@ export interface ArmorSkills { export interface IArmorCounters { armorDurability: ISkillCounter; } -export interface HideoutManagement { +export interface IHideoutManagement { SkillPointsPerAreaUpgrade: number; SkillPointsPerCraft: number; ConsumptionReductionPerLevel: number; SkillBoostPercent: number; - SkillPointsRate: SkillPointsRate; - EliteSlots: EliteSlots; + SkillPointsRate: ISkillPointsRate; + EliteSlots: IEliteSlots; } -export interface SkillPointsRate { - Generator: Generator; - AirFilteringUnit: SkillPointRate; - WaterCollector: SkillPointRate; - SolarPower: SkillPointRate; +export interface ISkillPointsRate { + Generator: ISkillPointRate; + AirFilteringUnit: ISkillPointRate; + WaterCollector: ISkillPointRate; + SolarPower: ISkillPointRate; } -export interface SkillPointRate { +export interface ISkillPointRate { ResourceSpent: number; PointsGained: number; } -export interface EliteSlots { - Generator: EliteSlot; - AirFilteringUnit: EliteSlot; - WaterCollector: EliteSlot; - BitcoinFarm: EliteSlot; +export interface IEliteSlots { + Generator: IEliteSlot; + AirFilteringUnit: IEliteSlot; + WaterCollector: IEliteSlot; + BitcoinFarm: IEliteSlot; } -export interface EliteSlot { +export interface IEliteSlot { Slots: number; Container: number; } -export interface Crafting { +export interface ICrafting { PointsPerCraftingCycle: number; CraftingCycleHours: number; PointsPerUniqueCraftCycle: number; @@ -939,7 +940,7 @@ export interface Crafting { EliteExtraProductions: number; CraftingPointsToInteligence: number; } -export interface Metabolism { +export interface IMetabolism { HydrationRecoveryRate: number; EnergyRecoveryRate: number; IncreasePositiveEffectDurationRate: number; @@ -953,14 +954,14 @@ export interface Immunity { HealthNegativeEffect: number; StimulatorNegativeBuff: number; } -export interface Endurance { +export interface IEndurance { MovementAction: number; SprintAction: number; GainPerFatigueStack: number; DependentSkillRatios: IDependentSkillRatio[]; QTELevelMultipliers: Record>; } -export interface Strength { +export interface IStrength { DependentSkillRatios: IDependentSkillRatio[]; SprintActionMin: number; SprintActionMax: number; @@ -980,38 +981,38 @@ export interface IQTELevelMultiplier { Level: number; Multiplier: number; } -export interface Vitality { +export interface IVitality { DamageTakenAction: number; HealthNegativeEffect: number; } -export interface Health2 { +export interface IHealthSkillProgress { SkillProgress: number; } -export interface StressResistance { +export interface IStressResistance { HealthNegativeEffect: number; LowHPDuration: number; } -export interface Throwing { +export interface IThrowing { ThrowAction: number; } -export interface RecoilControl { +export interface IRecoilControl { RecoilAction: number; RecoilBonusPerLevel: number; } -export interface WeaponSkills { +export interface IWeaponSkills { WeaponReloadAction: number; WeaponShotAction: number; WeaponFixAction: number; WeaponChamberAction: number; } -export interface CovertMovement { +export interface ICovertMovement { MovementAction: number; } -export interface Search { +export interface ISearch { SearchAction: number; FindAction: number; } -export interface WeaponTreatment { +export interface IWeaponTreatment { BuffMaxCount: number; BuffSettings: IBuffSettings; Counters: IWeaponTreatmentCounters; @@ -1032,12 +1033,12 @@ export interface IBuffSettings { RareBuffChanceCoff: number; ReceivedDurabilityMaxPercent: number; } -export interface MagDrills { +export interface IMagDrills { RaidLoadedAmmoAction: number; RaidUnloadedAmmoAction: number; MagazineCheckAction: number; } -export interface Perception { +export interface IPerception { DependentSkillRatios: ISkillRatio[]; OnlineAction: number; UniqueLoot: number; @@ -1064,13 +1065,13 @@ export interface ISkillCounter { divisor: number; points: number; } -export interface Attention { +export interface IAttention { DependentSkillRatios: ISkillRatio[]; ExamineWithInstruction: number; FindActionFalse: number; FindActionTrue: number; } -export interface Charisma { +export interface ICharisma { BonusSettings: IBonusSettings; Counters: ICharismaSkillCounters; SkillProgressInt: number; @@ -1101,26 +1102,26 @@ export interface ILevelBonusSettings { PaidExitDiscount: number; RepeatableQuestChangeDiscount: number; } -export interface Memory { +export interface IMemory { AnySkillUp: number; SkillProgress: number; } -export interface Surgery { +export interface ISurgery { SurgeryAction: number; SkillProgress: number; } -export interface AimDrills { +export interface IAimDrills { WeaponShotAction: number; } -export interface TroubleShooting { +export interface ITroubleShooting { MalfRepairSpeedBonusPerLevel: number; SkillPointsPerMalfFix: number; EliteDurabilityChanceReduceMult: number; EliteAmmoChanceReduceMult: number; EliteMagChanceReduceMult: number; } -export interface Aiming { - ProceduralIntensityByPose: xyz; +export interface IAiming { + ProceduralIntensityByPose: Ixyz; AimProceduralIntensity: number; HeavyWeight: number; LightWeight: number; @@ -1131,16 +1132,16 @@ export interface Aiming { RecoilScaling: number; RecoilDamping: number; CameraSnapGlobalMult: number; - RecoilXIntensityByPose: xyz; - RecoilYIntensityByPose: xyz; - RecoilZIntensityByPose: xyz; + RecoilXIntensityByPose: Ixyz; + RecoilYIntensityByPose: Ixyz; + RecoilZIntensityByPose: Ixyz; RecoilCrank: boolean; RecoilHandDamping: number; RecoilConvergenceMult: number; RecoilVertBonus: number; RecoilBackBonus: number; } -export interface Malfunction { +export interface IMalfunction { AmmoMalfChanceMult: number; MagazineMalfChanceMult: number; MalfRepairHardSlideMult: number; @@ -1151,7 +1152,7 @@ export interface Malfunction { OutToIdleSpeedMultForPistol: number; IdleToOutSpeedMultOnMalf: number; TimeToQuickdrawPistol: number; - DurRangeToIgnoreMalfs: xyz; + DurRangeToIgnoreMalfs: Ixyz; DurFeedWt: number; DurMisfireWt: number; DurJamWt: number; @@ -1167,7 +1168,7 @@ export interface Malfunction { OverheatHardSlideMinWt: number; OverheatHardSlideMaxWt: number; } -export interface Overheat { +export interface IOverheat { MinOverheat: number; MaxOverheat: number; OverheatProblemsStart: number; @@ -1197,12 +1198,12 @@ export interface Overheat { AutoshotPossibilityDuration: number; MaxOverheatCoolCoef: number; } -export interface FenceSettings { +export interface IFenceSettings { FenceId: string; - Levels: Record; + Levels: Record; paidExitStandingNumerator: number; } -export interface FenceLevel { +export interface IFenceLevel { SavageCooldownModifier: number; ScavCaseTimeModifier: number; PaidExitCostModifier: number; @@ -1215,55 +1216,50 @@ export interface FenceLevel { ExfiltrationPriceModifier: number; AvailableExits: number; } -export interface Inertia { - InertiaLimits: xyz; +export interface IInertia { + InertiaLimits: Ixyz; InertiaLimitsStep: number; - ExitMovementStateSpeedThreshold: xyz; - WalkInertia: xyz; + ExitMovementStateSpeedThreshold: Ixyz; + WalkInertia: Ixyz; FallThreshold: number; - SpeedLimitAfterFallMin: xyz; - SpeedLimitAfterFallMax: xyz; - SpeedLimitDurationMin: xyz; - SpeedLimitDurationMax: xyz; - SpeedInertiaAfterJump: xyz; + SpeedLimitAfterFallMin: Ixyz; + SpeedLimitAfterFallMax: Ixyz; + SpeedLimitDurationMin: Ixyz; + SpeedLimitDurationMax: Ixyz; + SpeedInertiaAfterJump: Ixyz; BaseJumpPenaltyDuration: number; DurationPower: number; BaseJumpPenalty: number; PenaltyPower: number; - InertiaTiltCurveMin: xyz; - InertiaTiltCurveMax: xyz; - InertiaBackwardCoef: xyz; - TiltInertiaMaxSpeed: xyz; - TiltStartSideBackSpeed: xyz; - TiltMaxSideBackSpeed: xyz; - TiltAcceleration: xyz; + InertiaTiltCurveMin: Ixyz; + InertiaTiltCurveMax: Ixyz; + InertiaBackwardCoef: Ixyz; + TiltInertiaMaxSpeed: Ixyz; + TiltStartSideBackSpeed: Ixyz; + TiltMaxSideBackSpeed: Ixyz; + TiltAcceleration: Ixyz; AverageRotationFrameSpan: number; - SprintSpeedInertiaCurveMin: xyz; - SprintSpeedInertiaCurveMax: xyz; - SprintBrakeInertia: xyz; - SprintTransitionMotionPreservation: xyz; - WeaponFlipSpeed: xyz; - PreSprintAccelerationLimits: xyz; - SprintAccelerationLimits: xyz; - SideTime: xyz; - DiagonalTime: xyz; - MaxTimeWithoutInput: xyz; + SprintSpeedInertiaCurveMin: Ixyz; + SprintSpeedInertiaCurveMax: Ixyz; + SprintBrakeInertia: Ixyz; + SprintTransitionMotionPreservation: Ixyz; + WeaponFlipSpeed: Ixyz; + PreSprintAccelerationLimits: Ixyz; + SprintAccelerationLimits: Ixyz; + SideTime: Ixyz; + DiagonalTime: Ixyz; + MaxTimeWithoutInput: Ixyz; MinDirectionBlendTime: number; - MoveTimeRange: xyz; - ProneDirectionAccelerationRange: xyz; - ProneSpeedAccelerationRange: xyz; - MinMovementAccelerationRangeRight: xyz; - MaxMovementAccelerationRangeRight: xyz; + MoveTimeRange: Ixyz; + ProneDirectionAccelerationRange: Ixyz; + ProneSpeedAccelerationRange: Ixyz; + MinMovementAccelerationRangeRight: Ixyz; + MaxMovementAccelerationRangeRight: Ixyz; } -export interface xyz { - x: number; - y: number; - z: number; -} -export interface Ballistic { +export interface IBallistic { GlobalDamageDegradationCoefficient: number; } -export interface RepairSettings { +export interface IRepairSettings { ItemEnhancementSettings: IItemEnhancementSettings; MinimumLevelToApplyBuff: number; RepairStrategies: IRepairStrategies; @@ -1287,7 +1283,7 @@ export interface IRepairStrategy { BuffTypes: string[]; Filter: string[]; } -export interface BotPreset { +export interface IBotPreset { UseThis: boolean; Role: string; BotDifficulty: string; @@ -1314,13 +1310,13 @@ export interface IAudioGroupPreset { OcclusionIntensity: number; OverallVolume: number; } -export interface BotWeaponScattering { +export interface IBotWeaponScattering { Name: string; PriorityScatter1meter: number; PriorityScatter10meter: number; PriorityScatter100meter: number; } -export interface Preset { +export interface IPreset { _id: string; _type: string; _changeWeaponName: boolean; diff --git a/TypeScript/13AddTrader/types/models/eft/common/ILocationBase.d.ts b/TypeScript/13AddTrader/types/models/eft/common/ILocationBase.d.ts index 54c70ba..c94f30e 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/ILocationBase.d.ts @@ -1,3 +1,5 @@ +import { MinMax } from "../../../models/common/MinMax"; +import { Ixyz } from "./Ixyz"; export interface ILocationBase { AccessKeys: string[]; AirdropParameters: AirdropParameter[]; @@ -81,9 +83,7 @@ export interface ILocationBase { users_summon_seconds: number; waves: Wave[]; } -export interface ILimit { - min: number; - max: number; +export interface ILimit extends MinMax { items: any[]; } export interface AirdropParameter { @@ -140,10 +140,8 @@ export interface BotLocationModifier { Scattering: number; VisibleDistance: number; } -export interface MinMaxBot { - WildSpawnType: WildSpawnType; - max: number; - min: number; +export interface MinMaxBot extends MinMax { + WildSpawnType: WildSpawnType | string; } export interface Preview { path: string; @@ -160,7 +158,7 @@ export interface SpawnPointParam { DelayToCanSpawnSec: number; Id: string; Infiltration: string; - Position: xyz; + Position: Ixyz; Rotation: number; Sides: string[]; } @@ -169,14 +167,9 @@ export interface ColliderParams { _props: Props; } export interface Props { - Center: xyz; + Center: Ixyz; Radius: number; } -export interface xyz { - x: number; - y: number; - z: number; -} export interface Exit { Chance: number; Count: number; @@ -211,5 +204,6 @@ export interface Wave { } export declare enum WildSpawnType { ASSAULT = "assault", - MARKSMAN = "marksman" + MARKSMAN = "marksman", + PMCBOT = "pmcbot" } diff --git a/TypeScript/13AddTrader/types/models/eft/common/ILooseLoot.d.ts b/TypeScript/13AddTrader/types/models/eft/common/ILooseLoot.d.ts index 572ec69..f8ea0c7 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/ILooseLoot.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/ILooseLoot.d.ts @@ -1,3 +1,4 @@ +import { Ixyz } from "./Ixyz"; import { Item } from "./tables/IItem"; export interface ILooseLoot { spawnpointCount: SpawnpointCount; @@ -18,11 +19,11 @@ export interface SpawnpointTemplate { IsStatic: boolean; useGravity: boolean; randomRotation: boolean; - Position: Xyz; - Rotation: Xyz; + Position: Ixyz; + Rotation: Ixyz; IsGroupPosition: boolean; GroupPositions: any[]; - Root: any; + Root: string; Items: Item[]; } export interface Spawnpoint { @@ -31,11 +32,6 @@ export interface Spawnpoint { template: SpawnpointTemplate; itemDistribution: ItemDistribution[]; } -export interface Xyz { - x: number; - y: number; - z: number; -} export interface ItemDistribution { composedKey: ComposedKey; relativeProbability: number; diff --git a/TypeScript/13AddTrader/types/models/eft/common/Ixyz.d.ts b/TypeScript/13AddTrader/types/models/eft/common/Ixyz.d.ts new file mode 100644 index 0000000..612dae1 --- /dev/null +++ b/TypeScript/13AddTrader/types/models/eft/common/Ixyz.d.ts @@ -0,0 +1,5 @@ +export interface Ixyz { + x: number; + y: number; + z: number; +} diff --git a/TypeScript/13AddTrader/types/models/eft/common/tables/ICustomizationItem.d.ts b/TypeScript/13AddTrader/types/models/eft/common/tables/ICustomizationItem.d.ts index 8bfeece..98f2398 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/tables/ICustomizationItem.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/tables/ICustomizationItem.d.ts @@ -1,3 +1,4 @@ +import { Ixyz } from "../Ixyz"; export interface ICustomizationItem { _id: string; _name: string; @@ -19,15 +20,10 @@ export interface Props { Prefab: Prefab; WatchPrefab: Prefab; IntegratedArmorVest: boolean; - WatchPosition: Xyz; - WatchRotation: Xyz; + WatchPosition: Ixyz; + WatchRotation: Ixyz; } export interface Prefab { path: string; rcid: string; } -export interface Xyz { - x: number; - y: number; - z: number; -} diff --git a/TypeScript/13AddTrader/types/models/eft/common/tables/ILootBase.d.ts b/TypeScript/13AddTrader/types/models/eft/common/tables/ILootBase.d.ts index e4baac5..8b86d13 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/tables/ILootBase.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/tables/ILootBase.d.ts @@ -1,3 +1,4 @@ +import { Ixyz } from "../Ixyz"; import { Item } from "./IItem"; export interface ILootBase { staticAmmo: Record; @@ -18,8 +19,8 @@ export interface IStaticWeaponProps { IsStatic: boolean; useGravity: boolean; randomRotation: boolean; - Position: Xyz; - Rotation: Xyz; + Position: Ixyz; + Rotation: Ixyz; IsGroupPosition: boolean; GroupPositions: any[]; Root: string; @@ -30,20 +31,15 @@ export interface IStaticContainerProps { IsStatic: boolean; useGravity: boolean; randomRotation: boolean; - Position: Xyz; - Rotation: Xyz; + Position: Ixyz; + Rotation: Ixyz; IsGroupPosition: boolean; GroupPositions: any[]; - Root: any; + Root: string; Items: StaticItem[]; } -export interface Xyz { - x: number; - y: number; - z: number; -} export interface StaticItem { - _id: any; + _id: string; _tpl: string; } export interface IStaticForcedProps { diff --git a/TypeScript/13AddTrader/types/models/eft/common/tables/IQuest.d.ts b/TypeScript/13AddTrader/types/models/eft/common/tables/IQuest.d.ts index 52968b1..fa636b4 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/tables/IQuest.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/tables/IQuest.d.ts @@ -1,7 +1,9 @@ import { QuestRewardType } from "../../../enums/QuestRewardType"; import { QuestStatus } from "../../../enums/QuestStatus"; +import { QuestTypeEnum } from "../../../enums/QuestTypeEnum"; import { Item } from "./IItem"; export interface IQuest { + /** SPT addition - human readable quest name */ QuestName?: string; _id: string; canShowNotificationsInGame: boolean; @@ -13,9 +15,10 @@ export interface IQuest { traderId: string; location: string; image: string; - type: string; + type: QuestTypeEnum; isKey: boolean; - questStatus: any; + /** @deprecated - Likely not used, use 'status' instead */ + questStatus: QuestStatus; restartable: boolean; instantComplete: boolean; secretQuest: boolean; @@ -23,9 +26,11 @@ export interface IQuest { successMessageText: string; templateId: string; rewards: Rewards; + /** Becomes 'AppearStatus' inside client */ status: string | number; KeyQuest: boolean; changeQuestMessageText: string; + /** "Pmc" or "Scav" */ side: string; } export interface Conditions { diff --git a/TypeScript/13AddTrader/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/13AddTrader/types/models/eft/common/tables/ITemplateItem.d.ts index 24fa8fb..d8615fb 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/tables/ITemplateItem.d.ts @@ -1,3 +1,4 @@ +import { Ixyz } from "../Ixyz"; export interface ITemplateItem { _id: string; _name: string; @@ -201,11 +202,11 @@ export interface Props { CameraSnap?: number; ReloadMode?: string; AimPlane?: number; - TacticalReloadStiffnes?: Xyz; + TacticalReloadStiffnes?: Ixyz; TacticalReloadFixation?: number; - RecoilCenter?: Xyz; - RotationCenter?: Xyz; - RotationCenterNoStock?: Xyz; + RecoilCenter?: Ixyz; + RotationCenter?: Ixyz; + RotationCenterNoStock?: Ixyz; FoldedSlot?: string; CompactHandling?: boolean; MinRepairDegradation?: number; @@ -247,7 +248,7 @@ export interface Props { FaceShieldComponent?: boolean; FaceShieldMask?: string; MaterialType?: string; - RicochetParams?: Xyz; + RicochetParams?: Ixyz; DeafStrength?: string; BlindnessProtection?: number; Distortion?: number; @@ -283,12 +284,12 @@ export interface Props { PrimaryConsumption?: number; SecondryConsumption?: number; DeflectionConsumption?: number; - AppliedTrunkRotation?: Xyz; - AppliedHeadRotation?: Xyz; + AppliedTrunkRotation?: Ixyz; + AppliedHeadRotation?: Ixyz; DisplayOnModel?: boolean; AdditionalAnimationLayer?: number; StaminaBurnRate?: number; - ColliderScaleMultiplier?: Xyz; + ColliderScaleMultiplier?: Ixyz; ConfigPathStr?: string; MaxMarkersCount?: number; scaleMin?: number; @@ -353,9 +354,9 @@ export interface Props { ShowHitEffectOnExplode?: boolean; ExplosionType?: string; AmmoLifeTimeSec?: number; - Contusion?: Xyz; - ArmorDistanceDistanceDamage?: Xyz; - Blindness?: Xyz; + Contusion?: Ixyz; + ArmorDistanceDistanceDamage?: Ixyz; + Blindness?: Ixyz; IsLightAndSoundShot?: boolean; LightAndSoundShotAngle?: number; LightAndSoundShotSelfContusionTime?: number; @@ -427,11 +428,6 @@ export interface SlotFilter { Filter: string[]; AnimationIndex?: number; } -export interface Xyz { - x: number; - y: number; - z: number; -} export interface StackSlot { _name?: string; _id: string; diff --git a/TypeScript/13AddTrader/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts b/TypeScript/13AddTrader/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts index 97f18b1..b469dee 100644 --- a/TypeScript/13AddTrader/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts @@ -1,6 +1,6 @@ -import { Message } from "../profile/IAkiProfile"; +import { IUserDialogInfo, Message } from "../profile/IAkiProfile"; export interface IGetMailDialogViewResponseData { messages: Message[]; - profiles: any[]; + profiles: IUserDialogInfo[]; hasMessagesWithRewards: boolean; } diff --git a/TypeScript/13AddTrader/types/models/eft/ragfair/IGetItemPriceResult.d.ts b/TypeScript/13AddTrader/types/models/eft/ragfair/IGetItemPriceResult.d.ts index 676322a..a38d434 100644 --- a/TypeScript/13AddTrader/types/models/eft/ragfair/IGetItemPriceResult.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/ragfair/IGetItemPriceResult.d.ts @@ -1,5 +1,4 @@ -export interface IGetItemPriceResult { +import { MinMax } from "../../../models/common/MinMax"; +export interface IGetItemPriceResult extends MinMax { avg: number; - min: number; - max: number; } diff --git a/TypeScript/13AddTrader/types/models/enums/QuestRewardType.d.ts b/TypeScript/13AddTrader/types/models/enums/QuestRewardType.d.ts index ff8c5f4..dde0b33 100644 --- a/TypeScript/13AddTrader/types/models/enums/QuestRewardType.d.ts +++ b/TypeScript/13AddTrader/types/models/enums/QuestRewardType.d.ts @@ -5,5 +5,7 @@ export declare enum QuestRewardType { TRADER_UNLOCK = "TraderUnlock", ITEM = "Item", ASSORTMENT_UNLOCK = "AssortmentUnlock", - PRODUCTIONS_SCHEME = "ProductionScheme" + PRODUCTIONS_SCHEME = "ProductionScheme", + TRADER_STANDING_RESET = "TraderStandingReset", + TRADER_STANDING_RESTORE = "TraderStandingRestore" } diff --git a/TypeScript/13AddTrader/types/models/enums/QuestTypeEnum.d.ts b/TypeScript/13AddTrader/types/models/enums/QuestTypeEnum.d.ts new file mode 100644 index 0000000..6925ac2 --- /dev/null +++ b/TypeScript/13AddTrader/types/models/enums/QuestTypeEnum.d.ts @@ -0,0 +1,15 @@ +export declare enum QuestTypeEnum { + PICKUP = "PickUp", + ELIMINATION = "Elimination", + DISCOVER = "Discover", + COMPLETION = "Completion", + EXPLORATION = "Exploration", + LEVELLING = "Levelling", + EXPERIENCE = "Experience", + STANDING = "Standing", + LOYALTY = "Loyalty", + MERCHANT = "Merchant", + SKILL = "Skill", + MULTI = "Multi", + WEAPON_ASSEMBLY = "WeaponAssembly" +} diff --git a/TypeScript/13AddTrader/types/models/spt/config/IAirdropConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/IAirdropConfig.d.ts index 4c8eae0..21bb32e 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/IAirdropConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/IAirdropConfig.d.ts @@ -5,16 +5,26 @@ export interface IAirdropConfig extends IBaseConfig { kind: "aki-airdrop"; airdropChancePercent: AirdropChancePercent; airdropTypeWeightings: Record; + /** Lowest point plane will fly at */ planeMinFlyHeight: number; + /** Highest point plane will fly at */ planeMaxFlyHeight: number; + /** Loudness of plane engine */ planeVolume: number; + /** Speed plane flies overhead */ planeSpeed: number; + /** Speed loot crate falls after being dropped */ crateFallSpeed: number; + /** Container tpls to use when spawning crate - affects container size, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter */ containerIds: Record; + /** Earliest time aircraft will spawn in raid */ airdropMinStartTimeSeconds: number; + /** Latest time aircraft will spawn in raid */ airdropMaxStartTimeSeconds: number; + /** What rewards will the loot crate contain, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter */ loot: Record; } +/** Chance map will have an airdrop occur out of 100 - locations not included count as 0% */ export interface AirdropChancePercent { bigmap: number; woods: number; @@ -24,14 +34,22 @@ export interface AirdropChancePercent { reserve: number; tarkovStreets: number; } +/** Loot inside crate */ export interface AirdropLoot { + /** Min/max of weapons inside crate */ presetCount?: MinMax; + /** Min/max of items inside crate */ itemCount: MinMax; + /** Min/max of sealed weapon boxes inside crate */ weaponCrateCount: MinMax; + /** Items to never allow - tpls */ itemBlacklist: string[]; + /** Item type (parentId) to allow inside crate */ itemTypeWhitelist: string[]; - /** key: item base type: value: max count */ + /** Item type/ item tpls to limit count of inside crate - key: item base type: value: max count */ itemLimits: Record; + /** Items to limit stack size of key: item tpl value: min/max stack size */ itemStackLimits: Record; + /** Armor levels to allow inside crate e.g. [4,5,6] */ armorLevelWhitelist?: number[]; } diff --git a/TypeScript/13AddTrader/types/models/spt/config/IBotConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/IBotConfig.d.ts index 2e8716e..a536106 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/IBotConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/IBotConfig.d.ts @@ -32,6 +32,7 @@ export interface IBotConfig extends IBaseConfig { /** Batch generation size when type not available in cache */ botGenerationBatchSizePerType: number; } +/** Number of bots to generate and store in cache on raid start per bot type */ export interface PresetBatch { assault: number; bossBully: number; @@ -67,7 +68,9 @@ export interface LootNvalue { pmc: number; } export interface EquipmentFilters { + /** Limits for mod types per weapon .e.g. scopes */ weaponModLimits: ModLimits; + /** Whitelsit for weapons allowed per gun */ weaponSightWhitelist: Record; faceShieldIsActiveChancePercent?: number; lightIsActiveDayChancePercent?: number; @@ -75,10 +78,14 @@ export interface EquipmentFilters { laserIsActiveChancePercent?: number; nvgIsActiveChanceDayPercent?: number; nvgIsActiveChanceNightPercent?: number; + /** Adjust weighting/chances of items on bot by level of bot */ randomisation: RandomisationDetails[]; + /** Blacklist equipment by level of bot */ blacklist: EquipmentFilterDetails[]; + /** Whitelist equipment by level of bot */ whitelist: EquipmentFilterDetails[]; clothing: WeightingAdjustmentDetails[]; + /** Adjust clothing choice weighting by level of bot */ weightingAdjustments: WeightingAdjustmentDetails[]; } export interface ModLimits { @@ -88,24 +95,34 @@ export interface ModLimits { lightLaserLimit?: number; } export interface RandomisationDetails { + /** Between what levels do these randomisation setting apply to */ levelRange: MinMax; generation?: Record; + /** Mod slots that should be fully randomisate -ignores mods from bottype.json */ randomisedWeaponModSlots?: string[]; + /** Armor slots that should be randomised e.g. 'Headwear, Armband' */ randomisedArmorSlots?: string[]; /** Equipment chances */ equipment?: Record; - /** Modc chances */ + /** Mod chances */ mods?: Record; } export interface EquipmentFilterDetails { + /** Between what levels do these equipment filter setting apply to */ levelRange: MinMax; + /** Key: mod slot name e.g. mod_magazine, value: item tpls */ equipment: Record; + /** Key: cartridge type e.g. Caliber23x75, value: item tpls */ cartridge: Record; } export interface WeightingAdjustmentDetails { + /** Between what levels do these weight settings apply to */ levelRange: MinMax; + /** Key: ammo type e.g. Caliber556x45NATO, value: item tpl + weight */ ammo?: AdjustmentDetails; + /** Key: equipment slot e.g. TacticalVest, value: item tpl + weight */ equipment?: AdjustmentDetails; + /** Key: clothing slor e.g. feet, value: item tpl + weight */ clothing?: AdjustmentDetails; } export interface AdjustmentDetails { diff --git a/TypeScript/13AddTrader/types/models/spt/config/IInRaidConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/IInRaidConfig.d.ts index 3ae2972..c8fa57e 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/IInRaidConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/IInRaidConfig.d.ts @@ -2,10 +2,15 @@ import { IBaseConfig } from "./IBaseConfig"; export interface IInRaidConfig extends IBaseConfig { kind: "aki-inraid"; MIAOnRaidEnd: boolean; + /** Overrides to apply to the pre-raid settings screen */ raidMenuSettings: RaidMenuSettings; + /** What effects should be saved post-raid */ save: Save; + /** Names of car extracts */ carExtracts: string[]; + /** Fene rep gain from a single car extract */ carExtractBaseStandingGain: number; + /** Fence rep gain when successfully extracting as pscav */ scavExtractGain: number; } export interface RaidMenuSettings { @@ -17,6 +22,7 @@ export interface RaidMenuSettings { enablePve: boolean; } export interface Save { + /** Should loot gained from raid be saved */ loot: boolean; durability: boolean; } diff --git a/TypeScript/13AddTrader/types/models/spt/config/IInsuranceConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/IInsuranceConfig.d.ts index fd498bc..9443cb7 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/IInsuranceConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/IInsuranceConfig.d.ts @@ -1,10 +1,16 @@ import { IBaseConfig } from "./IBaseConfig"; export interface IInsuranceConfig extends IBaseConfig { kind: "aki-insurance"; + /** Insurance price multiplier */ insuranceMultiplier: Record; + /** Chance item is returned as insurance, keyed by trader id */ returnChancePercent: Record; + /** Item slots that should never be returned as insurance */ blacklistedEquipment: string[]; + /** Names of equipment slots that could not be returned as insurance */ slotIdsWithChanceOfNotReturning: string[]; + /** Override to control how quickly insurance is processed/returned in second */ returnTimeOverrideSeconds: number; + /** How often server should process insurance in seconds */ runIntervalSeconds: number; } diff --git a/TypeScript/13AddTrader/types/models/spt/config/IInventoryConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/IInventoryConfig.d.ts index b4af825..6657a1a 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/IInventoryConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/IInventoryConfig.d.ts @@ -2,6 +2,7 @@ import { MinMax } from "../../../models/common/MinMax"; import { IBaseConfig } from "./IBaseConfig"; export interface IInventoryConfig extends IBaseConfig { kind: "aki-inventory"; + /** Should new items purchased by flagged as found in raid */ newItemsMarkedFound: boolean; randomLootContainers: Record; sealedAirdropContainer: ISealedAirdropContainerSettings; @@ -17,6 +18,7 @@ export interface RewardDetails { export interface ISealedAirdropContainerSettings { weaponRewardWeight: Record; defaultPresetsOnly: boolean; + /** Should contents be flagged as found in raid when opened */ foundInRaid: boolean; weaponModRewardLimits: Record; rewardTypeLimits: Record; diff --git a/TypeScript/13AddTrader/types/models/spt/config/ILocationConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/ILocationConfig.d.ts index 6dbe583..8d37f60 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/ILocationConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/ILocationConfig.d.ts @@ -1,12 +1,17 @@ +import { MinMax } from "../../../models/common/MinMax"; import { BossLocationSpawn, Wave } from "../../../models/eft/common/ILocationBase"; import { IBaseConfig } from "./IBaseConfig"; export interface ILocationConfig extends IBaseConfig { kind: "aki-location"; + /** Waves with a min/max of the same value don't spawn any bots, bsg only spawn the difference between min and max */ fixEmptyBotWavesSettings: IFixEmptyBotWavesSettings; + /** Rogues are classified as bosses and spawn immediatly, this can result in no scavs spawning, delay rogues spawning to allow scavs to spawn first */ rogueLighthouseSpawnTimeSettings: IRogueLighthouseSpawnTimeSettings; + /** When a map has hit max alive bots, any wave that should spawn will be reduced to 1 bot in size and placed in a spawn queue, this splits waves into smaller sizes to reduce the impact of this behaviour */ splitWaveIntoSingleSpawnsSettings: ISplitWaveSettings; looseLootMultiplier: LootMultiplier; staticLootMultiplier: LootMultiplier; + /** Custom bot waves to add to a locations base json on game start if addCustomBotWavesToMaps is true */ customWaves: CustomWaves; /** Open zones to add to map */ openZones: Record; @@ -18,6 +23,10 @@ export interface ILocationConfig extends IBaseConfig { addOpenZonesToAllMaps: boolean; /** Allow addition of custom bot waves designed by SPT to be added to maps - defined in configs/location.json.customWaves*/ addCustomBotWavesToMaps: boolean; + /** Should the limits defined inside botTypeLimits to appled to locations on game start */ + enableBotTypeLimits: boolean; + /** Add limits to a locations base.MinMaxBots array if enableBotTypeLimits is true*/ + botTypeLimits: Record; } export interface IFixEmptyBotWavesSettings { enabled: boolean; @@ -33,9 +42,14 @@ export interface ISplitWaveSettings { waveSizeThreshold: number; } export interface CustomWaves { + /** Bosses spawn on raid start */ boss: Record; normal: Record; } +export interface IBotTypeLimit extends MinMax { + type: string; +} +/** Multiplier to apply to the loot count for a given map */ export interface LootMultiplier { bigmap: number; develop: number; diff --git a/TypeScript/13AddTrader/types/models/spt/config/ILostOnDeathConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/ILostOnDeathConfig.d.ts index b557afe..3fb98fb 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/ILostOnDeathConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/ILostOnDeathConfig.d.ts @@ -1,8 +1,11 @@ import { IBaseConfig } from "./IBaseConfig"; export interface ILostOnDeathConfig extends IBaseConfig { kind: "aki-lostondeath"; + /** What equipment in each slot should be lost on death */ equipment: Equipment; + /** Should special slot items be removed from quest inventory on death e.g. wifi camera/markers */ specialSlotItems: boolean; + /** Should quest items be removed from quest inventory on death */ questItems: boolean; } export interface Equipment { diff --git a/TypeScript/13AddTrader/types/models/spt/config/IPmcConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/IPmcConfig.d.ts index b28c564..fbf0a44 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/IPmcConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/IPmcConfig.d.ts @@ -12,21 +12,31 @@ export interface IPmcConfig { /** Global whitelist/blacklist of backpack loot for PMCs */ backpackLoot: SlotLootSettings; dynamicLoot: DynamicLoot; + /** Use difficulty defined in config/bot.json/difficulty instead of chosen difficulty dropdown value */ useDifficultyOverride: boolean; + /** Difficulty override e.g. "AsOnline/Hard" */ difficulty: string; + /** Chance out of 100 to have a complete gun in backpack */ looseWeaponInBackpackChancePercent: number; + /** MinMax count of weapons to have in backpack */ looseWeaponInBackpackLootMinMax: MinMax; + /** Percentage chance PMC will be USEC */ isUsec: number; + /** WildSpawnType enum value USEC PMCs use */ usecType: string; + /** WildSpawnType enum value BEAR PMCs use */ bearType: string; chanceSameSideIsHostilePercent: number; - /** key: location, value: type for usec/bear */ + /** What 'brain' does a PMC use, keyed by map and side (USEC/BEAR) key: map location, value: type for usec/bear */ pmcType: Record>>; maxBackpackLootTotalRub: number; maxPocketLootTotalRub: number; maxVestLootTotalRub: number; + /** Percentage chance a bot from a wave is converted into a PMC, key = bot wildspawn tpye (assault/exusec), value: min+max chance to be converted */ convertIntoPmcChance: Record; + /** WildSpawnType bots PMCs should see as hostile */ enemyTypes: string[]; + /** How many levels above player level can a PMC be */ botRelativeLevelDeltaMax: number; } export interface PmcTypes { diff --git a/TypeScript/13AddTrader/types/models/spt/config/IRagfairConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/IRagfairConfig.d.ts index 9676977..bf3d9d8 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/IRagfairConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/IRagfairConfig.d.ts @@ -29,10 +29,8 @@ export interface Chance { overpriced: number; underpriced: number; } -export interface Time { +export interface Time extends MinMax { base: number; - min: number; - max: number; } export interface Reputation { gain: number; @@ -100,11 +98,9 @@ export interface OfferAdjustment { /** What is the minimum rouble price to consider adjusting price of item */ priceThreshholdRub: number; } -export interface Condition { +export interface Condition extends MinMax { /** Percentage change durability is altered */ conditionChance: number; - min: number; - max: number; } export interface Blacklist { /** Damaged ammo packs */ diff --git a/TypeScript/13AddTrader/types/models/spt/config/ITraderConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/ITraderConfig.d.ts index 832f22a..145f98f 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/ITraderConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/ITraderConfig.d.ts @@ -6,6 +6,7 @@ export interface ITraderConfig extends IBaseConfig { purchasesAreFoundInRaid: boolean; updateTimeDefault: number; traderPriceMultipler: number; + /** Keep track of purchased trader-limited items beyond server restarts to prevent server-restart item scumming */ persistPurchaseDataInProfile: boolean; fence: FenceConfig; } diff --git a/TypeScript/13AddTrader/types/models/spt/services/CustomPreset.d.ts b/TypeScript/13AddTrader/types/models/spt/services/CustomPreset.d.ts index f07382e..785e0a4 100644 --- a/TypeScript/13AddTrader/types/models/spt/services/CustomPreset.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/services/CustomPreset.d.ts @@ -1,5 +1,5 @@ -import { Preset } from "../../eft/common/IGlobals"; +import { IPreset } from "../../eft/common/IGlobals"; export interface CustomPreset { key: string; - preset: Preset; + preset: IPreset; } diff --git a/TypeScript/13AddTrader/types/services/FenceService.d.ts b/TypeScript/13AddTrader/types/services/FenceService.d.ts index 841a8ee..f5a6d76 100644 --- a/TypeScript/13AddTrader/types/services/FenceService.d.ts +++ b/TypeScript/13AddTrader/types/services/FenceService.d.ts @@ -1,7 +1,7 @@ import { HandbookHelper } from "../helpers/HandbookHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; -import { FenceLevel, Preset } from "../models/eft/common/IGlobals"; +import { IFenceLevel, IPreset } from "../models/eft/common/IGlobals"; import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; @@ -146,7 +146,7 @@ export declare class FenceService { * @param assorts object to add presets to * @param loyaltyLevel loyalty level to requre item at */ - protected addPresets(desiredPresetCount: number, defaultWeaponPresets: Record, assorts: ITraderAssort, loyaltyLevel: number): void; + protected addPresets(desiredPresetCount: number, defaultWeaponPresets: Record, assorts: ITraderAssort, loyaltyLevel: number): void; /** * Randomise items' upd properties e.g. med packs/weapons/armor * @param itemDetails Item being randomised @@ -176,7 +176,7 @@ export declare class FenceService { * @param pmcData Player profile * @returns FenceLevel object */ - getFenceInfo(pmcData: IPmcData): FenceLevel; + getFenceInfo(pmcData: IPmcData): IFenceLevel; /** * Remove an assort from fence by id * @param assortIdToRemove assort id to remove from fence assorts diff --git a/TypeScript/13AddTrader/types/services/RagfairPriceService.d.ts b/TypeScript/13AddTrader/types/services/RagfairPriceService.d.ts index ca162da..0af14a4 100644 --- a/TypeScript/13AddTrader/types/services/RagfairPriceService.d.ts +++ b/TypeScript/13AddTrader/types/services/RagfairPriceService.d.ts @@ -3,7 +3,7 @@ import { HandbookHelper } from "../helpers/HandbookHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { TraderHelper } from "../helpers/TraderHelper"; -import { Preset } from "../models/eft/common/IGlobals"; +import { IPreset } from "../models/eft/common/IGlobals"; import { Item } from "../models/eft/common/tables/IItem"; import { IBarterScheme } from "../models/eft/common/tables/ITrader"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; @@ -126,8 +126,8 @@ export declare class RagfairPriceService implements OnLoad { * @param presets weapon presets to choose from * @returns Default preset object */ - protected getWeaponPreset(presets: Preset[], weapon: Item): { + protected getWeaponPreset(presets: IPreset[], weapon: Item): { isDefault: boolean; - preset: Preset; + preset: IPreset; }; } diff --git a/TypeScript/13AddTrader/types/services/SeasonalEventService.d.ts b/TypeScript/13AddTrader/types/services/SeasonalEventService.d.ts index 2776084..0475c5c 100644 --- a/TypeScript/13AddTrader/types/services/SeasonalEventService.d.ts +++ b/TypeScript/13AddTrader/types/services/SeasonalEventService.d.ts @@ -1,5 +1,5 @@ import { BotHelper } from "../helpers/BotHelper"; -import { Config } from "../models/eft/common/IGlobals"; +import { IConfig } from "../models/eft/common/IGlobals"; import { Inventory } from "../models/eft/common/tables/IBotType"; import { SeasonalEventType } from "../models/enums/SeasonalEventType"; import { IHttpConfig } from "../models/spt/config/IHttpConfig"; @@ -105,7 +105,7 @@ export declare class SeasonalEventService { * @param globalConfig globals.json * @param eventName Name of the event to enable. e.g. Christmas */ - protected updateGlobalEvents(globalConfig: Config, eventType: SeasonalEventType): void; + protected updateGlobalEvents(globalConfig: IConfig, eventType: SeasonalEventType): void; /** * Change trader icons to be more event themed (Halloween only so far) * @param eventType What event is active