Formatting for models.

This commit is contained in:
Refringe 2023-11-13 11:11:36 -05:00
parent 3f2d36a2fc
commit d62ccce3ca
No known key found for this signature in database
GPG Key ID: 64E03E5F892C6F9E
300 changed files with 5824 additions and 5679 deletions

View File

@ -1,5 +1,5 @@
export interface MinMax
export interface MinMax
{
max: number
min: number
}
max: number;
min: number;
}

View File

@ -1,12 +1,12 @@
export interface IGenerateBotsRequestData
export interface IGenerateBotsRequestData
{
conditions: Condition[]
conditions: Condition[];
}
export interface Condition
export interface Condition
{
/** e.g. assault/pmcBot/bossKilla */
Role: string
Limit: number
Difficulty: string
}
Role: string;
Limit: number;
Difficulty: string;
}

View File

@ -1,5 +1,5 @@
export interface IRandomisedBotLevelResult
{
level: number,
exp: number
}
level: number;
exp: number;
}

View File

@ -1,4 +1,3 @@
export interface IEmptyRequestData
{
}
}

View File

@ -2,1683 +2,1679 @@
import { Ixyz } from "@spt-aki/models/eft/common/Ixyz";
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
export interface IGlobals
export interface IGlobals
{
time: number
config: IConfig
bot_presets: IBotPreset[]
AudioSettings: IAudioSettings
BotWeaponScatterings: IBotWeaponScattering[]
ItemPresets: Record<string, IPreset>
time: number;
config: IConfig;
bot_presets: IBotPreset[];
AudioSettings: IAudioSettings;
BotWeaponScatterings: IBotWeaponScattering[];
ItemPresets: Record<string, IPreset>;
}
export interface IConfig
export interface IConfig
{
content: IContent
AimPunchMagnitude: number
WeaponSkillProgressRate: number
SkillAtrophy: boolean
exp: IExp
t_base_looting: number
t_base_lockpicking: number
armor: IArmor
SessionsToShowHotKeys: number
MaxBotsAliveOnMap: number
SavagePlayCooldown: number
SavagePlayCooldownNdaFree: number
MarksmanAccuracy: number
SavagePlayCooldownDevelop: number
TODSkyDate: string
Mastering: IMastering[]
GlobalItemPriceModifier: number
TradingUnlimitedItems: boolean
MaxLoyaltyLevelForAll: boolean
GlobalLootChanceModifier: number
GraphicSettings: IGraphicSettings
TimeBeforeDeploy: number
TimeBeforeDeployLocal: number
TradingSetting: number,
TradingSettings: ITradingSettings,
ItemsCommonSettings: IItemsCommonSettings
LoadTimeSpeedProgress: number
BaseLoadTime: number
BaseUnloadTime: number
BaseCheckTime: number
Customization: ICustomization
UncheckOnShot: boolean
BotsEnabled: boolean
BufferZone: IBufferZone
ArmorMaterials: IArmorMaterials
LegsOverdamage: number
HandsOverdamage: number
StomachOverdamage: number
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: IStamina
StaminaRestoration: IStaminaRestoration
StaminaDrain: IStaminaDrain
RequirementReferences: IRequirementReferences
RestrictionsInRaid: IRestrictionsInRaid[]
SkillMinEffectiveness: number
SkillFatiguePerPoint: number
SkillFreshEffectiveness: number
SkillFreshPoints: number
SkillPointsBeforeFatigue: number
SkillFatigueReset: number
DiscardLimitsEnabled: boolean
EventSettings: IEventSettings
EventType: string[]
WalkSpeed: Ixyz
SprintSpeed: Ixyz
SquadSettings: ISquadSettings
SkillEnduranceWeightThreshold: number
TeamSearchingTimeout: number
Insurance: IInsurance
SkillExpPerLevel: number
GameSearchingTimeout: number
WallContusionAbsorption: Ixyz
WeaponFastDrawSettings: IWeaponFastDrawSettings
SkillsSettings: ISkillsSettings
AzimuthPanelShowsPlayerOrientation: boolean
Aiming: IAiming
Malfunction: IMalfunction
Overheat: IOverheat
FenceSettings: IFenceSettings
TestValue: number
Inertia: IInertia
Ballistic: IBallistic
RepairSettings: IRepairSettings
content: IContent;
AimPunchMagnitude: number;
WeaponSkillProgressRate: number;
SkillAtrophy: boolean;
exp: IExp;
t_base_looting: number;
t_base_lockpicking: number;
armor: IArmor;
SessionsToShowHotKeys: number;
MaxBotsAliveOnMap: number;
SavagePlayCooldown: number;
SavagePlayCooldownNdaFree: number;
MarksmanAccuracy: number;
SavagePlayCooldownDevelop: number;
TODSkyDate: string;
Mastering: IMastering[];
GlobalItemPriceModifier: number;
TradingUnlimitedItems: boolean;
MaxLoyaltyLevelForAll: boolean;
GlobalLootChanceModifier: number;
GraphicSettings: IGraphicSettings;
TimeBeforeDeploy: number;
TimeBeforeDeployLocal: number;
TradingSetting: number;
TradingSettings: ITradingSettings;
ItemsCommonSettings: IItemsCommonSettings;
LoadTimeSpeedProgress: number;
BaseLoadTime: number;
BaseUnloadTime: number;
BaseCheckTime: number;
Customization: ICustomization;
UncheckOnShot: boolean;
BotsEnabled: boolean;
BufferZone: IBufferZone;
ArmorMaterials: IArmorMaterials;
LegsOverdamage: number;
HandsOverdamage: number;
StomachOverdamage: number;
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: IStamina;
StaminaRestoration: IStaminaRestoration;
StaminaDrain: IStaminaDrain;
RequirementReferences: IRequirementReferences;
RestrictionsInRaid: IRestrictionsInRaid[];
SkillMinEffectiveness: number;
SkillFatiguePerPoint: number;
SkillFreshEffectiveness: number;
SkillFreshPoints: number;
SkillPointsBeforeFatigue: number;
SkillFatigueReset: number;
DiscardLimitsEnabled: boolean;
EventSettings: IEventSettings;
EventType: string[];
WalkSpeed: Ixyz;
SprintSpeed: Ixyz;
SquadSettings: ISquadSettings;
SkillEnduranceWeightThreshold: number;
TeamSearchingTimeout: number;
Insurance: IInsurance;
SkillExpPerLevel: number;
GameSearchingTimeout: number;
WallContusionAbsorption: Ixyz;
WeaponFastDrawSettings: IWeaponFastDrawSettings;
SkillsSettings: ISkillsSettings;
AzimuthPanelShowsPlayerOrientation: boolean;
Aiming: IAiming;
Malfunction: IMalfunction;
Overheat: IOverheat;
FenceSettings: IFenceSettings;
TestValue: number;
Inertia: IInertia;
Ballistic: IBallistic;
RepairSettings: IRepairSettings;
}
export interface IWeaponFastDrawSettings
{
HandShakeCurveFrequency: number
HandShakeCurveIntensity: number
HandShakeMaxDuration: number
HandShakeTremorIntensity: number
WeaponFastSwitchMaxSpeedMult: number
WeaponFastSwitchMinSpeedMult: number
WeaponPistolFastSwitchMaxSpeedMult: number
WeaponPistolFastSwitchMinSpeedMult: number
HandShakeCurveFrequency: number;
HandShakeCurveIntensity: number;
HandShakeMaxDuration: number;
HandShakeTremorIntensity: number;
WeaponFastSwitchMaxSpeedMult: number;
WeaponFastSwitchMinSpeedMult: number;
WeaponPistolFastSwitchMaxSpeedMult: number;
WeaponPistolFastSwitchMinSpeedMult: number;
}
export interface IEventSettings
{
EventActive: boolean
EventTime: number
EventWeather: IEventWeather
ExitTimeMultiplier: number
StaminaMultiplier: number
SummonFailedWeather: IEventWeather
SummonSuccessWeather: IEventWeather
WeatherChangeTime: number
EventActive: boolean;
EventTime: number;
EventWeather: IEventWeather;
ExitTimeMultiplier: number;
StaminaMultiplier: number;
SummonFailedWeather: IEventWeather;
SummonSuccessWeather: IEventWeather;
WeatherChangeTime: number;
}
export interface IEventWeather
{
Cloudness: number
Hour: number
Minute: number
Rain: number
RainRandomness: number
ScaterringFogDensity: number
TopWindDirection: Ixyz
Wind: number
WindDirection: number
Cloudness: number;
Hour: number;
Minute: number;
Rain: number;
RainRandomness: number;
ScaterringFogDensity: number;
TopWindDirection: Ixyz;
Wind: number;
WindDirection: number;
}
export interface IGraphicSettings
{
ExperimentalFogInCity: boolean
ExperimentalFogInCity: boolean;
}
export interface IBufferZone
{
CustomerAccessTime: number
CustomerCriticalTimeStart: number
CustomerKickNotifTime: number
CustomerAccessTime: number;
CustomerCriticalTimeStart: number;
CustomerKickNotifTime: number;
}
export interface IItemsCommonSettings
{
ItemRemoveAfterInterruptionTime: number
ItemRemoveAfterInterruptionTime: number;
}
export interface ITradingSettings
{
BuyoutRestrictions: IBuyoutRestrictions
BuyoutRestrictions: IBuyoutRestrictions;
}
export interface IBuyoutRestrictions
{
MinDurability: number
MinFoodDrinkResource: number
MinMedsResource: number
MinDurability: number;
MinFoodDrinkResource: number;
MinMedsResource: number;
}
export interface IContent
export interface IContent
{
ip: string
port: number
root: string
ip: string;
port: number;
root: string;
}
export interface IExp
export interface IExp
{
heal: IHeal
match_end: IMatchEnd
kill: IKill
level: ILevel
loot_attempts: ILootAttempt[]
expForLockedDoorOpen: number
expForLockedDoorBreach: number
triggerMult: number
heal: IHeal;
match_end: IMatchEnd;
kill: IKill;
level: ILevel;
loot_attempts: ILootAttempt[];
expForLockedDoorOpen: number;
expForLockedDoorBreach: number;
triggerMult: number;
}
export interface IHeal
export interface IHeal
{
expForHeal: number
expForHydration: number
expForEnergy: number
expForHeal: number;
expForHydration: number;
expForEnergy: number;
}
export interface IMatchEnd
export interface IMatchEnd
{
README: string
survived_exp_requirement: number
survived_seconds_requirement: number
survived_exp_reward: number
mia_exp_reward: number
runner_exp_reward: number
leftMult: number
miaMult: number
survivedMult: number
runnerMult: number
killedMult: number
README: string;
survived_exp_requirement: number;
survived_seconds_requirement: number;
survived_exp_reward: number;
mia_exp_reward: number;
runner_exp_reward: number;
leftMult: number;
miaMult: number;
survivedMult: number;
runnerMult: number;
killedMult: number;
}
export interface IKill
export interface IKill
{
combo: ICombo[]
victimLevelExp: number
headShotMult: number
expOnDamageAllHealth: number
longShotDistance: number
bloodLossToLitre: number
botExpOnDamageAllHealth: number
botHeadShotMult: number
victimBotLevelExp: number
pmcExpOnDamageAllHealth: number
pmcHeadShotMult: number
combo: ICombo[];
victimLevelExp: number;
headShotMult: number;
expOnDamageAllHealth: number;
longShotDistance: number;
bloodLossToLitre: number;
botExpOnDamageAllHealth: number;
botHeadShotMult: number;
victimBotLevelExp: number;
pmcExpOnDamageAllHealth: number;
pmcHeadShotMult: number;
}
export interface ICombo
export interface ICombo
{
percent: number
percent: number;
}
export interface ILevel
export interface ILevel
{
exp_table: IExpTable[]
trade_level: number
savage_level: number
clan_level: number
mastering1: number
mastering2: number
exp_table: IExpTable[];
trade_level: number;
savage_level: number;
clan_level: number;
mastering1: number;
mastering2: number;
}
export interface IExpTable
export interface IExpTable
{
exp: number
exp: number;
}
export interface ILootAttempt
export interface ILootAttempt
{
k_exp: number
k_exp: number;
}
export interface IArmor
export interface IArmor
{
class: IClass[]
class: IClass[];
}
export interface IClass
export interface IClass
{
resistance: number
resistance: number;
}
export interface IMastering
export interface IMastering
{
Name: string
Templates: string[]
Level2: number
Level3: number
Name: string;
Templates: string[];
Level2: number;
Level3: number;
}
export interface ICustomization
export interface ICustomization
{
SavageHead: ISavageHead
SavageBody: ISavageBody
SavageFeet: ISavageFeet
CustomizationVoice: ICustomizationVoice[]
BodyParts: IBodyParts
SavageHead: ISavageHead;
SavageBody: ISavageBody;
SavageFeet: ISavageFeet;
CustomizationVoice: ICustomizationVoice[];
BodyParts: IBodyParts;
}
export interface ISavageHead
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
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 IWildHead
export interface IWildHead
{
head: string
isNotRandom: boolean
NotRandom: boolean
head: string;
isNotRandom: boolean;
NotRandom: boolean;
}
export interface ISavageBody
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
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 IWildBody
export interface IWildBody
{
body: string
hands: string
isNotRandom: boolean
body: string;
hands: string;
isNotRandom: boolean;
}
export interface ISavageFeet
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
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 IWildFeet
export interface IWildFeet
{
feet: string
isNotRandom: boolean
NotRandom: boolean
feet: string;
isNotRandom: boolean;
NotRandom: boolean;
}
export interface ICustomizationVoice
export interface ICustomizationVoice
{
voice: string
side: string[]
isNotRandom: boolean
voice: string;
side: string[];
isNotRandom: boolean;
}
export interface IBodyParts
export interface IBodyParts
{
Head: string
Body: string
Feet: string
Hands: string
Head: string;
Body: string;
Feet: string;
Hands: string;
}
export interface IArmorMaterials
export interface IArmorMaterials
{
UHMWPE: IArmorType
Aramid: IArmorType
Combined: IArmorType
Titan: IArmorType
Aluminium: IArmorType
ArmoredSteel: IArmorType
Ceramic: IArmorType
Glass: IArmorType
UHMWPE: IArmorType;
Aramid: IArmorType;
Combined: IArmorType;
Titan: IArmorType;
Aluminium: IArmorType;
ArmoredSteel: IArmorType;
Ceramic: IArmorType;
Glass: IArmorType;
}
export interface IArmorType
export interface IArmorType
{
Destructibility: number
MinRepairDegradation: number
MaxRepairDegradation: number
ExplosionDestructibility: number
MinRepairKitDegradation: number
MaxRepairKitDegradation: number
Destructibility: number;
MinRepairDegradation: number;
MaxRepairDegradation: number;
ExplosionDestructibility: number;
MinRepairKitDegradation: number;
MaxRepairKitDegradation: number;
}
export interface IHealth
export interface IHealth
{
Falling: IFalling
Effects: IEffects
HealPrice: IHealPrice
ProfileHealthSettings: IProfileHealthSettings
Falling: IFalling;
Effects: IEffects;
HealPrice: IHealPrice;
ProfileHealthSettings: IProfileHealthSettings;
}
export interface IFalling
export interface IFalling
{
DamagePerMeter: number
SafeHeight: number
DamagePerMeter: number;
SafeHeight: number;
}
export interface IEffects
export interface IEffects
{
Existence: IExistence
Dehydration: IDehydration
BreakPart: IBreakPart
Contusion: IContusion
Disorientation: IDisorientation
Exhaustion: IExhaustion
LowEdgeHealth: ILowEdgeHealth
RadExposure: IRadExposure
Stun: IStun
Intoxication: Intoxication
Regeneration: IRegeneration
Wound: IWound
Berserk: IBerserk
Flash: IFlash
MedEffect: IMedEffect
Pain: IPain
PainKiller: IPainKiller
SandingScreen: ISandingScreen
MildMusclePain: IMusclePainEffect
SevereMusclePain: IMusclePainEffect
Stimulator: IStimulator
Tremor: ITremor
ChronicStaminaFatigue: IChronicStaminaFatigue
Fracture: IFracture
HeavyBleeding: IHeavyBleeding
LightBleeding: ILightBleeding
BodyTemperature: IBodyTemperature
Existence: IExistence;
Dehydration: IDehydration;
BreakPart: IBreakPart;
Contusion: IContusion;
Disorientation: IDisorientation;
Exhaustion: IExhaustion;
LowEdgeHealth: ILowEdgeHealth;
RadExposure: IRadExposure;
Stun: IStun;
Intoxication: Intoxication;
Regeneration: IRegeneration;
Wound: IWound;
Berserk: IBerserk;
Flash: IFlash;
MedEffect: IMedEffect;
Pain: IPain;
PainKiller: IPainKiller;
SandingScreen: ISandingScreen;
MildMusclePain: IMusclePainEffect;
SevereMusclePain: IMusclePainEffect;
Stimulator: IStimulator;
Tremor: ITremor;
ChronicStaminaFatigue: IChronicStaminaFatigue;
Fracture: IFracture;
HeavyBleeding: IHeavyBleeding;
LightBleeding: ILightBleeding;
BodyTemperature: IBodyTemperature;
}
export interface IExistence
export interface IExistence
{
EnergyLoopTime: number
HydrationLoopTime: number
EnergyDamage: number
HydrationDamage: number
DestroyedStomachEnergyTimeFactor: number
DestroyedStomachHydrationTimeFactor: number
EnergyLoopTime: number;
HydrationLoopTime: number;
EnergyDamage: number;
HydrationDamage: number;
DestroyedStomachEnergyTimeFactor: number;
DestroyedStomachHydrationTimeFactor: number;
}
export interface IDehydration
export interface IDehydration
{
DefaultDelay: number
DefaultResidueTime: number
BleedingHealth: number
BleedingLoopTime: number
BleedingLifeTime: number
DamageOnStrongDehydration: number
StrongDehydrationLoopTime: number
DefaultDelay: number;
DefaultResidueTime: number;
BleedingHealth: number;
BleedingLoopTime: number;
BleedingLifeTime: number;
DamageOnStrongDehydration: number;
StrongDehydrationLoopTime: number;
}
export interface IBreakPart
export interface IBreakPart
{
DefaultDelay: number
DefaultResidueTime: number
HealExperience: number
OfflineDurationMin: number
OfflineDurationMax: number
RemovePrice: number
RemovedAfterDeath: boolean
BulletHitProbability: IProbability
FallingProbability: IProbability
DefaultDelay: number;
DefaultResidueTime: number;
HealExperience: number;
OfflineDurationMin: number;
OfflineDurationMax: number;
RemovePrice: number;
RemovedAfterDeath: boolean;
BulletHitProbability: IProbability;
FallingProbability: IProbability;
}
export interface IContusion
export interface IContusion
{
Dummy: number
Dummy: number;
}
export interface IDisorientation
export interface IDisorientation
{
Dummy: number
Dummy: number;
}
export interface IExhaustion
export interface IExhaustion
{
DefaultDelay: number
DefaultResidueTime: number
Damage: number
DamageLoopTime: number
DefaultDelay: number;
DefaultResidueTime: number;
Damage: number;
DamageLoopTime: number;
}
export interface ILowEdgeHealth
export interface ILowEdgeHealth
{
DefaultDelay: number
DefaultResidueTime: number
StartCommonHealth: number
DefaultDelay: number;
DefaultResidueTime: number;
StartCommonHealth: number;
}
export interface IRadExposure
export interface IRadExposure
{
Damage: number
DamageLoopTime: number
Damage: number;
DamageLoopTime: number;
}
export interface IStun
export interface IStun
{
Dummy: number
Dummy: number;
}
export interface Intoxication
export interface Intoxication
{
DefaultDelay: number
DefaultResidueTime: number
DamageHealth: number
HealthLoopTime: number
OfflineDurationMin: number
OfflineDurationMax: number
RemovedAfterDeath: boolean
HealExperience: number
RemovePrice: number
DefaultDelay: number;
DefaultResidueTime: number;
DamageHealth: number;
HealthLoopTime: number;
OfflineDurationMin: number;
OfflineDurationMax: number;
RemovedAfterDeath: boolean;
HealExperience: number;
RemovePrice: number;
}
export interface IRegeneration
export interface IRegeneration
{
LoopTime: number
MinimumHealthPercentage: number
Energy: number
Hydration: number
BodyHealth: IBodyHealth
Influences: IInfluences
LoopTime: number;
MinimumHealthPercentage: number;
Energy: number;
Hydration: number;
BodyHealth: IBodyHealth;
Influences: IInfluences;
}
export interface IBodyHealth
export interface IBodyHealth
{
Head: IBodyHealthValue
Chest: IBodyHealthValue
Stomach: IBodyHealthValue
LeftArm: IBodyHealthValue
RightArm: IBodyHealthValue
LeftLeg: IBodyHealthValue
RightLeg: IBodyHealthValue
Head: IBodyHealthValue;
Chest: IBodyHealthValue;
Stomach: IBodyHealthValue;
LeftArm: IBodyHealthValue;
RightArm: IBodyHealthValue;
LeftLeg: IBodyHealthValue;
RightLeg: IBodyHealthValue;
}
export interface IBodyHealthValue
export interface IBodyHealthValue
{
Value: number
Value: number;
}
export interface IInfluences
export interface IInfluences
{
LightBleeding: IInfluence
HeavyBleeding: IInfluence
Fracture: IInfluence
RadExposure: IInfluence
Intoxication: IInfluence
LightBleeding: IInfluence;
HeavyBleeding: IInfluence;
Fracture: IInfluence;
RadExposure: IInfluence;
Intoxication: IInfluence;
}
export interface IInfluence
export interface IInfluence
{
HealthSlowDownPercentage: number
EnergySlowDownPercentage: number
HydrationSlowDownPercentage: number
HealthSlowDownPercentage: number;
EnergySlowDownPercentage: number;
HydrationSlowDownPercentage: number;
}
export interface IWound
export interface IWound
{
WorkingTime: number
ThresholdMin: number
ThresholdMax: number
WorkingTime: number;
ThresholdMin: number;
ThresholdMax: number;
}
export interface IBerserk
export interface IBerserk
{
DefaultDelay: number
WorkingTime: number
DefaultResidueTime: number
DefaultDelay: number;
WorkingTime: number;
DefaultResidueTime: number;
}
export interface IFlash
export interface IFlash
{
Dummy: number
Dummy: number;
}
export interface IMedEffect
export interface IMedEffect
{
LoopTime: number
StartDelay: number
DrinkStartDelay: number
FoodStartDelay: number
DrugsStartDelay: number
MedKitStartDelay: number
MedicalStartDelay: number
StimulatorStartDelay: number
LoopTime: number;
StartDelay: number;
DrinkStartDelay: number;
FoodStartDelay: number;
DrugsStartDelay: number;
MedKitStartDelay: number;
MedicalStartDelay: number;
StimulatorStartDelay: number;
}
export interface IPain
export interface IPain
{
TremorDelay: number
HealExperience: number
TremorDelay: number;
HealExperience: number;
}
export interface IPainKiller
export interface IPainKiller
{
Dummy: number
Dummy: number;
}
export interface ISandingScreen
export interface ISandingScreen
{
Dummy: number
Dummy: number;
}
export interface IMusclePainEffect
{
GymEffectivity: number
OfflineDurationMax: number
OfflineDurationMin: number
TraumaChance: number
GymEffectivity: number;
OfflineDurationMax: number;
OfflineDurationMin: number;
TraumaChance: number;
}
export interface IStimulator
export interface IStimulator
{
BuffLoopTime: number
Buffs: IBuffs
BuffLoopTime: number;
Buffs: IBuffs;
}
export interface IBuffs
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[]
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 IBuff
export interface IBuff
{
BuffType: string
Chance: number
Delay: number
Duration: number
Value: number
AbsoluteValue: boolean
SkillName: string
BuffType: string;
Chance: number;
Delay: number;
Duration: number;
Value: number;
AbsoluteValue: boolean;
SkillName: string;
}
export interface ITremor
export interface ITremor
{
DefaultDelay: number
DefaultResidueTime: number
DefaultDelay: number;
DefaultResidueTime: number;
}
export interface IChronicStaminaFatigue
export interface IChronicStaminaFatigue
{
EnergyRate: number
WorkingTime: number
TicksEvery: number
EnergyRatePerStack: number
EnergyRate: number;
WorkingTime: number;
TicksEvery: number;
EnergyRatePerStack: number;
}
export interface IFracture
export interface IFracture
{
DefaultDelay: number
DefaultResidueTime: number
HealExperience: number
OfflineDurationMin: number
OfflineDurationMax: number
RemovePrice: number
RemovedAfterDeath: boolean
BulletHitProbability: IProbability
FallingProbability: IProbability
DefaultDelay: number;
DefaultResidueTime: number;
HealExperience: number;
OfflineDurationMin: number;
OfflineDurationMax: number;
RemovePrice: number;
RemovedAfterDeath: boolean;
BulletHitProbability: IProbability;
FallingProbability: IProbability;
}
export interface IHeavyBleeding
export interface IHeavyBleeding
{
DefaultDelay: number
DefaultResidueTime: number
DamageEnergy: number
DamageHealth: number
EnergyLoopTime: number
HealthLoopTime: number
DamageHealthDehydrated: number
HealthLoopTimeDehydrated: number
LifeTimeDehydrated: number
EliteVitalityDuration: number
HealExperience: number
OfflineDurationMin: number
OfflineDurationMax: number
RemovePrice: number
RemovedAfterDeath: boolean
Probability: IProbability
DefaultDelay: number;
DefaultResidueTime: number;
DamageEnergy: number;
DamageHealth: number;
EnergyLoopTime: number;
HealthLoopTime: number;
DamageHealthDehydrated: number;
HealthLoopTimeDehydrated: number;
LifeTimeDehydrated: number;
EliteVitalityDuration: number;
HealExperience: number;
OfflineDurationMin: number;
OfflineDurationMax: number;
RemovePrice: number;
RemovedAfterDeath: boolean;
Probability: IProbability;
}
export interface IProbability
export interface IProbability
{
FunctionType: string
K: number
B: number
Threshold: number
FunctionType: string;
K: number;
B: number;
Threshold: number;
}
export interface ILightBleeding
export interface ILightBleeding
{
DefaultDelay: number
DefaultResidueTime: number
DamageEnergy: number
DamageHealth: number
EnergyLoopTime: number
HealthLoopTime: number
DamageHealthDehydrated: number
HealthLoopTimeDehydrated: number
LifeTimeDehydrated: number
EliteVitalityDuration: number
HealExperience: number
OfflineDurationMin: number
OfflineDurationMax: number
RemovePrice: number
RemovedAfterDeath: boolean
Probability: IProbability
DefaultDelay: number;
DefaultResidueTime: number;
DamageEnergy: number;
DamageHealth: number;
EnergyLoopTime: number;
HealthLoopTime: number;
DamageHealthDehydrated: number;
HealthLoopTimeDehydrated: number;
LifeTimeDehydrated: number;
EliteVitalityDuration: number;
HealExperience: number;
OfflineDurationMin: number;
OfflineDurationMax: number;
RemovePrice: number;
RemovedAfterDeath: boolean;
Probability: IProbability;
}
export interface IBodyTemperature
export interface IBodyTemperature
{
DefaultBuildUpTime: number
DefaultResidueTime: number
LoopTime: number
DefaultBuildUpTime: number;
DefaultResidueTime: number;
LoopTime: number;
}
export interface IHealPrice
export interface IHealPrice
{
HealthPointPrice: number
HydrationPointPrice: number
EnergyPointPrice: number
TrialLevels: number
TrialRaids: number
HealthPointPrice: number;
HydrationPointPrice: number;
EnergyPointPrice: number;
TrialLevels: number;
TrialRaids: number;
}
export interface IProfileHealthSettings
export interface IProfileHealthSettings
{
BodyPartsSettings: IBodyPartsSettings
HealthFactorsSettings: IHealthFactorsSettings
DefaultStimulatorBuff: string
BodyPartsSettings: IBodyPartsSettings;
HealthFactorsSettings: IHealthFactorsSettings;
DefaultStimulatorBuff: string;
}
export interface IBodyPartsSettings
export interface IBodyPartsSettings
{
Head: IBodyPartsSetting
Chest: IBodyPartsSetting
Stomach: IBodyPartsSetting
LeftArm: IBodyPartsSetting
RightArm: IBodyPartsSetting
LeftLeg: IBodyPartsSetting
RightLeg: IBodyPartsSetting
Head: IBodyPartsSetting;
Chest: IBodyPartsSetting;
Stomach: IBodyPartsSetting;
LeftArm: IBodyPartsSetting;
RightArm: IBodyPartsSetting;
LeftLeg: IBodyPartsSetting;
RightLeg: IBodyPartsSetting;
}
export interface IBodyPartsSetting
export interface IBodyPartsSetting
{
Minimum: number
Maximum: number
Default: number
OverDamageReceivedMultiplier: number
Minimum: number;
Maximum: number;
Default: number;
OverDamageReceivedMultiplier: number;
}
export interface IHealthFactorsSettings
export interface IHealthFactorsSettings
{
Energy: IHealthFactorSetting
Hydration: IHealthFactorSetting
Temperature: IHealthFactorSetting
Poisoning: IHealthFactorSetting
Radiation: IHealthFactorSetting
Energy: IHealthFactorSetting;
Hydration: IHealthFactorSetting;
Temperature: IHealthFactorSetting;
Poisoning: IHealthFactorSetting;
Radiation: IHealthFactorSetting;
}
export interface IHealthFactorSetting
export interface IHealthFactorSetting
{
Minimum: number
Maximum: number
Default: number
Minimum: number;
Maximum: number;
Default: number;
}
export interface IRating
export interface IRating
{
levelRequired: number
limit: number
categories: ICategories
levelRequired: number;
limit: number;
categories: ICategories;
}
export interface ICategories
export interface ICategories
{
experience: boolean
kd: boolean
surviveRatio: boolean
avgEarnings: boolean
pmcKills: boolean
raidCount: boolean
longestShot: boolean
timeOnline: boolean
inventoryFullCost: boolean
ragFairStanding: boolean
experience: boolean;
kd: boolean;
surviveRatio: boolean;
avgEarnings: boolean;
pmcKills: boolean;
raidCount: boolean;
longestShot: boolean;
timeOnline: boolean;
inventoryFullCost: boolean;
ragFairStanding: boolean;
}
export interface ITournament
export interface ITournament
{
categories: ITournamentCategories
limit: number
levelRequired: number
categories: ITournamentCategories;
limit: number;
levelRequired: number;
}
export interface ITournamentCategories
export interface ITournamentCategories
{
dogtags: boolean
dogtags: boolean;
}
export interface IRagFair
export interface IRagFair
{
enabled: boolean
priceStabilizerEnabled: boolean
includePveTraderSales: boolean
priceStabilizerStartIntervalInHours: number
minUserLevel: number
communityTax: number
communityItemTax: number
communityRequirementTax: number
offerPriorityCost: number
offerDurationTimeInHour: number
offerDurationTimeInHourAfterRemove: number
priorityTimeModifier: number
maxRenewOfferTimeInHour: number
renewPricePerHour: number
maxActiveOfferCount: IMaxActiveOfferCount[]
balancerRemovePriceCoefficient: number
balancerMinPriceCount: number
balancerAveragePriceCoefficient: number
delaySinceOfferAdd: number
uniqueBuyerTimeoutInDays: number
ratingSumForIncrease: number
ratingIncreaseCount: number
ratingSumForDecrease: number
ratingDecreaseCount: number
maxSumForIncreaseRatingPerOneSale: number
maxSumForDecreaseRatingPerOneSale: number
maxSumForRarity: IMaxSumForRarity
ChangePriceCoef: number
balancerUserItemSaleCooldownEnabled: boolean
balancerUserItemSaleCooldown: number
youSellOfferMaxStorageTimeInHour: number
yourOfferDidNotSellMaxStorageTimeInHour: number
isOnlyFoundInRaidAllowed: boolean
sellInOnePiece: number
enabled: boolean;
priceStabilizerEnabled: boolean;
includePveTraderSales: boolean;
priceStabilizerStartIntervalInHours: number;
minUserLevel: number;
communityTax: number;
communityItemTax: number;
communityRequirementTax: number;
offerPriorityCost: number;
offerDurationTimeInHour: number;
offerDurationTimeInHourAfterRemove: number;
priorityTimeModifier: number;
maxRenewOfferTimeInHour: number;
renewPricePerHour: number;
maxActiveOfferCount: IMaxActiveOfferCount[];
balancerRemovePriceCoefficient: number;
balancerMinPriceCount: number;
balancerAveragePriceCoefficient: number;
delaySinceOfferAdd: number;
uniqueBuyerTimeoutInDays: number;
ratingSumForIncrease: number;
ratingIncreaseCount: number;
ratingSumForDecrease: number;
ratingDecreaseCount: number;
maxSumForIncreaseRatingPerOneSale: number;
maxSumForDecreaseRatingPerOneSale: number;
maxSumForRarity: IMaxSumForRarity;
ChangePriceCoef: number;
balancerUserItemSaleCooldownEnabled: boolean;
balancerUserItemSaleCooldown: number;
youSellOfferMaxStorageTimeInHour: number;
yourOfferDidNotSellMaxStorageTimeInHour: number;
isOnlyFoundInRaidAllowed: boolean;
sellInOnePiece: number;
}
export interface IMaxActiveOfferCount
export interface IMaxActiveOfferCount
{
from: number
to: number
count: number
from: number;
to: number;
count: number;
}
export interface IMaxSumForRarity
export interface IMaxSumForRarity
{
Common: IRarityMaxSum
Rare: IRarityMaxSum
Superrare: IRarityMaxSum
Not_exist: IRarityMaxSum
Common: IRarityMaxSum;
Rare: IRarityMaxSum;
Superrare: IRarityMaxSum;
Not_exist: IRarityMaxSum;
}
export interface IRarityMaxSum
export interface IRarityMaxSum
{
value: number
value: number;
}
export interface IHandbook
export interface IHandbook
{
defaultCategory: string
defaultCategory: string;
}
export interface IStamina
export interface IStamina
{
Capacity: number
SprintDrainRate: number
BaseRestorationRate: number
JumpConsumption: number
GrenadeHighThrow: number
GrenadeLowThrow: number
AimDrainRate: number
AimRangeFinderDrainRate: number
OxygenCapacity: number
OxygenRestoration: number
WalkOverweightLimits: Ixyz
BaseOverweightLimits: Ixyz
SprintOverweightLimits: Ixyz
WalkSpeedOverweightLimits: Ixyz
CrouchConsumption: Ixyz
WalkConsumption: Ixyz
StandupConsumption: Ixyz
TransitionSpeed: Ixyz
SprintAccelerationLowerLimit: number
SprintSpeedLowerLimit: number
SprintSensitivityLowerLimit: number
AimConsumptionByPose: Ixyz
RestorationMultiplierByPose: Ixyz
OverweightConsumptionByPose: Ixyz
AimingSpeedMultiplier: number
WalkVisualEffectMultiplier: number
WeaponFastSwitchConsumption: number
HandsCapacity: number
HandsRestoration: number
ProneConsumption: number
BaseHoldBreathConsumption: number
SoundRadius: Ixyz
ExhaustedMeleeSpeed: number
FatigueRestorationRate: number
FatigueAmountToCreateEffect: number
ExhaustedMeleeDamageMultiplier: number
FallDamageMultiplier: number
SafeHeightOverweight: number
SitToStandConsumption: number
StaminaExhaustionCausesJiggle: boolean
StaminaExhaustionStartsBreathSound: boolean
StaminaExhaustionRocksCamera: boolean
HoldBreathStaminaMultiplier: Ixyz
PoseLevelIncreaseSpeed: Ixyz
PoseLevelDecreaseSpeed: Ixyz
PoseLevelConsumptionPerNotch: Ixyz
Capacity: number;
SprintDrainRate: number;
BaseRestorationRate: number;
JumpConsumption: number;
GrenadeHighThrow: number;
GrenadeLowThrow: number;
AimDrainRate: number;
AimRangeFinderDrainRate: number;
OxygenCapacity: number;
OxygenRestoration: number;
WalkOverweightLimits: Ixyz;
BaseOverweightLimits: Ixyz;
SprintOverweightLimits: Ixyz;
WalkSpeedOverweightLimits: Ixyz;
CrouchConsumption: Ixyz;
WalkConsumption: Ixyz;
StandupConsumption: Ixyz;
TransitionSpeed: Ixyz;
SprintAccelerationLowerLimit: number;
SprintSpeedLowerLimit: number;
SprintSensitivityLowerLimit: number;
AimConsumptionByPose: Ixyz;
RestorationMultiplierByPose: Ixyz;
OverweightConsumptionByPose: Ixyz;
AimingSpeedMultiplier: number;
WalkVisualEffectMultiplier: number;
WeaponFastSwitchConsumption: number;
HandsCapacity: number;
HandsRestoration: number;
ProneConsumption: number;
BaseHoldBreathConsumption: number;
SoundRadius: Ixyz;
ExhaustedMeleeSpeed: number;
FatigueRestorationRate: number;
FatigueAmountToCreateEffect: number;
ExhaustedMeleeDamageMultiplier: number;
FallDamageMultiplier: number;
SafeHeightOverweight: number;
SitToStandConsumption: number;
StaminaExhaustionCausesJiggle: boolean;
StaminaExhaustionStartsBreathSound: boolean;
StaminaExhaustionRocksCamera: boolean;
HoldBreathStaminaMultiplier: Ixyz;
PoseLevelIncreaseSpeed: Ixyz;
PoseLevelDecreaseSpeed: Ixyz;
PoseLevelConsumptionPerNotch: Ixyz;
}
export interface IStaminaRestoration
export interface IStaminaRestoration
{
LowerLeftPoint: number
LowerRightPoint: number
LeftPlatoPoint: number
RightPlatoPoint: number
RightLimit: number
ZeroValue: number
LowerLeftPoint: number;
LowerRightPoint: number;
LeftPlatoPoint: number;
RightPlatoPoint: number;
RightLimit: number;
ZeroValue: number;
}
export interface IStaminaDrain
export interface IStaminaDrain
{
LowerLeftPoint: number
LowerRightPoint: number
LeftPlatoPoint: number
RightPlatoPoint: number
RightLimit: number
ZeroValue: number
LowerLeftPoint: number;
LowerRightPoint: number;
LeftPlatoPoint: number;
RightPlatoPoint: number;
RightLimit: number;
ZeroValue: number;
}
export interface IRequirementReferences
export interface IRequirementReferences
{
Alpinist: IAlpinist[]
Alpinist: IAlpinist[];
}
export interface IAlpinist
export interface IAlpinist
{
Requirement: string
Id: string
Count: number
RequiredSlot: string
RequirementTip: string
Requirement: string;
Id: string;
Count: number;
RequiredSlot: string;
RequirementTip: string;
}
export interface IRestrictionsInRaid
export interface IRestrictionsInRaid
{
TemplateId: string
Value: number
TemplateId: string;
Value: number;
}
export interface ISquadSettings
export interface ISquadSettings
{
CountOfRequestsToOnePlayer: number
SecondsForExpiredRequest: number
SendRequestDelaySeconds: number
CountOfRequestsToOnePlayer: number;
SecondsForExpiredRequest: number;
SendRequestDelaySeconds: number;
}
export interface IInsurance
export interface IInsurance
{
MaxStorageTimeInHour: number
MaxStorageTimeInHour: number;
}
export interface ISkillsSettings
export interface ISkillsSettings
{
SkillProgressRate: number
WeaponSkillProgressRate: number
WeaponSkillRecoilBonusPerLevel: number
HideoutManagement: IHideoutManagement
Crafting: ICrafting
Metabolism: IMetabolism
Immunity: Immunity
Endurance: IEndurance
Strength: IStrength
Vitality: IVitality
Health: IHealthSkillProgress
StressResistance: IStressResistance
Throwing: IThrowing
RecoilControl: IRecoilControl
Pistol: IWeaponSkills
Revolver: IWeaponSkills
SMG: any[]
Assault: IWeaponSkills
Shotgun: IWeaponSkills
Sniper: IWeaponSkills
LMG: any[]
HMG: any[]
Launcher: any[]
AttachedLauncher: any[]
Melee: IMeleeSkill
DMR: IWeaponSkills
BearAssaultoperations: any[]
BearAuthority: any[]
BearAksystems: any[]
BearHeavycaliber: any[]
BearRawpower: any[]
UsecArsystems: any[]
UsecDeepweaponmodding_Settings: any[]
UsecLongrangeoptics_Settings: any[]
UsecNegotiations: any[]
UsecTactics: any[]
BotReload: any[]
CovertMovement: ICovertMovement
FieldMedicine: any[]
Search: ISearch
Sniping: any[]
ProneMovement: any[]
FirstAid: any[]
LightVests: IArmorSkills
HeavyVests: IArmorSkills
WeaponModding: any[]
AdvancedModding: any[]
NightOps: any[]
SilentOps: any[]
Lockpicking: any[]
WeaponTreatment: IWeaponTreatment
MagDrills: IMagDrills
Freetrading: any[]
Auctions: any[]
Cleanoperations: any[]
Barter: any[]
Shadowconnections: any[]
Taskperformance: any[]
Perception: IPerception
Intellect: Intellect
Attention: IAttention
Charisma: ICharisma
Memory: IMemory
Surgery: ISurgery
AimDrills: IAimDrills
BotSound: any[]
TroubleShooting: ITroubleShooting
SkillProgressRate: number;
WeaponSkillProgressRate: number;
WeaponSkillRecoilBonusPerLevel: number;
HideoutManagement: IHideoutManagement;
Crafting: ICrafting;
Metabolism: IMetabolism;
Immunity: Immunity;
Endurance: IEndurance;
Strength: IStrength;
Vitality: IVitality;
Health: IHealthSkillProgress;
StressResistance: IStressResistance;
Throwing: IThrowing;
RecoilControl: IRecoilControl;
Pistol: IWeaponSkills;
Revolver: IWeaponSkills;
SMG: any[];
Assault: IWeaponSkills;
Shotgun: IWeaponSkills;
Sniper: IWeaponSkills;
LMG: any[];
HMG: any[];
Launcher: any[];
AttachedLauncher: any[];
Melee: IMeleeSkill;
DMR: IWeaponSkills;
BearAssaultoperations: any[];
BearAuthority: any[];
BearAksystems: any[];
BearHeavycaliber: any[];
BearRawpower: any[];
UsecArsystems: any[];
UsecDeepweaponmodding_Settings: any[];
UsecLongrangeoptics_Settings: any[];
UsecNegotiations: any[];
UsecTactics: any[];
BotReload: any[];
CovertMovement: ICovertMovement;
FieldMedicine: any[];
Search: ISearch;
Sniping: any[];
ProneMovement: any[];
FirstAid: any[];
LightVests: IArmorSkills;
HeavyVests: IArmorSkills;
WeaponModding: any[];
AdvancedModding: any[];
NightOps: any[];
SilentOps: any[];
Lockpicking: any[];
WeaponTreatment: IWeaponTreatment;
MagDrills: IMagDrills;
Freetrading: any[];
Auctions: any[];
Cleanoperations: any[];
Barter: any[];
Shadowconnections: any[];
Taskperformance: any[];
Perception: IPerception;
Intellect: Intellect;
Attention: IAttention;
Charisma: ICharisma;
Memory: IMemory;
Surgery: ISurgery;
AimDrills: IAimDrills;
BotSound: any[];
TroubleShooting: ITroubleShooting;
}
export interface IMeleeSkill
{
BuffSettings: IBuffSettings
BuffSettings: IBuffSettings;
}
export interface IArmorSkills
{
BuffMaxCount: number
BuffSettings: IBuffSettings
Counters: IArmorCounters
MoveSpeedPenaltyReductionHVestsReducePerLevel: number
RicochetChanceHVestsCurrentDurabilityThreshold: number
RicochetChanceHVestsEliteLevel: number
RicochetChanceHVestsMaxDurabilityThreshold: number
MeleeDamageLVestsReducePerLevel: number
MoveSpeedPenaltyReductionLVestsReducePerLevel: number
WearAmountRepairLVestsReducePerLevel: number
WearChanceRepairLVestsReduceEliteLevel: number
BuffMaxCount: number;
BuffSettings: IBuffSettings;
Counters: IArmorCounters;
MoveSpeedPenaltyReductionHVestsReducePerLevel: number;
RicochetChanceHVestsCurrentDurabilityThreshold: number;
RicochetChanceHVestsEliteLevel: number;
RicochetChanceHVestsMaxDurabilityThreshold: number;
MeleeDamageLVestsReducePerLevel: number;
MoveSpeedPenaltyReductionLVestsReducePerLevel: number;
WearAmountRepairLVestsReducePerLevel: number;
WearChanceRepairLVestsReduceEliteLevel: number;
}
export interface IArmorCounters
{
armorDurability: ISkillCounter
armorDurability: ISkillCounter;
}
export interface IHideoutManagement
export interface IHideoutManagement
{
SkillPointsPerAreaUpgrade: number
SkillPointsPerCraft: number
ConsumptionReductionPerLevel: number
SkillBoostPercent: number
SkillPointsRate: ISkillPointsRate
EliteSlots: IEliteSlots
SkillPointsPerAreaUpgrade: number;
SkillPointsPerCraft: number;
ConsumptionReductionPerLevel: number;
SkillBoostPercent: number;
SkillPointsRate: ISkillPointsRate;
EliteSlots: IEliteSlots;
}
export interface ISkillPointsRate
export interface ISkillPointsRate
{
Generator: ISkillPointRate
AirFilteringUnit: ISkillPointRate
WaterCollector: ISkillPointRate
SolarPower: ISkillPointRate
Generator: ISkillPointRate;
AirFilteringUnit: ISkillPointRate;
WaterCollector: ISkillPointRate;
SolarPower: ISkillPointRate;
}
export interface ISkillPointRate
export interface ISkillPointRate
{
ResourceSpent: number
PointsGained: number
ResourceSpent: number;
PointsGained: number;
}
export interface IEliteSlots
export interface IEliteSlots
{
Generator: IEliteSlot
AirFilteringUnit: IEliteSlot
WaterCollector: IEliteSlot
BitcoinFarm: IEliteSlot
Generator: IEliteSlot;
AirFilteringUnit: IEliteSlot;
WaterCollector: IEliteSlot;
BitcoinFarm: IEliteSlot;
}
export interface IEliteSlot
export interface IEliteSlot
{
Slots: number
Container: number
Slots: number;
Container: number;
}
export interface ICrafting
export interface ICrafting
{
PointsPerCraftingCycle: number
CraftingCycleHours: number
PointsPerUniqueCraftCycle: number
UniqueCraftsPerCycle: number
CraftTimeReductionPerLevel: number
ProductionTimeReductionPerLevel: number
EliteExtraProductions: number
CraftingPointsToInteligence: number
PointsPerCraftingCycle: number;
CraftingCycleHours: number;
PointsPerUniqueCraftCycle: number;
UniqueCraftsPerCycle: number;
CraftTimeReductionPerLevel: number;
ProductionTimeReductionPerLevel: number;
EliteExtraProductions: number;
CraftingPointsToInteligence: number;
}
export interface IMetabolism
export interface IMetabolism
{
HydrationRecoveryRate: number
EnergyRecoveryRate: number
IncreasePositiveEffectDurationRate: number
DecreaseNegativeEffectDurationRate: number
DecreasePoisonDurationRate: number
HydrationRecoveryRate: number;
EnergyRecoveryRate: number;
IncreasePositiveEffectDurationRate: number;
DecreaseNegativeEffectDurationRate: number;
DecreasePoisonDurationRate: number;
}
export interface Immunity
export interface Immunity
{
ImmunityMiscEffects: number
ImmunityPoisonBuff: number
ImmunityPainKiller: number
HealthNegativeEffect: number
StimulatorNegativeBuff: number
ImmunityMiscEffects: number;
ImmunityPoisonBuff: number;
ImmunityPainKiller: number;
HealthNegativeEffect: number;
StimulatorNegativeBuff: number;
}
export interface IEndurance
export interface IEndurance
{
MovementAction: number
SprintAction: number
GainPerFatigueStack: number
DependentSkillRatios: IDependentSkillRatio[]
QTELevelMultipliers: Record<string,Record<string, number>>
MovementAction: number;
SprintAction: number;
GainPerFatigueStack: number;
DependentSkillRatios: IDependentSkillRatio[];
QTELevelMultipliers: Record<string, Record<string, number>>;
}
export interface IStrength
export interface IStrength
{
DependentSkillRatios: IDependentSkillRatio[]
SprintActionMin: number
SprintActionMax: number
MovementActionMin: number
MovementActionMax: number
PushUpMin: number
PushUpMax: number
QTELevelMultipliers: IQTELevelMultiplier[]
FistfightAction: number
ThrowAction: number
DependentSkillRatios: IDependentSkillRatio[];
SprintActionMin: number;
SprintActionMax: number;
MovementActionMin: number;
MovementActionMax: number;
PushUpMin: number;
PushUpMax: number;
QTELevelMultipliers: IQTELevelMultiplier[];
FistfightAction: number;
ThrowAction: number;
}
export interface IDependentSkillRatio
{
Ratio: number
SkillId: string
Ratio: number;
SkillId: string;
}
export interface IQTELevelMultiplier
{
Level: number
Multiplier: number
Level: number;
Multiplier: number;
}
export interface IVitality
export interface IVitality
{
DamageTakenAction: number
HealthNegativeEffect: number
DamageTakenAction: number;
HealthNegativeEffect: number;
}
export interface IHealthSkillProgress
export interface IHealthSkillProgress
{
SkillProgress: number
SkillProgress: number;
}
export interface IStressResistance
export interface IStressResistance
{
HealthNegativeEffect: number
LowHPDuration: number
HealthNegativeEffect: number;
LowHPDuration: number;
}
export interface IThrowing
export interface IThrowing
{
ThrowAction: number
ThrowAction: number;
}
export interface IRecoilControl
export interface IRecoilControl
{
RecoilAction: number
RecoilBonusPerLevel: number
RecoilAction: number;
RecoilBonusPerLevel: number;
}
export interface IWeaponSkills
export interface IWeaponSkills
{
WeaponReloadAction: number
WeaponShotAction: number
WeaponFixAction: number
WeaponChamberAction: number
WeaponReloadAction: number;
WeaponShotAction: number;
WeaponFixAction: number;
WeaponChamberAction: number;
}
export interface ICovertMovement
export interface ICovertMovement
{
MovementAction: number
MovementAction: number;
}
export interface ISearch
export interface ISearch
{
SearchAction: number
FindAction: number
SearchAction: number;
FindAction: number;
}
export interface IWeaponTreatment
export interface IWeaponTreatment
{
BuffMaxCount: number
BuffSettings: IBuffSettings
Counters: IWeaponTreatmentCounters
DurLossReducePerLevel: number
SkillPointsPerRepair: number
Filter: any[]
WearAmountRepairGunsReducePerLevel: number
WearChanceRepairGunsReduceEliteLevel: number
BuffMaxCount: number;
BuffSettings: IBuffSettings;
Counters: IWeaponTreatmentCounters;
DurLossReducePerLevel: number;
SkillPointsPerRepair: number;
Filter: any[];
WearAmountRepairGunsReducePerLevel: number;
WearChanceRepairGunsReduceEliteLevel: number;
}
export interface IWeaponTreatmentCounters
{
firearmsDurability: ISkillCounter
firearmsDurability: ISkillCounter;
}
export interface IBuffSettings
{
CommonBuffChanceLevelBonus: number
CommonBuffMinChanceValue: number
CurrentDurabilityLossToRemoveBuff?: number
MaxDurabilityLossToRemoveBuff?: number
RareBuffChanceCoff: number
ReceivedDurabilityMaxPercent: number
CommonBuffChanceLevelBonus: number;
CommonBuffMinChanceValue: number;
CurrentDurabilityLossToRemoveBuff?: number;
MaxDurabilityLossToRemoveBuff?: number;
RareBuffChanceCoff: number;
ReceivedDurabilityMaxPercent: number;
}
export interface IMagDrills
export interface IMagDrills
{
RaidLoadedAmmoAction: number
RaidUnloadedAmmoAction: number
MagazineCheckAction: number
RaidLoadedAmmoAction: number;
RaidUnloadedAmmoAction: number;
MagazineCheckAction: number;
}
export interface IPerception
export interface IPerception
{
DependentSkillRatios: ISkillRatio[]
OnlineAction: number
UniqueLoot: number
DependentSkillRatios: ISkillRatio[];
OnlineAction: number;
UniqueLoot: number;
}
export interface ISkillRatio
{
Ratio: number
SkillId: string
Ratio: number;
SkillId: string;
}
export interface Intellect
export interface Intellect
{
Counters: IIntellectCounters
ExamineAction: number
SkillProgress: number
RepairAction: number
WearAmountReducePerLevel: number
WearChanceReduceEliteLevel: number
RepairPointsCostReduction: number
Counters: IIntellectCounters;
ExamineAction: number;
SkillProgress: number;
RepairAction: number;
WearAmountReducePerLevel: number;
WearChanceReduceEliteLevel: number;
RepairPointsCostReduction: number;
}
export interface IIntellectCounters
{
armorDurability: ISkillCounter
firearmsDurability: ISkillCounter
meleeWeaponDurability: ISkillCounter
armorDurability: ISkillCounter;
firearmsDurability: ISkillCounter;
meleeWeaponDurability: ISkillCounter;
}
export interface ISkillCounter
{
divisor: number
points: number
divisor: number;
points: number;
}
export interface IAttention
export interface IAttention
{
DependentSkillRatios: ISkillRatio[]
ExamineWithInstruction: number
FindActionFalse: number
FindActionTrue: number
DependentSkillRatios: ISkillRatio[];
ExamineWithInstruction: number;
FindActionFalse: number;
FindActionTrue: number;
}
export interface ICharisma
export interface ICharisma
{
BonusSettings: IBonusSettings
Counters: ICharismaSkillCounters
SkillProgressInt: number
SkillProgressAtn: number
SkillProgressPer: number
BonusSettings: IBonusSettings;
Counters: ICharismaSkillCounters;
SkillProgressInt: number;
SkillProgressAtn: number;
SkillProgressPer: number;
}
export interface ICharismaSkillCounters
{
insuranceCost: ISkillCounter
repairCost: ISkillCounter
repeatableQuestCompleteCount: ISkillCounter
restoredHealthCost: ISkillCounter
scavCaseCost: ISkillCounter
insuranceCost: ISkillCounter;
repairCost: ISkillCounter;
repeatableQuestCompleteCount: ISkillCounter;
restoredHealthCost: ISkillCounter;
scavCaseCost: ISkillCounter;
}
export interface IBonusSettings
{
EliteBonusSettings: IEliteBonusSettings
LevelBonusSettings: ILevelBonusSettings
EliteBonusSettings: IEliteBonusSettings;
LevelBonusSettings: ILevelBonusSettings;
}
export interface IEliteBonusSettings
{
FenceStandingLossDiscount: number
RepeatableQuestExtraCount: number
ScavCaseDiscount: number
FenceStandingLossDiscount: number;
RepeatableQuestExtraCount: number;
ScavCaseDiscount: number;
}
export interface ILevelBonusSettings
{
HealthRestoreDiscount: number
HealthRestoreTraderDiscount: number
InsuranceDiscount: number
InsuranceTraderDiscount: number
PaidExitDiscount: number
RepeatableQuestChangeDiscount: number
HealthRestoreDiscount: number;
HealthRestoreTraderDiscount: number;
InsuranceDiscount: number;
InsuranceTraderDiscount: number;
PaidExitDiscount: number;
RepeatableQuestChangeDiscount: number;
}
export interface IMemory
export interface IMemory
{
AnySkillUp: number
SkillProgress: number
AnySkillUp: number;
SkillProgress: number;
}
export interface ISurgery
export interface ISurgery
{
SurgeryAction: number
SkillProgress: number
SurgeryAction: number;
SkillProgress: number;
}
export interface IAimDrills
export interface IAimDrills
{
WeaponShotAction: number
WeaponShotAction: number;
}
export interface ITroubleShooting
export interface ITroubleShooting
{
MalfRepairSpeedBonusPerLevel: number
SkillPointsPerMalfFix: number
EliteDurabilityChanceReduceMult: number
EliteAmmoChanceReduceMult: number
EliteMagChanceReduceMult: number
MalfRepairSpeedBonusPerLevel: number;
SkillPointsPerMalfFix: number;
EliteDurabilityChanceReduceMult: number;
EliteAmmoChanceReduceMult: number;
EliteMagChanceReduceMult: number;
}
export interface IAiming
export interface IAiming
{
ProceduralIntensityByPose: Ixyz
AimProceduralIntensity: number
HeavyWeight: number
LightWeight: number
MaxTimeHeavy: number
MinTimeHeavy: number
MaxTimeLight: number
MinTimeLight: number
RecoilScaling: number
RecoilDamping: number
CameraSnapGlobalMult: number
RecoilXIntensityByPose: Ixyz
RecoilYIntensityByPose: Ixyz
RecoilZIntensityByPose: Ixyz
RecoilCrank: boolean
RecoilHandDamping: number
RecoilConvergenceMult: number
RecoilVertBonus: number
RecoilBackBonus: number
ProceduralIntensityByPose: Ixyz;
AimProceduralIntensity: number;
HeavyWeight: number;
LightWeight: number;
MaxTimeHeavy: number;
MinTimeHeavy: number;
MaxTimeLight: number;
MinTimeLight: number;
RecoilScaling: number;
RecoilDamping: number;
CameraSnapGlobalMult: number;
RecoilXIntensityByPose: Ixyz;
RecoilYIntensityByPose: Ixyz;
RecoilZIntensityByPose: Ixyz;
RecoilCrank: boolean;
RecoilHandDamping: number;
RecoilConvergenceMult: number;
RecoilVertBonus: number;
RecoilBackBonus: number;
}
export interface IMalfunction
export interface IMalfunction
{
AmmoMalfChanceMult: number
MagazineMalfChanceMult: number
MalfRepairHardSlideMult: number
MalfRepairOneHandBrokenMult: number
MalfRepairTwoHandsBrokenMult: number
AllowMalfForBots: boolean
ShowGlowAttemptsCount: number
OutToIdleSpeedMultForPistol: number
IdleToOutSpeedMultOnMalf: number
TimeToQuickdrawPistol: number
DurRangeToIgnoreMalfs: Ixyz
DurFeedWt: number
DurMisfireWt: number
DurJamWt: number
DurSoftSlideWt: number
DurHardSlideMinWt: number
DurHardSlideMaxWt: number
AmmoMisfireWt: number
AmmoFeedWt: number
AmmoJamWt: number
OverheatFeedWt: number
OverheatJamWt: number
OverheatSoftSlideWt: number
OverheatHardSlideMinWt: number
OverheatHardSlideMaxWt: number
AmmoMalfChanceMult: number;
MagazineMalfChanceMult: number;
MalfRepairHardSlideMult: number;
MalfRepairOneHandBrokenMult: number;
MalfRepairTwoHandsBrokenMult: number;
AllowMalfForBots: boolean;
ShowGlowAttemptsCount: number;
OutToIdleSpeedMultForPistol: number;
IdleToOutSpeedMultOnMalf: number;
TimeToQuickdrawPistol: number;
DurRangeToIgnoreMalfs: Ixyz;
DurFeedWt: number;
DurMisfireWt: number;
DurJamWt: number;
DurSoftSlideWt: number;
DurHardSlideMinWt: number;
DurHardSlideMaxWt: number;
AmmoMisfireWt: number;
AmmoFeedWt: number;
AmmoJamWt: number;
OverheatFeedWt: number;
OverheatJamWt: number;
OverheatSoftSlideWt: number;
OverheatHardSlideMinWt: number;
OverheatHardSlideMaxWt: number;
}
export interface IOverheat
export interface IOverheat
{
MinOverheat: number
MaxOverheat: number
OverheatProblemsStart: number
ModHeatFactor: number
ModCoolFactor: number
MinWearOnOverheat: number
MaxWearOnOverheat: number
MinWearOnMaxOverheat: number
MaxWearOnMaxOverheat: number
OverheatWearLimit: number
MaxCOIIncreaseMult: number
MinMalfChance: number
MaxMalfChance: number
DurReduceMinMult: number
DurReduceMaxMult: number
BarrelMoveRndDuration: number
BarrelMoveMaxMult: number
FireratePitchMult: number
FirerateReduceMinMult: number
FirerateReduceMaxMult: number
FirerateOverheatBorder: number
EnableSlideOnMaxOverheat: boolean
StartSlideOverheat: number
FixSlideOverheat: number
AutoshotMinOverheat: number
AutoshotChance: number
AutoshotPossibilityDuration: number
MaxOverheatCoolCoef: number
MinOverheat: number;
MaxOverheat: number;
OverheatProblemsStart: number;
ModHeatFactor: number;
ModCoolFactor: number;
MinWearOnOverheat: number;
MaxWearOnOverheat: number;
MinWearOnMaxOverheat: number;
MaxWearOnMaxOverheat: number;
OverheatWearLimit: number;
MaxCOIIncreaseMult: number;
MinMalfChance: number;
MaxMalfChance: number;
DurReduceMinMult: number;
DurReduceMaxMult: number;
BarrelMoveRndDuration: number;
BarrelMoveMaxMult: number;
FireratePitchMult: number;
FirerateReduceMinMult: number;
FirerateReduceMaxMult: number;
FirerateOverheatBorder: number;
EnableSlideOnMaxOverheat: boolean;
StartSlideOverheat: number;
FixSlideOverheat: number;
AutoshotMinOverheat: number;
AutoshotChance: number;
AutoshotPossibilityDuration: number;
MaxOverheatCoolCoef: number;
}
export interface IFenceSettings
export interface IFenceSettings
{
FenceId: string
Levels: Record<string, IFenceLevel>
paidExitStandingNumerator: number
FenceId: string;
Levels: Record<string, IFenceLevel>;
paidExitStandingNumerator: number;
}
export interface IFenceLevel
{
SavageCooldownModifier: number
ScavCaseTimeModifier: number
PaidExitCostModifier: number
BotFollowChance: number
ScavEquipmentSpawnChanceModifier: number
PriceModifier: number
HostileBosses: boolean
HostileScavs: boolean
ScavAttackSupport: boolean
ExfiltrationPriceModifier: number
AvailableExits: number
BotApplySilenceChance: number
BotGetInCoverChance: number
BotHelpChance: number
BotSpreadoutChance: number
BotStopChance: number
}
export interface IInertia
export interface IFenceLevel
{
InertiaLimits: Ixyz
InertiaLimitsStep: number
ExitMovementStateSpeedThreshold: Ixyz
WalkInertia: Ixyz
FallThreshold: number
SpeedLimitAfterFallMin: Ixyz
SpeedLimitAfterFallMax: Ixyz
SpeedLimitDurationMin: Ixyz
SpeedLimitDurationMax: Ixyz
SpeedInertiaAfterJump: Ixyz
BaseJumpPenaltyDuration: number
DurationPower: number
BaseJumpPenalty: number
PenaltyPower: number
InertiaTiltCurveMin: Ixyz
InertiaTiltCurveMax: Ixyz
InertiaBackwardCoef: Ixyz
TiltInertiaMaxSpeed: Ixyz
TiltStartSideBackSpeed: Ixyz
TiltMaxSideBackSpeed: Ixyz
TiltAcceleration: Ixyz
AverageRotationFrameSpan: number
SprintSpeedInertiaCurveMin: Ixyz
SprintSpeedInertiaCurveMax: Ixyz
SprintBrakeInertia: Ixyz
SprintTransitionMotionPreservation: Ixyz
WeaponFlipSpeed: Ixyz
PreSprintAccelerationLimits: Ixyz
SprintAccelerationLimits: Ixyz
SideTime: Ixyz
DiagonalTime: Ixyz
MaxTimeWithoutInput: Ixyz
MinDirectionBlendTime: number
MoveTimeRange: Ixyz
ProneDirectionAccelerationRange: Ixyz
ProneSpeedAccelerationRange: Ixyz
MinMovementAccelerationRangeRight: Ixyz
MaxMovementAccelerationRangeRight: Ixyz
SavageCooldownModifier: number;
ScavCaseTimeModifier: number;
PaidExitCostModifier: number;
BotFollowChance: number;
ScavEquipmentSpawnChanceModifier: number;
PriceModifier: number;
HostileBosses: boolean;
HostileScavs: boolean;
ScavAttackSupport: boolean;
ExfiltrationPriceModifier: number;
AvailableExits: number;
BotApplySilenceChance: number;
BotGetInCoverChance: number;
BotHelpChance: number;
BotSpreadoutChance: number;
BotStopChance: number;
}
export interface IBallistic
export interface IInertia
{
GlobalDamageDegradationCoefficient: number
InertiaLimits: Ixyz;
InertiaLimitsStep: number;
ExitMovementStateSpeedThreshold: Ixyz;
WalkInertia: Ixyz;
FallThreshold: number;
SpeedLimitAfterFallMin: Ixyz;
SpeedLimitAfterFallMax: Ixyz;
SpeedLimitDurationMin: Ixyz;
SpeedLimitDurationMax: Ixyz;
SpeedInertiaAfterJump: Ixyz;
BaseJumpPenaltyDuration: number;
DurationPower: number;
BaseJumpPenalty: number;
PenaltyPower: number;
InertiaTiltCurveMin: Ixyz;
InertiaTiltCurveMax: Ixyz;
InertiaBackwardCoef: Ixyz;
TiltInertiaMaxSpeed: Ixyz;
TiltStartSideBackSpeed: Ixyz;
TiltMaxSideBackSpeed: Ixyz;
TiltAcceleration: Ixyz;
AverageRotationFrameSpan: number;
SprintSpeedInertiaCurveMin: Ixyz;
SprintSpeedInertiaCurveMax: Ixyz;
SprintBrakeInertia: Ixyz;
SprintTransitionMotionPreservation: Ixyz;
WeaponFlipSpeed: Ixyz;
PreSprintAccelerationLimits: Ixyz;
SprintAccelerationLimits: Ixyz;
SideTime: Ixyz;
DiagonalTime: Ixyz;
MaxTimeWithoutInput: Ixyz;
MinDirectionBlendTime: number;
MoveTimeRange: Ixyz;
ProneDirectionAccelerationRange: Ixyz;
ProneSpeedAccelerationRange: Ixyz;
MinMovementAccelerationRangeRight: Ixyz;
MaxMovementAccelerationRangeRight: Ixyz;
}
export interface IBallistic
{
GlobalDamageDegradationCoefficient: number;
}
export interface IRepairSettings
{
ItemEnhancementSettings: IItemEnhancementSettings
MinimumLevelToApplyBuff: number
RepairStrategies: IRepairStrategies
armorClassDivisor: number
durabilityPointCostArmor: number
durabilityPointCostGuns: number
ItemEnhancementSettings: IItemEnhancementSettings;
MinimumLevelToApplyBuff: number;
RepairStrategies: IRepairStrategies;
armorClassDivisor: number;
durabilityPointCostArmor: number;
durabilityPointCostGuns: number;
}
export interface IItemEnhancementSettings
{
DamageReduction: IPriceModifier
MalfunctionProtections: IPriceModifier
WeaponSpread: IPriceModifier
DamageReduction: IPriceModifier;
MalfunctionProtections: IPriceModifier;
WeaponSpread: IPriceModifier;
}
export interface IPriceModifier
{
PriceModifier: number
PriceModifier: number;
}
export interface IRepairStrategies
{
Armor: IRepairStrategy
Firearms: IRepairStrategy
Armor: IRepairStrategy;
Firearms: IRepairStrategy;
}
export interface IRepairStrategy
{
BuffTypes: string[]
Filter: string[]
BuffTypes: string[];
Filter: string[];
}
export interface IBotPreset
export interface IBotPreset
{
UseThis: boolean
Role: string
BotDifficulty: string
VisibleAngle: number
VisibleDistance: number
ScatteringPerMeter: number
HearingSense: number
SCATTERING_DIST_MODIF: number
MAX_AIMING_UPGRADE_BY_TIME: number
FIRST_CONTACT_ADD_SEC: number
COEF_IF_MOVE: number
UseThis: boolean;
Role: string;
BotDifficulty: string;
VisibleAngle: number;
VisibleDistance: number;
ScatteringPerMeter: number;
HearingSense: number;
SCATTERING_DIST_MODIF: number;
MAX_AIMING_UPGRADE_BY_TIME: number;
FIRST_CONTACT_ADD_SEC: number;
COEF_IF_MOVE: number;
}
export interface IAudioSettings
{
AudioGroupPresets: IAudioGroupPreset[]
AudioGroupPresets: IAudioGroupPreset[];
}
export interface IAudioGroupPreset
{
AngleToAllowBinaural: number
DisabledBinauralByDistance: boolean
DistanceToAllowBinaural: number
GroupType: number
HeightToAllowBinaural: number
Name: string
OcclusionEnabled: boolean
OcclusionIntensity: number
OverallVolume: number
AngleToAllowBinaural: number;
DisabledBinauralByDistance: boolean;
DistanceToAllowBinaural: number;
GroupType: number;
HeightToAllowBinaural: number;
Name: string;
OcclusionEnabled: boolean;
OcclusionIntensity: number;
OverallVolume: number;
}
export interface IBotWeaponScattering
export interface IBotWeaponScattering
{
Name: string
PriorityScatter1meter: number
PriorityScatter10meter: number
PriorityScatter100meter: number
Name: string;
PriorityScatter1meter: number;
PriorityScatter10meter: number;
PriorityScatter100meter: number;
}
export interface IPreset
export interface IPreset
{
_id: string
_type: string
_changeWeaponName: boolean
_name: string
_parent: string
_items: Item[]
_id: string;
_type: string;
_changeWeaponName: boolean;
_name: string;
_parent: string;
_items: Item[];
/** Default presets have this property */
_encyclopedia?: string
}
_encyclopedia?: string;
}

View File

@ -1,28 +1,28 @@
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
export interface ILocation
export interface ILocation
{
base: ILocationBase
base: ILocationBase;
looseLoot: ILooseLoot;
statics: IStaticContainer
statics: IStaticContainer;
}
export interface IStaticContainer
{
containersGroups: Record<string, IContainerMinMax>
containers: Record< string, IContainerData>
containersGroups: Record<string, IContainerMinMax>;
containers: Record<string, IContainerData>;
}
export interface IContainerMinMax
{
minContainers: number
maxContainers: number
current?: number
chosenCount?: number
minContainers: number;
maxContainers: number;
current?: number;
chosenCount?: number;
}
export interface IContainerData
{
groupId: string
groupId: string;
}

View File

@ -2,271 +2,269 @@ import { MinMax } from "@spt-aki/models/common/MinMax";
import { Ixyz } from "@spt-aki/models/eft/common/Ixyz";
/* eslint-disable @typescript-eslint/naming-convention */
export interface ILocationBase
export interface ILocationBase
{
AccessKeys: string[]
AirdropParameters: AirdropParameter[]
Area: number
AveragePlayTime: number
AveragePlayerLevel: number
Banners: Banner[]
BossLocationSpawn: BossLocationSpawn[]
BotAssault: number
BotEasy: number
BotHard: number
BotImpossible: number
BotLocationModifier: BotLocationModifier
BotMarksman: number
BotMax: number
BotMaxPlayer: number
BotMaxTimePlayer: number
BotNormal: number
BotSpawnCountStep: number
BotSpawnPeriodCheck: number
BotSpawnTimeOffMax: number
BotSpawnTimeOffMin: number
BotSpawnTimeOnMax: number
BotSpawnTimeOnMin: number
BotStart: number
BotStop: number
Description: string
DisabledForScav: boolean
DisabledScavExits: string
Enabled: boolean
EnableCoop: boolean
GlobalLootChanceModifier: number
GlobalContainerChanceModifier: number
IconX: number
IconY: number
Id: string
Insurance: boolean
IsSecret: boolean
Locked: boolean
Loot: any[]
MatchMakerMinPlayersByWaitTime: MinPlayerWaitTime[]
MaxBotPerZone: number
MaxDistToFreePoint: number
MaxPlayers: number
MinDistToExitPoint: number
MinDistToFreePoint: number
MinMaxBots: MinMaxBot[]
MinPlayers: number
MaxCoopGroup: number
Name: string
NonWaveGroupScenario: INonWaveGroupScenario
NewSpawn: boolean
OcculsionCullingEnabled: boolean
OldSpawn: boolean
OpenZones: string
Preview: Preview
PlayersRequestCount: number
RequiredPlayerLevel?: number
RequiredPlayerLevelMin?: number
RequiredPlayerLevelMax?: number
MinPlayerLvlAccessKeys: number
PmcMaxPlayersInGroup: number
ScavMaxPlayersInGroup: number
Rules: string
SafeLocation: boolean
Scene: Scene
SpawnPointParams: SpawnPointParam[]
UnixDateTime: number
_Id: string
doors: any[]
EscapeTimeLimit: number
EscapeTimeLimitCoop: number
exit_access_time: number
exit_count: number
exit_time: number
exits: Exit[]
filter_ex: string[]
limits: ILimit[]
matching_min_seconds: number
GenerateLocalLootCache: boolean
maxItemCountInLocation: MaxItemCountInLocation[]
sav_summon_seconds: number
tmp_location_field_remove_me: number
users_gather_seconds: number
users_spawn_seconds_n: number
users_spawn_seconds_n2: number
users_summon_seconds: number
waves: Wave[]
AccessKeys: string[];
AirdropParameters: AirdropParameter[];
Area: number;
AveragePlayTime: number;
AveragePlayerLevel: number;
Banners: Banner[];
BossLocationSpawn: BossLocationSpawn[];
BotAssault: number;
BotEasy: number;
BotHard: number;
BotImpossible: number;
BotLocationModifier: BotLocationModifier;
BotMarksman: number;
BotMax: number;
BotMaxPlayer: number;
BotMaxTimePlayer: number;
BotNormal: number;
BotSpawnCountStep: number;
BotSpawnPeriodCheck: number;
BotSpawnTimeOffMax: number;
BotSpawnTimeOffMin: number;
BotSpawnTimeOnMax: number;
BotSpawnTimeOnMin: number;
BotStart: number;
BotStop: number;
Description: string;
DisabledForScav: boolean;
DisabledScavExits: string;
Enabled: boolean;
EnableCoop: boolean;
GlobalLootChanceModifier: number;
GlobalContainerChanceModifier: number;
IconX: number;
IconY: number;
Id: string;
Insurance: boolean;
IsSecret: boolean;
Locked: boolean;
Loot: any[];
MatchMakerMinPlayersByWaitTime: MinPlayerWaitTime[];
MaxBotPerZone: number;
MaxDistToFreePoint: number;
MaxPlayers: number;
MinDistToExitPoint: number;
MinDistToFreePoint: number;
MinMaxBots: MinMaxBot[];
MinPlayers: number;
MaxCoopGroup: number;
Name: string;
NonWaveGroupScenario: INonWaveGroupScenario;
NewSpawn: boolean;
OcculsionCullingEnabled: boolean;
OldSpawn: boolean;
OpenZones: string;
Preview: Preview;
PlayersRequestCount: number;
RequiredPlayerLevel?: number;
RequiredPlayerLevelMin?: number;
RequiredPlayerLevelMax?: number;
MinPlayerLvlAccessKeys: number;
PmcMaxPlayersInGroup: number;
ScavMaxPlayersInGroup: number;
Rules: string;
SafeLocation: boolean;
Scene: Scene;
SpawnPointParams: SpawnPointParam[];
UnixDateTime: number;
_Id: string;
doors: any[];
EscapeTimeLimit: number;
EscapeTimeLimitCoop: number;
exit_access_time: number;
exit_count: number;
exit_time: number;
exits: Exit[];
filter_ex: string[];
limits: ILimit[];
matching_min_seconds: number;
GenerateLocalLootCache: boolean;
maxItemCountInLocation: MaxItemCountInLocation[];
sav_summon_seconds: number;
tmp_location_field_remove_me: number;
users_gather_seconds: number;
users_spawn_seconds_n: number;
users_spawn_seconds_n2: number;
users_summon_seconds: number;
waves: Wave[];
}
export interface INonWaveGroupScenario
{
Chance: number
Enabled: boolean,
MaxToBeGroup: number
MinToBeGroup: number
Chance: number;
Enabled: boolean;
MaxToBeGroup: number;
MinToBeGroup: number;
}
export interface ILimit extends MinMax
{
items: any[]
items: any[];
}
}
export interface AirdropParameter
export interface AirdropParameter
{
AirdropPointDeactivateDistance: number
MinPlayersCountToSpawnAirdrop: number
PlaneAirdropChance: number
PlaneAirdropCooldownMax: number
PlaneAirdropCooldownMin: number
PlaneAirdropEnd: number
PlaneAirdropMax: number
PlaneAirdropStartMax: number
PlaneAirdropStartMin: number
UnsuccessfulTryPenalty: number
AirdropPointDeactivateDistance: number;
MinPlayersCountToSpawnAirdrop: number;
PlaneAirdropChance: number;
PlaneAirdropCooldownMax: number;
PlaneAirdropCooldownMin: number;
PlaneAirdropEnd: number;
PlaneAirdropMax: number;
PlaneAirdropStartMax: number;
PlaneAirdropStartMin: number;
UnsuccessfulTryPenalty: number;
}
export interface Banner
export interface Banner
{
id: string
pic: Pic
id: string;
pic: Pic;
}
export interface Pic
export interface Pic
{
path: string
rcid: string
path: string;
rcid: string;
}
export interface BossLocationSpawn
export interface BossLocationSpawn
{
BossChance: number
BossDifficult: string
BossEscortAmount: string
BossEscortDifficult: string
BossEscortType: string
BossName: string
BossPlayer: boolean
BossZone: string
RandomTimeSpawn: boolean
Time: number
TriggerId: string
TriggerName: string
Delay?: number
ForceSpawn?: boolean
IgnoreMaxBots?: boolean
Supports?: BossSupport[]
sptId?: string
BossChance: number;
BossDifficult: string;
BossEscortAmount: string;
BossEscortDifficult: string;
BossEscortType: string;
BossName: string;
BossPlayer: boolean;
BossZone: string;
RandomTimeSpawn: boolean;
Time: number;
TriggerId: string;
TriggerName: string;
Delay?: number;
ForceSpawn?: boolean;
IgnoreMaxBots?: boolean;
Supports?: BossSupport[];
sptId?: string;
}
export interface BossSupport
{
BossEscortAmount: string
BossEscortDifficult: string[]
BossEscortType: string
BossEscortAmount: string;
BossEscortDifficult: string[];
BossEscortType: string;
}
export interface BotLocationModifier
export interface BotLocationModifier
{
AccuracySpeed: number
DistToActivate: number
DistToPersueAxemanCoef: number
DistToSleep: number
GainSight: number
KhorovodChance: number
MagnetPower: number
MarksmanAccuratyCoef: number
Scattering: number
VisibleDistance: number
AccuracySpeed: number;
DistToActivate: number;
DistToPersueAxemanCoef: number;
DistToSleep: number;
GainSight: number;
KhorovodChance: number;
MagnetPower: number;
MarksmanAccuratyCoef: number;
Scattering: number;
VisibleDistance: number;
}
export interface MinMaxBot extends MinMax
{
WildSpawnType: WildSpawnType | string
WildSpawnType: WildSpawnType | string;
}
export interface MinPlayerWaitTime
{
minPlayers: number
time: number
}
export interface Preview
{
path: string
rcid: string
}
export interface Scene
{
path: string
rcid: string
}
export interface SpawnPointParam
{
BotZoneName: string
Categories: string[]
ColliderParams: ColliderParams
CorePointId: number
DelayToCanSpawnSec: number
Id: string
Infiltration: string
Position: Ixyz
Rotation: number
Sides: string[]
}
export interface ColliderParams
{
_parent: string
_props: Props
}
export interface Props
{
Center: Ixyz
Radius: number
minPlayers: number;
time: number;
}
export interface Exit
export interface Preview
{
Chance: number
Count: number
EntryPoints: string
ExfiltrationTime: number
ExfiltrationType: string
RequiredSlot?: string
Id: string
MaxTime: number
MinTime: number
Name: string
PassageRequirement: string
PlayersCount: number
RequirementTip: string
path: string;
rcid: string;
}
export interface MaxItemCountInLocation
export interface Scene
{
TemplateId: string
Value: number
path: string;
rcid: string;
}
export interface Wave
export interface SpawnPointParam
{
BotPreset: string
BotSide: string
SpawnPoints: string
WildSpawnType: WildSpawnType
isPlayers: boolean
number: number
slots_max: number
slots_min: number
time_max: number
time_min: number
sptId?: string
ChanceGroup?: number
BotZoneName: string;
Categories: string[];
ColliderParams: ColliderParams;
CorePointId: number;
DelayToCanSpawnSec: number;
Id: string;
Infiltration: string;
Position: Ixyz;
Rotation: number;
Sides: string[];
}
export interface ColliderParams
{
_parent: string;
_props: Props;
}
export interface Props
{
Center: Ixyz;
Radius: number;
}
export interface Exit
{
Chance: number;
Count: number;
EntryPoints: string;
ExfiltrationTime: number;
ExfiltrationType: string;
RequiredSlot?: string;
Id: string;
MaxTime: number;
MinTime: number;
Name: string;
PassageRequirement: string;
PlayersCount: number;
RequirementTip: string;
}
export interface MaxItemCountInLocation
{
TemplateId: string;
Value: number;
}
export interface Wave
{
BotPreset: string;
BotSide: string;
SpawnPoints: string;
WildSpawnType: WildSpawnType;
isPlayers: boolean;
number: number;
slots_max: number;
slots_min: number;
time_max: number;
time_min: number;
sptId?: string;
ChanceGroup?: number;
}
export enum WildSpawnType
{
{
ASSAULT = "assault",
MARKSMAN = "marksman",
PMCBOT = "pmcbot"
}
PMCBOT = "pmcbot",
}

View File

@ -1,13 +1,13 @@
import { ILocations } from "@spt-aki/models/spt/server/ILocations";
export interface ILocationsGenerateAllResponse
export interface ILocationsGenerateAllResponse
{
locations: ILocations
paths: Path[]
locations: ILocations;
paths: Path[];
}
export interface Path
export interface Path
{
Source: string
Destination: string
}
Source: string;
Destination: string;
}

View File

@ -1,56 +1,56 @@
import { Ixyz } from "@spt-aki/models/eft/common/Ixyz";
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
export interface ILooseLoot
export interface ILooseLoot
{
spawnpointCount: SpawnpointCount;
spawnpointsForced: SpawnpointsForced[];
spawnpoints: Spawnpoint[];
}
export interface SpawnpointCount
export interface SpawnpointCount
{
mean: number
std: number
mean: number;
std: number;
}
export interface SpawnpointsForced
export interface SpawnpointsForced
{
locationId: string
probability: number
template: SpawnpointTemplate
locationId: string;
probability: number;
template: SpawnpointTemplate;
}
export interface SpawnpointTemplate
export interface SpawnpointTemplate
{
Id: string
IsContainer: boolean
useGravity: boolean
randomRotation: boolean
Position: Ixyz
Rotation: Ixyz
IsAlwaysSpawn: boolean
IsGroupPosition: boolean
GroupPositions: any[]
Root: string
Items: Item[]
Id: string;
IsContainer: boolean;
useGravity: boolean;
randomRotation: boolean;
Position: Ixyz;
Rotation: Ixyz;
IsAlwaysSpawn: boolean;
IsGroupPosition: boolean;
GroupPositions: any[];
Root: string;
Items: Item[];
}
export interface Spawnpoint
export interface Spawnpoint
{
locationId: string
probability: number
template: SpawnpointTemplate
itemDistribution: ItemDistribution[]
locationId: string;
probability: number;
template: SpawnpointTemplate;
itemDistribution: ItemDistribution[];
}
export interface ItemDistribution
export interface ItemDistribution
{
composedKey: ComposedKey
relativeProbability: number
composedKey: ComposedKey;
relativeProbability: number;
}
export interface ComposedKey
{
key: string
key: string;
}

View File

@ -1,8 +1,8 @@
export interface IMetricsTableData
export interface IMetricsTableData
{
Keys: number[]
NetProcessingBins: number[]
RenderBins: number[]
GameUpdateBins: number[]
MemoryMeasureInterval: number
}
Keys: number[];
NetProcessingBins: number[];
RenderBins: number[];
GameUpdateBins: number[];
MemoryMeasureInterval: number;
}

View File

@ -6,5 +6,5 @@ export interface IPmcData extends IBotBase
export interface IPostRaidPmcData extends IBotBase
{
/** Only found in profile we get from client post raid */
EftStats: IEftStats
}
EftStats: IEftStats;
}

View File

@ -1,5 +1,4 @@
export interface Ixyz
export interface Ixyz
{
x: number;
y: number;

View File

@ -1,12 +1,12 @@
export interface IBaseInteractionRequestData
export interface IBaseInteractionRequestData
{
Action: string
fromOwner?: OwnerInfo
toOwner?: OwnerInfo
Action: string;
fromOwner?: OwnerInfo;
toOwner?: OwnerInfo;
}
export interface OwnerInfo
export interface OwnerInfo
{
id: string
type: string
}
id: string;
type: string;
}

View File

@ -5,514 +5,512 @@ import { HideoutAreas } from "@spt-aki/models/enums/HideoutAreas";
import { MemberCategory } from "@spt-aki/models/enums/MemberCategory";
import { QuestStatus } from "@spt-aki/models/enums/QuestStatus";
export interface IBotBase
export interface IBotBase
{
_id: string
aid: number
_id: string;
aid: number;
/** SPT property - use to store player id - TODO - move to AID ( account id as guid of choice) */
sessionId: string
savage?: string
Info: Info
Customization: Customization
Health: Health
Inventory: Inventory
Skills: Skills
Stats: Stats
Encyclopedia: Record<string, boolean>
ConditionCounters: ConditionCounters
BackendCounters: Record<string, BackendCounter>
InsuredItems: InsuredItem[]
Hideout: Hideout
Quests: IQuestStatus[]
TradersInfo: Record<string, TraderInfo>
UnlockedInfo: IUnlockedInfo
RagfairInfo: RagfairInfo
RepeatableQuests: IPmcDataRepeatableQuest[]
Bonuses: Bonus[]
Notes: Notes
CarExtractCounts: CarExtractCounts
SurvivorClass: SurvivorClass
WishList: string[]
sessionId: string;
savage?: string;
Info: Info;
Customization: Customization;
Health: Health;
Inventory: Inventory;
Skills: Skills;
Stats: Stats;
Encyclopedia: Record<string, boolean>;
ConditionCounters: ConditionCounters;
BackendCounters: Record<string, BackendCounter>;
InsuredItems: InsuredItem[];
Hideout: Hideout;
Quests: IQuestStatus[];
TradersInfo: Record<string, TraderInfo>;
UnlockedInfo: IUnlockedInfo;
RagfairInfo: RagfairInfo;
RepeatableQuests: IPmcDataRepeatableQuest[];
Bonuses: Bonus[];
Notes: Notes;
CarExtractCounts: CarExtractCounts;
SurvivorClass: SurvivorClass;
WishList: string[];
/** SPT specific property used during bot generation in raid */
sptIsPmc?: boolean
sptIsPmc?: boolean;
}
export interface IUnlockedInfo
{
unlockedProductionRecipe: string[]
unlockedProductionRecipe: string[];
}
export interface Info
export interface Info
{
EntryPoint: string
Nickname: string
LowerNickname: string
Side: string
SquadInviteRestriction: boolean
Voice: string
Level: number
Experience: number
RegistrationDate: number
GameVersion: string
AccountType: number
MemberCategory: MemberCategory
lockedMoveCommands: boolean
SavageLockTime: number
LastTimePlayedAsSavage: number
Settings: Settings
NicknameChangeDate: number
NeedWipeOptions: any[]
lastCompletedWipe: LastCompleted
Bans: IBan[]
BannedState: boolean
BannedUntil: number
IsStreamerModeAvailable: boolean
lastCompletedEvent?: LastCompleted
EntryPoint: string;
Nickname: string;
LowerNickname: string;
Side: string;
SquadInviteRestriction: boolean;
Voice: string;
Level: number;
Experience: number;
RegistrationDate: number;
GameVersion: string;
AccountType: number;
MemberCategory: MemberCategory;
lockedMoveCommands: boolean;
SavageLockTime: number;
LastTimePlayedAsSavage: number;
Settings: Settings;
NicknameChangeDate: number;
NeedWipeOptions: any[];
lastCompletedWipe: LastCompleted;
Bans: IBan[];
BannedState: boolean;
BannedUntil: number;
IsStreamerModeAvailable: boolean;
lastCompletedEvent?: LastCompleted;
}
export interface Settings
export interface Settings
{
Role: string
BotDifficulty: string
Experience: number
StandingForKill: number
AggressorBonus: number
Role: string;
BotDifficulty: string;
Experience: number;
StandingForKill: number;
AggressorBonus: number;
}
export interface IBan
{
type: BanType
dateTime: number
type: BanType;
dateTime: number;
}
export enum BanType
{
{
CHAT = 0,
RAGFAIR = 1,
VOIP = 2,
TRADING = 3,
ONLINE = 4,
FRIENDS = 5,
CHANGE_NICKNAME = 6
CHANGE_NICKNAME = 6,
}
export interface Customization
export interface Customization
{
Head: string
Body: string
Feet: string
Hands: string
Head: string;
Body: string;
Feet: string;
Hands: string;
}
export interface Health
export interface Health
{
Hydration: CurrentMax
Energy: CurrentMax
Temperature: CurrentMax
BodyParts: BodyPartsHealth
UpdateTime: number
Hydration: CurrentMax;
Energy: CurrentMax;
Temperature: CurrentMax;
BodyParts: BodyPartsHealth;
UpdateTime: number;
}
export interface BodyPartsHealth
export interface BodyPartsHealth
{
Head: BodyPartHealth
Chest: BodyPartHealth
Stomach: BodyPartHealth
LeftArm: BodyPartHealth
RightArm: BodyPartHealth
LeftLeg: BodyPartHealth
RightLeg: BodyPartHealth
Head: BodyPartHealth;
Chest: BodyPartHealth;
Stomach: BodyPartHealth;
LeftArm: BodyPartHealth;
RightArm: BodyPartHealth;
LeftLeg: BodyPartHealth;
RightLeg: BodyPartHealth;
}
export interface BodyPartHealth
export interface BodyPartHealth
{
Health: CurrentMax
Effects?: Record<string, BodyPartEffectProperties>
Health: CurrentMax;
Effects?: Record<string, BodyPartEffectProperties>;
}
export interface BodyPartEffectProperties
{
Time: number
Time: number;
}
export interface CurrentMax
export interface CurrentMax
{
Current: number
Maximum: number
Current: number;
Maximum: number;
}
export interface Inventory
export interface Inventory
{
items: Item[]
equipment: string
stash: string
sortingTable: string
questRaidItems: string
questStashItems: string
items: Item[];
equipment: string;
stash: string;
sortingTable: string;
questRaidItems: string;
questStashItems: string;
/** Key is hideout area enum numeric as string e.g. "24", value is area _id */
hideoutAreaStashes: Record<string, string>
fastPanel: Record<string, string>
hideoutAreaStashes: Record<string, string>;
fastPanel: Record<string, string>;
}
export interface IBaseJsonSkills
{
Common: Record<string, Common>
Mastering: Record<string, Mastering>
Points: number
Common: Record<string, Common>;
Mastering: Record<string, Mastering>;
Points: number;
}
export interface Skills
export interface Skills
{
Common: Common[]
Mastering: Mastering[]
Points: number
Common: Common[];
Mastering: Mastering[];
Points: number;
}
export interface IBaseSkill
{
Id: string
Progress: number
max?: number
min?: number
Id: string;
Progress: number;
max?: number;
min?: number;
}
export interface Common extends IBaseSkill
{
PointsEarnedDuringSession?: number
LastAccess?: number
PointsEarnedDuringSession?: number;
LastAccess?: number;
}
export interface Mastering extends IBaseSkill
{}
export interface Stats
export interface Stats
{
Eft: IEftStats
Eft: IEftStats;
}
export interface IEftStats
{
CarriedQuestItems: string[]
Victims: Victim[]
TotalSessionExperience: number
LastSessionDate: number
SessionCounters: SessionCounters
OverallCounters: OverallCounters
SessionExperienceMult?: number
ExperienceBonusMult?: number
Aggressor?: Aggressor
DroppedItems?: IDroppedItem[]
FoundInRaidItems?: FoundInRaidItem[]
DamageHistory?: DamageHistory
DeathCause?: DeathCause
LastPlayerState?: LastPlayerState
TotalInGameTime: number
SurvivorClass?: string
CarriedQuestItems: string[];
Victims: Victim[];
TotalSessionExperience: number;
LastSessionDate: number;
SessionCounters: SessionCounters;
OverallCounters: OverallCounters;
SessionExperienceMult?: number;
ExperienceBonusMult?: number;
Aggressor?: Aggressor;
DroppedItems?: IDroppedItem[];
FoundInRaidItems?: FoundInRaidItem[];
DamageHistory?: DamageHistory;
DeathCause?: DeathCause;
LastPlayerState?: LastPlayerState;
TotalInGameTime: number;
SurvivorClass?: string;
}
export interface IDroppedItem
{
QuestId: string
ItemId: string
ZoneId: string
QuestId: string;
ItemId: string;
ZoneId: string;
}
export interface FoundInRaidItem
{
QuestId: string
ItemId: string
QuestId: string;
ItemId: string;
}
export interface Victim
export interface Victim
{
AccountId: string
ProfileId: string
Name: string
Side: string
BodyPart: string
Time: string
Distance: number
Level: number
Weapon: string
Role: string
AccountId: string;
ProfileId: string;
Name: string;
Side: string;
BodyPart: string;
Time: string;
Distance: number;
Level: number;
Weapon: string;
Role: string;
}
export interface SessionCounters
export interface SessionCounters
{
Items: CounterKeyValue[]
Items: CounterKeyValue[];
}
export interface OverallCounters
export interface OverallCounters
{
Items: CounterKeyValue[]
Items: CounterKeyValue[];
}
export interface CounterKeyValue
export interface CounterKeyValue
{
Key: string[]
Value: number
Key: string[];
Value: number;
}
export interface ConditionCounters
export interface ConditionCounters
{
Counters: Counter[]
Counters: Counter[];
}
export interface Counter
export interface Counter
{
id: string
value: number
qid: string
id: string;
value: number;
qid: string;
}
export interface Aggressor
export interface Aggressor
{
AccountId: string
ProfileId: string
MainProfileNickname: string
Name: string
Side: string
BodyPart: string
HeadSegment: string
WeaponName: string
Category: string
AccountId: string;
ProfileId: string;
MainProfileNickname: string;
Name: string;
Side: string;
BodyPart: string;
HeadSegment: string;
WeaponName: string;
Category: string;
}
export interface DamageHistory
export interface DamageHistory
{
LethalDamagePart: string
LethalDamage: LethalDamage
BodyParts: BodyPartsDamageHistory
LethalDamagePart: string;
LethalDamage: LethalDamage;
BodyParts: BodyPartsDamageHistory;
}
export interface LethalDamage
export interface LethalDamage
{
Amount: number
Type: string
SourceId: string
OverDamageFrom: string
Blunt: boolean
ImpactsCount: number
Amount: number;
Type: string;
SourceId: string;
OverDamageFrom: string;
Blunt: boolean;
ImpactsCount: number;
}
export interface BodyPartsDamageHistory
export interface BodyPartsDamageHistory
{
Head: DamageStats[]
Chest: DamageStats[]
Stomach: DamageStats[]
LeftArm: DamageStats[]
RightArm: DamageStats[]
LeftLeg: DamageStats[]
RightLeg: DamageStats[]
Common: DamageStats[]
Head: DamageStats[];
Chest: DamageStats[];
Stomach: DamageStats[];
LeftArm: DamageStats[];
RightArm: DamageStats[];
LeftLeg: DamageStats[];
RightLeg: DamageStats[];
Common: DamageStats[];
}
export interface DamageStats
export interface DamageStats
{
Amount: number
Type: string
SourceId: string
OverDamageFrom: string
Blunt: boolean
ImpactsCount: number
Amount: number;
Type: string;
SourceId: string;
OverDamageFrom: string;
Blunt: boolean;
ImpactsCount: number;
}
export interface DeathCause
export interface DeathCause
{
DamageType: string
Side: string
Role: string
WeaponId: string
DamageType: string;
Side: string;
Role: string;
WeaponId: string;
}
export interface LastPlayerState
{
Info: LastPlayerStateInfo
Customization: Record<string, string>
Equipment: any
Info: LastPlayerStateInfo;
Customization: Record<string, string>;
Equipment: any;
}
export interface LastPlayerStateInfo
{
Nickname: string
Side: string
Level: number
MemberCategory: MemberCategory
Nickname: string;
Side: string;
Level: number;
MemberCategory: MemberCategory;
}
export interface BackendCounter
export interface BackendCounter
{
id: string
qid?: string
value: number
id: string;
qid?: string;
value: number;
}
export interface InsuredItem
export interface InsuredItem
{
/** Trader Id item was insured by */
tid: string
itemId: string
tid: string;
itemId: string;
}
export interface Hideout
export interface Hideout
{
Production: Record<string, Productive>
Areas: HideoutArea[]
Improvement: Record<string, IHideoutImprovement>
Seed: number
sptUpdateLastRunTimestamp: number
Production: Record<string, Productive>;
Areas: HideoutArea[];
Improvement: Record<string, IHideoutImprovement>;
Seed: number;
sptUpdateLastRunTimestamp: number;
}
export interface IHideoutImprovement
{
completed: boolean
improveCompleteTimestamp: number
completed: boolean;
improveCompleteTimestamp: number;
}
export interface Productive
{
Products: Product[]
Products: Product[];
/** Seconds passed of production */
Progress?: number
Progress?: number;
/** Is craft in some state of being worked on by client (crafting/ready to pick up) */
inProgress?: boolean
StartTimestamp?: number
SkipTime?: number
inProgress?: boolean;
StartTimestamp?: number;
SkipTime?: number;
/** Seconds needed to fully craft */
ProductionTime?: number
GivenItemsInStart?: string[]
Interrupted?: boolean
ProductionTime?: number;
GivenItemsInStart?: string[];
Interrupted?: boolean;
/** Used in hideout production.json */
needFuelForAllProductionTime?: boolean
needFuelForAllProductionTime?: boolean;
/** Used when sending data to client */
NeedFuelForAllProductionTime?: boolean
sptIsScavCase?: boolean
NeedFuelForAllProductionTime?: boolean;
sptIsScavCase?: boolean;
}
export interface Production extends Productive
export interface Production extends Productive
{
RecipeId: string
SkipTime: number
ProductionTime: number
RecipeId: string;
SkipTime: number;
ProductionTime: number;
}
export interface ScavCase extends Productive
export interface ScavCase extends Productive
{
RecipeId: string
RecipeId: string;
}
export interface Product
export interface Product
{
_id: string
_tpl: string
upd?: Upd
_id: string;
_tpl: string;
upd?: Upd;
}
export interface HideoutArea
export interface HideoutArea
{
type: HideoutAreas
level: number
active: boolean
passiveBonusesEnabled: boolean
completeTime: number
constructing: boolean
slots: HideoutSlot[]
lastRecipe: string
type: HideoutAreas;
level: number;
active: boolean;
passiveBonusesEnabled: boolean;
completeTime: number;
constructing: boolean;
slots: HideoutSlot[];
lastRecipe: string;
}
export interface HideoutSlot
export interface HideoutSlot
{
/** SPT specific value to keep track of what index this slot is (0,1,2,3 etc) */
locationIndex: number
item?: HideoutItem[]
locationIndex: number;
item?: HideoutItem[];
}
export interface HideoutItem
export interface HideoutItem
{
_id: string
_tpl: string
upd?: Upd
_id: string;
_tpl: string;
upd?: Upd;
}
export interface LastCompleted
{
$oid: string
$oid: string;
}
export interface Notes
export interface Notes
{
Notes: Note[]
Notes: Note[];
}
export interface CarExtractCounts
export interface CarExtractCounts
{
}
export enum SurvivorClass
{
{
UNKNOWN = 0,
NEUTRALIZER = 1,
MARAUDER = 2,
PARAMEDIC = 3,
SURVIVOR = 4
SURVIVOR = 4,
}
export interface IQuestStatus
export interface IQuestStatus
{
qid: string
startTime: number
status: QuestStatus
statusTimers?: Record<string, number>
qid: string;
startTime: number;
status: QuestStatus;
statusTimers?: Record<string, number>;
/** SPT specific property */
completedConditions?: string[]
availableAfter?: number
completedConditions?: string[];
availableAfter?: number;
}
export interface TraderInfo
export interface TraderInfo
{
loyaltyLevel: number
salesSum: number
standing: number
nextResupply: number
unlocked: boolean
disabled: boolean
loyaltyLevel: number;
salesSum: number;
standing: number;
nextResupply: number;
unlocked: boolean;
disabled: boolean;
}
/** This object is sent to the client as part of traderRelations */
export interface TraderData
{
salesSum: number
standing: number
loyalty: number
unlocked: boolean
disabled: boolean
salesSum: number;
standing: number;
loyalty: number;
unlocked: boolean;
disabled: boolean;
}
export interface RagfairInfo
export interface RagfairInfo
{
rating: number
isRatingGrowing: boolean
offers: IRagfairOffer[]
rating: number;
isRatingGrowing: boolean;
offers: IRagfairOffer[];
}
export interface Bonus
export interface Bonus
{
id?: string
type: string
templateId?: string
passive?: boolean
production?: boolean
visible?: boolean
value?: number
icon?: string
filter?: string[]
skillType?: string
id?: string;
type: string;
templateId?: string;
passive?: boolean;
production?: boolean;
visible?: boolean;
value?: number;
icon?: string;
filter?: string[];
skillType?: string;
}
export interface Note
export interface Note
{
Time: number,
Text: string
}
Time: number;
Text: string;
}

View File

@ -1,135 +1,135 @@
/* eslint-disable @typescript-eslint/naming-convention */
export interface IBotCore
export interface IBotCore
{
SAVAGE_KILL_DIST: number
SOUND_DOOR_BREACH_METERS: number
SOUND_DOOR_OPEN_METERS: number
STEP_NOISE_DELTA: number
JUMP_NOISE_DELTA: number
GUNSHOT_SPREAD: number
GUNSHOT_SPREAD_SILENCE: number
BASE_WALK_SPEREAD2: number
MOVE_SPEED_COEF_MAX: number
SPEED_SERV_SOUND_COEF_A: number
SPEED_SERV_SOUND_COEF_B: number
G: number
STAY_COEF: number
SIT_COEF: number
LAY_COEF: number
MAX_ITERATIONS: number
START_DIST_TO_COV: number
MAX_DIST_TO_COV: number
STAY_HEIGHT: number
CLOSE_POINTS: number
COUNT_TURNS: number
SIMPLE_POINT_LIFE_TIME_SEC: number
DANGER_POINT_LIFE_TIME_SEC: number
DANGER_POWER: number
COVER_DIST_CLOSE: number
GOOD_DIST_TO_POINT: number
COVER_TOOFAR_FROM_BOSS: number
COVER_TOOFAR_FROM_BOSS_SQRT: number
MAX_Y_DIFF_TO_PROTECT: number
FLARE_POWER: number
MOVE_COEF: number
PRONE_POSE: number
LOWER_POSE: number
MAX_POSE: number
FLARE_TIME: number
MAX_REQUESTS__PER_GROUP: number
UPDATE_GOAL_TIMER_SEC: number
DIST_NOT_TO_GROUP: number
DIST_NOT_TO_GROUP_SQR: number
LAST_SEEN_POS_LIFETIME: number
DELTA_GRENADE_START_TIME: number
DELTA_GRENADE_END_TIME: number
DELTA_GRENADE_RUN_DIST: number
DELTA_GRENADE_RUN_DIST_SQRT: number
PATROL_MIN_LIGHT_DIST: number
HOLD_MIN_LIGHT_DIST: number
STANDART_BOT_PAUSE_DOOR: number
ARMOR_CLASS_COEF: number
SHOTGUN_POWER: number
RIFLE_POWER: number
PISTOL_POWER: number
SMG_POWER: number
SNIPE_POWER: number
GESTUS_PERIOD_SEC: number
GESTUS_AIMING_DELAY: number
GESTUS_REQUEST_LIFETIME: number
GESTUS_FIRST_STAGE_MAX_TIME: number
GESTUS_SECOND_STAGE_MAX_TIME: number
GESTUS_MAX_ANSWERS: number
GESTUS_FUCK_TO_SHOOT: number
GESTUS_DIST_ANSWERS: number
GESTUS_DIST_ANSWERS_SQRT: number
GESTUS_ANYWAY_CHANCE: number
TALK_DELAY: number
CAN_SHOOT_TO_HEAD: boolean
CAN_TILT: boolean
TILT_CHANCE: number
MIN_BLOCK_DIST: number
MIN_BLOCK_TIME: number
COVER_SECONDS_AFTER_LOSE_VISION: number
MIN_ARG_COEF: number
MAX_ARG_COEF: number
DEAD_AGR_DIST: number
MAX_DANGER_CARE_DIST_SQRT: number
MAX_DANGER_CARE_DIST: number
MIN_MAX_PERSON_SEARCH: number
PERCENT_PERSON_SEARCH: number
LOOK_ANYSIDE_BY_WALL_SEC_OF_ENEMY: number
CLOSE_TO_WALL_ROTATE_BY_WALL_SQRT: number
SHOOT_TO_CHANGE_RND_PART_MIN: number
SHOOT_TO_CHANGE_RND_PART_MAX: number
SHOOT_TO_CHANGE_RND_PART_DELTA: number
FORMUL_COEF_DELTA_DIST: number
FORMUL_COEF_DELTA_SHOOT: number
FORMUL_COEF_DELTA_FRIEND_COVER: number
SUSPETION_POINT_DIST_CHECK: number
MAX_BASE_REQUESTS_PER_PLAYER: number
MAX_HOLD_REQUESTS_PER_PLAYER: number
MAX_GO_TO_REQUESTS_PER_PLAYER: number
MAX_COME_WITH_ME_REQUESTS_PER_PLAYER: number
CORE_POINT_MAX_VALUE: number
CORE_POINTS_MAX: number
CORE_POINTS_MIN: number
BORN_POISTS_FREE_ONLY_FAREST_BOT: boolean
BORN_POINSTS_FREE_ONLY_FAREST_PLAYER: boolean
SCAV_GROUPS_TOGETHER: boolean
LAY_DOWN_ANG_SHOOT: number
HOLD_REQUEST_TIME_SEC: number
TRIGGERS_DOWN_TO_RUN_WHEN_MOVE: number
MIN_DIST_TO_RUN_WHILE_ATTACK_MOVING: number
MIN_DIST_TO_RUN_WHILE_ATTACK_MOVING_OTHER_ENEMIS: number
MIN_DIST_TO_STOP_RUN: number
JUMP_SPREAD_DIST: number
LOOK_TIMES_TO_KILL: number
COME_INSIDE_TIMES: number
TOTAL_TIME_KILL: number
TOTAL_TIME_KILL_AFTER_WARN: number
MOVING_AIM_COEF: number
VERTICAL_DIST_TO_IGNORE_SOUND: number
DEFENCE_LEVEL_SHIFT: number
MIN_DIST_CLOSE_DEF: number
USE_ID_PRIOR_WHO_GO: boolean
SMOKE_GRENADE_RADIUS_COEF: number
GRENADE_PRECISION: number
MAX_WARNS_BEFORE_KILL: number
CARE_ENEMY_ONLY_TIME: number
MIDDLE_POINT_COEF: number
MAIN_TACTIC_ONLY_ATTACK: boolean
LAST_DAMAGE_ACTIVE: number
SHALL_DIE_IF_NOT_INITED: boolean
CHECK_BOT_INIT_TIME_SEC: number
WEAPON_ROOT_Y_OFFSET: number
DELTA_SUPRESS_DISTANCE_SQRT: number
DELTA_SUPRESS_DISTANCE: number
WAVE_COEF_LOW: number
WAVE_COEF_MID: number
WAVE_COEF_HIGH: number
WAVE_COEF_HORDE: number
WAVE_ONLY_AS_ONLINE: boolean
LOCAL_BOTS_COUNT: number
AXE_MAN_KILLS_END: number
}
SAVAGE_KILL_DIST: number;
SOUND_DOOR_BREACH_METERS: number;
SOUND_DOOR_OPEN_METERS: number;
STEP_NOISE_DELTA: number;
JUMP_NOISE_DELTA: number;
GUNSHOT_SPREAD: number;
GUNSHOT_SPREAD_SILENCE: number;
BASE_WALK_SPEREAD2: number;
MOVE_SPEED_COEF_MAX: number;
SPEED_SERV_SOUND_COEF_A: number;
SPEED_SERV_SOUND_COEF_B: number;
G: number;
STAY_COEF: number;
SIT_COEF: number;
LAY_COEF: number;
MAX_ITERATIONS: number;
START_DIST_TO_COV: number;
MAX_DIST_TO_COV: number;
STAY_HEIGHT: number;
CLOSE_POINTS: number;
COUNT_TURNS: number;
SIMPLE_POINT_LIFE_TIME_SEC: number;
DANGER_POINT_LIFE_TIME_SEC: number;
DANGER_POWER: number;
COVER_DIST_CLOSE: number;
GOOD_DIST_TO_POINT: number;
COVER_TOOFAR_FROM_BOSS: number;
COVER_TOOFAR_FROM_BOSS_SQRT: number;
MAX_Y_DIFF_TO_PROTECT: number;
FLARE_POWER: number;
MOVE_COEF: number;
PRONE_POSE: number;
LOWER_POSE: number;
MAX_POSE: number;
FLARE_TIME: number;
MAX_REQUESTS__PER_GROUP: number;
UPDATE_GOAL_TIMER_SEC: number;
DIST_NOT_TO_GROUP: number;
DIST_NOT_TO_GROUP_SQR: number;
LAST_SEEN_POS_LIFETIME: number;
DELTA_GRENADE_START_TIME: number;
DELTA_GRENADE_END_TIME: number;
DELTA_GRENADE_RUN_DIST: number;
DELTA_GRENADE_RUN_DIST_SQRT: number;
PATROL_MIN_LIGHT_DIST: number;
HOLD_MIN_LIGHT_DIST: number;
STANDART_BOT_PAUSE_DOOR: number;
ARMOR_CLASS_COEF: number;
SHOTGUN_POWER: number;
RIFLE_POWER: number;
PISTOL_POWER: number;
SMG_POWER: number;
SNIPE_POWER: number;
GESTUS_PERIOD_SEC: number;
GESTUS_AIMING_DELAY: number;
GESTUS_REQUEST_LIFETIME: number;
GESTUS_FIRST_STAGE_MAX_TIME: number;
GESTUS_SECOND_STAGE_MAX_TIME: number;
GESTUS_MAX_ANSWERS: number;
GESTUS_FUCK_TO_SHOOT: number;
GESTUS_DIST_ANSWERS: number;
GESTUS_DIST_ANSWERS_SQRT: number;
GESTUS_ANYWAY_CHANCE: number;
TALK_DELAY: number;
CAN_SHOOT_TO_HEAD: boolean;
CAN_TILT: boolean;
TILT_CHANCE: number;
MIN_BLOCK_DIST: number;
MIN_BLOCK_TIME: number;
COVER_SECONDS_AFTER_LOSE_VISION: number;
MIN_ARG_COEF: number;
MAX_ARG_COEF: number;
DEAD_AGR_DIST: number;
MAX_DANGER_CARE_DIST_SQRT: number;
MAX_DANGER_CARE_DIST: number;
MIN_MAX_PERSON_SEARCH: number;
PERCENT_PERSON_SEARCH: number;
LOOK_ANYSIDE_BY_WALL_SEC_OF_ENEMY: number;
CLOSE_TO_WALL_ROTATE_BY_WALL_SQRT: number;
SHOOT_TO_CHANGE_RND_PART_MIN: number;
SHOOT_TO_CHANGE_RND_PART_MAX: number;
SHOOT_TO_CHANGE_RND_PART_DELTA: number;
FORMUL_COEF_DELTA_DIST: number;
FORMUL_COEF_DELTA_SHOOT: number;
FORMUL_COEF_DELTA_FRIEND_COVER: number;
SUSPETION_POINT_DIST_CHECK: number;
MAX_BASE_REQUESTS_PER_PLAYER: number;
MAX_HOLD_REQUESTS_PER_PLAYER: number;
MAX_GO_TO_REQUESTS_PER_PLAYER: number;
MAX_COME_WITH_ME_REQUESTS_PER_PLAYER: number;
CORE_POINT_MAX_VALUE: number;
CORE_POINTS_MAX: number;
CORE_POINTS_MIN: number;
BORN_POISTS_FREE_ONLY_FAREST_BOT: boolean;
BORN_POINSTS_FREE_ONLY_FAREST_PLAYER: boolean;
SCAV_GROUPS_TOGETHER: boolean;
LAY_DOWN_ANG_SHOOT: number;
HOLD_REQUEST_TIME_SEC: number;
TRIGGERS_DOWN_TO_RUN_WHEN_MOVE: number;
MIN_DIST_TO_RUN_WHILE_ATTACK_MOVING: number;
MIN_DIST_TO_RUN_WHILE_ATTACK_MOVING_OTHER_ENEMIS: number;
MIN_DIST_TO_STOP_RUN: number;
JUMP_SPREAD_DIST: number;
LOOK_TIMES_TO_KILL: number;
COME_INSIDE_TIMES: number;
TOTAL_TIME_KILL: number;
TOTAL_TIME_KILL_AFTER_WARN: number;
MOVING_AIM_COEF: number;
VERTICAL_DIST_TO_IGNORE_SOUND: number;
DEFENCE_LEVEL_SHIFT: number;
MIN_DIST_CLOSE_DEF: number;
USE_ID_PRIOR_WHO_GO: boolean;
SMOKE_GRENADE_RADIUS_COEF: number;
GRENADE_PRECISION: number;
MAX_WARNS_BEFORE_KILL: number;
CARE_ENEMY_ONLY_TIME: number;
MIDDLE_POINT_COEF: number;
MAIN_TACTIC_ONLY_ATTACK: boolean;
LAST_DAMAGE_ACTIVE: number;
SHALL_DIE_IF_NOT_INITED: boolean;
CHECK_BOT_INIT_TIME_SEC: number;
WEAPON_ROOT_Y_OFFSET: number;
DELTA_SUPRESS_DISTANCE_SQRT: number;
DELTA_SUPRESS_DISTANCE: number;
WAVE_COEF_LOW: number;
WAVE_COEF_MID: number;
WAVE_COEF_HIGH: number;
WAVE_COEF_HORDE: number;
WAVE_ONLY_AS_ONLINE: boolean;
LOCAL_BOTS_COUNT: number;
AXE_MAN_KILLS_END: number;
}

View File

@ -1,202 +1,202 @@
import { MinMax } from "@spt-aki/models/common/MinMax";
import { Skills } from "@spt-aki/models/eft/common/tables/IBotBase";
export interface IBotType
export interface IBotType
{
appearance: Appearance
chances: Chances
difficulty: Difficulties
experience: Experience
firstName: string[]
generation: Generation
health: Health
inventory: Inventory
lastName: string[]
skills: Skills
appearance: Appearance;
chances: Chances;
difficulty: Difficulties;
experience: Experience;
firstName: string[];
generation: Generation;
health: Health;
inventory: Inventory;
lastName: string[];
skills: Skills;
}
export interface Appearance
export interface Appearance
{
body: Record<string, number>
feet: Record<string, number>
hands: string[]
head: string[]
voice: string[]
body: Record<string, number>;
feet: Record<string, number>;
hands: string[];
head: string[];
voice: string[];
}
export interface Chances
export interface Chances
{
equipment: EquipmentChances
mods: ModsChances
equipment: EquipmentChances;
mods: ModsChances;
}
export interface EquipmentChances
export interface EquipmentChances
{
ArmBand: number
ArmorVest: number
Backpack: number
Earpiece: number
Eyewear: number
FaceCover: number
FirstPrimaryWeapon: number
Headwear: number
Holster: number
Pockets: number
Scabbard: number
SecondPrimaryWeapon: number
SecuredContainer: number
TacticalVest: number
ArmBand: number;
ArmorVest: number;
Backpack: number;
Earpiece: number;
Eyewear: number;
FaceCover: number;
FirstPrimaryWeapon: number;
Headwear: number;
Holster: number;
Pockets: number;
Scabbard: number;
SecondPrimaryWeapon: number;
SecuredContainer: number;
TacticalVest: number;
}
/* eslint-disable @typescript-eslint/naming-convention */
export interface ModsChances
export interface ModsChances
{
mod_charge: number
mod_equipment: number
mod_equipment_000: number
mod_equipment_001: number
mod_equipment_002: number
mod_flashlight: number
mod_foregrip: number
mod_launcher: number
mod_magazine: number
mod_mount: number
mod_mount_000: number
mod_mount_001: number
mod_muzzle: number
mod_nvg: number
mod_pistol_grip: number
mod_reciever: number
mod_scope: number
mod_scope_000: number
mod_scope_001: number
mod_scope_002: number
mod_scope_003: number
mod_sight_front: number
mod_sight_rear: number
mod_stock: number
mod_stock_000: number
mod_stock_akms: number
mod_tactical: number
mod_tactical_000: number
mod_tactical_001: number
mod_tactical_002: number
mod_tactical_003: number
mod_handguard: number
mod_charge: number;
mod_equipment: number;
mod_equipment_000: number;
mod_equipment_001: number;
mod_equipment_002: number;
mod_flashlight: number;
mod_foregrip: number;
mod_launcher: number;
mod_magazine: number;
mod_mount: number;
mod_mount_000: number;
mod_mount_001: number;
mod_muzzle: number;
mod_nvg: number;
mod_pistol_grip: number;
mod_reciever: number;
mod_scope: number;
mod_scope_000: number;
mod_scope_001: number;
mod_scope_002: number;
mod_scope_003: number;
mod_sight_front: number;
mod_sight_rear: number;
mod_stock: number;
mod_stock_000: number;
mod_stock_akms: number;
mod_tactical: number;
mod_tactical_000: number;
mod_tactical_001: number;
mod_tactical_002: number;
mod_tactical_003: number;
mod_handguard: number;
}
export interface Difficulties
export interface Difficulties
{
easy: Difficulty
normal: Difficulty
hard: Difficulty
impossible: Difficulty
easy: Difficulty;
normal: Difficulty;
hard: Difficulty;
impossible: Difficulty;
}
export interface Difficulty
export interface Difficulty
{
Aiming: Record<string, string | number | boolean>
Boss: Record<string, string | number | boolean>
Change: Record<string, string | number | boolean>
Core: Record<string, string | number | boolean>
Cover: Record<string, string | number | boolean>
Grenade: Record<string, string | number | boolean>
Hearing: Record<string, string | number | boolean>
Lay: Record<string, string | number | boolean>
Look: Record<string, string | number | boolean>
Mind: Record<string, string | number | boolean | string[]>
Move: Record<string, string | number | boolean>
Patrol: Record<string, string | number | boolean>
Scattering: Record<string, string | number | boolean>
Shoot: Record<string, string | number | boolean>
Aiming: Record<string, string | number | boolean>;
Boss: Record<string, string | number | boolean>;
Change: Record<string, string | number | boolean>;
Core: Record<string, string | number | boolean>;
Cover: Record<string, string | number | boolean>;
Grenade: Record<string, string | number | boolean>;
Hearing: Record<string, string | number | boolean>;
Lay: Record<string, string | number | boolean>;
Look: Record<string, string | number | boolean>;
Mind: Record<string, string | number | boolean | string[]>;
Move: Record<string, string | number | boolean>;
Patrol: Record<string, string | number | boolean>;
Scattering: Record<string, string | number | boolean>;
Shoot: Record<string, string | number | boolean>;
}
export interface Experience
export interface Experience
{
aggressorBonus: number
level: MinMax
reward: MinMax
standingForKill: number
aggressorBonus: number;
level: MinMax;
reward: MinMax;
standingForKill: number;
}
export interface Generation
export interface Generation
{
items: GenerationWeightingItems
items: GenerationWeightingItems;
}
export interface GenerationWeightingItems
export interface GenerationWeightingItems
{
grenades: GenerationData
healing: GenerationData
drugs: GenerationData
stims: GenerationData
backpackLoot: GenerationData
pocketLoot: GenerationData
vestLoot: GenerationData
magazines: GenerationData
specialItems: GenerationData
grenades: GenerationData;
healing: GenerationData;
drugs: GenerationData;
stims: GenerationData;
backpackLoot: GenerationData;
pocketLoot: GenerationData;
vestLoot: GenerationData;
magazines: GenerationData;
specialItems: GenerationData;
}
export interface GenerationData
{
/** key: number of items, value: weighting */
weights: Record<string, number>
weights: Record<string, number>;
/** Array of item tpls */
whitelist: string[]
whitelist: string[];
}
export interface Health
export interface Health
{
BodyParts: BodyPart[]
Energy: MinMax
Hydration: MinMax
Temperature: MinMax
BodyParts: BodyPart[];
Energy: MinMax;
Hydration: MinMax;
Temperature: MinMax;
}
export interface BodyPart
export interface BodyPart
{
Chest: MinMax
Head: MinMax
LeftArm: MinMax
LeftLeg: MinMax
RightArm: MinMax
RightLeg: MinMax
Stomach: MinMax
Chest: MinMax;
Head: MinMax;
LeftArm: MinMax;
LeftLeg: MinMax;
RightArm: MinMax;
RightLeg: MinMax;
Stomach: MinMax;
}
export interface Inventory
export interface Inventory
{
equipment: Equipment
Ammo: Record<string, Record<string, number>>
items: Items
mods: Mods
equipment: Equipment;
Ammo: Record<string, Record<string, number>>;
items: Items;
mods: Mods;
}
export interface Equipment
export interface Equipment
{
ArmBand: Record<string, number>
ArmorVest: Record<string, number>
Backpack: Record<string, number>
Earpiece: Record<string, number>
Eyewear: Record<string, number>
FaceCover: Record<string, number>
FirstPrimaryWeapon: Record<string, number>
Headwear: Record<string, number>
Holster: Record<string, number>
Pockets: Record<string, number>
Scabbard: Record<string, number>
SecondPrimaryWeapon: Record<string, number>
SecuredContainer: Record<string, number>
TacticalVest: Record<string, number>
ArmBand: Record<string, number>;
ArmorVest: Record<string, number>;
Backpack: Record<string, number>;
Earpiece: Record<string, number>;
Eyewear: Record<string, number>;
FaceCover: Record<string, number>;
FirstPrimaryWeapon: Record<string, number>;
Headwear: Record<string, number>;
Holster: Record<string, number>;
Pockets: Record<string, number>;
Scabbard: Record<string, number>;
SecondPrimaryWeapon: Record<string, number>;
SecuredContainer: Record<string, number>;
TacticalVest: Record<string, number>;
}
export interface Items
export interface Items
{
Backpack: string[]
Pockets: string[]
SecuredContainer: string[]
SpecialLoot: string[]
TacticalVest: string[]
Backpack: string[];
Pockets: string[];
SecuredContainer: string[];
SpecialLoot: string[];
TacticalVest: string[];
}
export type Mods = Record<string, Record<string, string[]>>
export type Mods = Record<string, Record<string, string[]>>;

View File

@ -1,35 +1,35 @@
import { Ixyz } from "@spt-aki/models/eft/common/Ixyz";
export interface ICustomizationItem
export interface ICustomizationItem
{
_id: string
_name: string
_parent: string
_type: string
_props: Props
_proto: string
_id: string;
_name: string;
_parent: string;
_type: string;
_props: Props;
_proto: string;
}
export interface Props
export interface Props
{
Name: string
ShortName: string
Description: string
Side: string[]
BodyPart: string
AvailableAsDefault?: boolean
Body: string
Hands: string
Feet: string
Prefab: Prefab
WatchPrefab: Prefab
IntegratedArmorVest: boolean
WatchPosition: Ixyz
WatchRotation: Ixyz
Name: string;
ShortName: string;
Description: string;
Side: string[];
BodyPart: string;
AvailableAsDefault?: boolean;
Body: string;
Hands: string;
Feet: string;
Prefab: Prefab;
WatchPrefab: Prefab;
IntegratedArmorVest: boolean;
WatchPosition: Ixyz;
WatchRotation: Ixyz;
}
export interface Prefab
export interface Prefab
{
path: string
rcid: string
}
path: string;
rcid: string;
}

View File

@ -1,21 +1,21 @@
export interface IHandbookBase
{
Categories: Category[]
Items: HandbookItem[]
Categories: Category[];
Items: HandbookItem[];
}
export interface Category
export interface Category
{
Id: string
ParentId?: string
Icon: string
Color: string
Order: string
Id: string;
ParentId?: string;
Icon: string;
Color: string;
Order: string;
}
export interface HandbookItem
export interface HandbookItem
{
Id: string
ParentId: string
Price: number
}
Id: string;
ParentId: string;
Price: number;
}

View File

@ -1,165 +1,164 @@
export interface Item
export interface Item
{
_id: string
_tpl: string
parentId?: string
slotId?: string
location?: Location | number
upd?: Upd
_id: string;
_tpl: string;
parentId?: string;
slotId?: string;
location?: Location | number;
upd?: Upd;
}
export interface Upd
export interface Upd
{
Buff?: Buff
OriginalStackObjectsCount?: number
Togglable?: Togglable
Map?: Map
Tag?: Tag
Buff?: Buff;
OriginalStackObjectsCount?: number;
Togglable?: Togglable;
Map?: Map;
Tag?: Tag;
/** SPT specific property, not made by BSG */
sptPresetId?: string
FaceShield?: FaceShield
StackObjectsCount?: number
UnlimitedCount?: boolean
Repairable?: Repairable
RecodableComponent?: RecodableComponent
FireMode?: FireMode
SpawnedInSession?: boolean
Light?: Light
Key?: Key
Resource?: Resource
Sight?: Sight
MedKit?: MedKit
FoodDrink?: FoodDrink
Dogtag?: Dogtag
BuyRestrictionMax?: number
BuyRestrictionCurrent?: number
Foldable?: Foldable
SideEffect?: SideEffect
RepairKit?: RepairKit
sptPresetId?: string;
FaceShield?: FaceShield;
StackObjectsCount?: number;
UnlimitedCount?: boolean;
Repairable?: Repairable;
RecodableComponent?: RecodableComponent;
FireMode?: FireMode;
SpawnedInSession?: boolean;
Light?: Light;
Key?: Key;
Resource?: Resource;
Sight?: Sight;
MedKit?: MedKit;
FoodDrink?: FoodDrink;
Dogtag?: Dogtag;
BuyRestrictionMax?: number;
BuyRestrictionCurrent?: number;
Foldable?: Foldable;
SideEffect?: SideEffect;
RepairKit?: RepairKit;
}
export interface Buff
{
rarity: string
buffType: string
value: number
thresholdDurability?: number
rarity: string;
buffType: string;
value: number;
thresholdDurability?: number;
}
export interface Togglable
{
On: boolean
}
export interface Map
{
Markers: MapMarker[]
}
export interface MapMarker
{
X: number
Y: number
}
export interface Tag
{
Color: number;
Name: string
On: boolean;
}
export interface FaceShield
export interface Map
{
Markers: MapMarker[];
}
export interface MapMarker
{
X: number;
Y: number;
}
export interface Tag
{
Color: number;
Name: string;
}
export interface FaceShield
{
Hits: number;
}
export interface Repairable
export interface Repairable
{
Durability: number
MaxDurability: number
Durability: number;
MaxDurability: number;
}
export interface RecodableComponent
{
IsEncoded: boolean
}
export interface MedKit
{
HpResource: number
}
export interface Sight
{
ScopesCurrentCalibPointIndexes: number[]
ScopesSelectedModes: number[]
SelectedScope: number
}
export interface Foldable
{
Folded: boolean
}
export interface FireMode
{
FireMode: string
}
export interface FoodDrink
{
HpPercent: number
}
export interface Key
{
NumberOfUsages: number
}
export interface Resource
{
Value: number
UnitsConsumed: number
}
export interface Light
{
IsActive: boolean
SelectedMode: number
}
export interface Dogtag
{
AccountId: string
ProfileId: string
Nickname: string
Side: string
Level: number
Time: string
Status: string
KillerAccountId: string
KillerProfileId: string
KillerName: string
WeaponName: string
IsEncoded: boolean;
}
export interface Location
export interface MedKit
{
x: number
y: number
r: string | number
isSearched?: boolean
HpResource: number;
}
export interface Sight
{
ScopesCurrentCalibPointIndexes: number[];
ScopesSelectedModes: number[];
SelectedScope: number;
}
export interface Foldable
{
Folded: boolean;
}
export interface FireMode
{
FireMode: string;
}
export interface FoodDrink
{
HpPercent: number;
}
export interface Key
{
NumberOfUsages: number;
}
export interface Resource
{
Value: number;
UnitsConsumed: number;
}
export interface Light
{
IsActive: boolean;
SelectedMode: number;
}
export interface Dogtag
{
AccountId: string;
ProfileId: string;
Nickname: string;
Side: string;
Level: number;
Time: string;
Status: string;
KillerAccountId: string;
KillerProfileId: string;
KillerName: string;
WeaponName: string;
}
export interface Location
{
x: number;
y: number;
r: string | number;
isSearched?: boolean;
/** SPT property? */
rotation?: string | boolean
rotation?: string | boolean;
}
export interface SideEffect
export interface SideEffect
{
Value: number
Value: number;
}
export interface RepairKit
{
Resource: number
}
Resource: number;
}

View File

@ -1,14 +1,14 @@
export interface ILocationsBase
export interface ILocationsBase
{
locations: Locations
paths: Path[]
locations: Locations;
paths: Path[];
}
export interface Locations
{ }
export interface Locations
{}
export interface Path
export interface Path
{
Source: string
Destination: string
}
Source: string;
Destination: string;
}

View File

@ -1,83 +1,83 @@
import { Ixyz } from "@spt-aki/models/eft/common/Ixyz";
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
export interface ILootBase
export interface ILootBase
{
staticAmmo: Record<string, IStaticAmmoDetails[]>
staticContainers: Record<string, IStaticContainerDetails>
staticLoot: Record<string, IStaticLootDetails>
staticAmmo: Record<string, IStaticAmmoDetails[]>;
staticContainers: Record<string, IStaticContainerDetails>;
staticLoot: Record<string, IStaticLootDetails>;
}
export interface IStaticAmmoDetails
export interface IStaticAmmoDetails
{
tpl: string
relativeProbability: number
tpl: string;
relativeProbability: number;
}
export interface IStaticContainerDetails
export interface IStaticContainerDetails
{
staticWeapons: IStaticWeaponProps[]
staticContainers: IStaticContainerData[]
staticForced: IStaticForcedProps[]
staticWeapons: IStaticWeaponProps[];
staticContainers: IStaticContainerData[];
staticForced: IStaticForcedProps[];
}
export interface IStaticContainerData
{
probability: number
template: IStaticContainerProps
probability: number;
template: IStaticContainerProps;
}
export interface IStaticPropsBase
{
Id: string
IsContainer: boolean
useGravity: boolean
randomRotation: boolean
Position: Ixyz
Rotation: Ixyz
IsGroupPosition: boolean
IsAlwaysSpawn: boolean
GroupPositions: any[]
Root: string
Items: any[]
Id: string;
IsContainer: boolean;
useGravity: boolean;
randomRotation: boolean;
Position: Ixyz;
Rotation: Ixyz;
IsGroupPosition: boolean;
IsAlwaysSpawn: boolean;
GroupPositions: any[];
Root: string;
Items: any[];
}
export interface IStaticWeaponProps extends IStaticPropsBase
{
Items: Item[]
Items: Item[];
}
export interface IStaticContainerProps extends IStaticPropsBase
{
Items: StaticItem[]
Items: StaticItem[];
}
export interface StaticItem
export interface StaticItem
{
_id: string
_tpl: string
_id: string;
_tpl: string;
}
export interface IStaticForcedProps
export interface IStaticForcedProps
{
containerId: string
itemTpl: string
containerId: string;
itemTpl: string;
}
export interface IStaticLootDetails
export interface IStaticLootDetails
{
itemcountDistribution: ItemCountDistribution[]
itemDistribution: ItemDistribution[]
itemcountDistribution: ItemCountDistribution[];
itemDistribution: ItemDistribution[];
}
export interface ItemCountDistribution
export interface ItemCountDistribution
{
count: number
relativeProbability: number
count: number;
relativeProbability: number;
}
export interface ItemDistribution
export interface ItemDistribution
{
tpl: string
relativeProbability: number
}
tpl: string;
relativeProbability: number;
}

View File

@ -1,14 +1,14 @@
export interface IMatch
{
metrics: Metrics
metrics: Metrics;
}
export interface Metrics
{
Keys: number[]
NetProcessingBins: number[]
RenderBins: number[]
GameUpdateBins: number[]
MemoryMeasureInterval: number
PauseReasons: number[]
}
Keys: number[];
NetProcessingBins: number[];
RenderBins: number[];
GameUpdateBins: number[];
MemoryMeasureInterval: number;
PauseReasons: number[];
}

View File

@ -3,36 +3,36 @@ import { Dialogue, IUserBuilds } from "@spt-aki/models/eft/profile/IAkiProfile";
export interface IProfileTemplates
{
Standard: IProfileSides
Standard: IProfileSides;
// eslint-disable-next-line @typescript-eslint/naming-convention
"Left Behind": IProfileSides
"Left Behind": IProfileSides;
// eslint-disable-next-line @typescript-eslint/naming-convention
"Prepare To Escape": IProfileSides
"Prepare To Escape": IProfileSides;
// eslint-disable-next-line @typescript-eslint/naming-convention
"Edge Of Darkness": IProfileSides
"Edge Of Darkness": IProfileSides;
}
export interface IProfileSides
{
usec: TemplateSide
bear: TemplateSide
usec: TemplateSide;
bear: TemplateSide;
}
export interface TemplateSide
{
character: IPmcData
suits: string[]
dialogues: Record<string, Dialogue>
userbuilds: IUserBuilds
trader: ProfileTraderTemplate
character: IPmcData;
suits: string[];
dialogues: Record<string, Dialogue>;
userbuilds: IUserBuilds;
trader: ProfileTraderTemplate;
}
export interface ProfileTraderTemplate
{
initialLoyaltyLevel: number
setQuestsAvailableForStart?: boolean
setQuestsAvailableForFinish?: boolean
initialStanding: number
initialSalesSum: number
jaegerUnlocked: boolean
}
initialLoyaltyLevel: number;
setQuestsAvailableForStart?: boolean;
setQuestsAvailableForFinish?: boolean;
initialStanding: number;
initialSalesSum: number;
jaegerUnlocked: boolean;
}

View File

@ -3,146 +3,146 @@ import { QuestRewardType } from "@spt-aki/models/enums/QuestRewardType";
import { QuestStatus } from "@spt-aki/models/enums/QuestStatus";
import { QuestTypeEnum } from "@spt-aki/models/enums/QuestTypeEnum";
export interface IQuest
export interface IQuest
{
/** SPT addition - human readable quest name */
QuestName?: string
_id: string
canShowNotificationsInGame: boolean
conditions: Conditions
description: string
failMessageText: string
name: string
note: string
traderId: string
location: string
image: string
type: QuestTypeEnum
isKey: boolean
QuestName?: string;
_id: string;
canShowNotificationsInGame: boolean;
conditions: Conditions;
description: string;
failMessageText: string;
name: string;
note: string;
traderId: string;
location: string;
image: string;
type: QuestTypeEnum;
isKey: boolean;
/** @deprecated - Likely not used, use 'status' instead */
questStatus: QuestStatus
restartable: boolean
instantComplete: boolean
secretQuest: boolean
startedMessageText: string
successMessageText: string
templateId: string
rewards: Rewards
questStatus: QuestStatus;
restartable: boolean;
instantComplete: boolean;
secretQuest: boolean;
startedMessageText: string;
successMessageText: string;
templateId: string;
rewards: Rewards;
/** Becomes 'AppearStatus' inside client */
status: string | number
KeyQuest: boolean
changeQuestMessageText: string
status: string | number;
KeyQuest: boolean;
changeQuestMessageText: string;
/** "Pmc" or "Scav" */
side: string
side: string;
/** Status of quest to player */
sptStatus?: QuestStatus
sptStatus?: QuestStatus;
}
export interface Conditions
export interface Conditions
{
Started: AvailableForConditions[]
AvailableForFinish: AvailableForConditions[]
AvailableForStart: AvailableForConditions[]
Success: AvailableForConditions[]
Fail: AvailableForConditions[]
Started: AvailableForConditions[];
AvailableForFinish: AvailableForConditions[];
AvailableForStart: AvailableForConditions[];
Success: AvailableForConditions[];
Fail: AvailableForConditions[];
}
export interface AvailableForConditions
export interface AvailableForConditions
{
_parent: string
_props: AvailableForProps
dynamicLocale?: boolean
_parent: string;
_props: AvailableForProps;
dynamicLocale?: boolean;
}
export interface AvailableForProps
export interface AvailableForProps
{
id: string
index: number
parentId: string
isEncoded: boolean
dynamicLocale: boolean
value?: string | number
compareMethod?: string
visibilityConditions?: VisibilityCondition[]
target?: string | string[] // TODO: split each availableForX object into each type: FindItem, HandoverItem, Level, Quest, TraderLoyalty etc
status?: QuestStatus[]
availableAfter?: number
dispersion?: number
onlyFoundInRaid?: boolean
oneSessionOnly?: boolean
doNotResetIfCounterCompleted?: boolean
dogtagLevel?: number
maxDurability?: number
minDurability?: number
counter?: AvailableForCounter
plantTime?: number
zoneId?: string
type?: boolean
countInRaid?: boolean
globalQuestCounterId?: any
id: string;
index: number;
parentId: string;
isEncoded: boolean;
dynamicLocale: boolean;
value?: string | number;
compareMethod?: string;
visibilityConditions?: VisibilityCondition[];
target?: string | string[]; // TODO: split each availableForX object into each type: FindItem, HandoverItem, Level, Quest, TraderLoyalty etc
status?: QuestStatus[];
availableAfter?: number;
dispersion?: number;
onlyFoundInRaid?: boolean;
oneSessionOnly?: boolean;
doNotResetIfCounterCompleted?: boolean;
dogtagLevel?: number;
maxDurability?: number;
minDurability?: number;
counter?: AvailableForCounter;
plantTime?: number;
zoneId?: string;
type?: boolean;
countInRaid?: boolean;
globalQuestCounterId?: any;
}
export interface AvailableForCounter
{
id: string
conditions: CounterCondition[]
id: string;
conditions: CounterCondition[];
}
export interface CounterCondition
{
_parent: string
_props: CounterProps
_parent: string;
_props: CounterProps;
}
export interface CounterProps
{
id: string
target: string[] | string // TODO: some objects have an array and some are just strings, thanks bsg very cool
compareMethod?: string
value?: string
weapon?: string[]
equipmentInclusive?: string[][]
weaponModsInclusive?: string[][]
status?: string[]
bodyPart?: string[]
daytime?: DaytimeCounter
id: string;
target: string[] | string; // TODO: some objects have an array and some are just strings, thanks bsg very cool
compareMethod?: string;
value?: string;
weapon?: string[];
equipmentInclusive?: string[][];
weaponModsInclusive?: string[][];
status?: string[];
bodyPart?: string[];
daytime?: DaytimeCounter;
}
export interface DaytimeCounter
{
from: number
to: number
from: number;
to: number;
}
export interface VisibilityCondition
{
id: string
value: number
dynamicLocale: boolean
oneSessionOnly: boolean
id: string;
value: number;
dynamicLocale: boolean;
oneSessionOnly: boolean;
}
export interface Rewards
export interface Rewards
{
AvailableForStart: Reward[]
AvailableForFinish: Reward[]
Started: Reward[]
Success: Reward[]
Fail: Reward[]
FailRestartable: Reward[]
Expired: Reward[]
AvailableForStart: Reward[];
AvailableForFinish: Reward[];
Started: Reward[];
Success: Reward[];
Fail: Reward[];
FailRestartable: Reward[];
Expired: Reward[];
}
export interface Reward extends Item
{
value?: string | number
id: string
type: QuestRewardType
index: number
target?: string
items?: Item[]
loyaltyLevel?: number
traderId?: string
unknown?: boolean
findInRaid?: boolean
value?: string | number;
id: string;
type: QuestRewardType;
index: number;
target?: string;
items?: Item[];
loyaltyLevel?: number;
traderId?: string;
unknown?: boolean;
findInRaid?: boolean;
}

View File

@ -1,364 +1,360 @@
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
export interface IReward
export interface IReward
{
index: number
type: string
value: number
target?: string
items?: Item[]
index: number;
type: string;
value: number;
target?: string;
items?: Item[];
}
export interface IRepeatableQuestDatabase
export interface IRepeatableQuestDatabase
{
templates: ITemplates
rewards: IRewardOptions
data: IOptions
samples: ISampleQuests[]
}
export interface ITemplates
{
Elimination: IRepeatableQuest
Completion: IRepeatableQuest
Exploration: IRepeatableQuest
templates: ITemplates;
rewards: IRewardOptions;
data: IOptions;
samples: ISampleQuests[];
}
export interface IPmcDataRepeatableQuest
export interface ITemplates
{
id?: string
name: string
activeQuests: IRepeatableQuest[]
inactiveQuests: IRepeatableQuest[]
endTime: number
changeRequirement: TChangeRequirementRecord // what it costs to reset <QuestId, ChangeRequirement> redundant to change requirements within the IRepeatableQuest
Elimination: IRepeatableQuest;
Completion: IRepeatableQuest;
Exploration: IRepeatableQuest;
}
export type TChangeRequirementRecord = Record<string, IChangeRequirement>
export interface IPmcDataRepeatableQuest
{
id?: string;
name: string;
activeQuests: IRepeatableQuest[];
inactiveQuests: IRepeatableQuest[];
endTime: number;
changeRequirement: TChangeRequirementRecord; // what it costs to reset <QuestId, ChangeRequirement> redundant to change requirements within the IRepeatableQuest
}
export type TChangeRequirementRecord = Record<string, IChangeRequirement>;
export interface IChangeRequirement
{
changeCost: IChangeCost[]
changeStandingCost: number
}
export interface IChangeCost
{
templateId: string // what item it will take to reset daily
count: number // amount of item needed to reset
changeCost: IChangeCost[];
changeStandingCost: number;
}
export interface IRepeatableQuest
export interface IChangeCost
{
_id: string
traderId: string
location: string
image: string
type: string
isKey: boolean
restartable: boolean
instantComplete: boolean
secretQuest: boolean
canShowNotificationsInGame: boolean
rewards: IRewards
conditions: IConditions
side: string
questStatus: any
name: string
note: string
description: string
successMessageText: string
failMessageText: string
startedMessageText: string
changeQuestMessageText: string
acceptPlayerMessage: string
declinePlayerMessage: string
completePlayerMessage: string
templateId: string
changeCost: IChangeCost[]
changeStandingCost: number
templateId: string; // what item it will take to reset daily
count: number; // amount of item needed to reset
}
export interface IRepeatableQuest
{
_id: string;
traderId: string;
location: string;
image: string;
type: string;
isKey: boolean;
restartable: boolean;
instantComplete: boolean;
secretQuest: boolean;
canShowNotificationsInGame: boolean;
rewards: IRewards;
conditions: IConditions;
side: string;
questStatus: any;
name: string;
note: string;
description: string;
successMessageText: string;
failMessageText: string;
startedMessageText: string;
changeQuestMessageText: string;
acceptPlayerMessage: string;
declinePlayerMessage: string;
completePlayerMessage: string;
templateId: string;
changeCost: IChangeCost[];
changeStandingCost: number;
sptRepatableGroupName?: string;
}
export interface IRewards
export interface IRewards
{
Started: IReward[]
Success: IReward[]
Fail: IReward[]
Started: IReward[];
Success: IReward[];
Fail: IReward[];
}
export interface IConditions
export interface IConditions
{
AvailableForStart: any[]
AvailableForFinish: IAvailableFor[]
Fail: any[]
AvailableForStart: any[];
AvailableForFinish: IAvailableFor[];
Fail: any[];
}
export interface IAvailableFor
export interface IAvailableFor
{
_props: IAvailableForProps
_parent: string
dynamicLocale: boolean
_props: IAvailableForProps;
_parent: string;
dynamicLocale: boolean;
}
export interface IAvailableForProps
export interface IAvailableForProps
{
id: string
parentId: string
dynamicLocale: boolean
index: number
visibilityConditions: IVisibilityCondition[]
value: number
id: string;
parentId: string;
dynamicLocale: boolean;
index: number;
visibilityConditions: IVisibilityCondition[];
value: number;
}
export interface IVisibilityCondition
export interface IVisibilityCondition
{
id: string
oneSessionOnly: boolean
value: number
index: number
dynamicLocale: boolean
id: string;
oneSessionOnly: boolean;
value: number;
index: number;
dynamicLocale: boolean;
}
export interface IAvailableForPropsCounter extends IAvailableForProps
export interface IAvailableForPropsCounter extends IAvailableForProps
{
type: string
oneSessionOnly: boolean
doNotResetIfCounterCompleted: boolean
counter?: ICounter
type: string;
oneSessionOnly: boolean;
doNotResetIfCounterCompleted: boolean;
counter?: ICounter;
}
export interface ICounter
export interface ICounter
{
id: string,
conditions: ICondition[]
id: string;
conditions: ICondition[];
}
export interface ICondition
export interface ICondition
{
_props: IConditionProps,
_parent: string
_props: IConditionProps;
_parent: string;
}
export interface IConditionProps
export interface IConditionProps
{
id: string,
dynamicLocale: boolean,
id: string;
dynamicLocale: boolean;
}
// Elimination
export interface IElimination extends IRepeatableQuest
export interface IElimination extends IRepeatableQuest
{
conditions: IEliminationConditions
conditions: IEliminationConditions;
}
export interface IEliminationConditions extends IConditions
export interface IEliminationConditions extends IConditions
{
AvailableForFinish: IEliminationAvailableFor[]
AvailableForFinish: IEliminationAvailableFor[];
}
export interface IEliminationAvailableFor extends IAvailableFor
export interface IEliminationAvailableFor extends IAvailableFor
{
_props: IEliminationAvailableForProps
_props: IEliminationAvailableForProps;
}
export interface IEliminationAvailableForProps extends IAvailableForPropsCounter
export interface IEliminationAvailableForProps extends IAvailableForPropsCounter
{
counter: IEliminationCounter
counter: IEliminationCounter;
}
export interface IEliminationCounter extends ICounter
export interface IEliminationCounter extends ICounter
{
conditions: IEliminationCondition[]
conditions: IEliminationCondition[];
}
export interface IEliminationCondition extends ICondition
export interface IEliminationCondition extends ICondition
{
_props: ILocationConditionProps | IKillConditionProps
_props: ILocationConditionProps | IKillConditionProps;
}
// Exploration
export interface IExploration extends IRepeatableQuest
export interface IExploration extends IRepeatableQuest
{
conditions: IExplorationConditions
conditions: IExplorationConditions;
}
export interface IExplorationConditions extends IConditions
export interface IExplorationConditions extends IConditions
{
AvailableForFinish: IExplorationAvailableFor[]
AvailableForFinish: IExplorationAvailableFor[];
}
export interface IExplorationAvailableFor extends IAvailableFor
export interface IExplorationAvailableFor extends IAvailableFor
{
_props: IExplorationAvailableForProps
_props: IExplorationAvailableForProps;
}
export interface IExplorationAvailableForProps extends IAvailableForPropsCounter
export interface IExplorationAvailableForProps extends IAvailableForPropsCounter
{
counter: IExplorationCounter
counter: IExplorationCounter;
}
export interface IExplorationCounter extends ICounter
export interface IExplorationCounter extends ICounter
{
conditions: IExplorationCondition[]
conditions: IExplorationCondition[];
}
export interface IExplorationCondition extends ICondition
export interface IExplorationCondition extends ICondition
{
_props: ILocationConditionProps | IExitStatusConditionProps | IExitNameConditionProps
_props: ILocationConditionProps | IExitStatusConditionProps | IExitNameConditionProps;
}
// Pickup
export interface IPickup extends IRepeatableQuest
export interface IPickup extends IRepeatableQuest
{
conditions: IPickupConditions
conditions: IPickupConditions;
}
export interface IPickupConditions extends IConditions
export interface IPickupConditions extends IConditions
{
AvailableForFinish: IPickupAvailableFor[]
AvailableForFinish: IPickupAvailableFor[];
}
export interface IPickupAvailableFor extends IAvailableFor
export interface IPickupAvailableFor extends IAvailableFor
{
_props: IPickupAvailableForProps
_props: IPickupAvailableForProps;
}
export interface IPickupAvailableForProps extends IAvailableForPropsCounter
export interface IPickupAvailableForProps extends IAvailableForPropsCounter
{
target: string[]
counter?: IPickupCounter
target: string[];
counter?: IPickupCounter;
}
export interface IPickupCounter extends ICounter
export interface IPickupCounter extends ICounter
{
conditions: IPickupCondition[]
conditions: IPickupCondition[];
}
export interface IPickupCondition extends ICondition
export interface IPickupCondition extends ICondition
{
_props: IEquipmentConditionProps | ILocationConditionProps | IExitStatusConditionProps
_props: IEquipmentConditionProps | ILocationConditionProps | IExitStatusConditionProps;
}
// Completion
export interface ICompletion extends IRepeatableQuest
export interface ICompletion extends IRepeatableQuest
{
conditions: ICompletionConditions
conditions: ICompletionConditions;
}
export interface ICompletionConditions extends IConditions
export interface ICompletionConditions extends IConditions
{
AvailableForFinish: ICompletionAvailableFor[]
AvailableForFinish: ICompletionAvailableFor[];
}
export interface ICompletionAvailableFor extends IAvailableFor
export interface ICompletionAvailableFor extends IAvailableFor
{
_props: ICompletionAvailableForProps
_props: ICompletionAvailableForProps;
}
export interface ICompletionAvailableForProps extends IAvailableForProps
export interface ICompletionAvailableForProps extends IAvailableForProps
{
target: string[]
minDurability: number
maxDurability: number
dogtagLevel: number
onlyFoundInRaid: boolean
target: string[];
minDurability: number;
maxDurability: number;
dogtagLevel: number;
onlyFoundInRaid: boolean;
}
// Quest Conditions
export interface ILocationConditionProps extends IConditionProps
export interface ILocationConditionProps extends IConditionProps
{
target: string[],
weapon?: string[]
weaponCategories?: string[]
target: string[];
weapon?: string[];
weaponCategories?: string[];
}
export interface IEquipmentConditionProps extends IConditionProps
{
equipmentInclusive: [string[]]
IncludeNotEquippedItems: boolean
equipmentInclusive: [string[]];
IncludeNotEquippedItems: boolean;
}
export interface IKillConditionProps extends IConditionProps
export interface IKillConditionProps extends IConditionProps
{
target: string
value: number
savageRole?: string[]
bodyPart?: string[]
distance?: IDistanceCheck
weapon?: string[]
weaponCategories? : string[]
target: string;
value: number;
savageRole?: string[];
bodyPart?: string[];
distance?: IDistanceCheck;
weapon?: string[];
weaponCategories?: string[];
}
export interface IDistanceCheck
export interface IDistanceCheck
{
compareMethod: string
value: number
}
export interface IExitStatusConditionProps extends IConditionProps
{
status: string[],
compareMethod: string;
value: number;
}
export interface IExitNameConditionProps extends IConditionProps
export interface IExitStatusConditionProps extends IConditionProps
{
exitName: string,
status: string[];
}
export interface IExitNameConditionProps extends IConditionProps
{
exitName: string;
}
// Config Options
export interface IRewardOptions
export interface IRewardOptions
{
itemsBlacklist: string[]
itemsBlacklist: string[];
}
export interface IOptions
export interface IOptions
{
Completion: ICompletionFilter
Completion: ICompletionFilter;
}
export interface ICompletionFilter
export interface ICompletionFilter
{
itemsBlacklist: ItemsBlacklist[]
itemsWhitelist: ItemsWhitelist[]
itemsBlacklist: ItemsBlacklist[];
itemsWhitelist: ItemsWhitelist[];
}
export interface ItemsBlacklist
export interface ItemsBlacklist
{
minPlayerLevel: number
itemIds: string[]
minPlayerLevel: number;
itemIds: string[];
}
export interface ItemsWhitelist
export interface ItemsWhitelist
{
minPlayerLevel: number
itemIds: string[]
minPlayerLevel: number;
itemIds: string[];
}
export interface ISampleQuests
export interface ISampleQuests
{
_id: string
traderId: string
location: string
image: string
type: string
isKey: boolean
restartable: boolean
instantComplete: boolean
secretQuest: boolean
canShowNotificationsInGame: boolean
rewards: IRewards
conditions: IConditions
name: string
note: string
description: string
successMessageText: string
failMessageText: string
startedMessageText: string
templateId: string
}
_id: string;
traderId: string;
location: string;
image: string;
type: string;
isKey: boolean;
restartable: boolean;
instantComplete: boolean;
secretQuest: boolean;
canShowNotificationsInGame: boolean;
rewards: IRewards;
conditions: IConditions;
name: string;
note: string;
description: string;
successMessageText: string;
failMessageText: string;
startedMessageText: string;
templateId: string;
}

View File

@ -1,534 +1,534 @@
import { Ixyz } from "@spt-aki/models/eft/common/Ixyz";
export interface ITemplateItem
export interface ITemplateItem
{
_id: string
_name: string
_parent: string
_type: string
_props: Props
_proto: string
_id: string;
_name: string;
_parent: string;
_type: string;
_props: Props;
_proto: string;
}
export interface Props
export interface Props
{
AllowSpawnOnLocations?: any[]
BeltMagazineRefreshCount?: number
ChangePriceCoef?: number
FixedPrice?: boolean
SendToClient?: boolean
Name?: string
ShortName?: string
Description?: string
Weight?: number
BackgroundColor?: string
Width?: number
Height?: number
StackMaxSize?: number
Rarity?: string
SpawnChance?: number
CreditsPrice?: number
ItemSound?: string
Prefab?: Prefab
UsePrefab?: Prefab
StackObjectsCount?: number
NotShownInSlot?: boolean
ExaminedByDefault?: boolean
ExamineTime?: number
IsUndiscardable?: boolean
IsUnsaleable?: boolean
IsUnbuyable?: boolean
IsUngivable?: boolean
IsUnremovable?: boolean
IsLockedafterEquip?: boolean
IsSpecialSlotOnly?: boolean
IsStationaryWeapon?: boolean
QuestItem?: boolean
QuestStashMaxCount?: number
LootExperience?: number
ExamineExperience?: number
HideEntrails?: boolean
InsuranceDisabled?: boolean
RepairCost?: number
RepairSpeed?: number
ExtraSizeLeft?: number
ExtraSizeRight?: number
ExtraSizeUp?: number
ExtraSizeDown?: number
ExtraSizeForceAdd?: boolean
MergesWithChildren?: boolean
CanSellOnRagfair?: boolean
CanRequireOnRagfair?: boolean
ConflictingItems?: string[]
Unlootable?: boolean
UnlootableFromSlot?: string
UnlootableFromSide?: string[]
AnimationVariantsNumber?: number
DiscardingBlock?: boolean
DropSoundType?: string
RagFairCommissionModifier?: number
IsAlwaysAvailableForInsurance?: boolean
DiscardLimit?: number
MaxResource?: number
Resource?: number
DogTagQualities?: boolean
Grids?: Grid[]
Slots?: Slot[]
CanPutIntoDuringTheRaid?: boolean
CantRemoveFromSlotsDuringRaid?: string[]
KeyIds?: string[]
TagColor?: number
TagName?: string
Durability?: number
Accuracy?: number
Recoil?: number
Loudness?: number
EffectiveDistance?: number
Ergonomics?: number
Velocity?: number
RaidModdable?: boolean
ToolModdable?: boolean
UniqueAnimationModID?: number
BlocksFolding?: boolean
BlocksCollapsible?: boolean
IsAnimated?: boolean
HasShoulderContact?: boolean
SightingRange?: number
DoubleActionAccuracyPenaltyMult?: number
ModesCount?: any
DurabilityBurnModificator?: number
HeatFactor?: number
CoolFactor?: number
muzzleModType?: string
CustomAimPlane?: string
sightModType?: string
aimingSensitivity?: number
SightModesCount?: number
OpticCalibrationDistances?: number[]
ScopesCount?: number
AimSensitivity?: number|number[][]
Zooms?: number[][]
CalibrationDistances?: number[][]
Intensity?: number
Mask?: string
MaskSize?: number
IsMagazineForStationaryWeapon?: boolean
NoiseIntensity?: number
NoiseScale?: number
Color?: IColor
DiffuseIntensity?: number
MagazineWithBelt?: boolean
HasHinge?: boolean
RampPalette?: string
DepthFade?: number
RoughnessCoef?: number
SpecularCoef?: number
MainTexColorCoef?: number
MinimumTemperatureValue?: number
RampShift?: number
HeatMin?: number
ColdMax?: number
IsNoisy?: boolean
IsFpsStuck?: boolean
IsGlitch?: boolean
IsMotionBlurred?: boolean
IsPixelated?: boolean
PixelationBlockCount?: number
ShiftsAimCamera?: number
magAnimationIndex?: number
Cartridges?: Slot[]
CanFast?: boolean
CanHit?: boolean
CanAdmin?: boolean
LoadUnloadModifier?: number
CheckTimeModifier?: number
CheckOverride?: number
ReloadMagType?: string
VisibleAmmoRangesString?: string
MalfunctionChance?: number
IsShoulderContact?: boolean
Foldable?: boolean
Retractable?: boolean
SizeReduceRight?: number
CenterOfImpact?: number
ShotgunDispersion?: number
IsSilencer?: boolean
DeviationCurve?: number
DeviationMax?: number
SearchSound?: string
BlocksArmorVest?: boolean
speedPenaltyPercent?: number
GridLayoutName?: string
SpawnFilter?: any[]
containType?: any[]
sizeWidth?: number
sizeHeight?: number
isSecured?: boolean
spawnTypes?: string
lootFilter?: any[]
spawnRarity?: string
minCountSpawn?: number
maxCountSpawn?: number
openedByKeyID?: any[]
RigLayoutName?: string
MaxDurability?: number
armorZone?: string[]
armorClass?: string | number
mousePenalty?: number
weaponErgonomicPenalty?: number
BluntThroughput?: number
ArmorMaterial?: string
ArmorType?: string
weapClass?: string
weapUseType?: string
ammoCaliber?: string
OperatingResource?: number
RepairComplexity?: number
durabSpawnMin?: number
durabSpawnMax?: number
isFastReload?: boolean
RecoilForceUp?: number
RecoilForceBack?: number
Convergence?: number
RecoilAngle?: number
weapFireType?: string[]
RecolDispersion?: number
SingleFireRate?: number
CanQueueSecondShot?: boolean
bFirerate?: number
bEffDist?: number
bHearDist?: number
isChamberLoad?: boolean
chamberAmmoCount?: number
isBoltCatch?: boolean
defMagType?: string
defAmmo?: string
AdjustCollimatorsToTrajectory?: boolean
shotgunDispersion?: number
Chambers?: Slot[]
CameraRecoil?: number
CameraSnap?: number
ReloadMode?: string
AimPlane?: number
TacticalReloadStiffnes?: Ixyz
TacticalReloadFixation?: number
RecoilCenter?: Ixyz
RotationCenter?: Ixyz
RotationCenterNoStock?: Ixyz
FoldedSlot?: string
CompactHandling?: boolean
MinRepairDegradation?: number
MaxRepairDegradation?: number
IronSightRange?: number
IsBeltMachineGun?: boolean
IsFlareGun?: boolean
IsGrenadeLauncher?: boolean
IsOneoff?: boolean
MustBoltBeOpennedForExternalReload?: boolean
MustBoltBeOpennedForInternalReload?: boolean
NoFiremodeOnBoltcatch?: boolean
BoltAction?: boolean
HipAccuracyRestorationDelay?: number
HipAccuracyRestorationSpeed?: number
HipInnaccuracyGain?: number
ManualBoltCatch?: boolean
BurstShotsCount?: number
BaseMalfunctionChance?: number
AllowJam?: boolean
AllowFeed?: boolean
AllowMisfire?: boolean
AllowSlide?: boolean
DurabilityBurnRatio?: number
HeatFactorGun?: number
CoolFactorGun?: number
CoolFactorGunMods?: number
HeatFactorByShot?: number
AllowOverheat?: boolean
DoubleActionAccuracyPenalty?: number
RecoilPosZMult?: number
MinRepairKitDegradation?: number
MaxRepairKitDegradation?: number
BlocksEarpiece?: boolean
BlocksEyewear?: boolean
BlocksHeadwear?: boolean
BlocksFaceCover?: boolean
Indestructibility?: number
headSegments?: string[]
FaceShieldComponent?: boolean
FaceShieldMask?: string
MaterialType?: string
RicochetParams?: Ixyz
DeafStrength?: string
BlindnessProtection?: number
Distortion?: number
CompressorTreshold?: number
CompressorAttack?: number
CompressorRelease?: number
CompressorGain?: number
CutoffFreq?: number
Resonance?: number
RolloffMultiplier?: number
ReverbVolume?: number
CompressorVolume?: number
AmbientVolume?: number
DryVolume?: number
HighFrequenciesGain?: number
foodUseTime?: number
foodEffectType?: string
StimulatorBuffs?: string
AllowSpawnOnLocations?: any[];
BeltMagazineRefreshCount?: number;
ChangePriceCoef?: number;
FixedPrice?: boolean;
SendToClient?: boolean;
Name?: string;
ShortName?: string;
Description?: string;
Weight?: number;
BackgroundColor?: string;
Width?: number;
Height?: number;
StackMaxSize?: number;
Rarity?: string;
SpawnChance?: number;
CreditsPrice?: number;
ItemSound?: string;
Prefab?: Prefab;
UsePrefab?: Prefab;
StackObjectsCount?: number;
NotShownInSlot?: boolean;
ExaminedByDefault?: boolean;
ExamineTime?: number;
IsUndiscardable?: boolean;
IsUnsaleable?: boolean;
IsUnbuyable?: boolean;
IsUngivable?: boolean;
IsUnremovable?: boolean;
IsLockedafterEquip?: boolean;
IsSpecialSlotOnly?: boolean;
IsStationaryWeapon?: boolean;
QuestItem?: boolean;
QuestStashMaxCount?: number;
LootExperience?: number;
ExamineExperience?: number;
HideEntrails?: boolean;
InsuranceDisabled?: boolean;
RepairCost?: number;
RepairSpeed?: number;
ExtraSizeLeft?: number;
ExtraSizeRight?: number;
ExtraSizeUp?: number;
ExtraSizeDown?: number;
ExtraSizeForceAdd?: boolean;
MergesWithChildren?: boolean;
CanSellOnRagfair?: boolean;
CanRequireOnRagfair?: boolean;
ConflictingItems?: string[];
Unlootable?: boolean;
UnlootableFromSlot?: string;
UnlootableFromSide?: string[];
AnimationVariantsNumber?: number;
DiscardingBlock?: boolean;
DropSoundType?: string;
RagFairCommissionModifier?: number;
IsAlwaysAvailableForInsurance?: boolean;
DiscardLimit?: number;
MaxResource?: number;
Resource?: number;
DogTagQualities?: boolean;
Grids?: Grid[];
Slots?: Slot[];
CanPutIntoDuringTheRaid?: boolean;
CantRemoveFromSlotsDuringRaid?: string[];
KeyIds?: string[];
TagColor?: number;
TagName?: string;
Durability?: number;
Accuracy?: number;
Recoil?: number;
Loudness?: number;
EffectiveDistance?: number;
Ergonomics?: number;
Velocity?: number;
RaidModdable?: boolean;
ToolModdable?: boolean;
UniqueAnimationModID?: number;
BlocksFolding?: boolean;
BlocksCollapsible?: boolean;
IsAnimated?: boolean;
HasShoulderContact?: boolean;
SightingRange?: number;
DoubleActionAccuracyPenaltyMult?: number;
ModesCount?: any;
DurabilityBurnModificator?: number;
HeatFactor?: number;
CoolFactor?: number;
muzzleModType?: string;
CustomAimPlane?: string;
sightModType?: string;
aimingSensitivity?: number;
SightModesCount?: number;
OpticCalibrationDistances?: number[];
ScopesCount?: number;
AimSensitivity?: number | number[][];
Zooms?: number[][];
CalibrationDistances?: number[][];
Intensity?: number;
Mask?: string;
MaskSize?: number;
IsMagazineForStationaryWeapon?: boolean;
NoiseIntensity?: number;
NoiseScale?: number;
Color?: IColor;
DiffuseIntensity?: number;
MagazineWithBelt?: boolean;
HasHinge?: boolean;
RampPalette?: string;
DepthFade?: number;
RoughnessCoef?: number;
SpecularCoef?: number;
MainTexColorCoef?: number;
MinimumTemperatureValue?: number;
RampShift?: number;
HeatMin?: number;
ColdMax?: number;
IsNoisy?: boolean;
IsFpsStuck?: boolean;
IsGlitch?: boolean;
IsMotionBlurred?: boolean;
IsPixelated?: boolean;
PixelationBlockCount?: number;
ShiftsAimCamera?: number;
magAnimationIndex?: number;
Cartridges?: Slot[];
CanFast?: boolean;
CanHit?: boolean;
CanAdmin?: boolean;
LoadUnloadModifier?: number;
CheckTimeModifier?: number;
CheckOverride?: number;
ReloadMagType?: string;
VisibleAmmoRangesString?: string;
MalfunctionChance?: number;
IsShoulderContact?: boolean;
Foldable?: boolean;
Retractable?: boolean;
SizeReduceRight?: number;
CenterOfImpact?: number;
ShotgunDispersion?: number;
IsSilencer?: boolean;
DeviationCurve?: number;
DeviationMax?: number;
SearchSound?: string;
BlocksArmorVest?: boolean;
speedPenaltyPercent?: number;
GridLayoutName?: string;
SpawnFilter?: any[];
containType?: any[];
sizeWidth?: number;
sizeHeight?: number;
isSecured?: boolean;
spawnTypes?: string;
lootFilter?: any[];
spawnRarity?: string;
minCountSpawn?: number;
maxCountSpawn?: number;
openedByKeyID?: any[];
RigLayoutName?: string;
MaxDurability?: number;
armorZone?: string[];
armorClass?: string | number;
mousePenalty?: number;
weaponErgonomicPenalty?: number;
BluntThroughput?: number;
ArmorMaterial?: string;
ArmorType?: string;
weapClass?: string;
weapUseType?: string;
ammoCaliber?: string;
OperatingResource?: number;
RepairComplexity?: number;
durabSpawnMin?: number;
durabSpawnMax?: number;
isFastReload?: boolean;
RecoilForceUp?: number;
RecoilForceBack?: number;
Convergence?: number;
RecoilAngle?: number;
weapFireType?: string[];
RecolDispersion?: number;
SingleFireRate?: number;
CanQueueSecondShot?: boolean;
bFirerate?: number;
bEffDist?: number;
bHearDist?: number;
isChamberLoad?: boolean;
chamberAmmoCount?: number;
isBoltCatch?: boolean;
defMagType?: string;
defAmmo?: string;
AdjustCollimatorsToTrajectory?: boolean;
shotgunDispersion?: number;
Chambers?: Slot[];
CameraRecoil?: number;
CameraSnap?: number;
ReloadMode?: string;
AimPlane?: number;
TacticalReloadStiffnes?: Ixyz;
TacticalReloadFixation?: number;
RecoilCenter?: Ixyz;
RotationCenter?: Ixyz;
RotationCenterNoStock?: Ixyz;
FoldedSlot?: string;
CompactHandling?: boolean;
MinRepairDegradation?: number;
MaxRepairDegradation?: number;
IronSightRange?: number;
IsBeltMachineGun?: boolean;
IsFlareGun?: boolean;
IsGrenadeLauncher?: boolean;
IsOneoff?: boolean;
MustBoltBeOpennedForExternalReload?: boolean;
MustBoltBeOpennedForInternalReload?: boolean;
NoFiremodeOnBoltcatch?: boolean;
BoltAction?: boolean;
HipAccuracyRestorationDelay?: number;
HipAccuracyRestorationSpeed?: number;
HipInnaccuracyGain?: number;
ManualBoltCatch?: boolean;
BurstShotsCount?: number;
BaseMalfunctionChance?: number;
AllowJam?: boolean;
AllowFeed?: boolean;
AllowMisfire?: boolean;
AllowSlide?: boolean;
DurabilityBurnRatio?: number;
HeatFactorGun?: number;
CoolFactorGun?: number;
CoolFactorGunMods?: number;
HeatFactorByShot?: number;
AllowOverheat?: boolean;
DoubleActionAccuracyPenalty?: number;
RecoilPosZMult?: number;
MinRepairKitDegradation?: number;
MaxRepairKitDegradation?: number;
BlocksEarpiece?: boolean;
BlocksEyewear?: boolean;
BlocksHeadwear?: boolean;
BlocksFaceCover?: boolean;
Indestructibility?: number;
headSegments?: string[];
FaceShieldComponent?: boolean;
FaceShieldMask?: string;
MaterialType?: string;
RicochetParams?: Ixyz;
DeafStrength?: string;
BlindnessProtection?: number;
Distortion?: number;
CompressorTreshold?: number;
CompressorAttack?: number;
CompressorRelease?: number;
CompressorGain?: number;
CutoffFreq?: number;
Resonance?: number;
RolloffMultiplier?: number;
ReverbVolume?: number;
CompressorVolume?: number;
AmbientVolume?: number;
DryVolume?: number;
HighFrequenciesGain?: number;
foodUseTime?: number;
foodEffectType?: string;
StimulatorBuffs?: string;
// eslint-disable-next-line @typescript-eslint/naming-convention
effects_health?: IHealthEffect[] | Record<string, Record<string, number>>
effects_health?: IHealthEffect[] | Record<string, Record<string, number>>;
// eslint-disable-next-line @typescript-eslint/naming-convention
effects_damage?: Record<string, IEffectDamageProps>
MaximumNumberOfUsage?: number
knifeHitDelay?: number
knifeHitSlashRate?: number
knifeHitStabRate?: number
knifeHitRadius?: number
knifeHitSlashDam?: number
knifeHitStabDam?: number
knifeDurab?: number
PrimaryDistance?: number
SecondryDistance?: number
SlashPenetration?: number
StabPenetration?: number
PrimaryConsumption?: number
SecondryConsumption?: number
DeflectionConsumption?: number
AppliedTrunkRotation?: Ixyz
AppliedHeadRotation?: Ixyz
DisplayOnModel?: boolean
AdditionalAnimationLayer?: number
StaminaBurnRate?: number
ColliderScaleMultiplier?: Ixyz
ConfigPathStr?: string
MaxMarkersCount?: number
scaleMin?: number
scaleMax?: number
medUseTime?: number
medEffectType?: string
MaxHpResource?: number
hpResourceRate?: number
apResource?: number
krResource?: number
MaxOpticZoom?: number
MaxRepairResource?: number
TargetItemFilter?: string[]
RepairQuality?: number
RepairType?: string
StackMinRandom?: number
StackMaxRandom?: number
ammoType?: string
InitialSpeed?: number
BallisticCoeficient?: number
BulletMassGram?: number
BulletDiameterMilimeters?: number
Damage?: number
ammoAccr?: number
ammoRec?: number
ammoDist?: number
buckshotBullets?: number
PenetrationPower?: number
PenetrationPowerDiviation?: number
ammoHear?: number
ammoSfx?: string
MisfireChance?: number
MinFragmentsCount?: number
MaxFragmentsCount?: number
ammoShiftChance?: number
casingName?: string
casingEjectPower?: number
casingMass?: number
casingSounds?: string
ProjectileCount?: number
PenetrationChance?: number
RicochetChance?: number
FragmentationChance?: number
Deterioration?: number
SpeedRetardation?: number
Tracer?: boolean
TracerColor?: string
TracerDistance?: number
ArmorDamage?: number
Caliber?: string
StaminaBurnPerDamage?: number
HeavyBleedingDelta?: number
LightBleedingDelta?: number
ShowBullet?: boolean
HasGrenaderComponent?: boolean
FuzeArmTimeSec?: number
ExplosionStrength?: number
MinExplosionDistance?: number
MaxExplosionDistance?: number
FragmentsCount?: number
FragmentType?: string
ShowHitEffectOnExplode?: boolean
ExplosionType?: string
AmmoLifeTimeSec?: number
Contusion?: Ixyz
ArmorDistanceDistanceDamage?: Ixyz
Blindness?: Ixyz
IsLightAndSoundShot?: boolean
LightAndSoundShotAngle?: number
LightAndSoundShotSelfContusionTime?: number
LightAndSoundShotSelfContusionStrength?: number
MalfMisfireChance?: number
MalfFeedChance?: number
StackSlots?: StackSlot[]
type?: string
eqMin?: number
eqMax?: number
rate?: number
ThrowType?: string
ExplDelay?: number
Strength?: number
ContusionDistance?: number
throwDamMax?: number
explDelay?: number
EmitTime?: number
CanBeHiddenDuringThrow?: boolean
MinTimeToContactExplode?: number
ExplosionEffectType?: string
LinkedWeapon?: string
UseAmmoWithoutShell?: boolean
RandomLootSettings?: IRandomLootSettings
effects_damage?: Record<string, IEffectDamageProps>;
MaximumNumberOfUsage?: number;
knifeHitDelay?: number;
knifeHitSlashRate?: number;
knifeHitStabRate?: number;
knifeHitRadius?: number;
knifeHitSlashDam?: number;
knifeHitStabDam?: number;
knifeDurab?: number;
PrimaryDistance?: number;
SecondryDistance?: number;
SlashPenetration?: number;
StabPenetration?: number;
PrimaryConsumption?: number;
SecondryConsumption?: number;
DeflectionConsumption?: number;
AppliedTrunkRotation?: Ixyz;
AppliedHeadRotation?: Ixyz;
DisplayOnModel?: boolean;
AdditionalAnimationLayer?: number;
StaminaBurnRate?: number;
ColliderScaleMultiplier?: Ixyz;
ConfigPathStr?: string;
MaxMarkersCount?: number;
scaleMin?: number;
scaleMax?: number;
medUseTime?: number;
medEffectType?: string;
MaxHpResource?: number;
hpResourceRate?: number;
apResource?: number;
krResource?: number;
MaxOpticZoom?: number;
MaxRepairResource?: number;
TargetItemFilter?: string[];
RepairQuality?: number;
RepairType?: string;
StackMinRandom?: number;
StackMaxRandom?: number;
ammoType?: string;
InitialSpeed?: number;
BallisticCoeficient?: number;
BulletMassGram?: number;
BulletDiameterMilimeters?: number;
Damage?: number;
ammoAccr?: number;
ammoRec?: number;
ammoDist?: number;
buckshotBullets?: number;
PenetrationPower?: number;
PenetrationPowerDiviation?: number;
ammoHear?: number;
ammoSfx?: string;
MisfireChance?: number;
MinFragmentsCount?: number;
MaxFragmentsCount?: number;
ammoShiftChance?: number;
casingName?: string;
casingEjectPower?: number;
casingMass?: number;
casingSounds?: string;
ProjectileCount?: number;
PenetrationChance?: number;
RicochetChance?: number;
FragmentationChance?: number;
Deterioration?: number;
SpeedRetardation?: number;
Tracer?: boolean;
TracerColor?: string;
TracerDistance?: number;
ArmorDamage?: number;
Caliber?: string;
StaminaBurnPerDamage?: number;
HeavyBleedingDelta?: number;
LightBleedingDelta?: number;
ShowBullet?: boolean;
HasGrenaderComponent?: boolean;
FuzeArmTimeSec?: number;
ExplosionStrength?: number;
MinExplosionDistance?: number;
MaxExplosionDistance?: number;
FragmentsCount?: number;
FragmentType?: string;
ShowHitEffectOnExplode?: boolean;
ExplosionType?: string;
AmmoLifeTimeSec?: number;
Contusion?: Ixyz;
ArmorDistanceDistanceDamage?: Ixyz;
Blindness?: Ixyz;
IsLightAndSoundShot?: boolean;
LightAndSoundShotAngle?: number;
LightAndSoundShotSelfContusionTime?: number;
LightAndSoundShotSelfContusionStrength?: number;
MalfMisfireChance?: number;
MalfFeedChance?: number;
StackSlots?: StackSlot[];
type?: string;
eqMin?: number;
eqMax?: number;
rate?: number;
ThrowType?: string;
ExplDelay?: number;
Strength?: number;
ContusionDistance?: number;
throwDamMax?: number;
explDelay?: number;
EmitTime?: number;
CanBeHiddenDuringThrow?: boolean;
MinTimeToContactExplode?: number;
ExplosionEffectType?: string;
LinkedWeapon?: string;
UseAmmoWithoutShell?: boolean;
RandomLootSettings?: IRandomLootSettings;
}
export interface IHealthEffect
{
type: string
value: number
type: string;
value: number;
}
export interface Prefab
export interface Prefab
{
path: string
rcid: string
path: string;
rcid: string;
}
export interface Grid
export interface Grid
{
_name: string
_id: string
_parent: string
_props: GridProps
_proto: string
_name: string;
_id: string;
_parent: string;
_props: GridProps;
_proto: string;
}
export interface GridProps
export interface GridProps
{
filters: GridFilter[]
cellsH: number
cellsV: number
minCount: number
maxCount: number
maxWeight: number
isSortingTable: boolean
filters: GridFilter[];
cellsH: number;
cellsV: number;
minCount: number;
maxCount: number;
maxWeight: number;
isSortingTable: boolean;
}
export interface GridFilter
export interface GridFilter
{
Filter: string[]
ExcludedFilter: string[]
Filter: string[];
ExcludedFilter: string[];
}
export interface Slot
export interface Slot
{
_name: string
_id: string
_parent: string
_props: SlotProps
_name: string;
_id: string;
_parent: string;
_props: SlotProps;
// eslint-disable-next-line @typescript-eslint/naming-convention
_max_count?: number
_required?: boolean
_mergeSlotWithChildren?: boolean
_proto: string
_max_count?: number;
_required?: boolean;
_mergeSlotWithChildren?: boolean;
_proto: string;
}
export interface SlotProps
export interface SlotProps
{
filters: SlotFilter[]
filters: SlotFilter[];
}
export interface SlotFilter
export interface SlotFilter
{
Shift?: number
Filter: string[]
AnimationIndex?: number
Shift?: number;
Filter: string[];
AnimationIndex?: number;
}
export interface StackSlot
{
_name?: string
_id: string
_parent: string
_name?: string;
_id: string;
_parent: string;
// eslint-disable-next-line @typescript-eslint/naming-convention
_max_count: number
_props: StackSlotProps
_proto: string
upd: any
_max_count: number;
_props: StackSlotProps;
_proto: string;
upd: any;
}
export interface StackSlotProps
export interface StackSlotProps
{
filters: SlotFilter[]
filters: SlotFilter[];
}
export interface IRandomLootSettings
{
allowToSpawnIdenticalItems: boolean
allowToSpawnQuestItems: boolean
countByRarity: any[]
excluded: IRandomLootExcluded
filters: any[]
findInRaid: boolean
maxCount: number
minCount: number
allowToSpawnIdenticalItems: boolean;
allowToSpawnQuestItems: boolean;
countByRarity: any[];
excluded: IRandomLootExcluded;
filters: any[];
findInRaid: boolean;
maxCount: number;
minCount: number;
}
export interface IRandomLootExcluded
{
categoryTemplates: any[]
rarity: string[]
templates: any[]
categoryTemplates: any[];
rarity: string[];
templates: any[];
}
export interface EffectsHealth
export interface EffectsHealth
{
Energy: EffectsHealthProps
Hydration: EffectsHealthProps
Energy: EffectsHealthProps;
Hydration: EffectsHealthProps;
}
export interface EffectsHealthProps
export interface EffectsHealthProps
{
value: number
value: number;
}
export interface EffectsDamage
export interface EffectsDamage
{
Pain: IEffectDamageProps
LightBleeding: IEffectDamageProps
HeavyBleeding: IEffectDamageProps
Contusion: IEffectDamageProps
RadExposure: IEffectDamageProps
Fracture: IEffectDamageProps
DestroyedPart: IEffectDamageProps
Pain: IEffectDamageProps;
LightBleeding: IEffectDamageProps;
HeavyBleeding: IEffectDamageProps;
Contusion: IEffectDamageProps;
RadExposure: IEffectDamageProps;
Fracture: IEffectDamageProps;
DestroyedPart: IEffectDamageProps;
}
export interface IEffectDamageProps
export interface IEffectDamageProps
{
delay: number
duration: number
fadeOut: number
cost?: number
healthPenaltyMin?: number
healthPenaltyMax?: number
delay: number;
duration: number;
fadeOut: number;
cost?: number;
healthPenaltyMin?: number;
healthPenaltyMax?: number;
}
export interface IColor
export interface IColor
{
r: number
g: number
b: number
a: number
}
r: number;
g: number;
b: number;
a: number;
}

View File

@ -1,122 +1,122 @@
/* eslint-disable @typescript-eslint/naming-convention */
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
export interface ITrader
export interface ITrader
{
assort: ITraderAssort
base: ITraderBase
dialogue?: Record<string, string[]>
questassort: Record<string, Record<string, string>>
suits?: ISuit[]
assort: ITraderAssort;
base: ITraderBase;
dialogue?: Record<string, string[]>;
questassort: Record<string, Record<string, string>>;
suits?: ISuit[];
}
export interface ITraderBase
export interface ITraderBase
{
refreshTraderRagfairOffers: boolean
_id: string
availableInRaid: boolean
avatar: string
balance_dol: number
balance_eur: number
balance_rub: number
buyer_up: boolean
currency: string
customization_seller: boolean
discount: number
discount_end: number
gridHeight: number
insurance: Insurance
items_buy: IItemBuyData
items_buy_prohibited: IItemBuyData
location: string
loyaltyLevels: LoyaltyLevel[]
medic: boolean
name: string
nextResupply: number
nickname: string
repair: Repair
sell_category: string[]
surname: string
unlockedByDefault: boolean
refreshTraderRagfairOffers: boolean;
_id: string;
availableInRaid: boolean;
avatar: string;
balance_dol: number;
balance_eur: number;
balance_rub: number;
buyer_up: boolean;
currency: string;
customization_seller: boolean;
discount: number;
discount_end: number;
gridHeight: number;
insurance: Insurance;
items_buy: IItemBuyData;
items_buy_prohibited: IItemBuyData;
location: string;
loyaltyLevels: LoyaltyLevel[];
medic: boolean;
name: string;
nextResupply: number;
nickname: string;
repair: Repair;
sell_category: string[];
surname: string;
unlockedByDefault: boolean;
}
export interface IItemBuyData
{
category: string[]
id_list: string[]
category: string[];
id_list: string[];
}
export interface Insurance
export interface Insurance
{
availability: boolean
excluded_category: string[]
max_return_hour: number
max_storage_time: number
min_payment: number
min_return_hour: number
availability: boolean;
excluded_category: string[];
max_return_hour: number;
max_storage_time: number;
min_payment: number;
min_return_hour: number;
}
export interface LoyaltyLevel
export interface LoyaltyLevel
{
buy_price_coef: number
exchange_price_coef: number
heal_price_coef: number
insurance_price_coef: number
minLevel: number
minSalesSum: number
minStanding: number
repair_price_coef: number
buy_price_coef: number;
exchange_price_coef: number;
heal_price_coef: number;
insurance_price_coef: number;
minLevel: number;
minSalesSum: number;
minStanding: number;
repair_price_coef: number;
}
export interface Repair
export interface Repair
{
availability: boolean
currency: string
currency_coefficient: number
excluded_category: string[]
availability: boolean;
currency: string;
currency_coefficient: number;
excluded_category: string[];
/** Doesn't exist in client object */
excluded_id_list: any[]
quality: number
excluded_id_list: any[];
quality: number;
}
export interface ITraderAssort
export interface ITraderAssort
{
nextResupply: number
items: Item[]
barter_scheme: Record<string, IBarterScheme[][]>
loyal_level_items: Record<string, number>
nextResupply: number;
items: Item[];
barter_scheme: Record<string, IBarterScheme[][]>;
loyal_level_items: Record<string, number>;
}
export interface IBarterScheme
export interface IBarterScheme
{
count: number
_tpl: string
onlyFunctional?: boolean
sptQuestLocked?: boolean
count: number;
_tpl: string;
onlyFunctional?: boolean;
sptQuestLocked?: boolean;
}
export interface ISuit
export interface ISuit
{
_id: string
tid: string
suiteId: string
isActive: boolean
requirements: ISuitRequirements
_id: string;
tid: string;
suiteId: string;
isActive: boolean;
requirements: ISuitRequirements;
}
export interface ISuitRequirements
export interface ISuitRequirements
{
loyaltyLevel: number
profileLevel: number
standing: number
skillRequirements: string[]
questRequirements: string[]
itemRequirements: ItemRequirement[]
loyaltyLevel: number;
profileLevel: number;
standing: number;
skillRequirements: string[];
questRequirements: string[];
itemRequirements: ItemRequirement[];
}
export interface ItemRequirement
export interface ItemRequirement
{
count: number
_tpl: string
onlyFunctional: boolean
count: number;
_tpl: string;
onlyFunctional: boolean;
}

View File

@ -1,13 +1,13 @@
export interface IBuyClothingRequestData
export interface IBuyClothingRequestData
{
Action: "CustomizationBuy"
offer: string
items: ClothingItem[]
Action: "CustomizationBuy";
offer: string;
items: ClothingItem[];
}
export interface ClothingItem
export interface ClothingItem
{
del: boolean
id: string
count: number
del: boolean;
id: string;
count: number;
}

View File

@ -1,5 +1,5 @@
export interface IGetSuitsResponse
{
_id: string
suites: string[]
}
_id: string;
suites: string[];
}

View File

@ -1,5 +1,5 @@
export interface IWearClothingRequestData
export interface IWearClothingRequestData
{
Action: "CustomizationWear"
suites: string[]
}
Action: "CustomizationWear";
suites: string[];
}

View File

@ -1,15 +1,13 @@
export interface IAcceptFriendRequestData extends IBaseFriendRequest
{
}
export interface ICancelFriendRequestData extends IBaseFriendRequest
{
}
export interface IBaseFriendRequest
{
// eslint-disable-next-line @typescript-eslint/naming-convention
request_id: string
request_id: string;
}

View File

@ -1,19 +1,19 @@
export interface IChatServer
{
_id: string
RegistrationId: number
VersionId: string
Ip: string
Port: number
DateTime: number
Chats: IChat[]
Regions: string[]
_id: string;
RegistrationId: number;
VersionId: string;
Ip: string;
Port: number;
DateTime: number;
Chats: IChat[];
Regions: string[];
/** Possibly removed */
IsDeveloper?: boolean
IsDeveloper?: boolean;
}
export interface IChat
{
_id: string
Members: number
}
_id: string;
Members: number;
}

View File

@ -1,4 +1,4 @@
export interface IClearMailMessageRequest
{
dialogId: string
}
dialogId: string;
}

View File

@ -1,5 +1,5 @@
export interface IDeleteFriendRequest
{
// eslint-disable-next-line @typescript-eslint/naming-convention
friend_id: string
}
friend_id: string;
}

View File

@ -1,4 +1,4 @@
export interface IFriendRequestData
export interface IFriendRequestData
{
to: string
}
to: string;
}

View File

@ -1,6 +1,6 @@
export interface IFriendRequestSendResponse
{
status: number
requestid: string
retryAfter: number
}
status: number;
requestid: string;
retryAfter: number;
}

View File

@ -1,4 +1,4 @@
export interface IGetAllAttachmentsRequestData
export interface IGetAllAttachmentsRequestData
{
dialogId: string
}
dialogId: string;
}

View File

@ -2,7 +2,7 @@ import { Message } from "@spt-aki/models/eft/profile/IAkiProfile";
export interface IGetAllAttachmentsResponse
{
messages: Message[]
profiles: any[]
hasMessagesWithRewards: boolean
}
messages: Message[];
profiles: any[];
hasMessagesWithRewards: boolean;
}

View File

@ -1,4 +1,4 @@
export interface IGetChatServerListRequestData
{
VersionId: string
}
VersionId: string;
}

View File

@ -2,7 +2,7 @@ import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile";
export interface IGetFriendListDataResponse
{
Friends: IUserDialogInfo[]
Ignore: string[]
InIgnoreList: string[]
}
Friends: IUserDialogInfo[];
Ignore: string[];
InIgnoreList: string[];
}

View File

@ -1,5 +1,4 @@
export interface IGetMailDialogInfoRequestData
{
dialogId: string;
}
}

View File

@ -1,5 +1,5 @@
export interface IGetMailDialogListRequestData
export interface IGetMailDialogListRequestData
{
limit: number
offset: number
}
limit: number;
offset: number;
}

View File

@ -1,9 +1,9 @@
import { MessageType } from "@spt-aki/models/enums/MessageType";
export interface IGetMailDialogViewRequestData
export interface IGetMailDialogViewRequestData
{
type: MessageType
dialogId: string
limit: number
time: number // decimal
}
type: MessageType;
dialogId: string;
limit: number;
time: number; // decimal
}

View File

@ -1,8 +1,8 @@
import { IUserDialogInfo, Message } from "@spt-aki/models/eft/profile/IAkiProfile";
export interface IGetMailDialogViewResponseData
export interface IGetMailDialogViewResponseData
{
messages: Message[]
profiles: IUserDialogInfo[]
hasMessagesWithRewards: boolean
}
messages: Message[];
profiles: IUserDialogInfo[];
hasMessagesWithRewards: boolean;
}

View File

@ -1,4 +1,4 @@
export interface IPinDialogRequestData
export interface IPinDialogRequestData
{
dialogId: string
}
dialogId: string;
}

View File

@ -1,5 +1,4 @@
export interface IRemoveDialogRequestData
export interface IRemoveDialogRequestData
{
dialogId: string;
}
}

View File

@ -1,4 +1,4 @@
export interface IRemoveMailMessageRequest
{
dialogId: string
}
dialogId: string;
}

View File

@ -2,8 +2,8 @@ import { MessageType } from "@spt-aki/models/enums/MessageType";
export interface ISendMessageRequest
{
dialogId: string
type: MessageType
text: string
replyTo: string
}
dialogId: string;
type: MessageType;
text: string;
replyTo: string;
}

View File

@ -1,4 +1,4 @@
export interface ISetDialogReadRequestData
export interface ISetDialogReadRequestData
{
dialogs: string[];
}
}

View File

@ -1,5 +1,5 @@
export interface ICheckVersionResponse
{
isvalid: boolean,
latestVersion: string
}
isvalid: boolean;
latestVersion: string;
}

View File

@ -2,22 +2,22 @@ import { MemberCategory } from "@spt-aki/models/enums/MemberCategory";
export interface ICurrentGroupResponse
{
squad: any[]
squad: any[];
}
export interface ICurrentGroupSquadMember
{
_id: string
aid: string
info: ICurrentGroupMemberInfo
isLeader: boolean
isReady: boolean
_id: string;
aid: string;
info: ICurrentGroupMemberInfo;
isLeader: boolean;
isReady: boolean;
}
export interface ICurrentGroupMemberInfo
{
Nickname: string
Side: string
Level: string
MemberCategory: MemberCategory
}
Nickname: string;
Side: string;
Level: string;
MemberCategory: MemberCategory;
}

View File

@ -1,26 +1,26 @@
export interface IGameConfigResponse
{
aid: number
lang: string
languages: Record<string, string>
ndaFree: boolean
taxonomy: number
activeProfileId: string
backend: Backend
useProtobuf: boolean
aid: number;
lang: string;
languages: Record<string, string>;
ndaFree: boolean;
taxonomy: number;
activeProfileId: string;
backend: Backend;
useProtobuf: boolean;
// eslint-disable-next-line @typescript-eslint/naming-convention
utc_time: number
utc_time: number;
/** Total in game time */
totalInGame: number
reportAvailable: boolean
twitchEventMember: boolean
totalInGame: number;
reportAvailable: boolean;
twitchEventMember: boolean;
}
export interface Backend
{
Lobby: string
Trading: string
Messaging: string
Main: string
RagFair: string
}
Lobby: string;
Trading: string;
Messaging: string;
Main: string;
RagFair: string;
}

View File

@ -1,4 +1,4 @@
export interface IGameEmptyCrcRequestData
export interface IGameEmptyCrcRequestData
{
crc: number
}
crc: number;
}

View File

@ -1,6 +1,6 @@
export interface IGameKeepAliveResponse
{
msg: string
msg: string;
// eslint-disable-next-line @typescript-eslint/naming-convention
utc_time: number
}
utc_time: number;
}

View File

@ -1,4 +1,4 @@
export interface IGameLogoutResponseData
{
status: string
}
status: string;
}

View File

@ -1,5 +1,5 @@
export interface IGameStartResponse
{
// eslint-disable-next-line @typescript-eslint/naming-convention
utc_time: number
}
utc_time: number;
}

View File

@ -1,6 +1,6 @@
export interface IGetItemPricesResponse
{
supplyNextTime: number
prices: Record<string, number>
currencyCourses: Record<string, number>
}
supplyNextTime: number;
prices: Record<string, number>;
currencyCourses: Record<string, number>;
}

View File

@ -1,4 +1,4 @@
export interface IReportNicknameRequestData
{
uid: string
}
uid: string;
}

View File

@ -1,5 +1,5 @@
export interface IServerDetails
{
ip: string
port: number
}
ip: string;
port: number;
}

View File

@ -1,14 +1,14 @@
export interface IVersionValidateRequestData
export interface IVersionValidateRequestData
{
version: Version
develop: boolean
version: Version;
develop: boolean;
}
export interface Version
export interface Version
{
major: string
minor: string
game: string
backend: string
taxonomy: string
}
major: string;
minor: string;
game: string;
backend: string;
taxonomy: string;
}

View File

@ -1,8 +1,8 @@
export enum Effect
{
{
FRACTURE = "Fracture",
LIGHT_BLEEDING = "LightBleeding",
HEAVY_BLEEDING = "HeavyBleeding",
MILD_MUSCLE_PAIN = "MildMusclePain",
SEVERE_MUSCLE_PAIN = "SevereMusclePain"
}
SEVERE_MUSCLE_PAIN = "SevereMusclePain",
}

View File

@ -1,41 +1,41 @@
export interface IHealthTreatmentRequestData
export interface IHealthTreatmentRequestData
{
Action: "RestoreHealth"
trader: string
items: Cost[]
difference: Difference
timestamp: number
Action: "RestoreHealth";
trader: string;
items: Cost[];
difference: Difference;
timestamp: number;
}
export interface Cost
export interface Cost
{
/** Id of stack to take money from */
id: string
id: string;
/** Amount of money to take off player for treatment */
count: number
count: number;
}
export interface Difference
export interface Difference
{
BodyParts: BodyParts
Energy: number
Hydration: number
BodyParts: BodyParts;
Energy: number;
Hydration: number;
}
export interface BodyParts
export interface BodyParts
{
Head: BodyPart
Chest: BodyPart
Stomach: BodyPart
LeftArm: BodyPart
RightArm: BodyPart
LeftLeg: BodyPart
RightLeg: BodyPart
Head: BodyPart;
Chest: BodyPart;
Stomach: BodyPart;
LeftArm: BodyPart;
RightArm: BodyPart;
LeftLeg: BodyPart;
RightLeg: BodyPart;
}
export interface BodyPart
export interface BodyPart
{
Health: number
Health: number;
/** Effects in array are to be removed */
Effects: string[]
}
Effects: string[];
}

View File

@ -1,9 +1,9 @@
import { IBaseInteractionRequestData } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData";
export interface IOffraidEatRequestData extends IBaseInteractionRequestData
export interface IOffraidEatRequestData extends IBaseInteractionRequestData
{
Action: "Eat"
item: string
count: number
time: number
}
Action: "Eat";
item: string;
count: number;
time: number;
}

View File

@ -1,16 +1,16 @@
import { IBaseInteractionRequestData } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData";
export interface IOffraidHealRequestData extends IBaseInteractionRequestData
export interface IOffraidHealRequestData extends IBaseInteractionRequestData
{
Action: "Heal"
item: string
part: BodyPart
count: number
time: number
Action: "Heal";
item: string;
part: BodyPart;
count: number;
time: number;
}
export enum BodyPart
{
export enum BodyPart
{
HEAD = "Head",
CHEST = "Chest",
STOMACH = "Stomach",
@ -18,5 +18,5 @@ export enum BodyPart
RIGHT_ARM = "RightArm",
LEFT_LEG = "LeftLeg",
RIGHT_LEG = "RightLeg",
COMMON = "Common"
}
COMMON = "Common",
}

View File

@ -1,26 +1,26 @@
export interface ISyncHealthRequestData
export interface ISyncHealthRequestData
{
Health: Health
IsAlive: boolean
Hydration?: number
Energy?: number
Temperature?: number
Health: Health;
IsAlive: boolean;
Hydration?: number;
Energy?: number;
Temperature?: number;
}
export interface Health
export interface Health
{
Head?: BodyPartHealth
Chest?: BodyPartHealth
Stomach?: BodyPartHealth
LeftArm?: BodyPartHealth
RightArm?: BodyPartHealth
LeftLeg?: BodyPartHealth
RightLeg?: BodyPartHealth
Head?: BodyPartHealth;
Chest?: BodyPartHealth;
Stomach?: BodyPartHealth;
LeftArm?: BodyPartHealth;
RightArm?: BodyPartHealth;
LeftLeg?: BodyPartHealth;
RightLeg?: BodyPartHealth;
}
export interface BodyPartHealth
export interface BodyPartHealth
{
Maximum: number
Current: number
Effects: Record<string, number>
Maximum: number;
Current: number;
Effects: Record<string, number>;
}

View File

@ -1,7 +1,7 @@
// TODO: Type this properly.
export interface IWorkoutData extends Record<string, any>
export interface IWorkoutData extends Record<string, any>
{
skills: any
effects: any
}
skills: any;
effects: any;
}

View File

@ -1,6 +1,6 @@
export interface HideoutUpgradeCompleteRequestData
export interface HideoutUpgradeCompleteRequestData
{
Action: string
areaType: number
timestamp: number
}
Action: string;
areaType: number;
timestamp: number;
}

View File

@ -1,9 +1,9 @@
export interface IHandleQTEEventRequestData
{
Action: string
Action: string;
/** true if QTE was successful, otherwise false */
results: boolean[]
results: boolean[];
/** Id of the QTE object used from db/hideout/qte.json */
id: string
timestamp: number
}
id: string;
timestamp: number;
}

View File

@ -1,91 +1,91 @@
export interface IHideoutArea
export interface IHideoutArea
{
_id: string
type: number
enabled: boolean
needsFuel: boolean
requirements: IAreaRequirement[]
takeFromSlotLocked: boolean
craftGivesExp: boolean
displayLevel: boolean
enableAreaRequirements: boolean
parentArea?: string
stages: Record<string, Stage>
_id: string;
type: number;
enabled: boolean;
needsFuel: boolean;
requirements: IAreaRequirement[];
takeFromSlotLocked: boolean;
craftGivesExp: boolean;
displayLevel: boolean;
enableAreaRequirements: boolean;
parentArea?: string;
stages: Record<string, Stage>;
}
export interface IAreaRequirement
{
areaType: number
requiredlevel: number
type: string
areaType: number;
requiredlevel: number;
type: string;
}
export interface Stage
{
autoUpgrade: boolean
bonuses: StageBonus[]
constructionTime: number
autoUpgrade: boolean;
bonuses: StageBonus[];
constructionTime: number;
/** Containers inventory tpl */
container?: string
description: string
displayInterface: boolean
improvements: IStageImprovement[]
requirements: IStageRequirement[]
slots: number
container?: string;
description: string;
displayInterface: boolean;
improvements: IStageImprovement[];
requirements: IStageRequirement[];
slots: number;
}
export interface IStageImprovement
{
id: string
bonuses: IStageImprovementBonus[]
improvementTime: number
requirements: IStageImprovementRequirement[]
id: string;
bonuses: IStageImprovementBonus[];
improvementTime: number;
requirements: IStageImprovementRequirement[];
}
export interface IStageImprovementBonus
{
passive: boolean,
production: boolean,
type: string
value: number,
visible: boolean
passive: boolean;
production: boolean;
type: string;
value: number;
visible: boolean;
}
export interface IStageImprovementRequirement
{
count: number
isEncoded: boolean
isFunctional: boolean
templateId: string
type: string
count: number;
isEncoded: boolean;
isFunctional: boolean;
templateId: string;
type: string;
}
export interface IStageRequirement
export interface IStageRequirement
{
areaType?: number
requiredLevel?: number
type: string
templateId?: string
count?: number
isEncoded: false
isFunctional?: boolean
traderId?: string
loyaltyLevel?: number
skillName?: string
skillLevel?: number
areaType?: number;
requiredLevel?: number;
type: string;
templateId?: string;
count?: number;
isEncoded: false;
isFunctional?: boolean;
traderId?: string;
loyaltyLevel?: number;
skillName?: string;
skillLevel?: number;
}
export interface StageBonus
export interface StageBonus
{
value: number
passive: boolean
production: boolean
visible: boolean
skillType?: string
type: string
filter?: string[]
icon?: string
value: number;
passive: boolean;
production: boolean;
visible: boolean;
skillType?: string;
type: string;
filter?: string[];
icon?: string;
/** CHANGES PER DUMP */
id?: string
templateId?: string
}
id?: string;
templateId?: string;
}

View File

@ -1,6 +1,6 @@
export interface IHideoutCancelProductionRequestData
export interface IHideoutCancelProductionRequestData
{
Action: "HideoutCancelProductionCommand"
recipeId: string
timestamp: number
Action: "HideoutCancelProductionCommand";
recipeId: string;
timestamp: number;
}

View File

@ -1,6 +1,6 @@
export interface IHideoutContinuousProductionStartRequestData
export interface IHideoutContinuousProductionStartRequestData
{
Action: "HideoutContinuousProductionStart"
recipeId: string
timestamp: number
}
Action: "HideoutContinuousProductionStart";
recipeId: string;
timestamp: number;
}

View File

@ -1,16 +1,16 @@
export interface IHideoutImproveAreaRequestData
{
Action: "HideoutImproveArea"
Action: "HideoutImproveArea";
/** Hideout area id from areas.json */
id: string
areaType: number
items: HideoutItem[]
timestamp: number
id: string;
areaType: number;
items: HideoutItem[];
timestamp: number;
}
export interface HideoutItem
{
/** Hideout inventory id that was used by improvement action */
id: string
count: number
}
id: string;
count: number;
}

View File

@ -1,27 +1,27 @@
export interface IHideoutProduction
export interface IHideoutProduction
{
_id: string
areaType: number
requirements: Requirement[]
productionTime: number
endProduct: string
isEncoded: boolean
locked: boolean
needFuelForAllProductionTime: boolean
continuous: boolean
count: number
productionLimitCount: number
_id: string;
areaType: number;
requirements: Requirement[];
productionTime: number;
endProduct: string;
isEncoded: boolean;
locked: boolean;
needFuelForAllProductionTime: boolean;
continuous: boolean;
count: number;
productionLimitCount: number;
}
export interface Requirement
export interface Requirement
{
templateId?: string
count?: number
isEncoded?: boolean
isFunctional?: boolean
type: string
areaType?: number
requiredLevel?: number
resource?: number
questId?: string
}
templateId?: string;
count?: number;
isEncoded?: boolean;
isFunctional?: boolean;
type: string;
areaType?: number;
requiredLevel?: number;
resource?: number;
questId?: string;
}

View File

@ -1,13 +1,13 @@
export interface IHideoutPutItemInRequestData
{
Action: "HideoutPutItemsInAreaSlots"
areaType: number
items: Record<string, ItemDetails>
timestamp: number
Action: "HideoutPutItemsInAreaSlots";
areaType: number;
items: Record<string, ItemDetails>;
timestamp: number;
}
export interface ItemDetails
export interface ItemDetails
{
count: number
id: string
}
count: number;
id: string;
}

View File

@ -1,23 +1,23 @@
import { MinMax } from "@spt-aki/models/common/MinMax";
export interface IHideoutScavCase
export interface IHideoutScavCase
{
_id: string
ProductionTime: number
Requirements: Requirement[]
EndProducts: EndProducts
_id: string;
ProductionTime: number;
Requirements: Requirement[];
EndProducts: EndProducts;
}
export interface Requirement
export interface Requirement
{
templateId: string
count: number
isFunctional: boolean
type: string
templateId: string;
count: number;
isFunctional: boolean;
type: string;
}
export interface EndProducts
export interface EndProducts
{
Common: MinMax
Rare: MinMax
Superrare: MinMax
Common: MinMax;
Rare: MinMax;
Superrare: MinMax;
}

View File

@ -1,20 +1,20 @@
export interface IHideoutScavCaseStartRequestData
export interface IHideoutScavCaseStartRequestData
{
Action: "HideoutScavCaseProductionStart"
recipeId: string
items: HideoutItem[]
tools: Tool[]
timestamp: number
Action: "HideoutScavCaseProductionStart";
recipeId: string;
items: HideoutItem[];
tools: Tool[];
timestamp: number;
}
export interface HideoutItem
export interface HideoutItem
{
id: string
count: number
id: string;
count: number;
}
export interface Tool
{
id: string
count: number
}
id: string;
count: number;
}

View File

@ -1,7 +1,7 @@
export interface IHideoutSettingsBase
export interface IHideoutSettingsBase
{
generatorSpeedWithoutFuel: number
generatorFuelFlowRate: number
airFilterUnitFlowRate: number
gpuBoostRate: number
}
generatorSpeedWithoutFuel: number;
generatorFuelFlowRate: number;
airFilterUnitFlowRate: number;
gpuBoostRate: number;
}

View File

@ -1,13 +1,13 @@
export interface IHideoutSingleProductionStartRequestData
export interface IHideoutSingleProductionStartRequestData
{
Action: "HideoutSingleProductionStart"
recipeId: string
items: Item[]
timestamp: number
Action: "HideoutSingleProductionStart";
recipeId: string;
items: Item[];
timestamp: number;
}
export interface Item
export interface Item
{
id: string
count: number
}
id: string;
count: number;
}

View File

@ -1,7 +1,7 @@
export interface IHideoutTakeItemOutRequestData
export interface IHideoutTakeItemOutRequestData
{
Action: "HideoutTakeItemsFromAreaSlots"
areaType: number
slots: number[]
timestamp: number
}
Action: "HideoutTakeItemsFromAreaSlots";
areaType: number;
slots: number[];
timestamp: number;
}

View File

@ -1,6 +1,6 @@
export interface IHideoutTakeProductionRequestData
export interface IHideoutTakeProductionRequestData
{
Action: "HideoutTakeProduction"
recipeId: string
timestamp: number
}
Action: "HideoutTakeProduction";
recipeId: string;
timestamp: number;
}

View File

@ -1,7 +1,7 @@
export interface IHideoutToggleAreaRequestData
export interface IHideoutToggleAreaRequestData
{
Action: "HideoutToggleArea"
areaType: number
enabled: boolean
timestamp: number
}
Action: "HideoutToggleArea";
areaType: number;
enabled: boolean;
timestamp: number;
}

View File

@ -1,6 +1,6 @@
export interface IHideoutUpgradeCompleteRequestData
export interface IHideoutUpgradeCompleteRequestData
{
Action: "HideoutUpgradeComplete"
areaType: number
timestamp: number
}
Action: "HideoutUpgradeComplete";
areaType: number;
timestamp: number;
}

View File

@ -1,13 +1,13 @@
export interface IHideoutUpgradeRequestData
export interface IHideoutUpgradeRequestData
{
Action: "HideoutUpgrade"
areaType: number
items: HideoutItem[]
timestamp: number
Action: "HideoutUpgrade";
areaType: number;
items: HideoutItem[];
timestamp: number;
}
export interface HideoutItem
export interface HideoutItem
{
count: number
id: string
}
count: number;
id: string;
}

View File

@ -1,48 +1,48 @@
export interface IQteData
{
Id: string
Type: string
Area: string
AreaLevel: number
QuickTimeEvents: IQuickTimeEvent[]
Requirements: IQteRequirement[]
Results: Record<string, IQteResult>
Id: string;
Type: string;
Area: string;
AreaLevel: number;
QuickTimeEvents: IQuickTimeEvent[];
Requirements: IQteRequirement[];
Results: Record<string, IQteResult>;
}
export interface IQuickTimeEvent
{
Type: string
Position: number
StartDelay: number
EndDelay: number
Speed: number
SuccessRange: string
Key: string
Type: string;
Position: number;
StartDelay: number;
EndDelay: number;
Speed: number;
SuccessRange: string;
Key: string;
}
export interface IQteRequirement
{
type: string
type: string;
}
export interface IQteResult
{
Energy: number
Hydration: number
RewardsRange: IQteEffect[]
Energy: number;
Hydration: number;
RewardsRange: IQteEffect[];
}
export interface IQteEffect
{
Type: string
SkillId: string
levelMultipliers: ISkillLevelMultiplier[]
Time: number
Weight: number
Result: string
Type: string;
SkillId: string;
levelMultipliers: ISkillLevelMultiplier[];
Time: number;
Weight: number;
Result: string;
}
export interface ISkillLevelMultiplier
{
level: number
multiplier: number
}
level: number;
multiplier: number;
}

View File

@ -1,5 +1,5 @@
export interface IRecordShootingRangePoints
{
Action: "RecordShootingRangePoints"
points: number
}
Action: "RecordShootingRangePoints";
points: number;
}

View File

@ -1,6 +1,6 @@
export interface IGetBodyResponseData<Type>
export interface IGetBodyResponseData<Type>
{
err: number
errmsg: any
(data: Type): Type
}
err: number;
errmsg: any;
(data: Type): Type;
}

View File

@ -1,6 +1,6 @@
export interface INullResponseData
export interface INullResponseData
{
err: number
errmsg: any
data: null
}
err: number;
errmsg: any;
data: null;
}

View File

@ -1,7 +1,7 @@
export interface IInsuredItemsData
export interface IInsuredItemsData
{
id: string
durability?: number
maxDurability?: number
hits?: number
}
id: string;
durability?: number;
maxDurability?: number;
hits?: number;
}

View File

@ -1,6 +1,6 @@
export interface IRegisterPlayerRequestData
export interface IRegisterPlayerRequestData
{
crc: number
locationId: string
variantId: number
}
crc: number;
locationId: string;
variantId: number;
}

View File

@ -3,11 +3,11 @@ import { ISyncHealthRequestData } from "@spt-aki/models/eft/health/ISyncHealthRe
import { IInsuredItemsData } from "@spt-aki/models/eft/inRaid/IInsuredItemsData";
import { PlayerRaidEndState } from "@spt-aki/models/enums/PlayerRaidEndState";
export interface ISaveProgressRequestData
export interface ISaveProgressRequestData
{
exit: PlayerRaidEndState // survived" | "killed" | "left" | "runner" | "missinginaction
profile: IPostRaidPmcData
isPlayerScav: boolean
health: ISyncHealthRequestData
insurance: IInsuredItemsData[]
}
exit: PlayerRaidEndState; // survived" | "killed" | "left" | "runner" | "missinginaction
profile: IPostRaidPmcData;
isPlayerScav: boolean;
health: ISyncHealthRequestData;
insurance: IInsuredItemsData[];
}

View File

@ -1,5 +1,5 @@
export interface IGetInsuranceCostRequestData
export interface IGetInsuranceCostRequestData
{
traders: string[]
items: string[]
}
traders: string[];
items: string[];
}

View File

@ -1 +1 @@
export type IGetInsuranceCostResponseData = Record<string,Record<string,number>>
export type IGetInsuranceCostResponseData = Record<string, Record<string, number>>;

View File

@ -1,8 +1,8 @@
import { IBaseInteractionRequestData } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData";
export interface IInsureRequestData extends IBaseInteractionRequestData
export interface IInsureRequestData extends IBaseInteractionRequestData
{
Action: "Insure"
tid: string
items: string[]
}
Action: "Insure";
tid: string;
items: string[];
}

View File

@ -11,4 +11,4 @@ export interface AddItem
isPreset?: boolean;
// eslint-disable-next-line @typescript-eslint/naming-convention
item_id: string;
}
}

View File

@ -2,10 +2,10 @@ import { Item, Location } from "@spt-aki/models/eft/common/tables/IItem";
export interface IAddItemTempObject
{
itemRef: Item
count: number
isPreset: boolean
location?: Location
itemRef: Item;
count: number;
isPreset: boolean;
location?: Location;
// Container item will be placed in - stash or sorting table
containerId?: string
}
containerId?: string;
}

View File

@ -1,8 +1,11 @@
import { Container, IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
import {
Container,
IInventoryBaseActionRequestData,
} from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryAddRequestData extends IInventoryBaseActionRequestData
export interface IInventoryAddRequestData extends IInventoryBaseActionRequestData
{
Action: "Add"
item: string
container: Container
}
Action: "Add";
item: string;
container: Container;
}

View File

@ -1,39 +1,38 @@
import { IBaseInteractionRequestData } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData";
export interface IInventoryBaseActionRequestData extends IBaseInteractionRequestData
export interface IInventoryBaseActionRequestData extends IBaseInteractionRequestData
{
}
export interface To
export interface To
{
id: string
container: string
location?: ToLocation | number // Hack
isSearched?: boolean
id: string;
container: string;
location?: ToLocation | number; // Hack
isSearched?: boolean;
}
export interface ToLocation
export interface ToLocation
{
x: number
y: number
r: string
rotation?: string
isSearched: boolean
x: number;
y: number;
r: string;
rotation?: string;
isSearched: boolean;
}
export interface Container
export interface Container
{
id: string
container: string
location?: Location | number // Hack - BSG data object shows it as Location only
id: string;
container: string;
location?: Location | number; // Hack - BSG data object shows it as Location only
}
export interface Location
export interface Location
{
x: number
y: number
r: string
rotation?: string
isSearched: boolean
}
x: number;
y: number;
r: string;
rotation?: string;
isSearched: boolean;
}

View File

@ -1,8 +1,8 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryBindRequestData extends IInventoryBaseActionRequestData
export interface IInventoryBindRequestData extends IInventoryBaseActionRequestData
{
Action: "Bind"
item: string
index: number
}
Action: "Bind";
item: string;
index: number;
}

View File

@ -1,16 +1,16 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryCreateMarkerRequestData extends IInventoryBaseActionRequestData
export interface IInventoryCreateMarkerRequestData extends IInventoryBaseActionRequestData
{
Action: "CreateMapMarker"
item: string
mapMarker: MapMarker
Action: "CreateMapMarker";
item: string;
mapMarker: MapMarker;
}
export interface MapMarker
export interface MapMarker
{
Type: string
X: number
Y: number
Note: string
}
Type: string;
X: number;
Y: number;
Note: string;
}

View File

@ -1,9 +1,9 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryDeleteMarkerRequestData extends IInventoryBaseActionRequestData
export interface IInventoryDeleteMarkerRequestData extends IInventoryBaseActionRequestData
{
Action: "DeleteMapMarker"
item: string
X: number
Y: number
}
Action: "DeleteMapMarker";
item: string;
X: number;
Y: number;
}

View File

@ -1,18 +1,18 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryEditMarkerRequestData extends IInventoryBaseActionRequestData
export interface IInventoryEditMarkerRequestData extends IInventoryBaseActionRequestData
{
Action: "EditMapMarker"
item: string
X: number
Y: number
mapMarker: MapMarker
Action: "EditMapMarker";
item: string;
X: number;
Y: number;
mapMarker: MapMarker;
}
export interface MapMarker
export interface MapMarker
{
Type: string
X: number
Y: number
Note: string
}
Type: string;
X: number;
Y: number;
Note: string;
}

View File

@ -1,9 +1,9 @@
import { OwnerInfo } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData";
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryExamineRequestData extends IInventoryBaseActionRequestData
export interface IInventoryExamineRequestData extends IInventoryBaseActionRequestData
{
Action: "Examine"
item: string
fromOwner: OwnerInfo
}
Action: "Examine";
item: string;
fromOwner: OwnerInfo;
}

View File

@ -1,8 +1,8 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryFoldRequestData extends IInventoryBaseActionRequestData
export interface IInventoryFoldRequestData extends IInventoryBaseActionRequestData
{
Action: "Fold"
item: string
value: boolean
}
Action: "Fold";
item: string;
value: boolean;
}

View File

@ -1,8 +1,8 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryMergeRequestData extends IInventoryBaseActionRequestData
export interface IInventoryMergeRequestData extends IInventoryBaseActionRequestData
{
Action: "Merge"
item: string
with: string
}
Action: "Merge";
item: string;
with: string;
}

View File

@ -1,8 +1,8 @@
import { IInventoryBaseActionRequestData, To } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryMoveRequestData extends IInventoryBaseActionRequestData
export interface IInventoryMoveRequestData extends IInventoryBaseActionRequestData
{
Action: "Move"
item: string
to: To
}
Action: "Move";
item: string;
to: To;
}

View File

@ -1,7 +1,7 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryReadEncyclopediaRequestData extends IInventoryBaseActionRequestData
export interface IInventoryReadEncyclopediaRequestData extends IInventoryBaseActionRequestData
{
Action: "ReadEncyclopedia"
ids: string[]
}
Action: "ReadEncyclopedia";
ids: string[];
}

View File

@ -1,7 +1,7 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryRemoveRequestData extends IInventoryBaseActionRequestData
export interface IInventoryRemoveRequestData extends IInventoryBaseActionRequestData
{
Action: "Remove"
item: string
}
Action: "Remove";
item: string;
}

View File

@ -1,26 +1,26 @@
import { Upd } from "@spt-aki/models/eft/common/tables/IItem";
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventorySortRequestData extends IInventoryBaseActionRequestData
export interface IInventorySortRequestData extends IInventoryBaseActionRequestData
{
Action: "ApplyInventoryChanges"
changedItems: ChangedItem[]
Action: "ApplyInventoryChanges";
changedItems: ChangedItem[];
}
export interface ChangedItem
export interface ChangedItem
{
_id: string
_tpl: string
parentId: string
slotId: string
location: Location
upd: Upd
_id: string;
_tpl: string;
parentId: string;
slotId: string;
location: Location;
upd: Upd;
}
export interface Location
export interface Location
{
x: number
y: number
r: string
isSearched: boolean
}
x: number;
y: number;
r: string;
isSearched: boolean;
}

View File

@ -1,14 +1,16 @@
import { Container, IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
import {
Container,
IInventoryBaseActionRequestData,
} from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventorySplitRequestData extends IInventoryBaseActionRequestData
export interface IInventorySplitRequestData extends IInventoryBaseActionRequestData
{
Action: "Split"
Action: "Split";
/** Id of item to split */
splitItem: string
splitItem: string;
/** Id of new item stack */
newItem: string
newItem: string;
/** Destination new item will be placed in */
container: Container
count: number
container: Container;
count: number;
}

View File

@ -1,13 +1,13 @@
import { OwnerInfo } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData";
import { IInventoryBaseActionRequestData, To } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventorySwapRequestData extends IInventoryBaseActionRequestData
export interface IInventorySwapRequestData extends IInventoryBaseActionRequestData
{
Action: "Swap"
item: string
to: To
item2: string
to2: To
fromOwner2: OwnerInfo
toOwner2: OwnerInfo
}
Action: "Swap";
item: string;
to: To;
item2: string;
to2: To;
fromOwner2: OwnerInfo;
toOwner2: OwnerInfo;
}

View File

@ -1,9 +1,9 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryTagRequestData extends IInventoryBaseActionRequestData
export interface IInventoryTagRequestData extends IInventoryBaseActionRequestData
{
Action: "Tag"
item: string
TagName: string
TagColor: number
}
Action: "Tag";
item: string;
TagName: string;
TagColor: number;
}

View File

@ -1,8 +1,8 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryToggleRequestData extends IInventoryBaseActionRequestData
export interface IInventoryToggleRequestData extends IInventoryBaseActionRequestData
{
Action: "Toggle"
item: string
value: boolean
}
Action: "Toggle";
item: string;
value: boolean;
}

View File

@ -1,9 +1,9 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IInventoryTransferRequestData extends IInventoryBaseActionRequestData
export interface IInventoryTransferRequestData extends IInventoryBaseActionRequestData
{
Action: "Transfer"
item: string
with: string
count: number
}
Action: "Transfer";
item: string;
with: string;
count: number;
}

View File

@ -1,15 +1,15 @@
import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData";
export interface IOpenRandomLootContainerRequestData extends IInventoryBaseActionRequestData
export interface IOpenRandomLootContainerRequestData extends IInventoryBaseActionRequestData
{
Action: "OpenRandomLootContainer"
Action: "OpenRandomLootContainer";
/** Container item opened */
item: string
to: To[]
item: string;
to: To[];
}
export interface To
{
/** Player character (pmc/scav) id items will be sent to */
id: string
}
id: string;
}

View File

@ -7,93 +7,93 @@ import { EquipmentBuildType } from "@spt-aki/models/enums/EquipmentBuildType";
export interface IItemEventRouterBase
{
warnings: Warning[]
profileChanges: TProfileChanges | ""
warnings: Warning[];
profileChanges: TProfileChanges | "";
}
export type TProfileChanges = Record<string, ProfileChange>
export type TProfileChanges = Record<string, ProfileChange>;
export interface Warning
{
index: number
errmsg: string
code?: string
data?: any
index: number;
errmsg: string;
code?: string;
data?: any;
}
export interface ProfileChange
{
_id: string
experience: number
quests: IQuest[]
ragFairOffers: IRagfairOffer[]
weaponBuilds: IWeaponBuildChange[]
equipmentBuilds: IEquipmentBuildChange[]
items: ItemChanges
production: Record<string, Productive>
_id: string;
experience: number;
quests: IQuest[];
ragFairOffers: IRagfairOffer[];
weaponBuilds: IWeaponBuildChange[];
equipmentBuilds: IEquipmentBuildChange[];
items: ItemChanges;
production: Record<string, Productive>;
/** Hideout area improvement id */
improvements: Record<string, Improvement>
skills: Skills
health: Health
traderRelations: Record<string, TraderData>
repeatableQuests?: IPmcDataRepeatableQuest[]
recipeUnlocked: Record<string, boolean>
changedHideoutStashes?: Record<string, IHideoutStashItem>
questsStatus: IQuestStatus[]
improvements: Record<string, Improvement>;
skills: Skills;
health: Health;
traderRelations: Record<string, TraderData>;
repeatableQuests?: IPmcDataRepeatableQuest[];
recipeUnlocked: Record<string, boolean>;
changedHideoutStashes?: Record<string, IHideoutStashItem>;
questsStatus: IQuestStatus[];
}
export interface IHideoutStashItem
{
Id: string
Tpl: string
Id: string;
Tpl: string;
}
export interface IWeaponBuildChange
{
id: string
name: string
root: string
items: Item[]
id: string;
name: string;
root: string;
items: Item[];
}
export interface IEquipmentBuildChange
{
id: string
name: string
root: string
items: Item[]
type: string
fastpanel: any[]
buildType: EquipmentBuildType
id: string;
name: string;
root: string;
items: Item[];
type: string;
fastpanel: any[];
buildType: EquipmentBuildType;
}
export interface ItemChanges
export interface ItemChanges
{
new: Product[]
change: Product[]
del: Product[]
new: Product[];
change: Product[];
del: Product[];
}
export interface Improvement
{
completed: boolean,
improveCompleteTimestamp: number
completed: boolean;
improveCompleteTimestamp: number;
}
export interface Product
{
_id: string
_tpl?: string
parentId?: string
slotId?: string
location?: ItemChangeLocation
upd?: Upd
_id: string;
_tpl?: string;
parentId?: string;
slotId?: string;
location?: ItemChangeLocation;
upd?: Upd;
}
export interface ItemChangeLocation
{
x: number,
y: number,
r: number,
isSearched?: boolean
}
x: number;
y: number;
r: number;
isSearched?: boolean;
}

View File

@ -1,29 +1,28 @@
export interface IItemEventRouterRequest
{
data: Daum[]
tm: number
reload: number
data: Daum[];
tm: number;
reload: number;
}
export interface Daum
export interface Daum
{
Action: string
item: string
to: To
Action: string;
item: string;
to: To;
}
export interface To
export interface To
{
id: string
container: string
location?: Location
id: string;
container: string;
location?: Location;
}
export interface Location
export interface Location
{
x: number
y: number
r: string
isSearched: boolean
x: number;
y: number;
r: string;
isSearched: boolean;
}

View File

@ -1,4 +1,4 @@
import { IItemEventRouterBase } from "@spt-aki/models/eft/itemEvent/IItemEventRouterBase";
export interface IItemEventRouterResponse extends IItemEventRouterBase
{}
{}

View File

@ -2,5 +2,5 @@ import { ILoginRequestData } from "@spt-aki/models/eft/launcher/ILoginRequestDat
export interface IChangeRequestData extends ILoginRequestData
{
change: string,
}
change: string;
}

View File

@ -1,5 +1,5 @@
export interface IGetMiniProfileRequestData
export interface IGetMiniProfileRequestData
{
username: string
password: string
}
username: string;
password: string;
}

View File

@ -1,5 +1,5 @@
export interface ILoginRequestData
{
username: string,
password: string
}
username: string;
password: string;
}

View File

@ -1,17 +1,17 @@
export interface IMiniProfile
export interface IMiniProfile
{
username: string
nickname: string
side: string
currlvl: number
currexp: number
prevexp: number
nextlvl: number
maxlvl: number
akiData: AkiData
username: string;
nickname: string;
side: string;
currlvl: number;
currexp: number;
prevexp: number;
nextlvl: number;
maxlvl: number;
akiData: AkiData;
}
export interface AkiData
export interface AkiData
{
version: string
}
version: string;
}

View File

@ -2,5 +2,5 @@ import { ILoginRequestData } from "@spt-aki/models/eft/launcher/ILoginRequestDat
export interface IRegisterData extends ILoginRequestData
{
edition: string
}
edition: string;
}

View File

@ -1,3 +1,3 @@
import { ILoginRequestData } from "@spt-aki/models/eft/launcher/ILoginRequestData";
export type IRemoveProfileData = ILoginRequestData
export type IRemoveProfileData = ILoginRequestData;

View File

@ -2,6 +2,6 @@ import { LootItem } from "@spt-aki/models/spt/services/LootItem";
export interface IAirdropLootResult
{
dropType: string
loot: LootItem[]
}
dropType: string;
loot: LootItem[];
}

View File

@ -1,6 +1,6 @@
export interface IGetLocationRequestData
export interface IGetLocationRequestData
{
crc: number
locationId: string
variantId: number
}
crc: number;
locationId: string;
variantId: number;
}

View File

@ -1,4 +1,4 @@
export interface IAcceptGroupInviteRequest
{
requestId: string
}
requestId: string;
}

View File

@ -1,19 +1,19 @@
export interface IAcceptGroupInviteResponse
{
_id: string
aid: number
Info: PlayerInviteInfo
isLeader: boolean
isReady: boolean
_id: string;
aid: number;
Info: PlayerInviteInfo;
isLeader: boolean;
isReady: boolean;
}
export interface PlayerInviteInfo
{
Nickname: string
Side: string
Level: number
MemberCategory: number
GameVersion: string
SavageLockTime: number
SavageNickname: string
}
Nickname: string;
Side: string;
Level: number;
MemberCategory: number;
GameVersion: string;
SavageLockTime: number;
SavageNickname: string;
}

View File

@ -1,4 +1,4 @@
export interface ICancelGroupInviteRequest
{
requestId: string
}
requestId: string;
}

View File

@ -2,7 +2,7 @@ import { RaidMode } from "@spt-aki/models/enums/RaidMode";
export interface ICreateGroupRequestData
{
location: string
raidMode: RaidMode
startInGroup: boolean
}
location: string;
raidMode: RaidMode;
startInGroup: boolean;
}

View File

@ -1,7 +1,7 @@
export interface IEndOfflineRaidRequestData
export interface IEndOfflineRaidRequestData
{
crc: number
exitStatus: string
exitName: string
raidSeconds: number
crc: number;
exitStatus: string;
exitName: string;
raidSeconds: number;
}

View File

@ -2,10 +2,10 @@ import { RaidMode } from "@spt-aki/models/enums/RaidMode";
export interface IGetGroupStatusRequestData
{
location: string
savage: boolean
dt: string
keyId: string
raidMode: RaidMode
spawnPlace: string
}
location: string;
savage: boolean;
dt: string;
keyId: string;
raidMode: RaidMode;
spawnPlace: string;
}

View File

@ -1,4 +1,4 @@
export interface IGetProfileRequestData
{
profileId: string;
}
}

View File

@ -1,15 +1,15 @@
export interface IGetRaidConfigurationRequestData
{
keyId: string
side: string
location: string
timeVariant: string
raidMode: string
metabolismDisabled: boolean
playersSpawnPlace: string
timeAndWeatherSettings: TimeAndWeatherSettings
botSettings: BotSettings
wavesSettings: WavesSettings
keyId: string;
side: string;
location: string;
timeVariant: string;
raidMode: string;
metabolismDisabled: boolean;
playersSpawnPlace: string;
timeAndWeatherSettings: TimeAndWeatherSettings;
botSettings: BotSettings;
wavesSettings: WavesSettings;
}
// {
@ -41,31 +41,29 @@ export interface IGetRaidConfigurationRequestData
// isTaggedAndCursed: false
// }
// }
export interface TimeAndWeatherSettings
{
isRandomTime: boolean
isRandomWeather: boolean
cloudinessType: string
rainType: string
windType: string
fogType: string
timeFlowType: string
hourOfDay: number
isRandomTime: boolean;
isRandomWeather: boolean;
cloudinessType: string;
rainType: string;
windType: string;
fogType: string;
timeFlowType: string;
hourOfDay: number;
}
export interface BotSettings
{
isScavWars: boolean
botAmount: string
isScavWars: boolean;
botAmount: string;
}
export interface WavesSettings
{
botAmount: string
botDifficulty: string
isBosses: boolean
isTaggedAndCursed: boolean
botAmount: string;
botDifficulty: string;
isBosses: boolean;
isTaggedAndCursed: boolean;
}

View File

@ -1,12 +1,12 @@
export interface IJoinMatchRequestData
{
groupid: string
servers: Server[]
groupid: string;
servers: Server[];
}
export interface Server
{
ping: number
ip: string
port: string
}
ping: number;
ip: string;
port: string;
}

View File

@ -1,22 +1,22 @@
export interface IJoinMatchResult
{
maxPveCountExceeded: boolean
profiles: IJoinMatchPlayerProfile[]
maxPveCountExceeded: boolean;
profiles: IJoinMatchPlayerProfile[];
}
export interface IJoinMatchPlayerProfile
{
profileid: string
profileToken: string
status: string
sid: string
ip: string
port: number
version: string
location: string
raidMode: string
mode: string
shortid: string
profileid: string;
profileToken: string;
status: string;
sid: string;
ip: string;
port: number;
version: string;
location: string;
raidMode: string;
mode: string;
shortid: string;
// eslint-disable-next-line @typescript-eslint/naming-convention
additional_info: any[]
}
additional_info: any[];
}

View File

@ -1,11 +1,11 @@
export interface IPutMetricsRequestData
{
sid: string
settings: any
SharedSettings: any
HardwareDescription: any
Location: string
Metrics: any
ClientEvents: any
SpikeSamples: any[]
}
sid: string;
settings: any;
SharedSettings: any;
HardwareDescription: any;
Location: string;
Metrics: any;
ClientEvents: any;
SpikeSamples: any[];
}

View File

@ -1,4 +1,4 @@
export interface IRemovePlayerFromGroupRequest
{
aidToKick: string
}
aidToKick: string;
}

View File

@ -1,5 +1,5 @@
export interface ISendGroupInviteRequest
{
to: string
inLobby: boolean
}
to: string;
inLobby: boolean;
}

View File

@ -1,4 +1,4 @@
export interface ITransferGroupRequest
{
aidToChange: string
}
aidToChange: string;
}

View File

@ -1,4 +1,4 @@
export interface IUpdatePingRequestData
{
servers: any[]
}
servers: any[];
}

View File

@ -1,14 +1,14 @@
import { IBaseInteractionRequestData } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData";
export interface INoteActionData extends IBaseInteractionRequestData
export interface INoteActionData extends IBaseInteractionRequestData
{
Action: string;
index: number;
note: INote;
}
export interface INote
export interface INote
{
Time: number
Text: string
}
Time: number;
Text: string;
}

View File

@ -2,25 +2,24 @@ import { Message } from "@spt-aki/models/eft/profile/IAkiProfile";
export interface INotifierChannel
{
server: string
server: string;
// eslint-disable-next-line @typescript-eslint/naming-convention
channel_id: string,
url: string
notifierServer: string
ws: string
channel_id: string;
url: string;
notifierServer: string;
ws: string;
}
export interface INotification
{
type: NotificationType;
eventId: string
dialogId?: string
message?: Message
eventId: string;
dialogId?: string;
message?: Message;
}
export enum NotificationType
{
{
RAGFAIR_OFFER_SOLD = "RagfairOfferSold",
RAGFAIR_RATING_CHANGE = "RagfairRatingChange",
/** ChatMessageReceived */
@ -28,5 +27,5 @@ export enum NotificationType
PING = "ping",
TRADER_SUPPLY = "TraderSupply",
TRADER_STANDING = "TraderStanding",
UNLOCK_TRADER = "UnlockTrader"
}
UNLOCK_TRADER = "UnlockTrader",
}

View File

@ -1,4 +1,4 @@
export interface ISelectProfileRequestData
export interface ISelectProfileRequestData
{
uid: string
}
uid: string;
}

View File

@ -1,4 +1,4 @@
export interface ISelectProfileResponse
{
status: string
}
status: string;
}

View File

@ -1,27 +1,27 @@
import { Skills } from "@spt-aki/models/eft/common/tables/IBotBase";
export interface IPlayerIncrementSkillLevelRequestData
export interface IPlayerIncrementSkillLevelRequestData
{
_id: string
experience: number
quests: any[]
ragFairOffers: any[]
builds: any[]
items: Items
production: Production
skills: Skills
traderRelations: TraderRelations
_id: string;
experience: number;
quests: any[];
ragFairOffers: any[];
builds: any[];
items: Items;
production: Production;
skills: Skills;
traderRelations: TraderRelations;
}
export interface Items
export interface Items
{
new: any[]
change: any[]
del: any[]
new: any[];
change: any[];
del: any[];
}
export interface Production
{ }
export interface Production
{}
export interface TraderRelations
{ }
export interface TraderRelations
{}

View File

@ -1,10 +1,10 @@
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
export interface IPresetBuildActionRequestData
export interface IPresetBuildActionRequestData
{
Action: string
id: string
name: string
root: string
items: Item[]
}
Action: string;
id: string;
name: string;
root: string;
items: Item[];
}

View File

@ -1,5 +1,5 @@
export interface IRemoveBuildRequestData
{
Action: "RemoveBuild"
id: string
}
Action: "RemoveBuild";
id: string;
}

View File

@ -1,22 +1,22 @@
export interface GetProfileStatusResponseData
{
maxPveCountExceeded: false,
profiles: ProfileData[]
maxPveCountExceeded: false;
profiles: ProfileData[];
}
export interface ProfileData
{
profileid: string
profileToken: string
status: string
ip: string
port: number
sid: string
version?: string
location?: string
raidMode?: string
mode?: string
shortId?: string
profileid: string;
profileToken: string;
status: string;
ip: string;
port: number;
sid: string;
version?: string;
location?: string;
raidMode?: string;
mode?: string;
shortId?: string;
// eslint-disable-next-line @typescript-eslint/naming-convention
additional_info?: any[]
}
additional_info?: any[];
}

View File

@ -6,18 +6,18 @@ import { MessageType } from "@spt-aki/models/enums/MessageType";
export interface IAkiProfile
{
info: Info
characters: Characters
info: Info;
characters: Characters;
/** Clothing purchases */
suits: string[]
userbuilds: IUserBuilds
dialogues: Record<string, Dialogue>
aki: Aki
vitality: Vitality
inraid: Inraid
insurance: Insurance[]
suits: string[];
userbuilds: IUserBuilds;
dialogues: Record<string, Dialogue>;
aki: Aki;
vitality: Vitality;
inraid: Inraid;
insurance: Insurance[];
/** Assort purchases made by player since last trader refresh */
traderPurchases?: Record<string, Record<string, TraderPurchaseData>>
traderPurchases?: Record<string, Record<string, TraderPurchaseData>>;
}
export class TraderPurchaseData
@ -28,252 +28,252 @@ export class TraderPurchaseData
export interface Info
{
id: string
aid: number
username: string
password: string
wipe: boolean
edition: string
id: string;
aid: number;
username: string;
password: string;
wipe: boolean;
edition: string;
}
export interface Characters
{
pmc: IPmcData
scav: IPmcData
pmc: IPmcData;
scav: IPmcData;
}
export interface IUserBuilds
{
weaponBuilds: IWeaponBuild[],
equipmentBuilds: IEquipmentBuild[]
weaponBuilds: IWeaponBuild[];
equipmentBuilds: IEquipmentBuild[];
}
export interface IWeaponBuild
{
id: string
name: string
root: string
items: Item[]
type: string
export interface IWeaponBuild
{
id: string;
name: string;
root: string;
items: Item[];
type: string;
}
export interface IEquipmentBuild
{
id: string,
name: string,
root: string,
items: Item[], // same as PMC inventory items
type: string,
fastPanel: Record<string, string>
buildType: EquipmentBuildType
id: string;
name: string;
root: string;
items: Item[]; // same as PMC inventory items
type: string;
fastPanel: Record<string, string>;
buildType: EquipmentBuildType;
}
export interface Dialogue
{
attachmentsNew: number
type: MessageType
new: number
_id: string
Users?: IUserDialogInfo[]
pinned: boolean
messages: Message[]
attachmentsNew: number;
type: MessageType;
new: number;
_id: string;
Users?: IUserDialogInfo[];
pinned: boolean;
messages: Message[];
}
export interface IUserDialogInfo
{
_id: string
info: IUserDialogDetails
_id: string;
info: IUserDialogDetails;
}
export interface IUserDialogDetails
{
Nickname: string
Side: string
Level: number
MemberCategory: MemberCategory
Nickname: string;
Side: string;
Level: number;
MemberCategory: MemberCategory;
}
// @Cleanup: Maybe the same as Dialogue?
export interface DialogueInfo
{
attachmentsNew: number
new: number
_id: string
type: MessageType
pinned: boolean
Users?: IUserDialogInfo[]
message: MessagePreview
attachmentsNew: number;
new: number;
_id: string;
type: MessageType;
pinned: boolean;
Users?: IUserDialogInfo[];
message: MessagePreview;
}
export interface Message
{
_id: string
uid: string
type: MessageType
dt: number
UtcDateTime?: number
Member?: IUpdatableChatMember
templateId?: string
text?: string
hasRewards?: boolean
rewardCollected: boolean
items?: MessageItems
maxStorageTime?: number
systemData?: ISystemData
profileChangeEvents?: any[]
_id: string;
uid: string;
type: MessageType;
dt: number;
UtcDateTime?: number;
Member?: IUpdatableChatMember;
templateId?: string;
text?: string;
hasRewards?: boolean;
rewardCollected: boolean;
items?: MessageItems;
maxStorageTime?: number;
systemData?: ISystemData;
profileChangeEvents?: any[];
}
export interface MessagePreview
{
uid: string
type: MessageType
dt: number
templateId: string
text?: string
systemData?: ISystemData
uid: string;
type: MessageType;
dt: number;
templateId: string;
text?: string;
systemData?: ISystemData;
}
export interface MessageItems
{
stash?: string
data?: Item[]
stash?: string;
data?: Item[];
}
export interface ISystemData
{
date?: string
time?: string
location?: string
buyerNickname?: string
soldItem?: string
itemCount?: number
date?: string;
time?: string;
location?: string;
buyerNickname?: string;
soldItem?: string;
itemCount?: number;
}
export interface IUpdatableChatMember
{
Nickname: string
Side: string
Level: number
MemberCategory: MemberCategory
Ignored: boolean
Banned: boolean
Nickname: string;
Side: string;
Level: number;
MemberCategory: MemberCategory;
Ignored: boolean;
Banned: boolean;
}
export interface DateTime
{
date: string
time: string
date: string;
time: string;
}
export interface Aki
{
version: string
mods?: ModDetails[]
receivedGifts: ReceivedGift[]
version: string;
mods?: ModDetails[];
receivedGifts: ReceivedGift[];
}
export interface ModDetails
{
name: string
version: string
author: string
dateAdded: number
name: string;
version: string;
author: string;
dateAdded: number;
}
export interface ReceivedGift
{
giftId: string
timestampAccepted: number
giftId: string;
timestampAccepted: number;
}
export interface Vitality
{
health: Health
effects: Effects
health: Health;
effects: Effects;
}
export interface Health
{
Hydration: number
Energy: number
Temperature: number
Head: number
Chest: number
Stomach: number
LeftArm: number
RightArm: number
LeftLeg: number
RightLeg: number
Hydration: number;
Energy: number;
Temperature: number;
Head: number;
Chest: number;
Stomach: number;
LeftArm: number;
RightArm: number;
LeftLeg: number;
RightLeg: number;
}
export interface Effects
{
Head: Head
Chest: Chest
Stomach: Stomach
LeftArm: LeftArm
RightArm: RightArm
LeftLeg: LeftLeg
RightLeg: RightLeg
Head: Head;
Chest: Chest;
Stomach: Stomach;
LeftArm: LeftArm;
RightArm: RightArm;
LeftLeg: LeftLeg;
RightLeg: RightLeg;
}
export interface Head
{ }
export interface Head
{}
export interface Chest
{ }
export interface Chest
{}
export interface Stomach
{ }
export interface Stomach
{}
export interface LeftArm
export interface LeftArm
{
Fracture?: number
Fracture?: number;
}
export interface RightArm
export interface RightArm
{
Fracture?: number
Fracture?: number;
}
export interface LeftLeg
export interface LeftLeg
{
Fracture?: number
Fracture?: number;
}
export interface RightLeg
export interface RightLeg
{
Fracture?: number
Fracture?: number;
}
export interface Inraid
{
location: string
character: string
location: string;
character: string;
}
export interface Insurance
{
scheduledTime: number
traderId: string
messageContent: MessageContent
items: Item[]
scheduledTime: number;
traderId: string;
messageContent: MessageContent;
items: Item[];
}
export interface MessageContent
{
ragfair?: MessageContentRagfair
text?: string
templateId: string
type: MessageType
maxStorageTime?: number
profileChangeEvents?: any[]
systemData?: ISystemData
ragfair?: MessageContentRagfair;
text?: string;
templateId: string;
type: MessageType;
maxStorageTime?: number;
profileChangeEvents?: any[];
systemData?: ISystemData;
}
export interface MessageContentRagfair
export interface MessageContentRagfair
{
offerId: string
count: number
handbookId: string
}
offerId: string;
count: number;
handbookId: string;
}

View File

@ -1,7 +1,7 @@
export interface IConnectResponse
{
backendUrl: string,
name: string,
editions: string[],
profileDescriptions: Record<string, string>
}
backendUrl: string;
name: string;
editions: string[];
profileDescriptions: Record<string, string>;
}

View File

@ -1,4 +1,4 @@
export interface IGetProfileSettingsRequest
{
squadInviteRestriction: boolean
}
squadInviteRestriction: boolean;
}

View File

@ -1,4 +1,4 @@
export interface IProfileChangeNicknameRequestData
export interface IProfileChangeNicknameRequestData
{
nickname: string
}
nickname: string;
}

View File

@ -1,4 +1,4 @@
export interface IProfileChangeVoiceRequestData
export interface IProfileChangeVoiceRequestData
{
voice: string
}
voice: string;
}

View File

@ -1,7 +1,7 @@
export interface IProfileCreateRequestData
export interface IProfileCreateRequestData
{
side: string
nickname: string
headId: string
voiceId: string
}
side: string;
nickname: string;
headId: string;
voiceId: string;
}

View File

@ -1,4 +1,4 @@
export interface ISearchFriendRequestData
{
nickname: string
}
nickname: string;
}

View File

@ -1,13 +1,12 @@
export interface ISearchFriendResponse
{
_id: string
Info: Info
_id: string;
Info: Info;
}
export interface Info
{
Nickname: string
Side: string
Level: number
Nickname: string;
Side: string;
Level: number;
}

View File

@ -1,4 +1,4 @@
export interface IValidateNicknameRequestData
export interface IValidateNicknameRequestData
{
nickname: string
}
nickname: string;
}

View File

@ -1,6 +1,6 @@
export interface IAcceptQuestRequestData
export interface IAcceptQuestRequestData
{
Action: "QuestAccept"
qid: string
type: string
}
Action: "QuestAccept";
qid: string;
type: string;
}

View File

@ -1,8 +1,8 @@
export interface ICompleteQuestRequestData
export interface ICompleteQuestRequestData
{
Action: string
Action: string;
/** Quest Id */
qid: string
removeExcessItems: boolean
}
qid: string;
removeExcessItems: boolean;
}

View File

@ -1,6 +1,6 @@
export interface IFailQuestRequestData
export interface IFailQuestRequestData
{
Action: "QuestComplete"
qid: string
removeExcessItems: boolean
}
Action: "QuestComplete";
qid: string;
removeExcessItems: boolean;
}

View File

@ -1,13 +1,13 @@
export interface IHandoverQuestRequestData
export interface IHandoverQuestRequestData
{
Action: "QuestHandover"
qid: string
conditionId: string
items: Item[]
Action: "QuestHandover";
qid: string;
conditionId: string;
items: Item[];
}
export interface Item
export interface Item
{
id: string
count: number
}
id: string;
count: number;
}

View File

@ -1,4 +1,4 @@
export interface IListQuestsRequestData
export interface IListQuestsRequestData
{
completed: boolean
}
completed: boolean;
}

View File

@ -1,5 +1,5 @@
export interface IRepeatableQuestChangeRequest
{
Action: "RepeatableQuestChange"
qid: string
}
Action: "RepeatableQuestChange";
qid: string;
}

View File

@ -1,16 +1,16 @@
export interface IAddOfferRequestData
export interface IAddOfferRequestData
{
Action: string
sellInOnePiece: boolean
items: string[]
requirements: Requirement[]
Action: string;
sellInOnePiece: boolean;
items: string[];
requirements: Requirement[];
}
export interface Requirement
export interface Requirement
{
_tpl: string
count: number
level: number
side: number
onlyFunctional: boolean
}
_tpl: string;
count: number;
level: number;
side: number;
onlyFunctional: boolean;
}

View File

@ -1,5 +1,5 @@
export interface IExtendOfferRequestData
export interface IExtendOfferRequestData
{
offerId: string
renewalTime: number
}
offerId: string;
renewalTime: number;
}

View File

@ -2,5 +2,5 @@ import { MinMax } from "@spt-aki/models/common/MinMax";
export interface IGetItemPriceResult extends MinMax
{
avg: number
}
avg: number;
}

View File

@ -1,4 +1,4 @@
export interface IGetMarketPriceRequestData
{
templateId: string
}
templateId: string;
}

View File

@ -1,9 +1,9 @@
import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer";
export interface IGetOffersResult
export interface IGetOffersResult
{
categories?: Record<string, number>
offers: IRagfairOffer[]
offersCount: number
selectedCategory: string
}
categories?: Record<string, number>;
offers: IRagfairOffer[];
offersCount: number;
selectedCategory: string;
}

View File

@ -1,54 +1,54 @@
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
import { MemberCategory } from "@spt-aki/models/enums/MemberCategory";
export interface IRagfairOffer
export interface IRagfairOffer
{
sellResult?: SellResult[]
_id: string
items: Item[]
requirements: OfferRequirement[]
root: string
intId: number
sellResult?: SellResult[];
_id: string;
items: Item[];
requirements: OfferRequirement[];
root: string;
intId: number;
/** Handbook price */
itemsCost: number
itemsCost: number;
/** Rouble price */
requirementsCost: number
startTime: number
endTime: number
sellInOnePiece: boolean
loyaltyLevel: number
buyRestrictionMax?: number
buyRestrictionCurrent?: number
locked: boolean
unlimitedCount: boolean
requirementsCost: number;
startTime: number;
endTime: number;
sellInOnePiece: boolean;
loyaltyLevel: number;
buyRestrictionMax?: number;
buyRestrictionCurrent?: number;
locked: boolean;
unlimitedCount: boolean;
/** Rouble price */
summaryCost: number
user: IRagfairOfferUser
notAvailable: boolean
summaryCost: number;
user: IRagfairOfferUser;
notAvailable: boolean;
/** TODO - implement this value - not currently used */
CurrentItemCount: number
priority: boolean
CurrentItemCount: number;
priority: boolean;
}
export interface OfferRequirement
export interface OfferRequirement
{
_tpl: string
count: number
onlyFunctional: boolean
_tpl: string;
count: number;
onlyFunctional: boolean;
}
export interface IRagfairOfferUser
export interface IRagfairOfferUser
{
id: string
nickname?: string
rating?: number
memberType: MemberCategory
avatar?: string
isRatingGrowing?: boolean
id: string;
nickname?: string;
rating?: number;
memberType: MemberCategory;
avatar?: string;
isRatingGrowing?: boolean;
}
export interface SellResult
{
sellTime: number
amount: number
}
sellTime: number;
amount: number;
}

View File

@ -1,5 +1,5 @@
export interface IRemoveOfferRequestData
export interface IRemoveOfferRequestData
{
Action: string
offerId: string
}
Action: string;
offerId: string;
}

View File

@ -2,37 +2,37 @@ import { RagfairSort } from "@spt-aki/models/enums/RagfairSort";
export interface ISearchRequestData
{
page: number
limit: number
sortType: RagfairSort
sortDirection: number
currency: number
priceFrom: number
priceTo: number
quantityFrom: number
quantityTo: number
conditionFrom: number
conditionTo: number
oneHourExpiration: boolean
removeBartering: boolean
offerOwnerType: OfferOwnerType
onlyFunctional: boolean
updateOfferCount: boolean
handbookId: string
linkedSearchId: string
neededSearchId: string
buildItems: BuildItems
buildCount: number
tm: number
reload: number
page: number;
limit: number;
sortType: RagfairSort;
sortDirection: number;
currency: number;
priceFrom: number;
priceTo: number;
quantityFrom: number;
quantityTo: number;
conditionFrom: number;
conditionTo: number;
oneHourExpiration: boolean;
removeBartering: boolean;
offerOwnerType: OfferOwnerType;
onlyFunctional: boolean;
updateOfferCount: boolean;
handbookId: string;
linkedSearchId: string;
neededSearchId: string;
buildItems: BuildItems;
buildCount: number;
tm: number;
reload: number;
}
export enum OfferOwnerType
{
{
ANYOWNERTYPE = 0,
TRADEROWNERTYPE = 1,
PLAYEROWNERTYPE = 2
PLAYEROWNERTYPE = 2,
}
export interface BuildItems
{}
export interface BuildItems
{}

View File

@ -1,4 +1,4 @@
export interface ISendRagfairReportRequestData
{
offerId: number
}
offerId: number;
}

View File

@ -1,7 +1,7 @@
export interface IStorePlayerOfferTaxAmountRequestData
{
id: string
tpl: string
count: number
fee: number
}
id: string;
tpl: string;
count: number;
fee: number;
}

View File

@ -1,4 +1,4 @@
export interface IBaseRepairActionDataRequest
{
Action: string
}
Action: string;
}

View File

@ -2,13 +2,13 @@ import { IBaseRepairActionDataRequest } from "@spt-aki/models/eft/repair/IBaseRe
export interface IRepairActionDataRequest extends IBaseRepairActionDataRequest
{
Action: "Repair"
repairKitsInfo: RepairKitsInfo[]
target: string // item to repair
Action: "Repair";
repairKitsInfo: RepairKitsInfo[];
target: string; // item to repair
}
export interface RepairKitsInfo
{
_id: string // id of repair kit to use
count: number // amout of units to reduce kit by
}
_id: string; // id of repair kit to use
count: number; // amout of units to reduce kit by
}

View File

@ -2,13 +2,13 @@ import { IBaseRepairActionDataRequest } from "@spt-aki/models/eft/repair/IBaseRe
export interface ITraderRepairActionDataRequest extends IBaseRepairActionDataRequest
{
Action: "TraderRepair"
tid: string
repairItems: RepairItem[]
Action: "TraderRepair";
tid: string;
repairItems: RepairItem[];
}
export interface RepairItem
{
_id: string
count: number
}
_id: string;
count: number;
}

View File

@ -1,6 +1,6 @@
export interface IProcessBaseTradeRequestData
export interface IProcessBaseTradeRequestData
{
Action: string
type: string
tid: string
}
Action: string;
type: string;
tid: string;
}

View File

@ -1,20 +1,19 @@
/* eslint-disable @typescript-eslint/naming-convention */
import { IProcessBaseTradeRequestData } from "@spt-aki/models/eft/trade/IProcessBaseTradeRequestData";
export interface IProcessBuyTradeRequestData extends IProcessBaseTradeRequestData
export interface IProcessBuyTradeRequestData extends IProcessBaseTradeRequestData
{
Action: "buy_from_trader" | "TradingConfirm" | "RestoreHealth" | ""
type: string
tid: string
item_id: string
count: number
scheme_id: number
scheme_items: SchemeItem[]
Action: "buy_from_trader" | "TradingConfirm" | "RestoreHealth" | "";
type: string;
tid: string;
item_id: string;
count: number;
scheme_id: number;
scheme_items: SchemeItem[];
}
export interface SchemeItem
export interface SchemeItem
{
id: string
count: number
id: string;
count: number;
}

View File

@ -1,18 +1,18 @@
export interface IProcessRagfairTradeRequestData
export interface IProcessRagfairTradeRequestData
{
Action: string
offers: Offer[]
Action: string;
offers: Offer[];
}
export interface Offer
export interface Offer
{
id: string
count: number
items: Item[]
id: string;
count: number;
items: Item[];
}
export interface Item
export interface Item
{
id: string
count: number
}
id: string;
count: number;
}

View File

@ -1,18 +1,18 @@
import { IProcessBaseTradeRequestData } from "@spt-aki/models/eft/trade/IProcessBaseTradeRequestData";
export interface IProcessSellTradeRequestData extends IProcessBaseTradeRequestData
export interface IProcessSellTradeRequestData extends IProcessBaseTradeRequestData
{
Action: "sell_to_trader"
type: string
tid: string
price: number
items: Item[]
Action: "sell_to_trader";
type: string;
tid: string;
price: number;
items: Item[];
}
export interface Item
export interface Item
{
id: string
count: number
id: string;
count: number;
// eslint-disable-next-line @typescript-eslint/naming-convention
scheme_id: number
}
scheme_id: number;
}

View File

@ -2,7 +2,7 @@ import { OwnerInfo } from "@spt-aki/models/eft/common/request/IBaseInteractionRe
export interface ISellScavItemsToFenceRequestData
{
Action: "SellAllFromSavage",
fromOwner: OwnerInfo
toOwner: OwnerInfo
}
Action: "SellAllFromSavage";
fromOwner: OwnerInfo;
toOwner: OwnerInfo;
}

View File

@ -5,10 +5,10 @@ export interface IWeatherData
acceleration: number;
time: string;
date: string;
weather?: IWeather
weather?: IWeather;
}
export interface IWeather
export interface IWeather
{
pressure: number;
temp: number;
@ -26,4 +26,4 @@ export interface IWeather
time: string;
date: string;
timestamp: number;
}
}

View File

@ -1,6 +1,5 @@
export interface IWishlistActionData
export interface IWishlistActionData
{
Action: string
templateId: string
Action: string;
templateId: string;
}

View File

@ -1,4 +1,4 @@
export enum AccountTypes
{
SPT_DEVELOPER = "spt developer"
}
{
SPT_DEVELOPER = "spt developer",
}

View File

@ -1,7 +1,7 @@
export enum AirdropTypeEnum
{
{
MIXED = "mixed",
WEAPONARMOR = "weaponarmor",
FOODMEDICAL = "foodmedical",
BARTER = "barter"
}
BARTER = "barter",
}

View File

@ -1,74 +1,74 @@
export enum Grenade
{
export enum Grenade
{
M386_HE_GRENADE = "5ede475b549eed7c6d5c18fb",
M576_MP_APERS_GRENADE = "5ede475339ee016e8c534742",
M433_HEDP_GRENADE = "5f0c892565703e5c461894e9",
M406_HE_GRENADE = "5ede4739e0350d05467f73e8",
M381_HE_GRENADE = "5ede474b0c226a66f5402622",
M441_HE_GRENADE = "5ede47405b097655935d7d16"
M441_HE_GRENADE = "5ede47405b097655935d7d16",
}
export enum Ammo762x51
{
{
M62_TRACER = "5a608bf24f39f98ffc77720e",
M80 = "58dd3ad986f77403051cba8f",
M61 = "5a6086ea4f39f99cd479502f",
BCP_FMJ = "5e023e53d4353e3302577c4c",
ULTRA_NOSLER = "5e023e88277cce2b522ff2b1",
TCW_SP = "5e023e6e34d52a55c3304f71",
M993 = "5efb0c1bd79ff02a1f5e68d9"
M993 = "5efb0c1bd79ff02a1f5e68d9",
}
export enum Ammo762x54
{
{
SNB_GZH = "560d61e84bdc2da74d8b4571",
LPS_GZH = "5887431f2459777e1612938f",
PS_GZH = "59e77a2386f7742ee578960a",
T46M_GZH = "5e023cf8186a883be655e54f",
BT_GZH = "5e023d34e8a400319a28ed44",
BS_GZH = "5e023d48186a883be655e551"
BS_GZH = "5e023d48186a883be655e551",
}
export enum Ammo86x70
{
{
TAC_X = "5fc382b6d6fa9c00c571bbc3",
UCW = "5fc382c1016cce60e8341b20",
AP = "5fc382a9d724d907e2077dab",
FMJ = "5fc275cf85fd526b824a571a"
FMJ = "5fc275cf85fd526b824a571a",
}
export enum Ammo46x30
{
{
AP_SX = "5ba26835d4351e0035628ff5",
ACTION_SX = "5ba26812d4351e003201fef1",
FMJ_SX = "5ba2678ad4351e44f824b344",
SUBSONIC_SX = "5ba26844d4351e00334c9475"
SUBSONIC_SX = "5ba26844d4351e00334c9475",
}
export enum Ammo57x28
{
{
SS198LF = "5cc80f79e4a949033c7343b2",
R37_F = "5cc86832d7f00c000d3a6e6c",
SS190 = "5cc80f38e4a949001152b560",
R37_X = "5cc86840d7f00c002412c56c",
L191 = "5cc80f53e4a949000e1ea4f8",
SS197SR = "5cc80f8fe4a949033b0224a2",
SB193 = "5cc80f67e4a949035e43bbba"
SB193 = "5cc80f67e4a949035e43bbba",
}
export enum Ammo762x25
{
{
FMJ43 = "5735ff5c245977640e39ba7e",
LRN = "573601b42459776410737435",
P_GL = "5736026a245977644601dc61",
PST_GZH = "573603562459776430731618",
LRNPC = "573602322459776445391df1",
AKBS = "5735fdcd2459776445391d61",
PT_GZH = "573603c924597764442bd9cb"
PT_GZH = "573603c924597764442bd9cb",
}
export enum Ammo9x18
{
{
PM_SP8_GZH = "5737218f245977612125ba51",
P_GZH = "573719762459775a626ccbc1",
PSTM_GZH = "57371aab2459775a77142f22",
@ -82,11 +82,11 @@ export enum Ammo9x18
PS_GS_PPO = "57371f2b24597761224311f1",
PRS_GS = "57371eb62459776125652ac1",
PPT_GZH = "57371e4124597760ff7b25f1",
PPE_GZH = "57371b192459775a9f58a5e0"
PPE_GZH = "57371b192459775a9f58a5e0",
}
export enum Ammo9x19
{
{
PSO_GZH = "58864a4f2459770fcc257101",
PST_GZH = "56d59d3ad2720bdb418b4577",
GREEN_TRACER = "5c3df7d588a4501f290594e5",
@ -94,36 +94,36 @@ export enum Ammo9x19
AP_63 = "5c925fa22e221601da359b7b",
LUGER_CCI = "5a3c16fe86f77452b62de32a",
PBP_GZH = "5efb0da7a29a85116f6ea05f",
QUAKEMAKER = "5efb0e16aeb21837e749c7ff"
QUAKEMAKER = "5efb0e16aeb21837e749c7ff",
}
export enum Ammo9x21
{
{
P_GZH = "5a26abfac4a28232980eabff",
PS_GZH = "5a269f97c4a282000b151807",
PE_GZH = "5a26ac06c4a282000c5a90a8",
BT_GZH = "5a26ac0ec4a28200741e1e18"
BT_GZH = "5a26ac0ec4a28200741e1e18",
}
export enum Ammo9x33R
{
{
FMJ = "62330b3ed4dc74626d570b95",
HOLLOW_POINT = "62330bfadc5883093563729b",
SOFT_POINT = "62330c40bdd19b369e1e53d1",
JACKET_HP = "62330c18744e5e31df12f516"
JACKET_HP = "62330c18744e5e31df12f516",
}
export enum Ammo1143x23ACP
{
{
MATCH_FMJ = "5e81f423763d9f754677bf2e",
HYDRA_SHOK = "5efb0fc6aeb21837e749c801",
LASERMATCH_FMJ = "5efb0d4f4bc50b58e81710f3",
AP = "5efb0cabfb3e451d70735af5",
RIP = "5ea2a8e200685063ec28c05a"
RIP = "5ea2a8e200685063ec28c05a",
}
export enum Ammo545x39
{
{
PS_GS = "56dff3afd2720bba668b4567",
SP = "56dff421d2720b5f5a8b4567",
PPBS_GS_IGOLNIK = "5c0d5e4486f77478390952fe",
@ -136,11 +136,11 @@ export enum Ammo545x39
BS_GS = "56dff026d2720bb8668b4567",
T_GS = "56dff4a2d2720bbd668b456a",
PP_GS = "56dff2ced2720bb4668b4567",
FMJ = "56dff0bed2720bb0668b4567"
FMJ = "56dff0bed2720bb0668b4567",
}
export enum Ammo556x45
{
{
M856 = "59e68f6f86f7746c9f75e846",
MK255_MOD_0_RRLP = "59e6918f86f7746c9f75e849",
M995 = "59e690b686f7746c9f75e848",
@ -151,54 +151,54 @@ export enum Ammo556x45
FMJ = "59e6920f86f77411d82aa167",
WARMAGEDDON = "5c0d5ae286f7741e46554302",
MK_318_MOD_0_SOST = "60194943740c5d77f6705eea",
SSA_AP = "601949593ae8f707c4608daa"
SSA_AP = "601949593ae8f707c4608daa",
}
export enum Ammo762x35
{
{
M62_TRACER = "619636be6db0f2477964e710",
BCP_FMJ = "5fbe3ffdf8b6a877a729ea82",
AP = "5fd20ff893a8961fc660a954",
V_MAX = "6196364158ef8c428c287d9f",
WHISPER = "6196365d58ef8c428c287da1"
WHISPER = "6196365d58ef8c428c287da1",
}
export enum Ammo762x39
{
{
PS_GZH = "5656d7c34bdc2d9d198b4587",
HP = "59e4d3d286f774176a36250a",
US_GZH = "59e4d24686f7741776641ac7",
T45M1_GZH = "59e4cf5286f7741778269d8a",
BP_GZH = "59e0d99486f7744a32234762",
MAI_AP = "601aa3d2b2bcb34913271e6d"
MAI_AP = "601aa3d2b2bcb34913271e6d",
}
export enum Ammo9x39
{
{
SP5_GS = "57a0dfb82459774d3078b56c",
BP_GS = "5c0d688c86f77413ae3407b2",
SP6_GS = "57a0e5022459774d1673f889",
SPP_GS = "5c0d668f86f7747ccb7f13b2",
PAB9_GS = "61962d879bb3d20b0946d385"
PAB9_GS = "61962d879bb3d20b0946d385",
}
export enum Ammo366TKM
{
{
FMJ = "59e6542b86f77411dc52a77a",
GEKSA = "59e6658b86f77411d949b250",
EKO = "59e655cb86f77411dc52a77b",
APM = "5f0596629e22f464da6bbdd9"
APM = "5f0596629e22f464da6bbdd9",
}
export enum Ammo127x55
{
{
PS12 = "5cadf6ddae9215051e1c23b2",
PS12B = "5cadf6eeae921500134b2799",
PS12A = "5cadf6e5ae921500113bb973"
PS12A = "5cadf6e5ae921500113bb973",
}
export enum Ammo12Gauge
{
{
BUCKSHOT_7MM = "560d5e524bdc2d25448b4571",
MAGNUM_85MM = "5d6e6806a4b936088465b17e",
RIP = "5c0d591486f7744c505b416f",
@ -214,11 +214,11 @@ export enum Ammo12Gauge
GRIZZLY_40_SLUG = "5d6e6869a4b9361c140bcfde",
SUPERFORMANCE_HP_SLUG = "5d6e68d1a4b93622fe60e845",
COPPER_SABOT_PREMIER_HP_SLUG = "5d6e68b3a4b9361bca7e50b5",
LEAD_SLUG = "58820d1224597753c90aeb13"
LEAD_SLUG = "58820d1224597753c90aeb13",
}
export enum Ammo20Gauge
{
{
BUCKSHOT_75MM = "5a38ebd9c4a282000d722a5b",
STAR_SLUG = "5d6e6a05a4b93618084f58d0",
BUCKSHOT_73MM = "5d6e69c7a4b9360b6c0d54e4",
@ -226,32 +226,32 @@ export enum Ammo20Gauge
BUCKSHOT_56MM = "5d6e695fa4b936359b35d852",
POLEVA_6U_SLUG = "5d6e6a42a4b9364f07165f52",
POLEVA_3_SLUG = "5d6e6a53a4b9361bd473feec",
BUCKSHOT_62MM = "5d6e69b9a4b9361bc8618958"
BUCKSHOT_62MM = "5d6e69b9a4b9361bc8618958",
}
export enum Ammo23x75
{
{
SHRAPNEL10_BUCKSHOT = "5e85a9a6eacf8c039e4e2ac1",
SHRAPNEL25_BUCKSHOT = "5f647f31b6238e5dd066e196",
ZVEZDA_FLASHBANG = "5e85a9f4add9fe03027d9bf1",
BARRIKADA_SLUG = "5e85aa1a988a8701445df1f5"
BARRIKADA_SLUG = "5e85aa1a988a8701445df1f5",
}
export enum Ammo30x29
{
VOG_30 = "5d70e500a4b9364de70d38ce"
{
VOG_30 = "5d70e500a4b9364de70d38ce",
}
export enum Ammo127x108
{
{
B32 = "5cde8864d7f00c0010373be1",
BZT_44M = "5d2f2ab648f03550091993ca"
BZT_44M = "5d2f2ab648f03550091993ca",
}
export enum Ammo26x75
{
{
GREEN_FLARE = "62389aaba63f32501b1b444f",
RED_FLARE = "62389ba9a63f32501b1b4451",
WHITE_FLARE = "62389bc9423ed1685422dc57",
YELLOW_FLARE = "62389be94d5d474bf712e709"
}
YELLOW_FLARE = "62389be94d5d474bf712e709",
}

View File

@ -1,5 +1,5 @@
export enum BackendErrorCodes
{
{
NONE = 0,
UNKNOWN_ERROR = 200,
NOT_AUTHORIZED = 201,
@ -78,9 +78,9 @@ export enum BackendErrorCodes
PLAYERFORBIDDENGROUPINVITES = 502011,
LEADERALREADYREADY = 502012,
GROUPSENDINVITEERROR = 502013,
PLAYERISOFFLINE = 502014,
PLAYERISOFFLINE = 502014,
PLAYERISNOTSEARCHINGFORGROUP = 502018,
PLAYERALREADYLOOKINGFORGAME = 503001,
PLAYERINRAID = 503002,
LIMITFORPRESETSREACHED = 504001
}
LIMITFORPRESETSREACHED = 504001,
}

View File

@ -1,5 +1,5 @@
export enum BaseClasses
{
{
WEAPON = "5422acb9af1c889c16000029",
UBGL = "55818b014bdc2ddc698b456b",
ARMOR = "5448e54d4bdc2dcc718b4568",
@ -19,13 +19,13 @@ export enum BaseClasses
INFO = "5448ecbe4bdc2d60728b4568",
MEDKIT = "5448f39d4bdc2d0a728b4568",
DRUGS = "5448f3a14bdc2d27728b4569",
STIMULATOR= "5448f3a64bdc2d60728b456a",
STIMULATOR = "5448f3a64bdc2d60728b456a",
MEDICAL = "5448f3ac4bdc2dce718b4569",
MEDICAL_SUPPLIES= "57864c8c245977548867e7f1",
MEDICAL_SUPPLIES = "57864c8c245977548867e7f1",
MOD = "5448fe124bdc2da5018b4567",
FUNCTIONAL_MOD = "550aa4154bdc2dd8348b456b",
FUEL = "5d650c3e815116009f6201d2",
GEAR_MOD= "55802f3e4bdc2de7118b4584",
GEAR_MOD = "55802f3e4bdc2de7118b4584",
STOCK = "55818a594bdc2db9688b456a",
FOREGRIP = "55818af64bdc2d5b648b4570",
MASTER_MOD = "55802f4a4bdc2ddb688b4569",
@ -51,7 +51,7 @@ export enum BaseClasses
SHOTGUN = "5447b6094bdc2dc3278b4567",
MARKSMAN_RIFLE = "5447b6194bdc2d67278b4567",
SNIPER_RIFLE = "5447b6254bdc2dc3278b4568",
MACHINE_GUN ="5447bed64bdc2d97278b4568",
MACHINE_GUN = "5447bed64bdc2d97278b4568",
GRENADE_LAUNCHER = "5447bedf4bdc2d87278b4568",
SPECIAL_WEAPON = "5447bee84bdc2dc3278b4569",
SPEC_ITEM = "5447e0e74bdc2d3c308b4567",
@ -73,31 +73,31 @@ export enum BaseClasses
DOG_TAG_BEAR = "59f32bb586f774757e1e8442",
JEWELRY = "57864a3d24597754843f8721",
ELECTRONICS = "57864a66245977548f04a81f",
BUILDING_MATERIAL= "57864ada245977548638de91",
TOOL= "57864bb7245977548b3b66c2",
BUILDING_MATERIAL = "57864ada245977548638de91",
TOOL = "57864bb7245977548b3b66c2",
HOUSEHOLD_GOODS = "57864c322459775490116fbf",
LUBRICANT = "57864e4c24597754843f8723",
BATTERY= "57864ee62459775490116fc1",
BATTERY = "57864ee62459775490116fc1",
ASSAULT_SCOPE = "55818add4bdc2d5b648b456f",
TACTICAL_COMBO = "55818b164bdc2ddc698b456c",
FLASHLIGHT = "55818b084bdc2d5b648b4571",
MAGAZINE= "5448bc234bdc2d3c308b4569",
LIGHT_LASER_DESIGNATOR= "55818b0e4bdc2dde698b456e",
FLASH_HIDER= "550aa4bf4bdc2dd6348b456b",
COLLIMATOR= "55818ad54bdc2ddc698b4569",
IRON_SIGHT= "55818ac54bdc2d5b648b456e",
COMPACT_COLLIMATOR= "55818acf4bdc2dde698b456b",
COMPENSATOR= "550aa4af4bdc2dd4348b456e",
OPTIC_SCOPE= "55818ae44bdc2dde698b456c",
SPECIAL_SCOPE= "55818aeb4bdc2ddc698b456a",
OTHER= "590c745b86f7743cc433c5f2",
SILENCER= "550aa4cd4bdc2dd8348b456c",
PORTABLE_RANGE_FINDER= "61605ddea09d851a0a0c1bbc",
ITEM= "54009119af1c881c07000029",
CYLINDER_MAGAZINE= "610720f290b75a49ff2e5e25",
MAGAZINE = "5448bc234bdc2d3c308b4569",
LIGHT_LASER_DESIGNATOR = "55818b0e4bdc2dde698b456e",
FLASH_HIDER = "550aa4bf4bdc2dd6348b456b",
COLLIMATOR = "55818ad54bdc2ddc698b4569",
IRON_SIGHT = "55818ac54bdc2d5b648b456e",
COMPACT_COLLIMATOR = "55818acf4bdc2dde698b456b",
COMPENSATOR = "550aa4af4bdc2dd4348b456e",
OPTIC_SCOPE = "55818ae44bdc2dde698b456c",
SPECIAL_SCOPE = "55818aeb4bdc2ddc698b456a",
OTHER = "590c745b86f7743cc433c5f2",
SILENCER = "550aa4cd4bdc2dd8348b456c",
PORTABLE_RANGE_FINDER = "61605ddea09d851a0a0c1bbc",
ITEM = "54009119af1c881c07000029",
CYLINDER_MAGAZINE = "610720f290b75a49ff2e5e25",
AUXILARY_MOD = "5a74651486f7744e73386dd1",
BIPOD = "55818afb4bdc2dde698b456d",
HEADPHONES = "5645bcb74bdc2ded0b8b4578",
RANDOM_LOOT_CONTAINER = "62f109593b54472778797866",
STACKABLE_ITEM = "5661632d4bdc2d903d8b456b"
}
STACKABLE_ITEM = "5661632d4bdc2d903d8b456b",
}

View File

@ -1,8 +1,8 @@
export enum BotAmount
{
{
AS_ONLINE = "AsOnline",
LOW = "Low",
MEDIUM = "Medium",
HIGH = "High",
HORDE = "Horde"
}
HORDE = "Horde",
}

View File

@ -1,9 +1,9 @@
export enum BotDifficulty
{
{
AS_ONLINE = "AsOnline",
EASY = "Easy",
MEDIUM = "Medium",
HARD = "Hard",
IMPOSSIBLE = "Impossible",
RANDOM = "Random"
}
RANDOM = "Random",
}

View File

@ -1,5 +1,5 @@
export enum ConfigTypes
{
{
AIRDROP = "aki-airdrop",
BOT = "aki-bot",
PMC = "aki-pmc",
@ -25,5 +25,5 @@ export enum ConfigTypes
WEATHER = "aki-weather",
SEASONAL_EVENT = "aki-seasonalevents",
LOST_ON_DEATH = "aki-lostondeath",
GIFTS = "aki-gifts"
}
GIFTS = "aki-gifts",
}

View File

@ -1,5 +1,5 @@
export enum CommonContainers
{
export enum CommonContainers
{
AMMO_CASE = "5aafbde786f774389d0cbc0f",
DOCUMENTS_CASE = "590c60fc86f77412b13fddcf",
DOGTAG_CASE = "5c093e3486f77430cb02e593",
@ -19,14 +19,14 @@ export enum CommonContainers
THICC_ITEM_CASE = "5c0a840b86f7742ffa4f2482",
THICC_WEAPON_CASE = "5b6d9ce188a4501afc1b2b25",
WEAPON_CASE = "59fb023c86f7746d0d4b423c",
WZ_WALLET = "60b0f6c058e0b0481a09ad11"
WZ_WALLET = "60b0f6c058e0b0481a09ad11",
}
export enum SecuredContainers
{
{
ALPHA = "544a11ac4bdc2d470e8b456a",
BETA = "5857a8b324597729ab0a0e7d",
EPSILON = "59db794186f77448bc595262",
GAMMA = "5857a8bc2459772bad15db29",
KAPPA = "5c093ca986f7740a1867ab12"
}
KAPPA = "5c093ca986f7740a1867ab12",
}

View File

@ -1,5 +1,5 @@
export enum ELocationName
{
export enum ELocationName
{
FACTORY_DAY = "factory4_day",
FACTORY_NIGHT = "factory4_night",
BIGMAP = "bigmap",
@ -10,5 +10,5 @@ export enum ELocationName
LABORATORY = "laboratory",
RESERVE = "RezervBase",
STREETS = "TarkovStreets",
ANY = "any"
}
ANY = "any",
}

View File

@ -1,5 +1,5 @@
export enum EquipmentBuildType
{
{
CUSTOM = 0,
STANDARD = 1
}
STANDARD = 1,
}

View File

@ -1,5 +1,5 @@
export enum EquipmentSlots
{
{
HEADWEAR = "Headwear",
EARPIECE = "Earpiece",
FACE_COVER = "FaceCover",
@ -13,5 +13,5 @@ export enum EquipmentSlots
FIRST_PRIMARY_WEAPON = "FirstPrimaryWeapon",
SECOND_PRIMARY_WEAPON = "SecondPrimaryWeapon",
HOLSTER = "Holster",
SCABBARD = "Scabbard"
}
SCABBARD = "Scabbard",
}

View File

@ -1,8 +1,8 @@
export enum ExitStatus
{
{
SURVIVED = 0,
KILLED = 1,
LEFT = 2,
RUNNER = 3,
MISSINGINACTION = 4
}
MISSINGINACTION = 4,
}

View File

@ -1,6 +1,6 @@
export enum GiftSenderType
{
{
SYSTEM = "System",
TRADER = "Trader",
USER = "User"
}
USER = "User",
}

View File

@ -1,7 +1,7 @@
export enum GiftSentResult
{
{
FAILED_UNKNOWN = 1,
FAILED_GIFT_ALREADY_RECEIVED = 2,
FAILED_GIFT_DOESNT_EXIST = 3,
SUCCESS = 4
}
SUCCESS = 4,
}

View File

@ -1,5 +1,5 @@
export enum HideoutAreas
{
export enum HideoutAreas
{
NOTSET = -1,
VENTS = 0,
SECURITY = 1,
@ -26,5 +26,5 @@ export enum HideoutAreas
EMERGENCY_WALL = 22,
GYM = 23,
WEAPON_STAND = 24,
WEAPON_STAND_SECONDARY = 25
}
WEAPON_STAND_SECONDARY = 25,
}

View File

@ -1,5 +1,5 @@
export enum HideoutEventActions
{
{
HIDEOUT_UPGRADE = "HideoutUpgrade",
HIDEOUT_UPGRADE_COMPLETE = "HideoutUpgradeComplete",
HIDEOUT_PUT_ITEMS_IN_AREA_SLOTS = "HideoutPutItemsInAreaSlots",
@ -11,5 +11,5 @@ export enum HideoutEventActions
HIDEOUT_TAKE_PRODUCTION = "HideoutTakeProduction",
HIDEOUT_RECORD_SHOOTING_RANGE_POINTS = "RecordShootingRangePoints",
HIDEOUT_IMPROVE_AREA = "HideoutImproveArea",
HIDEOUT_CANCEL_PRODUCTION_COMMAND = "HideoutCancelProductionCommand"
}
HIDEOUT_CANCEL_PRODUCTION_COMMAND = "HideoutCancelProductionCommand",
}

View File

@ -1,5 +1,5 @@
export enum ItemAddedResult
{
{
SUCCESS = 1,
NO_SPACE = 2
}
NO_SPACE = 2,
}

View File

@ -1,5 +1,5 @@
export enum ItemEventActions
{
{
MOVE = "Move",
REMOVE = "Remove",
SPLIT = "Split",
@ -22,5 +22,5 @@ export enum ItemEventActions
REMOVE_WEAPON_BUILD = "RemoveWeaponBuild",
REMOVE_BUILD = "RemoveBuild",
SAVE_EQUIPMENT_BUILD = "SaveEquipmentBuild",
REMOVE_EQUIPMENT_BUILD = "RemoveEquipmentBuild"
}
REMOVE_EQUIPMENT_BUILD = "RemoveEquipmentBuild",
}

View File

@ -1,6 +1,5 @@
export enum MemberCategory // player type
{
{
DEFAULT = 0,
DEVELOPER = 1,
UNIQUE_ID = 2,
@ -11,5 +10,5 @@ export enum MemberCategory // player type
CHAT_MODERATOR_WITH_PERMANENT_BAN = 64,
UNIT_TEST = 128,
SHERPA = 256,
EMISSARY = 512
EMISSARY = 512,
}

View File

@ -1,6 +1,5 @@
export enum MessageType
{
{
// if this variables are supposed to be strings for the type
// then the equals value should be the name that should be
// required by the client instead of an int
@ -18,5 +17,5 @@ export enum MessageType
QUEST_FAIL = 11,
QUEST_SUCCESS = 12,
MESSAGE_WITH_ITEMS = 13,
INITIAL_SUPPORT = 14
}
INITIAL_SUPPORT = 14,
}

View File

@ -1,6 +1,6 @@
export enum Money
{
{
ROUBLES = "5449016a4bdc2d6f028b456f",
EUROS = "569668774bdc2da2298b4568",
DOLLARS = "5696686a4bdc2da3298b456a"
}
DOLLARS = "5696686a4bdc2da3298b456a",
}

View File

@ -1,8 +1,8 @@
export enum PlayerRaidEndState
{
{
SURVIVED = "survived",
LEFT = "left",
RUNNER = "runner",
MISSING_IN_ACTION = "missinginaction",
KILLED = "killed"
}
KILLED = "killed",
}

View File

@ -1,5 +1,5 @@
export enum QuestRewardType
{
{
SKILL = "Skill",
EXPERIENCE = "Experience",
TRADER_STANDING = "TraderStanding",
@ -9,5 +9,5 @@ export enum QuestRewardType
PRODUCTIONS_SCHEME = "ProductionScheme",
TRADER_STANDING_RESET = "TraderStandingReset",
TRADER_STANDING_RESTORE = "TraderStandingRestore",
STASH_ROWS = "StashRows"
}
STASH_ROWS = "StashRows",
}

View File

@ -1,6 +1,6 @@
/* eslint-disable @typescript-eslint/naming-convention */
export enum QuestStatus
{
{
Locked = 0,
AvailableForStart = 1,
Started = 2,
@ -10,5 +10,5 @@ export enum QuestStatus
FailRestartable = 6,
MarkedAsFailed = 7,
Expired = 8,
AvailableAfter = 9
}
AvailableAfter = 9,
}

View File

@ -1,6 +1,5 @@
export enum QuestTypeEnum
{
export enum QuestTypeEnum
{
PICKUP = "PickUp",
ELIMINATION = "Elimination",
DISCOVER = "Discover",
@ -13,5 +12,5 @@ export enum QuestTypeEnum
MERCHANT = "Merchant",
SKILL = "Skill",
MULTI = "Multi",
WEAPON_ASSEMBLY = "WeaponAssembly"
WEAPON_ASSEMBLY = "WeaponAssembly",
}

View File

@ -1,8 +1,8 @@
export enum RagfairSort
{
{
ID = 0,
RATING = 3,
OFFER_TITLE = 4,
PRICE = 5,
EXPIRY = 6
}
EXPIRY = 6,
}

View File

@ -1,6 +1,6 @@
export enum RaidMode
{
{
ONLINE = "Online",
LOCAL = "Local",
COOP = "Coop"
}
COOP = "Coop",
}

View File

@ -1,8 +1,8 @@
export enum SeasonalEventType
{
{
NONE = "None",
CHRISTMAS = "Christmas",
HALLOWEEN = "Halloween",
NEW_YEARS = "NewYears",
PROMO = "Promo"
}
PROMO = "Promo",
}

View File

@ -1,5 +1,5 @@
export enum SkillTypes
{
{
BOT_RELOAD = "BotReload",
BOT_SOUND = "BotSound",
HIDEOUT_MANAGEMENT = "HideoutManagement",
@ -53,5 +53,5 @@ export enum SkillTypes
USEC_DEEP_WEAPON_MOD = "UsecDeepweaponmodding_Settings",
USEC_LONG_RANGE_OPTICS = "UsecLongrangeoptics_Settings",
USEC_NEGOTIATIONS = "UsecNegotiations",
USEC_TACTICS = "UsecTactics"
}
USEC_TACTICS = "UsecTactics",
}

View File

@ -1,6 +1,6 @@
export enum Traders
{
PRAPOR = "54cb50c76803fa8b248b4571",
{
PRAPOR = "54cb50c76803fa8b248b4571",
THERAPIST = "54cb57776803fa99248b456e",
FENCE = "579dc571d53a0658a154fbec",
SKIER = "58330581ace78e27b8b10cee",
@ -8,5 +8,5 @@ export enum Traders
MECHANIC = "5a7c2eca46aef81a7ca2145d",
RAGMAN = "5ac3b934156ae10c4430e83c",
JAEGER = "5c0647fdd443bc2504c2d371",
LIGHTHOUSEKEEPER = "638f541a29ffd1183d187f57"
}
LIGHTHOUSEKEEPER = "638f541a29ffd1183d187f57",
}

View File

@ -1,5 +1,5 @@
export enum WeaponSkillTypes
{
{
PISTOL = "Pistol",
REVOLVER = "Revolver",
SMG = "SMG",
@ -11,5 +11,5 @@ export enum WeaponSkillTypes
DMR = "DMR",
LAUNCHER = "Launcher",
ATTACHED_LAUNCHER = "AttachedLauncher",
MELEE = "Melee"
}
MELEE = "Melee",
}

View File

@ -1,31 +1,31 @@
export enum Weapons127x55
{
ASH_12 = "5cadfbf7ae92152ac412eeef"
{
ASH_12 = "5cadfbf7ae92152ac412eeef",
}
export enum Weapons86x70
{
{
MK_18 = "5fc22d7c187fea44d52eda44",
AXMC = "627e14b21713922ded6f2c15"
AXMC = "627e14b21713922ded6f2c15",
}
export enum Weapons9x39
{
{
AS_VAL = "57c44b372459772d2b39b8ce",
VSS_VINTOREZ = "57838ad32459774a17445cd2"
VSS_VINTOREZ = "57838ad32459774a17445cd2",
}
export enum Weapons762x54R
{
{
SVDS = "5c46fbd72e2216398b5a8c9c",
MP_18 = "61f7c9e189e6fb1a5e3ea78d",
MOSIN_INFANTRY = "5bfd297f0db834001a669119",
MOSIN_SNIPER = "5ae08f0a5acfc408fb1398a1",
SV_98 = "55801eed4bdc2d89578b4588"
SV_98 = "55801eed4bdc2d89578b4588",
}
export enum Weapons762x51
{
{
VPO_101 = "5c501a4d2e221602b412b540",
DT_MDR_762 = "5dcbd56fdbd3d91b3e5468d5",
SA_58 = "5b0bbe4e5acfc40dc528a72d",
@ -38,17 +38,17 @@ export enum Weapons762x51
SR_25 = "5df8ce05b11454561e39243b",
DVL_10 = "588892092459774ac91d4b11",
M700 = "5bfea6e90db834001b7347f3",
T5000M = "5df24cf80dee1b22f862e9bc"
T5000M = "5df24cf80dee1b22f862e9bc",
}
export enum Weapons366TKM
{
{
VPO_209 = "59e6687d86f77411d949b251",
VPO_215 = "5de652c31b7e3716273428be"
VPO_215 = "5de652c31b7e3716273428be",
}
export enum Weapons762x39
{
{
OP_SKS = "587e02ff24597743df3deaeb",
SKS = "574d967124597745970e7c94",
AK_103 = "5ac66d2e5acfc43b321d4b53",
@ -59,16 +59,16 @@ export enum Weapons762x39
AKMSN = "5abcbc27d8ce8700182eceeb",
MK47_MUTANT = "606587252535c57a13424cfd",
RD_704 = "628a60ae6b1d481ff772e9c8",
VPO_136 = "59e6152586f77473dc057aa1"
VPO_136 = "59e6152586f77473dc057aa1",
}
export enum Weapons762x35
{
MCX = "5fbcc1d9016cce60e8341ab3"
{
MCX = "5fbcc1d9016cce60e8341ab3",
}
export enum Weapons556x45
{
{
ADAR_2_15 = "5c07c60e0db834002330051f",
AK_101 = "5ac66cb05acfc40198510a10",
AK_102 = "5ac66d015acfc400180ae6e4",
@ -78,11 +78,11 @@ export enum Weapons556x45
M4A1 = "5447a9cd4bdc2dbd208b4567",
SCARL_BLACK = "6184055050224f204c1da540",
SCARL_FDE = "618428466ef05c2ce828f218",
TX15_DML = "5d43021ca4b9362eab4b5e25"
TX15_DML = "5d43021ca4b9362eab4b5e25",
}
export enum Weapons545x39
{
{
AK_105 = "5ac66d9b5acfc4001633997a",
AK_74 = "5bf3e03b0db834001d2c4a9c",
AK_74M = "5ac4cd105acfc40016339859",
@ -94,43 +94,43 @@ export enum Weapons545x39
AKS_74UN = "583990e32459771419544dd2",
SAG_AK = "628b5638ad252a16da6dd245",
SAG_AK_SHORT = "628b9c37a733087d0d7fe84b",
RPK_16 = "5beed0f50db834001c062b12"
RPK_16 = "5beed0f50db834001c062b12",
}
export enum Weapons57x28FN
{
{
FN_57_BLACK = "5d3eb3b0a4b93615055e84d2",
FN_57_FDE = "5d67abc1a4b93614ec50137f",
FN_P90 = "5cc82d76e24e8d00134b4b83"
FN_P90 = "5cc82d76e24e8d00134b4b83",
}
export enum Weapons46x30HK
{
{
MP7A1 = "5ba26383d4351e00334c93d9",
MP7A2 = "5bd70322209c4d00d7167b8f"
MP7A2 = "5bd70322209c4d00d7167b8f",
}
export enum Weapons1143x23
{
{
M1911A1 = "5e81c3cbac2bb513793cdc75",
M45A1 = "5f36a0e5fbf956000b716b65",
USP45 = "6193a720f8ee7e52e42109ed",
UMP45 = "5fc3e272f8b6a877a729eac5",
VECTOR45 = "5fb64bc92b1b027b1f50bcf2"
VECTOR45 = "5fb64bc92b1b027b1f50bcf2",
}
export enum Weapons9x33R
{
CR_50DS = "61a4c8884f95bc3b2c5dc96f"
{
CR_50DS = "61a4c8884f95bc3b2c5dc96f",
}
export enum Weapons9x21
{
SR_1MP = "59f98b4986f7746f546d2cef"
{
SR_1MP = "59f98b4986f7746f546d2cef",
}
export enum Weapons9x19
{
{
GLOCK_17 = "5a7ae0c351dfba0017554310",
GLOCK_18C = "5b1fa9b25acfc40018633c01",
M9A3 = "5cadc190ae921500103bb3b6",
@ -146,30 +146,30 @@ export enum Weapons9x19
PP_19_01 = "59984ab886f7743e98271174",
SAIGA_9 = "59f9cabd86f7743a10721f46",
STM_9 = "60339954d62c9b14ed777c06",
VECTOR_9MM = "5fc3f2d5900b1d5091531e57"
VECTOR_9MM = "5fc3f2d5900b1d5091531e57",
}
export enum Weapons9x18
{
{
APB = "5abccb7dd8ce87001773e277",
APS = "5a17f98cfcdbcb0980087290",
APS = "5a17f98cfcdbcb0980087290",
PB_SILENCED = "56e0598dd2720bb5668b45a6",
PM = "5448bd6b4bdc2dfc2f8b4569",
PM_T = "579204f224597773d619e051",
PP9_KLIN = "57f4c844245977379d5c14d1",
PP91_KEDR = "57d14d2524597714373db789",
PP91_KEDRB = "57f3c6bd24597738e730fa2f"
PP91_KEDRB = "57f3c6bd24597738e730fa2f",
}
export enum Weapons762x25
{
{
TT = "571a12c42459771f627b58a0",
TT_GOLD = "5b3b713c5acfc4330140bd8d",
PPSH_41 = "5ea03f7400685063ec28bfa8"
PPSH_41 = "5ea03f7400685063ec28bfa8",
}
export enum Weapons12Gauge
{
{
M3_SUPER90 = "6259b864ebedf17603599e88",
M590A1 = "5e870397991fd70db46995c8",
M870 = "5a7828548dc32e5a9c28b516",
@ -178,15 +178,15 @@ export enum Weapons12Gauge
MP_155 = "606dae0ab0e443224b421bb7",
MP_43_1C = "5580223e4bdc2d1c128b457f",
MTS_255_12 = "60db29ce99594040e04c4a27",
SAIGA_12GA = "576165642459773c7a400233"
SAIGA_12GA = "576165642459773c7a400233",
}
export enum Weapons20Gauge
{
TOZ_106 = "5a38e6bac4a2826c6e06d79b"
{
TOZ_106 = "5a38e6bac4a2826c6e06d79b",
}
export enum Weapons23x75
{
KS_23M = "5e848cc2988a8701445df1e8"
{
KS_23M = "5e848cc2988a8701445df1e8",
}

View File

@ -1,5 +1,5 @@
export enum WeatherType
{
{
CLEAR_DAY = 0,
CLEAR_WIND = 1,
CLEAR_NIGHT = 2,
@ -16,5 +16,5 @@ export enum WeatherType
CLOUD_WIND_RAIN = 13,
FULL_CLOUD = 14,
THUNDER_CLOUD = 15,
NONE = 16
}
NONE = 16,
}

View File

@ -1,5 +1,5 @@
export enum WildSpawnTypeNumber
{
{
MARKSMAN = 0,
ASSAULT = 1,
BOSSTEST = 2,
@ -41,5 +41,5 @@ export enum WildSpawnTypeNumber
SECTACTPRIESTEVENT = 39,
RAVANGEZRYACHIYEVENT = 40,
SPTUSEC = 41,
SPTBEAR = 42
}
SPTBEAR = 42,
}

View File

@ -1,5 +1,5 @@
export enum WindDirection
{
{
EAST = 1,
NORTH = 2,
WEST = 3,
@ -7,5 +7,5 @@ export enum WindDirection
SE = 5,
SW = 6,
NW = 7,
NE = 8
}
NE = 8,
}

View File

@ -13,7 +13,7 @@ export type HandleFn = (_: string, req: IncomingMessage, resp: ServerResponse) =
*/
export const Listen = (basePath: string) =>
{
return <T extends { new(...args: any[]): any }>(Base: T): T =>
return <T extends {new(...args: any[]): any;}>(Base: T): T =>
{
// Used for the base class to be able to use DI
injectable()(Base);
@ -29,16 +29,25 @@ export const Listen = (basePath: string) =>
// Retrieve all handlers
const handlersArray = Base.prototype["handlers"];
if (!handlersArray) return;
if (!handlersArray)
{
return;
}
// Add each flagged handler to the Record
for (const { handlerName, path, httpMethod } of handlersArray)
for (const {handlerName, path, httpMethod} of handlersArray)
{
if (!this.handlers[httpMethod]) this.handlers[httpMethod] = {};
if (!this.handlers[httpMethod])
{
this.handlers[httpMethod] = {};
}
if (this[handlerName] !== undefined && typeof this[handlerName] === "function")
{
if (!path || path === "") this.handlers[httpMethod][`/${basePath}`] = this[handlerName];
if (!path || path === "")
{
this.handlers[httpMethod][`/${basePath}`] = this[handlerName];
}
this.handlers[httpMethod][`/${basePath}/${path}`] = this[handlerName];
}
}
@ -53,14 +62,17 @@ export const Listen = (basePath: string) =>
{
const routesHandles = this.handlers[req.method];
return Object.keys(this.handlers).some(meth => meth === req.method) &&
Object.keys(routesHandles).some(route => (new RegExp(route)).test(req.url));
return Object.keys(this.handlers).some((meth) => meth === req.method) &&
Object.keys(routesHandles).some((route) => (new RegExp(route)).test(req.url));
};
// The actual handle method dispatches the request to the registered handlers
handle = (sessionID: string, req: IncomingMessage, resp: ServerResponse): void =>
{
if (Object.keys(this.handlers).length === 0) return;
if (Object.keys(this.handlers).length === 0)
{
return;
}
// Get all routes for the HTTP method and sort them so that
// The more precise is selected (eg. "/test/A" is selected over "/test")
@ -70,8 +82,11 @@ export const Listen = (basePath: string) =>
routes.sort((routeA, routeB) => routeB.length - routeA.length);
// Filter to select valid routes but only use the first element since it's the most precise
const validRoutes = routes.filter(handlerKey => (new RegExp(handlerKey)).test(route));
if (validRoutes.length > 0) routesHandles[validRoutes[0]](sessionID, req, resp);
const validRoutes = routes.filter((handlerKey) => (new RegExp(handlerKey)).test(route));
if (validRoutes.length > 0)
{
routesHandles[validRoutes[0]](sessionID, req, resp);
}
};
};
};
@ -90,13 +105,16 @@ const createHttpDecorator = (httpMethod: HttpMethods) =>
return (target: any, propertyKey: string) =>
{
// If the handlers array has not been initialized yet
if (!target["handlers"]) target["handlers"] = [];
if (!target["handlers"])
{
target["handlers"] = [];
}
// Flag the method as a HTTP handler
target["handlers"].push({
handlerName: propertyKey,
path,
httpMethod
httpMethod,
});
};
};
@ -130,4 +148,4 @@ export const Post = createHttpDecorator(HttpMethods.POST);
/**
* HTTP PUT decorator
*/
export const Put = createHttpDecorator(HttpMethods.PUT);
export const Put = createHttpDecorator(HttpMethods.PUT);

View File

@ -3,4 +3,4 @@ import type { DependencyContainer } from "tsyringe";
export interface IPostAkiLoadMod
{
postAkiLoad(container: DependencyContainer): void;
}
}

View File

@ -3,4 +3,4 @@ import type { DependencyContainer } from "tsyringe";
export interface IPostAkiLoadModAsync
{
postAkiLoadAsync(container: DependencyContainer): Promise<void>;
}
}

View File

@ -3,4 +3,4 @@ import type { DependencyContainer } from "tsyringe";
export interface IPostDBLoadMod
{
postDBLoad(container: DependencyContainer): void;
}
}

View File

@ -3,4 +3,4 @@ import type { DependencyContainer } from "tsyringe";
export interface IPostDBLoadModAsync
{
postDBLoadAsync(container: DependencyContainer): Promise<void>;
}
}

View File

@ -3,4 +3,4 @@ import type { DependencyContainer } from "tsyringe";
export interface IPreAkiLoadMod
{
preAkiLoad(container: DependencyContainer): void;
}
}

View File

@ -3,4 +3,4 @@ import type { DependencyContainer } from "tsyringe";
export interface IPreAkiLoadModAsync
{
preAkiLoadAsync(container: DependencyContainer): Promise<void>;
}
}

View File

@ -1,4 +1,4 @@
export interface IRoute
{
aki: any
}
aki: any;
}

View File

@ -1,20 +1,20 @@
export interface BotGenerationDetails
{
/** Should the bot be generated as a PMC */
isPmc: boolean
isPmc: boolean;
/** assault/pmcBot etc */
role: string
role: string;
/** Side of bot */
side: string
side: string;
/** Active players current level */
playerLevel: number
playerLevel: number;
/** Delta of highest level of bot */
botRelativeLevelDeltaMax: number
botRelativeLevelDeltaMax: number;
/** How many to create and store */
botCountToGenerate: number
botCountToGenerate: number;
/** Desired difficulty of the bot */
botDifficulty: string
botDifficulty: string;
/** Will the generated bot be a player scav */
isPlayerScav: boolean
eventRole?: string
}
isPlayerScav: boolean;
eventRole?: string;
}

View File

@ -9,4 +9,4 @@ export class GenerateWeaponResult
chosenUbglAmmoTpl: string;
weaponMods: Mods;
weaponTemplate: ITemplateItem;
}
}

View File

@ -2,20 +2,20 @@ import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem";
export interface IBotLootCache
{
backpackLoot: ITemplateItem[]
pocketLoot: ITemplateItem[]
vestLoot: ITemplateItem[]
combinedPoolLoot: ITemplateItem[]
backpackLoot: ITemplateItem[];
pocketLoot: ITemplateItem[];
vestLoot: ITemplateItem[];
combinedPoolLoot: ITemplateItem[];
specialItems: ITemplateItem[]
healingItems: ITemplateItem[]
drugItems: ITemplateItem[]
stimItems: ITemplateItem[]
grenadeItems: ITemplateItem[]
specialItems: ITemplateItem[];
healingItems: ITemplateItem[];
drugItems: ITemplateItem[];
stimItems: ITemplateItem[];
grenadeItems: ITemplateItem[];
}
export enum LootCacheType
{
{
SPECIAL = "Special",
BACKPACK = "Backpack",
POCKET = "Pocket",
@ -24,6 +24,5 @@ export enum LootCacheType
HEALING_ITEMS = "HealingItems",
DRUG_ITEMS = "DrugItems",
STIM_ITEMS = "StimItems",
GRENADE_ITEMS = "GrenadeItems"
}
GRENADE_ITEMS = "GrenadeItems",
}

View File

@ -1,6 +1,6 @@
export interface IBundleCallbacks
{
sendBundle(sessionID: string, req: any, resp: any, body: any): any
getBundles(url: string, info: any, sessionID: string): string
getBundle(url: string, info: any, sessionID: string): string
sendBundle(sessionID: string, req: any, resp: any, body: any): any;
getBundles(url: string, info: any, sessionID: string): string;
getBundle(url: string, info: any, sessionID: string): string;
}

View File

@ -11,4 +11,4 @@ export interface ICustomizationCallbacks
getTraderSuits(url: string, info: any, sessionID: string): IGetBodyResponseData<ISuit[]>;
wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse;
buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse;
}
}

View File

@ -15,11 +15,27 @@ export interface IDataCallbacks
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
getHideoutSettings(
url: string,
info: IEmptyRequestData,
sessionID: string,
): IGetBodyResponseData<IHideoutSettingsBase>;
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, string>>;
gethideoutProduction(
url: string,
info: IEmptyRequestData,
sessionID: string,
): IGetBodyResponseData<IHideoutProduction[]>;
getHideoutScavcase(
url: string,
info: IEmptyRequestData,
sessionID: string,
): IGetBodyResponseData<IHideoutScavCase[]>;
getLocalesLanguages(
url: string,
info: IEmptyRequestData,
sessionID: string,
): IGetBodyResponseData<Record<string, string>>;
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
}

View File

@ -18,16 +18,32 @@ import { DialogueInfo } from "@spt-aki/models/eft/profile/IAkiProfile";
export interface IDialogueCallbacks
{
getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetFriendListDataResponse>;
getFriendList(
url: string,
info: IEmptyRequestData,
sessionID: string,
): IGetBodyResponseData<IGetFriendListDataResponse>;
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<any[]>;
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
getMailDialogList(
url: string,
info: IGetMailDialogListRequestData,
sessionID: string,
): IGetBodyResponseData<DialogueInfo[]>;
getMailDialogView(
url: string,
info: IGetMailDialogViewRequestData,
sessionID: string,
): IGetBodyResponseData<IGetMailDialogViewResponseData>;
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<any>;
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
setRead(url: string, info: ISetDialogReadRequestData, sessionID: string): IGetBodyResponseData<any[]>;
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
getAllAttachments(
url: string,
info: IGetAllAttachmentsRequestData,
sessionID: string,
): IGetBodyResponseData<IGetAllAttachmentsResponse>;
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
sendFriendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;

View File

@ -10,7 +10,11 @@ export interface IGameCallbacks
versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData;
gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
gameLogout(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
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<any>;
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;

View File

@ -13,13 +13,41 @@ import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEve
export interface IHideoutCallbacks
{
upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse;
upgradeComplete(pmcData: IPmcData, body: IHideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse;
putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse;
takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse;
upgradeComplete(
pmcData: IPmcData,
body: IHideoutUpgradeCompleteRequestData,
sessionID: string,
): IItemEventRouterResponse;
putItemsInAreaSlots(
pmcData: IPmcData,
body: IHideoutPutItemInRequestData,
sessionID: string,
): IItemEventRouterResponse;
takeItemsFromAreaSlots(
pmcData: IPmcData,
body: IHideoutTakeItemOutRequestData,
sessionID: string,
): IItemEventRouterResponse;
toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse;
singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse;
continuousProductionStart(pmcData: IPmcData, body: IHideoutContinuousProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse;
singleProductionStart(
pmcData: IPmcData,
body: IHideoutSingleProductionStartRequestData,
sessionID: string,
): IItemEventRouterResponse;
scavCaseProductionStart(
pmcData: IPmcData,
body: IHideoutScavCaseStartRequestData,
sessionID: string,
): IItemEventRouterResponse;
continuousProductionStart(
pmcData: IPmcData,
body: IHideoutContinuousProductionStartRequestData,
sessionID: string,
): IItemEventRouterResponse;
takeProduction(
pmcData: IPmcData,
body: IHideoutTakeProductionRequestData,
sessionID: string,
): IItemEventRouterResponse;
update(timeSinceLastRun: number): boolean;
}
}

View File

@ -30,9 +30,25 @@ export interface IInventoryCallbacks
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse;
readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse;
readEncyclopedia(
pmcData: IPmcData,
body: IInventoryReadEncyclopediaRequestData,
sessionID: string,
): IItemEventRouterResponse;
sortInventory(pmcData: IPmcData, body: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse;
createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse;
deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse;
editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse;
createMapMarker(
pmcData: IPmcData,
body: IInventoryCreateMarkerRequestData,
sessionID: string,
): IItemEventRouterResponse;
deleteMapMarker(
pmcData: IPmcData,
body: IInventoryDeleteMarkerRequestData,
sessionID: string,
): IItemEventRouterResponse;
editMapMarker(
pmcData: IPmcData,
body: IInventoryEditMarkerRequestData,
sessionID: string,
): IItemEventRouterResponse;
}

View File

@ -4,5 +4,9 @@ import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEve
export interface IItemEventCallbacks
{
handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData<IItemEventRouterResponse>;
handleEvents(
url: string,
info: IItemEventRouterRequest,
sessionID: string,
): IGetBodyResponseData<IItemEventRouterResponse>;
}

View File

@ -13,7 +13,11 @@ export interface INotifierCallbacks
*/
sendNotification(sessionID: string, req: any, resp: any, data: any): void;
getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData<any[]>;
createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<INotifierChannel>;
createNotifierChannel(
url: string,
info: IEmptyRequestData,
sessionID: string,
): IGetBodyResponseData<INotifierChannel>;
selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData<any>;
notify(url: string, info: any, sessionID: string): string;
}
}

View File

@ -7,8 +7,24 @@ import { IWeaponBuild } from "@spt-aki/models/eft/profile/IAkiProfile";
export interface IPresetBuildCallbacks
{
getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData<IWeaponBuild[]>;
saveWeaponBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
removeWeaponBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
saveEquipmentBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
removeEquipmentBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
saveWeaponBuild(
pmcData: IPmcData,
body: IPresetBuildActionRequestData,
sessionID: string,
): IItemEventRouterResponse;
removeWeaponBuild(
pmcData: IPmcData,
body: IPresetBuildActionRequestData,
sessionID: string,
): IItemEventRouterResponse;
saveEquipmentBuild(
pmcData: IPmcData,
body: IPresetBuildActionRequestData,
sessionID: string,
): IItemEventRouterResponse;
removeEquipmentBuild(
pmcData: IPmcData,
body: IPresetBuildActionRequestData,
sessionID: string,
): IItemEventRouterResponse;
}

View File

@ -19,5 +19,9 @@ export interface IProfileCallbacks
validateNickname(url: string, info: IValidateNicknameRequestData, sessionID: string): IGetBodyResponseData<any>;
getReservedNickname(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string>;
getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData<ISearchFriendResponse>;
searchFriend(
url: string,
info: ISearchFriendRequestData,
sessionID: string,
): IGetBodyResponseData<ISearchFriendResponse>;
}

View File

@ -12,10 +12,18 @@ import { IRepeatableQuestChangeRequest } from "@spt-aki/models/eft/quests/IRepea
export interface IQuestCallbacks
{
changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
changeRepeatableQuest(
pmcData: IPmcData,
body: IRepeatableQuestChangeRequest,
sessionID: string,
): IItemEventRouterResponse;
acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;
completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse;
handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse;
listQuests(url: string, info: IListQuestsRequestData, sessionID: string): IGetBodyResponseData<IQuest[]>;
activityPeriods(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IPmcDataRepeatableQuest[]>;
activityPeriods(
url: string,
info: IEmptyRequestData,
sessionID: string,
): IGetBodyResponseData<IPmcDataRepeatableQuest[]>;
}

View File

@ -9,11 +9,15 @@ import { IGetMarketPriceRequestData } from "@spt-aki/models/eft/ragfair/IGetMark
import { IRemoveOfferRequestData } from "@spt-aki/models/eft/ragfair/IRemoveOfferRequestData";
import { ISearchRequestData } from "@spt-aki/models/eft/ragfair/ISearchRequestData";
export interface IRagfairCallbacks
export interface IRagfairCallbacks
{
load(): void;
search(url: string, info: ISearchRequestData, sessionID: string): IGetBodyResponseData<any>;
getMarketPrice(url: string, info: IGetMarketPriceRequestData, sessionID: string): IGetBodyResponseData<IGetItemPriceResult>;
getMarketPrice(
url: string,
info: IGetMarketPriceRequestData,
sessionID: string,
): IGetBodyResponseData<IGetItemPriceResult>;
getItemPrices(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
addOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse;
removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -6,5 +6,9 @@ import { IProcessRagfairTradeRequestData } from "@spt-aki/models/eft/trade/IProc
export interface ITradeCallbacks
{
processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse;
processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;
processRagfairTrade(
pmcData: IPmcData,
body: IProcessRagfairTradeRequestData,
sessionID: string,
): IItemEventRouterResponse;
}

View File

@ -1,17 +1,16 @@
/*
* File generated by Interface generator (dotup.dotup-vscode-interface-generator)
* Date: 2022-04-28 14:22:44
*/
* Date: 2022-04-28 14:22:44
*/
import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData";
import { ITraderAssort, ITraderBase } from "@spt-aki/models/eft/common/tables/ITrader";
import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData";
export interface ITraderCallbacks
{
load(): void
getTraderSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderBase[]>
getTrader(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderBase>
getAssort(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderAssort>
update(): boolean
load(): void;
getTraderSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderBase[]>;
getTrader(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderBase>;
getAssort(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderAssort>;
update(): boolean;
}

View File

@ -4,61 +4,60 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IAirdropConfig extends IBaseConfig
{
kind: "aki-airdrop"
airdropChancePercent: AirdropChancePercent
airdropTypeWeightings: Record<AirdropTypeEnum, number>
kind: "aki-airdrop";
airdropChancePercent: AirdropChancePercent;
airdropTypeWeightings: Record<AirdropTypeEnum, number>;
/** Lowest point plane will fly at */
planeMinFlyHeight: number
planeMinFlyHeight: number;
/** Highest point plane will fly at */
planeMaxFlyHeight: number
planeMaxFlyHeight: number;
/** Loudness of plane engine */
planeVolume: number
planeVolume: number;
/** Speed plane flies overhead */
planeSpeed: number
planeSpeed: number;
/** Speed loot crate falls after being dropped */
crateFallSpeed: number
crateFallSpeed: number;
/** Container tpls to use when spawning crate - affects container size, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter */
containerIds: Record<string, string>
containerIds: Record<string, string>;
/** Earliest time aircraft will spawn in raid */
airdropMinStartTimeSeconds: number
airdropMinStartTimeSeconds: number;
/** Latest time aircraft will spawn in raid */
airdropMaxStartTimeSeconds: number
airdropMaxStartTimeSeconds: number;
/** What rewards will the loot crate contain, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter */
loot: Record<string, AirdropLoot>
loot: Record<string, AirdropLoot>;
}
/** Chance map will have an airdrop occur out of 100 - locations not included count as 0% */
export interface AirdropChancePercent
{
bigmap: number
woods: number
lighthouse: number
shoreline: number
interchange: number
reserve: number
tarkovStreets: number
bigmap: number;
woods: number;
lighthouse: number;
shoreline: number;
interchange: number;
reserve: number;
tarkovStreets: number;
}
/** Loot inside crate */
export interface AirdropLoot
{
/** Min/max of weapons inside crate */
presetCount?: MinMax
presetCount?: MinMax;
/** Min/max of items inside crate */
itemCount: MinMax
itemCount: MinMax;
/** Min/max of sealed weapon boxes inside crate */
weaponCrateCount: MinMax
weaponCrateCount: MinMax;
/** Items to never allow - tpls */
itemBlacklist: string[]
itemBlacklist: string[];
/** Item type (parentId) to allow inside crate */
itemTypeWhitelist: string[]
itemTypeWhitelist: string[];
/** Item type/ item tpls to limit count of inside crate - key: item base type: value: max count */
itemLimits: Record<string, number>
itemLimits: Record<string, number>;
/** Items to limit stack size of key: item tpl value: min/max stack size */
itemStackLimits: Record<string, MinMax>
itemStackLimits: Record<string, MinMax>;
/** Armor levels to allow inside crate e.g. [4,5,6] */
armorLevelWhitelist?: number[]
armorLevelWhitelist?: number[];
/** Should boss items be added to airdrop crate */
allowBossItems: boolean;
}

View File

@ -1,4 +1,4 @@
export interface IBaseConfig
{
kind: string
}
kind: string;
}

View File

@ -5,91 +5,91 @@ import { IBotDurability } from "@spt-aki/models/spt/config/IBotDurability";
export interface IBotConfig extends IBaseConfig
{
kind: "aki-bot"
kind: "aki-bot";
/** How many variants of each bot should be generated on raid start */
presetBatch: PresetBatch
presetBatch: PresetBatch;
/** Bot roles that should not have PMC types (sptBear/sptUsec) added as enemies to */
botsToNotAddPMCsAsEnemiesTo: string[]
botsToNotAddPMCsAsEnemiesTo: string[];
/** What bot types should be classified as bosses */
bosses: string[]
bosses: string[];
/** Control weapon/armor durability min/max values for each bot type */
durability: IBotDurability
durability: IBotDurability;
/** Controls the percentage values of randomization item resources */
lootItemResourceRandomization: Record<string, IRandomisedResourceDetails>
lootItemResourceRandomization: Record<string, IRandomisedResourceDetails>;
/** Control the weighting of how expensive an average loot item is on a PMC or Scav */
lootNValue: LootNvalue
lootNValue: LootNvalue;
/** Control what bots are added to a bots revenge list key: bottype, value: bottypes to revenge on seeing their death */
revenge: Record<string, string[]>
revenge: Record<string, string[]>;
/** Control how many items are allowed to spawn on a bot
* key: bottype, value: <key: itemTpl: value: max item count> */
itemSpawnLimits: Record<string, Record<string, number>>
itemSpawnLimits: Record<string, Record<string, number>>;
/** Blacklist/whitelist items on a bot */
equipment: Record<string, EquipmentFilters>
equipment: Record<string, EquipmentFilters>;
/** Show a bots botType value after their name */
showTypeInNickname: boolean
showTypeInNickname: boolean;
/** What ai brain should a normal scav use per map */
assaultBrainType: Record<string, Record<string, number>>
assaultBrainType: Record<string, Record<string, number>>;
/** Max number of bots that can be spawned in a raid at any one time */
maxBotCap: Record<string, number>
maxBotCap: Record<string, number>;
/** Chance scav has fake pscav name e.g. Scav name (player name) */
chanceAssaultScavHasPlayerScavName: number;
/** How many stacks of secret ammo should a bot have in its bot secure container */
secureContainerAmmoStackCount: number
secureContainerAmmoStackCount: number;
}
/** Number of bots to generate and store in cache on raid start per bot type */
export interface PresetBatch
export interface PresetBatch
{
assault: number
bossBully: number
bossGluhar: number
bossKilla: number
bossKojaniy: number
bossSanitar: number
bossTagilla: number
bossKnight: number
bossTest: number
cursedAssault: number
followerBully: number
followerGluharAssault: number
followerGluharScout: number
followerGluharSecurity: number
followerGluharSnipe: number
followerKojaniy: number
followerSanitar: number
followerTagilla: number
followerBirdEye: number
followerBigPipe: number
followerTest: number,
followerBoar: number
marksman: number
pmcBot: number
sectantPriest: number
sectantWarrior: number
gifter: number
test: number
exUsec: number,
arenaFighterEvent: number,
arenaFighter: number,
crazyAssaultEvent: number,
bossBoar: number,
bossBoarSniper: number,
sptUsec: number,
sptBear: number
assault: number;
bossBully: number;
bossGluhar: number;
bossKilla: number;
bossKojaniy: number;
bossSanitar: number;
bossTagilla: number;
bossKnight: number;
bossTest: number;
cursedAssault: number;
followerBully: number;
followerGluharAssault: number;
followerGluharScout: number;
followerGluharSecurity: number;
followerGluharSnipe: number;
followerKojaniy: number;
followerSanitar: number;
followerTagilla: number;
followerBirdEye: number;
followerBigPipe: number;
followerTest: number;
followerBoar: number;
marksman: number;
pmcBot: number;
sectantPriest: number;
sectantWarrior: number;
gifter: number;
test: number;
exUsec: number;
arenaFighterEvent: number;
arenaFighter: number;
crazyAssaultEvent: number;
bossBoar: number;
bossBoarSniper: number;
sptUsec: number;
sptBear: number;
}
export interface LootNvalue
export interface LootNvalue
{
scav: number
pmc: number
scav: number;
pmc: number;
}
export interface EquipmentFilters
{
/** Limits for mod types per weapon .e.g. scopes */
weaponModLimits: ModLimits
weaponModLimits: ModLimits;
/** Whitelist for weapon sight types allowed per gun */
weaponSightWhitelist: Record<string, string[]>
weaponSightWhitelist: Record<string, string[]>;
/** Chance face shield is down/active */
faceShieldIsActiveChancePercent?: number;
/** Chance gun flashlight is active during the day */
@ -103,79 +103,79 @@ export interface EquipmentFilters
/** Chance NODS are down/active during the night */
nvgIsActiveChanceNightPercent?: number;
/** Adjust weighting/chances of items on bot by level of bot */
randomisation: RandomisationDetails[]
randomisation: RandomisationDetails[];
/** Blacklist equipment by level of bot */
blacklist: EquipmentFilterDetails[]
blacklist: EquipmentFilterDetails[];
/** Whitelist equipment by level of bot */
whitelist: EquipmentFilterDetails[]
whitelist: EquipmentFilterDetails[];
/** Adjust equipment/ammo */
weightingAdjustmentsByBotLevel: WeightingAdjustmentDetails[]
weightingAdjustmentsByBotLevel: WeightingAdjustmentDetails[];
/** Same as weightingAdjustments but based on player level instead of bot level */
weightingAdjustmentsByPlayerLevel?: WeightingAdjustmentDetails[]
weightingAdjustmentsByPlayerLevel?: WeightingAdjustmentDetails[];
/** Should the stock mod be forced to spawn on bot */
forceStock: boolean
forceStock: boolean;
}
export interface ModLimits
{
/** How many scopes are allowed on a weapon - hard coded to work with OPTIC_SCOPE, ASSAULT_SCOPE, COLLIMATOR, COMPACT_COLLIMATOR */
scopeLimit?: number
scopeLimit?: number;
/** How many lasers or lights are allowed on a weapon - hard coded to work with TACTICAL_COMBO, and FLASHLIGHT */
lightLaserLimit?: number
lightLaserLimit?: number;
}
export interface RandomisationDetails
{
/** Between what levels do these randomisation setting apply to */
levelRange: MinMax
generation?: Record<string, GenerationData>
levelRange: MinMax;
generation?: Record<string, GenerationData>;
/** Mod slots that should be fully randomisate -ignores mods from bottype.json */
randomisedWeaponModSlots?: string[]
randomisedWeaponModSlots?: string[];
/** Armor slots that should be randomised e.g. 'Headwear, Armband' */
randomisedArmorSlots?: string[]
randomisedArmorSlots?: string[];
/** Equipment chances */
equipment?: Record<string, number>
equipment?: Record<string, number>;
/** Mod chances */
mods?: Record<string, number>
mods?: Record<string, number>;
}
export interface EquipmentFilterDetails
{
/** Between what levels do these equipment filter setting apply to */
levelRange: MinMax
levelRange: MinMax;
/** Key: mod slot name e.g. mod_magazine, value: item tpls */
equipment: Record<string, string[]>
equipment: Record<string, string[]>;
/** Key: cartridge type e.g. Caliber23x75, value: item tpls */
cartridge: Record<string, string[]>
cartridge: Record<string, string[]>;
}
export interface WeightingAdjustmentDetails
{
/** Between what levels do these weight settings apply to */
levelRange: MinMax
levelRange: MinMax;
/** Key: ammo type e.g. Caliber556x45NATO, value: item tpl + weight */
ammo?: AdjustmentDetails
ammo?: AdjustmentDetails;
/** Key: equipment slot e.g. TacticalVest, value: item tpl + weight */
equipment?: AdjustmentDetails
equipment?: AdjustmentDetails;
/** Key: clothing slot e.g. feet, value: item tpl + weight */
clothing?: AdjustmentDetails
clothing?: AdjustmentDetails;
}
export interface AdjustmentDetails
{
add: Record<string, Record<string, number>>
edit: Record<string, Record<string, number>>
add: Record<string, Record<string, number>>;
edit: Record<string, Record<string, number>>;
}
export interface IRandomisedResourceDetails
{
food: IRandomisedResourceValues
meds: IRandomisedResourceValues
food: IRandomisedResourceValues;
meds: IRandomisedResourceValues;
}
export interface IRandomisedResourceValues
{
/** Minimum percent of item to randomized between min and max resource*/
resourcePercent: number
resourcePercent: number;
/** Chance for randomization to not occur */
chanceMaxResourcePercent: number
chanceMaxResourcePercent: number;
}

View File

@ -1,61 +1,61 @@
export interface IBotDurability
export interface IBotDurability
{
default: DefaultDurability
pmc: PmcDurability
boss: BotDurability
follower: BotDurability
assault: BotDurability
cursedassault: BotDurability
marksman: BotDurability
pmcbot: BotDurability
arenafighterevent: BotDurability
arenafighter: BotDurability
crazyassaultevent: BotDurability
exusec: BotDurability
gifter: BotDurability
sectantpriest: BotDurability
sectantwarrior: BotDurability
default: DefaultDurability;
pmc: PmcDurability;
boss: BotDurability;
follower: BotDurability;
assault: BotDurability;
cursedassault: BotDurability;
marksman: BotDurability;
pmcbot: BotDurability;
arenafighterevent: BotDurability;
arenafighter: BotDurability;
crazyassaultevent: BotDurability;
exusec: BotDurability;
gifter: BotDurability;
sectantpriest: BotDurability;
sectantwarrior: BotDurability;
}
/** Durability values to be used when a more specific bot type cant be found */
export interface DefaultDurability
export interface DefaultDurability
{
armor: ArmorDurability
weapon: WeaponDurability
armor: ArmorDurability;
weapon: WeaponDurability;
}
export interface PmcDurability
export interface PmcDurability
{
armor: PmcDurabilityArmor
weapon: WeaponDurability
armor: PmcDurabilityArmor;
weapon: WeaponDurability;
}
export interface PmcDurabilityArmor
export interface PmcDurabilityArmor
{
lowestMaxPercent: number
highestMaxPercent: number
maxDelta: number
minDelta: number
lowestMaxPercent: number;
highestMaxPercent: number;
maxDelta: number;
minDelta: number;
}
export interface BotDurability
export interface BotDurability
{
armor: ArmorDurability
weapon: WeaponDurability
armor: ArmorDurability;
weapon: WeaponDurability;
}
export interface ArmorDurability
export interface ArmorDurability
{
maxDelta: number
minDelta: number
minLimitPercent: number
maxDelta: number;
minDelta: number;
minLimitPercent: number;
}
export interface WeaponDurability
export interface WeaponDurability
{
lowestMax: number
highestMax: number
maxDelta: number
minDelta: number
minLimitPercent: number
}
lowestMax: number;
highestMax: number;
maxDelta: number;
minDelta: number;
minLimitPercent: number;
}

View File

@ -25,8 +25,8 @@ export interface IGameFixes
removeModItemsFromProfile: boolean;
}
export interface IServerFeatures
export interface IServerFeatures
{
/* Controls whether or not the server attempts to download mod dependencies not included in the server's executable */
autoInstallModDependencies: boolean;
}
}

View File

@ -7,26 +7,26 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IGiftsConfig extends IBaseConfig
{
kind: "aki-gifts"
gifts: Record<string, Gift>
kind: "aki-gifts";
gifts: Record<string, Gift>;
}
export interface Gift
{
/** Items to send to player */
items: Item[]
items: Item[];
/** Who is sending the gift to player */
sender: GiftSenderType
sender: GiftSenderType;
/** Optinal - supply a users id to send from, not necessary when sending from SYSTEM or TRADER */
senderId?: string
senderDetails: IUserDialogInfo,
senderId?: string;
senderDetails: IUserDialogInfo;
/** Optional - supply a trader type to send from, not necessary when sending from SYSTEM or USER */
trader?: Traders
messageText: string
trader?: Traders;
messageText: string;
/** Optional - if sending text from the client locale file */
localeTextId?: string
localeTextId?: string;
/** Optional - Used by Seasonal events to send on specific day */
timestampToSend?: number
associatedEvent: SeasonalEventType
collectionTimeHours: number
}
timestampToSend?: number;
associatedEvent: SeasonalEventType;
collectionTimeHours: number;
}

View File

@ -2,19 +2,19 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IHealthConfig extends IBaseConfig
{
kind: "aki-health"
healthMultipliers: HealthMultipliers
save: Save
kind: "aki-health";
healthMultipliers: HealthMultipliers;
save: Save;
}
export interface HealthMultipliers
export interface HealthMultipliers
{
death: number
blacked: number
death: number;
blacked: number;
}
export interface Save
export interface Save
{
health: boolean
effects: boolean
}
health: boolean;
effects: boolean;
}

View File

@ -2,8 +2,8 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IHideoutConfig extends IBaseConfig
{
kind: "aki-hideout"
runIntervalSeconds: number
hoursForSkillCrafting: number
kind: "aki-hideout";
runIntervalSeconds: number;
hoursForSkillCrafting: number;
expCraftAmount: number;
}
}

View File

@ -2,11 +2,11 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IHttpConfig extends IBaseConfig
{
webSocketPingDelayMs: number
kind: "aki-http"
ip: string
port: number
logRequests: boolean
webSocketPingDelayMs: number;
kind: "aki-http";
ip: string;
port: number;
logRequests: boolean;
/** e.g. "Aki_Data/Server/images/traders/579dc571d53a0658a154fbec.png": "Aki_Data/Server/images/traders/NewTraderImage.png" */
serverImagePathOverride: Record<string, string>
}
serverImagePathOverride: Record<string, string>;
}

View File

@ -2,37 +2,37 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IInRaidConfig extends IBaseConfig
{
kind: "aki-inraid"
MIAOnRaidEnd: boolean
kind: "aki-inraid";
MIAOnRaidEnd: boolean;
/** Overrides to apply to the pre-raid settings screen */
raidMenuSettings: RaidMenuSettings
raidMenuSettings: RaidMenuSettings;
/** What effects should be saved post-raid */
save: Save
save: Save;
/** Names of car extracts */
carExtracts: string[]
carExtracts: string[];
/** Names of coop extracts */
coopExtracts: string[]
coopExtracts: string[];
/** Fene rep gain from a single car extract */
carExtractBaseStandingGain: number
carExtractBaseStandingGain: number;
/** Fence rep gain when successfully extracting as pscav */
scavExtractGain: number
scavExtractGain: number;
/** On death should items in your secure keep their Find in raid status regardless of how you finished the raid */
keepFiRSecureContainerOnDeath: boolean
keepFiRSecureContainerOnDeath: boolean;
}
export interface RaidMenuSettings
export interface RaidMenuSettings
{
aiAmount: string
aiDifficulty: string
bossEnabled: boolean
scavWars: boolean
taggedAndCursed: boolean
enablePve: boolean
aiAmount: string;
aiDifficulty: string;
bossEnabled: boolean;
scavWars: boolean;
taggedAndCursed: boolean;
enablePve: boolean;
}
export interface Save
export interface Save
{
/** Should loot gained from raid be saved */
loot: boolean
durability: boolean
}
loot: boolean;
durability: boolean;
}

View File

@ -2,15 +2,15 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IInsuranceConfig extends IBaseConfig
{
kind: "aki-insurance"
kind: "aki-insurance";
/** Insurance price multiplier */
insuranceMultiplier: Record<string, number>
insuranceMultiplier: Record<string, number>;
/** Chance item is returned as insurance, keyed by trader id */
returnChancePercent: Record<string, number>
returnChancePercent: Record<string, number>;
/** Item slots that should never be returned as insurance */
blacklistedEquipment: string[]
blacklistedEquipment: string[];
/** Override to control how quickly insurance is processed/returned in second */
returnTimeOverrideSeconds: number
returnTimeOverrideSeconds: number;
/** How often server should process insurance in seconds */
runIntervalSeconds: number
runIntervalSeconds: number;
}

View File

@ -3,31 +3,31 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IInventoryConfig extends IBaseConfig
{
kind: "aki-inventory"
kind: "aki-inventory";
/** Should new items purchased by flagged as found in raid */
newItemsMarkedFound: boolean
randomLootContainers: Record<string, RewardDetails>
sealedAirdropContainer: ISealedAirdropContainerSettings
newItemsMarkedFound: boolean;
randomLootContainers: Record<string, RewardDetails>;
sealedAirdropContainer: ISealedAirdropContainerSettings;
/** Contains item tpls that the server should consider money and treat the same as roubles/euros/dollars */
customMoneyTpls: string[]
customMoneyTpls: string[];
}
export interface RewardDetails
{
rewardCount: number
foundInRaid: boolean
rewardTplPool?: Record<string, number>
rewardTypePool?: Record<string, number>
rewardCount: number;
foundInRaid: boolean;
rewardTplPool?: Record<string, number>;
rewardTypePool?: Record<string, number>;
}
export interface ISealedAirdropContainerSettings
{
weaponRewardWeight: Record<string, number>
defaultPresetsOnly: boolean
weaponRewardWeight: Record<string, number>;
defaultPresetsOnly: boolean;
/** Should contents be flagged as found in raid when opened */
foundInRaid: boolean;
weaponModRewardLimits: Record<string, MinMax>
rewardTypeLimits: Record<string, MinMax>
ammoBoxWhitelist: string[]
allowBossItems: boolean
}
weaponModRewardLimits: Record<string, MinMax>;
rewardTypeLimits: Record<string, MinMax>;
ammoBoxWhitelist: string[];
allowBossItems: boolean;
}

View File

@ -2,9 +2,9 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IItemConfig extends IBaseConfig
{
kind: "aki-item"
kind: "aki-item";
/** Items that should be globally blacklisted */
blacklist: string[],
blacklist: string[];
/** Items that can only be found on bosses */
bossItems: string[]
}
bossItems: string[];
}

View File

@ -2,11 +2,11 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface ILocaleConfig extends IBaseConfig
{
kind: "aki-locale"
kind: "aki-locale";
/** e.g. ru/en/cn/fr etc, or 'system', will take computer locale setting */
gameLocale: string
gameLocale: string;
/** e.g. ru/en/cn/fr etc, or 'system', will take computer locale setting */
serverLocale: string
serverLocale: string;
/** Languages server can be translated into */
serverSupportedLocales: string[]
serverSupportedLocales: string[];
}

View File

@ -4,103 +4,103 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface ILocationConfig extends IBaseConfig
{
kind: "aki-location"
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
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
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
customWaves: CustomWaves;
/** Open zones to add to map */
openZones: Record<string, string[]>
openZones: Record<string, string[]>;
/** 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;
/** Add all possible zones to each maps `OpenZones` property */
addOpenZonesToAllMaps: boolean
addOpenZonesToAllMaps: boolean;
/** Allow addition of custom bot waves designed by SPT to be added to maps - defined in configs/location.json.customWaves*/
addCustomBotWavesToMaps: boolean
addCustomBotWavesToMaps: boolean;
/** Should the limits defined inside botTypeLimits to appled to locations on game start */
enableBotTypeLimits: boolean
enableBotTypeLimits: boolean;
/** Add limits to a locations base.MinMaxBots array if enableBotTypeLimits is true*/
botTypeLimits: Record<string, IBotTypeLimit[]>
botTypeLimits: Record<string, IBotTypeLimit[]>;
/** container randomisation settings */
containerRandomisationSettings: IContainerRandomistionSettings;
/** How full must a random loose magazine be %*/
minFillLooseMagazinePercent: number
minFillLooseMagazinePercent: number;
/** How full must a random static magazine be %*/
minFillStaticMagazinePercent: number
allowDuplicateItemsInStaticContainers: boolean
minFillStaticMagazinePercent: number;
allowDuplicateItemsInStaticContainers: boolean;
/** Key: map, value: loose loot ids to ignore */
looseLootBlacklist: Record<string, string[]>
looseLootBlacklist: Record<string, string[]>;
}
export interface IContainerRandomistionSettings
{
enabled: boolean
enabled: boolean;
/** What maps can use the container randomisation feature */
maps: Record<string, boolean>
maps: Record<string, boolean>;
/** Some container types don't work when randomised */
containerTypesToNotRandomise: string[]
containerGroupMinSizeMultiplier: number
containerGroupMaxSizeMultiplier: number
containerTypesToNotRandomise: string[];
containerGroupMinSizeMultiplier: number;
containerGroupMaxSizeMultiplier: number;
}
export interface IFixEmptyBotWavesSettings
{
enabled: boolean,
enabled: boolean;
ignoreMaps: string[];
}
export interface IRogueLighthouseSpawnTimeSettings
{
enabled: boolean
waitTimeSeconds: number
enabled: boolean;
waitTimeSeconds: number;
}
export interface ISplitWaveSettings
{
enabled: boolean
enabled: boolean;
ignoreMaps: string[];
waveSizeThreshold: number
waveSizeThreshold: number;
}
export interface CustomWaves
{
/** Bosses spawn on raid start */
boss: Record<string, BossLocationSpawn[]>
normal: Record<string, Wave[]>
boss: Record<string, BossLocationSpawn[]>;
normal: Record<string, Wave[]>;
}
export interface IBotTypeLimit extends MinMax
{
type: string
type: string;
}
/** Multiplier to apply to the loot count for a given map */
export interface LootMultiplier
export interface LootMultiplier
{
bigmap: number
develop: number
bigmap: number;
develop: number;
// eslint-disable-next-line @typescript-eslint/naming-convention
factory4_day: number
factory4_day: number;
// eslint-disable-next-line @typescript-eslint/naming-convention
factory4_night: number
interchange: number
laboratory: number
rezervbase: number
shoreline: number
woods: number
hideout: number
lighthouse: number
privatearea: number
suburbs: number
tarkovstreets: number
terminal: number
town: number
factory4_night: number;
interchange: number;
laboratory: number;
rezervbase: number;
shoreline: number;
woods: number;
hideout: number;
lighthouse: number;
privatearea: number;
suburbs: number;
tarkovstreets: number;
terminal: number;
town: number;
}

View File

@ -3,9 +3,9 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface ILootConfig extends IBaseConfig
{
kind: "aki-loot"
kind: "aki-loot";
/** Spawn positions to add into a map, key=mapid */
looseLoot: Record<string, Spawnpoint[]>
looseLoot: Record<string, Spawnpoint[]>;
/** Loose loot probability adjustments to apply on game start */
looseLootSpawnPointAdjustments: Record<string, Record<string, number>>;
}
}

View File

@ -2,27 +2,27 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface ILostOnDeathConfig extends IBaseConfig
{
kind: "aki-lostondeath"
kind: "aki-lostondeath";
/** What equipment in each slot should be lost on death */
equipment: Equipment
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
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
}
ArmBand: boolean;
Headwear: boolean;
Earpiece: boolean;
FaceCover: boolean;
ArmorVest: boolean;
Eyewear: boolean;
TacticalVest: boolean;
Backpack: boolean;
Holster: boolean;
FirstPrimaryWeapon: boolean;
SecondPrimaryWeapon: boolean;
Scabbard: boolean;
}

View File

@ -2,6 +2,6 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IMatchConfig extends IBaseConfig
{
kind: "aki-match"
enabled: boolean
}
kind: "aki-match";
enabled: boolean;
}

View File

@ -3,31 +3,31 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IPlayerScavConfig extends IBaseConfig
{
kind: "aki-playerscav"
karmaLevel: Record<string, KarmaLevel>
kind: "aki-playerscav";
karmaLevel: Record<string, KarmaLevel>;
}
export interface KarmaLevel
{
botTypeForLoot: string
modifiers: Modifiers
itemLimits: ItemLimits
equipmentBlacklist: Record<string, string[]>
labsAccessCardChancePercent: number
botTypeForLoot: string;
modifiers: Modifiers;
itemLimits: ItemLimits;
equipmentBlacklist: Record<string, string[]>;
labsAccessCardChancePercent: number;
}
export interface Modifiers
{
equipment: Record<string, number>
mod: Record<string, number>
equipment: Record<string, number>;
mod: Record<string, number>;
}
export interface ItemLimits
{
healing: GenerationData
drugs: GenerationData
stims: GenerationData
looseLoot: GenerationData
magazines: GenerationData
grenades: GenerationData
healing: GenerationData;
drugs: GenerationData;
stims: GenerationData;
looseLoot: GenerationData;
magazines: GenerationData;
grenades: GenerationData;
}

View File

@ -2,16 +2,16 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IPmcChatResponse extends IBaseConfig
{
kind: "aki-pmcchatresponse"
victim: IResponseSettings
killer: IResponseSettings
kind: "aki-pmcchatresponse";
victim: IResponseSettings;
killer: IResponseSettings;
}
export interface IResponseSettings
{
responseChancePercent: number
responseTypeWeights: Record<string, number>
stripCapitalisationChancePercent: number
responseChancePercent: number;
responseTypeWeights: Record<string, number>;
stripCapitalisationChancePercent: number;
allCapsChancePercent: number;
appendBroToMessageEndChancePercent: number;
}
}

View File

@ -4,66 +4,66 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IPmcConfig extends IBaseConfig
{
kind: "aki-pmc"
kind: "aki-pmc";
/** What game version should the PMC have */
gameVersionWeight: Record<string, number>
gameVersionWeight: Record<string, number>;
/** What account type should the PMC have */
accountTypeWeight: Record<MemberCategory, number>
accountTypeWeight: Record<MemberCategory, number>;
/** Global whitelist/blacklist of vest loot for PMCs */
vestLoot: SlotLootSettings
vestLoot: SlotLootSettings;
/** Global whitelist/blacklist of pocket loot for PMCs */
pocketLoot: SlotLootSettings
pocketLoot: SlotLootSettings;
/** Global whitelist/blacklist of backpack loot for PMCs */
backpackLoot: SlotLootSettings
dynamicLoot: DynamicLoot
backpackLoot: SlotLootSettings;
dynamicLoot: DynamicLoot;
/** Use difficulty defined in config/bot.json/difficulty instead of chosen difficulty dropdown value */
useDifficultyOverride: boolean
useDifficultyOverride: boolean;
/** Difficulty override e.g. "AsOnline/Hard" */
difficulty: string
difficulty: string;
/** Chance out of 100 to have a complete gun in backpack */
looseWeaponInBackpackChancePercent: number
looseWeaponInBackpackChancePercent: number;
/** Chance out of 100 to have an enhancement applied to PMC weapon */
weaponHasEnhancementChancePercent: number
weaponHasEnhancementChancePercent: number;
/** MinMax count of weapons to have in backpack */
looseWeaponInBackpackLootMinMax: MinMax
looseWeaponInBackpackLootMinMax: MinMax;
/** Percentage chance PMC will be USEC */
isUsec: number
isUsec: number;
/** WildSpawnType enum value USEC PMCs use */
usecType: string
usecType: string;
/** WildSpawnType enum value BEAR PMCs use */
bearType: string
chanceSameSideIsHostilePercent: number
bearType: string;
chanceSameSideIsHostilePercent: number;
/** What 'brain' does a PMC use, keyed by map and side (USEC/BEAR) key: map location, value: type for usec/bear */
pmcType: Record<string, Record<string, Record<string, number>>>
maxBackpackLootTotalRub: number
maxPocketLootTotalRub: number
maxVestLootTotalRub: number
pmcType: Record<string, Record<string, Record<string, number>>>;
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<string, MinMax>
convertIntoPmcChance: Record<string, MinMax>;
/** WildSpawnType bots PMCs should see as hostile */
enemyTypes: string[]
enemyTypes: string[];
/** How many levels above player level can a PMC be */
botRelativeLevelDeltaMax: number
botRelativeLevelDeltaMax: number;
/** Force a number of healing items into PMCs secure container to ensure they can heal */
forceHealingItemsIntoSecure: boolean
addPrefixToSameNamePMCAsPlayerChance: number
allPMCsHavePlayerNameWithRandomPrefixChance: number
forceHealingItemsIntoSecure: boolean;
addPrefixToSameNamePMCAsPlayerChance: number;
allPMCsHavePlayerNameWithRandomPrefixChance: number;
}
export interface PmcTypes
{
usec: string
bear: string
usec: string;
bear: string;
}
export interface SlotLootSettings
export interface SlotLootSettings
{
whitelist: string[]
blacklist: string[]
moneyStackLimits: Record<string, number>
whitelist: string[];
blacklist: string[];
moneyStackLimits: Record<string, number>;
}
export interface DynamicLoot
export interface DynamicLoot
{
moneyStackLimits: Record<string, number>
}
moneyStackLimits: Record<string, number>;
}

View File

@ -5,173 +5,173 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IQuestConfig extends IBaseConfig
{
kind: "aki-quest"
kind: "aki-quest";
// Hours to get/redeem items from quest mail
redeemTime: number
questTemplateIds: IPlayerTypeQuestIds
redeemTime: number;
questTemplateIds: IPlayerTypeQuestIds;
/** Show non-seasonal quests be shown to player */
showNonSeasonalEventQuests: boolean
eventQuests: Record<string, IEventQuestData>
repeatableQuests: IRepeatableQuestConfig[]
locationIdMap: Record<string, string>
bearOnlyQuests: string[]
usecOnlyQuests: string[]
showNonSeasonalEventQuests: boolean;
eventQuests: Record<string, IEventQuestData>;
repeatableQuests: IRepeatableQuestConfig[];
locationIdMap: Record<string, string>;
bearOnlyQuests: string[];
usecOnlyQuests: string[];
}
export interface IPlayerTypeQuestIds
{
pmc: IQuestTypeIds
scav: IQuestTypeIds
pmc: IQuestTypeIds;
scav: IQuestTypeIds;
}
export interface IQuestTypeIds
{
Elimination: string
Completion: string
Exploration: string
Elimination: string;
Completion: string;
Exploration: string;
}
export interface IEventQuestData
{
name: string
season: SeasonalEventType
startTimestamp: number
endTimestamp: number
yearly: boolean
name: string;
season: SeasonalEventType;
startTimestamp: number;
endTimestamp: number;
yearly: boolean;
}
export interface IRepeatableQuestConfig
export interface IRepeatableQuestConfig
{
id: string;
name: string
side: string
types: string[]
resetTime: number
numQuests: number
minPlayerLevel: number
rewardScaling: IRewardScaling
locations: Record<ELocationName, string[]>
traderWhitelist: ITraderWhitelist[]
questConfig: IRepeatableQuestTypesConfig
name: string;
side: string;
types: string[];
resetTime: number;
numQuests: number;
minPlayerLevel: number;
rewardScaling: IRewardScaling;
locations: Record<ELocationName, string[]>;
traderWhitelist: ITraderWhitelist[];
questConfig: IRepeatableQuestTypesConfig;
/** Item base types to block when generating rewards */
rewardBaseTypeBlacklist: string[]
rewardBaseTypeBlacklist: string[];
/** Item tplIds to ignore when generating rewards */
rewardBlacklist: string[]
rewardBlacklist: string[];
rewardAmmoStackMinSize: number;
}
export interface IRewardScaling
export interface IRewardScaling
{
levels: number[]
experience: number[]
roubles: number[]
items: number[]
reputation: number[]
rewardSpread: number
skillRewardChance: number[]
skillPointReward: number[]
levels: number[];
experience: number[];
roubles: number[];
items: number[];
reputation: number[];
rewardSpread: number;
skillRewardChance: number[];
skillPointReward: number[];
}
export interface ITraderWhitelist
export interface ITraderWhitelist
{
traderId: string
questTypes: string[]
traderId: string;
questTypes: string[];
}
export interface IRepeatableQuestTypesConfig
export interface IRepeatableQuestTypesConfig
{
Exploration: IExploration
Completion: ICompletion
Exploration: IExploration;
Completion: ICompletion;
Pickup: IPickup;
Elimination: IEliminationConfig[]
Elimination: IEliminationConfig[];
}
export interface IExploration extends IBaseQuestConfig
{
maxExtracts: number
specificExits: ISpecificExits
maxExtracts: number;
specificExits: ISpecificExits;
}
export interface ISpecificExits
export interface ISpecificExits
{
probability: number
passageRequirementWhitelist: string[]
probability: number;
passageRequirementWhitelist: string[];
}
export interface ICompletion extends IBaseQuestConfig
{
minRequestedAmount: number
maxRequestedAmount: number
minRequestedBulletAmount: number
maxRequestedBulletAmount: number
useWhitelist: boolean
useBlacklist: boolean
minRequestedAmount: number;
maxRequestedAmount: number;
minRequestedBulletAmount: number;
maxRequestedBulletAmount: number;
useWhitelist: boolean;
useBlacklist: boolean;
}
export interface IPickup extends IBaseQuestConfig
{
ItemTypeToFetchWithMaxCount: IPickupTypeWithMaxCount[]
ItemTypeToFetchWithMaxCount: IPickupTypeWithMaxCount[];
}
export interface IPickupTypeWithMaxCount
{
itemType: string
maxPickupCount: number
minPickupCount: number
itemType: string;
maxPickupCount: number;
minPickupCount: number;
}
export interface IEliminationConfig extends IBaseQuestConfig
{
levelRange: MinMax
targets: ITarget[]
bodyPartProb: number
bodyParts: IBodyPart[]
specificLocationProb: number
distLocationBlacklist: string[]
distProb: number
maxDist: number
minDist: number
maxKills: number
minKills: number
minBossKills: number
maxBossKills: number
minPmcKills: number
maxPmcKills: number
weaponCategoryRequirementProb: number
weaponCategoryRequirements: IWeaponRequirement[]
weaponRequirementProb: number
weaponRequirements: IWeaponRequirement[]
levelRange: MinMax;
targets: ITarget[];
bodyPartProb: number;
bodyParts: IBodyPart[];
specificLocationProb: number;
distLocationBlacklist: string[];
distProb: number;
maxDist: number;
minDist: number;
maxKills: number;
minKills: number;
minBossKills: number;
maxBossKills: number;
minPmcKills: number;
maxPmcKills: number;
weaponCategoryRequirementProb: number;
weaponCategoryRequirements: IWeaponRequirement[];
weaponRequirementProb: number;
weaponRequirements: IWeaponRequirement[];
}
export interface IBaseQuestConfig
{
possibleSkillRewards: string[]
possibleSkillRewards: string[];
}
export interface ITarget extends IProbabilityObject
{
data: IBossInfo
data: IBossInfo;
}
export interface IBossInfo
export interface IBossInfo
{
isBoss: boolean
isPmc: boolean
isBoss: boolean;
isPmc: boolean;
}
export interface IBodyPart extends IProbabilityObject
export interface IBodyPart extends IProbabilityObject
{
data: string[]
data: string[];
}
export interface IWeaponRequirement extends IProbabilityObject
export interface IWeaponRequirement extends IProbabilityObject
{
data: string[]
data: string[];
}
export interface IProbabilityObject
export interface IProbabilityObject
{
key: string
relativeProbability: number
data?: any
}
key: string;
relativeProbability: number;
data?: any;
}

View File

@ -3,128 +3,127 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IRagfairConfig extends IBaseConfig
{
kind: "aki-ragfair"
kind: "aki-ragfair";
/** How many seconds should pass before expired offers and procesed + player offers checked if sold */
runIntervalSeconds: number
runIntervalSeconds: number;
/** Player listing settings */
sell: Sell
sell: Sell;
/** Trader ids + should their assorts be listed on flea*/
traders: Record<string,boolean>
dynamic: Dynamic
traders: Record<string, boolean>;
dynamic: Dynamic;
}
export interface Sell
export interface Sell
{
/** Should a fee be deducted from player when liting an item for sale */
fees: boolean
fees: boolean;
/** Settings to control chances of offer being sold */
chance: Chance
chance: Chance;
/** Settings to control how long it takes for a player offer to sell */
time: Time
time: Time;
/** Player offer reputation gain/loss settings */
reputation: Reputation
reputation: Reputation;
/** How many hours are simulated to figure out if player offer was sold */
simulatedSellHours: number
simulatedSellHours: number;
/**Seconds from clicking remove to remove offer from market */
expireSeconds: number
expireSeconds: number;
}
export interface Chance
export interface Chance
{
base: number
overpriced: number
underpriced: number
base: number;
overpriced: number;
underpriced: number;
}
export interface Time extends MinMax
{
base: number
base: number;
}
export interface Reputation
export interface Reputation
{
gain: number
loss: number
gain: number;
loss: number;
}
export interface Dynamic
export interface Dynamic
{
// Should a purchased dynamic offers items be flagged as found in raid
purchasesAreFoundInRaid: boolean
purchasesAreFoundInRaid: boolean;
/** Use the highest trader price for an offer if its greater than the price in templates/prices.json */
useTraderPriceForOffersIfHigher: boolean;
/** Barter offer specific settings */
barter: IBarterDetails
pack: IPackDetails
barter: IBarterDetails;
pack: IPackDetails;
/** Dynamic offer price below handbook adjustment values */
offerAdjustment: OfferAdjustment
offerAdjustment: OfferAdjustment;
/** How many offers should expire before an offer regeneration occurs */
expiredOfferThreshold: number
expiredOfferThreshold: number;
/** How many offers should be listed */
offerItemCount: MinMax
offerItemCount: MinMax;
/** How much should the price of an offer vary by (percent 0.8 = 80%, 1.2 = 120%) */
priceRanges: IPriceRanges
priceRanges: IPriceRanges;
/** Should default presets to listed only or should non-standard presets found in globals.json be listed too */
showDefaultPresetsOnly: boolean
endTimeSeconds: MinMax
showDefaultPresetsOnly: boolean;
endTimeSeconds: MinMax;
/** Settings to control the durability range of item items listed on flea */
condition: Condition
condition: Condition;
/** Size stackable items should be listed for in percent of max stack size */
stackablePercent: MinMax
stackablePercent: MinMax;
/** Items that cannot be stacked can have multiples sold in one offer, what range of values can be listed */
nonStackableCount: MinMax
nonStackableCount: MinMax;
/** Range of rating offers for items being listed */
rating: MinMax
rating: MinMax;
/** Percentages to sell offers in each currency */
currencies: Record<string, number>
currencies: Record<string, number>;
/** Item tpls that should be forced to sell as a single item */
showAsSingleStack: string[]
showAsSingleStack: string[];
/** Should christmas/halloween items be removed from flea when not within the seasonal bounds */
removeSeasonalItemsWhenNotInEvent: boolean
removeSeasonalItemsWhenNotInEvent: boolean;
/** Flea blacklist settings */
blacklist: Blacklist
blacklist: Blacklist;
/** Dict of price limits keyed by item type */
unreasonableModPrices: Record<string, IUnreasonableModPrices>
unreasonableModPrices: Record<string, IUnreasonableModPrices>;
}
export interface IPriceRanges
{
default: MinMax
preset: MinMax
pack: MinMax
default: MinMax;
preset: MinMax;
pack: MinMax;
}
export interface IBarterDetails
{
/** Should barter offers be generated */
enable: boolean
enable: boolean;
/** Percentage change an offer is listed as a barter */
chancePercent: number
chancePercent: number;
/** Min number of required items for a barter requirement */
itemCountMin: number
itemCountMin: number;
/** Max number of required items for a barter requirement */
itemCountMax: number
itemCountMax: number;
/** How much can the total price of requested items vary from the item offered */
priceRangeVariancePercent: number
priceRangeVariancePercent: number;
/** Min rouble price for an offer to be considered for turning into a barter */
minRoubleCostToBecomeBarter: number
minRoubleCostToBecomeBarter: number;
/** Item Tpls to never be turned into a barter */
itemTypeBlacklist: string[]
itemTypeBlacklist: string[];
}
export interface IPackDetails
{
/** Should pack offers be generated */
enable: boolean
enable: boolean;
/** Percentage change an offer is listed as a pack */
chancePercent: number
chancePercent: number;
/** Min number of required items for a pack */
itemCountMin: number
itemCountMin: number;
/** Max number of required items for a pack */
itemCountMax: number
itemCountMax: number;
/** item types to allow being a pack */
itemTypeWhitelist: string[]
itemTypeWhitelist: string[];
}
export interface OfferAdjustment
@ -132,37 +131,36 @@ export interface OfferAdjustment
/** Shuld offer price be adjusted when below handbook price */
adjustPriceWhenBelowHandbookPrice: boolean;
/** How big a percentage difference does price need to vary from handbook to be considered for adjustment */
maxPriceDifferenceBelowHandbookPercent: number
maxPriceDifferenceBelowHandbookPercent: number;
/** How much to multiply the handbook price to get the new price */
handbookPriceMultipier: number
handbookPriceMultipier: number;
/** What is the minimum rouble price to consider adjusting price of item */
priceThreshholdRub: number
priceThreshholdRub: number;
}
export interface Condition extends MinMax
{
/** Percentage change durability is altered */
conditionChance: number
conditionChance: number;
}
export interface Blacklist
export interface Blacklist
{
/** Damaged ammo packs */
damagedAmmoPacks: boolean
damagedAmmoPacks: boolean;
/** Custom blacklist for item Tpls */
custom: string[]
custom: string[];
/** BSG blacklist a large number of items from flea, true = use blacklist */
enableBsgList: boolean
enableBsgList: boolean;
/** Should quest items be blacklisted from flea */
enableQuestList: boolean
enableQuestList: boolean;
/** Should trader items that are blacklisted by bsg */
traderItems: boolean
traderItems: boolean;
}
export interface IUnreasonableModPrices
{
enabled: boolean
handbookPriceOverMultiplier: number
newPriceHandbookMultiplier: number
enabled: boolean;
handbookPriceOverMultiplier: number;
newPriceHandbookMultiplier: number;
}

View File

@ -3,60 +3,60 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IRepairConfig extends IBaseConfig
{
kind: "aki-repair"
priceMultiplier: number
applyRandomizeDurabilityLoss: boolean
weaponSkillRepairGain: number
armorKitSkillPointGainPerRepairPointMultiplier: number
kind: "aki-repair";
priceMultiplier: number;
applyRandomizeDurabilityLoss: boolean;
weaponSkillRepairGain: number;
armorKitSkillPointGainPerRepairPointMultiplier: number;
/** INT gain multiplier per repaired item type */
repairKitIntellectGainMultiplier: IIntellectGainValues
//** How much INT can be given to player per repair action */
repairKitIntellectGainMultiplier: IIntellectGainValues;
// ** How much INT can be given to player per repair action */
maxIntellectGainPerRepair: IMaxIntellectGainValues;
weaponTreatment: IWeaponTreatmentRepairValues;
repairKit: RepairKit
repairKit: RepairKit;
}
export interface IIntellectGainValues
{
weapon: number
armor: number
weapon: number;
armor: number;
}
export interface IMaxIntellectGainValues
{
kit: number
trader: number
kit: number;
trader: number;
}
export interface IWeaponTreatmentRepairValues
{
/** The chance to gain more weapon maintenance skill */
critSuccessChance: number
critSuccessAmount: number
critSuccessChance: number;
critSuccessAmount: number;
/** The chance to gain less weapon maintenance skill */
critFailureChance: number
critFailureAmount: number
critFailureChance: number;
critFailureAmount: number;
/** The multiplier used for calculating weapon maintenance XP */
pointGainMultiplier: number
pointGainMultiplier: number;
}
export interface RepairKit
{
armor: BonusSettings
weapon: BonusSettings
armor: BonusSettings;
weapon: BonusSettings;
}
export interface BonusSettings
{
rarityWeight: Record<string, number>
bonusTypeWeight: Record<string, number>
common: Record<string, BonusValues>
rare: Record<string, BonusValues>
rarityWeight: Record<string, number>;
bonusTypeWeight: Record<string, number>;
common: Record<string, BonusValues>;
rare: Record<string, BonusValues>;
}
export interface BonusValues
{
valuesMinMax: MinMax
valuesMinMax: MinMax;
/** What dura is buff active between (min max of current max) */
activeDurabilityPercentMinMax: MinMax
}
activeDurabilityPercentMinMax: MinMax;
}

View File

@ -3,36 +3,36 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IScavCaseConfig extends IBaseConfig
{
kind: "aki-scavcase"
rewardItemValueRangeRub: Record<string, MinMax>
moneyRewards: MoneyRewards
ammoRewards: AmmoRewards
rewardItemParentBlacklist: string[]
rewardItemBlacklist: string[]
allowMultipleMoneyRewardsPerRarity: boolean
allowMultipleAmmoRewardsPerRarity: boolean
allowBossItemsAsRewards: boolean
kind: "aki-scavcase";
rewardItemValueRangeRub: Record<string, MinMax>;
moneyRewards: MoneyRewards;
ammoRewards: AmmoRewards;
rewardItemParentBlacklist: string[];
rewardItemBlacklist: string[];
allowMultipleMoneyRewardsPerRarity: boolean;
allowMultipleAmmoRewardsPerRarity: boolean;
allowBossItemsAsRewards: boolean;
}
export interface MoneyRewards
export interface MoneyRewards
{
moneyRewardChancePercent: number
rubCount: MoneyLevels
usdCount: MoneyLevels
eurCount: MoneyLevels
moneyRewardChancePercent: number;
rubCount: MoneyLevels;
usdCount: MoneyLevels;
eurCount: MoneyLevels;
}
export interface MoneyLevels
{
common: MinMax
rare: MinMax
superrare: MinMax
common: MinMax;
rare: MinMax;
superrare: MinMax;
}
export interface AmmoRewards
export interface AmmoRewards
{
ammoRewardChancePercent: number
ammoRewardBlacklist: Record<string, string[]>
ammoRewardValueRangeRub: Record<string, MinMax>
minStackSize: number
}
ammoRewardChancePercent: number;
ammoRewardBlacklist: Record<string, string[]>;
ammoRewardValueRangeRub: Record<string, MinMax>;
minStackSize: number;
}

View File

@ -4,29 +4,29 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface ISeasonalEventConfig extends IBaseConfig
{
kind: "aki-seasonalevents"
enableSeasonalEventDetection: boolean
kind: "aki-seasonalevents";
enableSeasonalEventDetection: boolean;
/** event / botType / equipSlot / itemid */
eventGear: Record<string, Record<string, Record<string, Record<string, number>>>>
events: ISeasonalEvent[]
eventGear: Record<string, Record<string, Record<string, Record<string, number>>>>;
events: ISeasonalEvent[];
eventBotMapping: Record<string, string>;
eventBossSpawns: Record<string, Record<string, BossLocationSpawn[]>>
gifterSettings: GifterSetting[]
eventBossSpawns: Record<string, Record<string, BossLocationSpawn[]>>;
gifterSettings: GifterSetting[];
}
export interface ISeasonalEvent
{
name: string
type: SeasonalEventType
startDay: number
startMonth: number
endDay: number
endMonth: number
name: string;
type: SeasonalEventType;
startDay: number;
startMonth: number;
endDay: number;
endMonth: number;
}
export interface GifterSetting
{
map: string
zones: string
spawnChance: number
}
map: string;
zones: string;
spawnChance: number;
}

View File

@ -4,57 +4,57 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
export interface ITraderConfig extends IBaseConfig
{
kind: "aki-trader"
updateTime: UpdateTime[]
kind: "aki-trader";
updateTime: UpdateTime[];
purchasesAreFoundInRaid: boolean;
updateTimeDefault: number
traderPriceMultipler: number
updateTimeDefault: number;
traderPriceMultipler: number;
/** Keep track of purchased trader-limited items beyond server restarts to prevent server-restart item scumming */
persistPurchaseDataInProfile: boolean
fence: FenceConfig
persistPurchaseDataInProfile: boolean;
fence: FenceConfig;
}
export interface UpdateTime
export interface UpdateTime
{
traderId: string
seconds: number
traderId: string;
seconds: number;
}
export interface FenceConfig
{
discountOptions: DiscountOptions
partialRefreshTimeSeconds: number
partialRefreshChangePercent: number
assortSize: number
maxPresetsPercent: number
itemPriceMult: number
presetPriceMult: number
armorMaxDurabilityPercentMinMax: MinMax
presetMaxDurabilityPercentMinMax: MinMax
discountOptions: DiscountOptions;
partialRefreshTimeSeconds: number;
partialRefreshChangePercent: number;
assortSize: number;
maxPresetsPercent: number;
itemPriceMult: number;
presetPriceMult: number;
armorMaxDurabilityPercentMinMax: MinMax;
presetMaxDurabilityPercentMinMax: MinMax;
/** Key: item tpl */
itemStackSizeOverrideMinMax: Record<string, MinMax>
itemTypeLimits: Record<string, number>
regenerateAssortsOnRefresh: boolean
itemStackSizeOverrideMinMax: Record<string, MinMax>;
itemTypeLimits: Record<string, number>;
regenerateAssortsOnRefresh: boolean;
/** Max rouble price before item is not listed on flea */
itemCategoryRoublePriceLimit: Record<string, number>
itemCategoryRoublePriceLimit: Record<string, number>;
/** Each slotid with % to be removed prior to listing on fence */
presetSlotsToRemoveChancePercent: Record<string, number>
presetSlotsToRemoveChancePercent: Record<string, number>;
/** Block seasonal items from appearing when season is inactive */
blacklistSeasonalItems: boolean;
blacklist: string[],
coopExtractGift: CoopExtractReward
blacklist: string[];
coopExtractGift: CoopExtractReward;
}
export interface CoopExtractReward extends LootRequest
{
sendGift: boolean
messageLocaleIds: string[]
giftExpiryHours: number
sendGift: boolean;
messageLocaleIds: string[];
giftExpiryHours: number;
}
export interface DiscountOptions
{
assortSize: number
itemPriceMult: number
presetPriceMult: number
}
assortSize: number;
itemPriceMult: number;
presetPriceMult: number;
}

View File

@ -4,26 +4,26 @@ import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
export interface IWeatherConfig extends IBaseConfig
{
kind: "aki-weather"
acceleration: number
weather: Weather
kind: "aki-weather";
acceleration: number;
weather: Weather;
}
export interface Weather
export interface Weather
{
clouds: WeatherSettings<string>
windSpeed: WeatherSettings<number>
windDirection: WeatherSettings<WindDirection>
windGustiness: MinMax
rain: WeatherSettings<number>
rainIntensity: MinMax
fog: WeatherSettings<string>
temp: MinMax
pressure: MinMax
clouds: WeatherSettings<string>;
windSpeed: WeatherSettings<number>;
windDirection: WeatherSettings<WindDirection>;
windGustiness: MinMax;
rain: WeatherSettings<number>;
rainIntensity: MinMax;
fog: WeatherSettings<string>;
temp: MinMax;
pressure: MinMax;
}
export interface WeatherSettings<T>
{
values: T[]
weights: number[]
values: T[];
weights: number[];
}

View File

@ -3,7 +3,7 @@ import { IBotBase } from "@spt-aki/models/eft/common/tables/IBotBase";
import { IBotCore } from "@spt-aki/models/eft/common/tables/IBotCore";
import { Difficulty } from "@spt-aki/models/eft/common/tables/IBotType";
export interface IBotController
export interface IBotController
{
getBotLimit(type: string): number;
getBotDifficulty(type: string, difficulty: string): IBotCore | Difficulty;

View File

@ -3,30 +3,30 @@ import { ISystemData, IUserDialogInfo, MessageContentRagfair } from "@spt-aki/mo
import { MessageType } from "@spt-aki/models/enums/MessageType";
import { Traders } from "@spt-aki/models/enums/Traders";
export interface ISendMessageDetails
export interface ISendMessageDetails
{
/** Player id */
recipientId: string
recipientId: string;
/** Who is sending this message */
sender: MessageType
sender: MessageType;
/** Optional - leave blank to use sender value */
dialogType?: MessageType
dialogType?: MessageType;
/** Optional - if sender is USER these details are used */
senderDetails?: IUserDialogInfo
senderDetails?: IUserDialogInfo;
/** Optional - the trader sending the message */
trader?: Traders
trader?: Traders;
/** Optional - used in player/system messages, otherwise templateId is used */
messageText?: string
messageText?: string;
/** Optinal - Items to send to player */
items?: Item[];
/** Optional - How long items will be stored in mail before expiry */
itemsMaxStorageLifetimeSeconds?: number
itemsMaxStorageLifetimeSeconds?: number;
/** Optional - Used when sending messages from traders who send text from locale json */
templateId?: string
templateId?: string;
/** Optional - ragfair related */
systemData?: ISystemData
systemData?: ISystemData;
/** Optional - Used by ragfair messages */
ragfairDetails?: MessageContentRagfair
ragfairDetails?: MessageContentRagfair;
/** Optional - Usage not known, unsure of purpose, even dumps dont have it */
profileChangeEvents?: any[]
profileChangeEvents?: any[];
}

View File

@ -3,7 +3,13 @@ import { Chances, Generation, Inventory } from "@spt-aki/models/eft/common/table
export interface IBotGenerator
{
generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory;
generateInventory(
templateInventory: Inventory,
equipmentChances: Chances,
generation: Generation,
botRole: string,
isPmc: boolean,
): PmcInventory;
}
export interface IExhaustableArray<T>

View File

@ -1,8 +1,23 @@
import { ILooseLoot, SpawnpointTemplate } from "@spt-aki/models/eft/common/ILooseLoot";
import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "@spt-aki/models/eft/common/tables/ILootBase";
import {
IStaticAmmoDetails,
IStaticContainerProps,
IStaticForcedProps,
IStaticLootDetails,
} from "@spt-aki/models/eft/common/tables/ILootBase";
export interface ILocationGenerator
{
generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record<string, IStaticLootDetails>, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): IStaticContainerProps;
generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): SpawnpointTemplate[];
generateContainerLoot(
containerIn: IStaticContainerProps,
staticForced: IStaticForcedProps[],
staticLootDist: Record<string, IStaticLootDetails>,
staticAmmoDist: Record<string, IStaticAmmoDetails[]>,
locationName: string,
): IStaticContainerProps;
generateDynamicLoot(
dynamicLootDist: ILooseLoot,
staticAmmoDist: Record<string, IStaticAmmoDetails[]>,
locationName: string,
): SpawnpointTemplate[];
}

View File

@ -4,5 +4,13 @@ import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer";
export interface IRagfairOfferGenerator
{
createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece: boolean): IRagfairOffer;
createOffer(
userID: string,
time: number,
items: Item[],
barterScheme: IBarterScheme[],
loyalLevel: number,
price: number,
sellInOnePiece: boolean,
): IRagfairOffer;
}

View File

@ -1,14 +1,14 @@
export interface ScavCaseRewardCountsAndPrices
{
Common: RewardCountAndPriceDetails,
Rare: RewardCountAndPriceDetails,
Superrare: RewardCountAndPriceDetails
Common: RewardCountAndPriceDetails;
Rare: RewardCountAndPriceDetails;
Superrare: RewardCountAndPriceDetails;
}
export interface RewardCountAndPriceDetails
{
minCount: number,
maxCount: number,
minPriceRub: number,
maxPriceRub: number
}
minCount: number;
maxCount: number;
minPriceRub: number;
maxPriceRub: number;
}

View File

@ -1,10 +1,10 @@
import { LogLevel } from "@spt-aki/models/spt/logging/LogLevel";
export interface IClientLogRequest
export interface IClientLogRequest
{
Source: string
Level: LogLevel | string
Message: string
Color?: string
BackgroundColor?: string
}
Source: string;
Level: LogLevel | string;
Message: string;
Color?: string;
BackgroundColor?: string;
}

View File

@ -1,5 +1,5 @@
export enum LogBackgroundColor
{
{
DEFAULT = "",
BLACK = "blackBG",
RED = "redBG",
@ -8,5 +8,5 @@ export enum LogBackgroundColor
BLUE = "blueBG",
MAGENTA = "magentaBG",
CYAN = "cyanBG",
WHITE = "whiteBG"
}
WHITE = "whiteBG",
}

View File

@ -1,9 +1,9 @@
export enum LogLevel
{
export enum LogLevel
{
ERROR = 0,
WARN = 1,
SUCCESS = 2,
INFO = 3,
CUSTOM = 4,
DEBUG = 5
}
DEBUG = 5,
}

View File

@ -1,5 +1,5 @@
export enum LogTextColor
{
{
BLACK = "black",
RED = "red",
GREEN = "green",
@ -8,5 +8,5 @@ export enum LogTextColor
MAGENTA = "magenta",
CYAN = "cyan",
WHITE = "white",
GRAY = ""
}
GRAY = "",
}

View File

@ -1,8 +1,8 @@
export interface SptLogger
{
error: (msg: string | Record<string, unknown>) => void
warn: (msg: string | Record<string, unknown>) => void
succ?: (msg: string | Record<string, unknown>) => void
info: (msg: string | Record<string, unknown>) => void
debug: (msg: string | Record<string, unknown>) => void
}
error: (msg: string | Record<string, unknown>) => void;
warn: (msg: string | Record<string, unknown>) => void;
succ?: (msg: string | Record<string, unknown>) => void;
info: (msg: string | Record<string, unknown>) => void;
debug: (msg: string | Record<string, unknown>) => void;
}

View File

@ -5,4 +5,4 @@ export interface IModLoader
load(container: DependencyContainer): void;
getModPath(mod: string): string;
}
}

View File

@ -9,7 +9,7 @@ export abstract class NewItemDetailsBase
handbookPriceRoubles: number;
/** Handbook ParentId for the new item */
handbookParentId : string;
handbookParentId: string;
/**
* A dictionary for locale settings, key = langauge (e.g. en,cn,es-mx,jp,fr)
@ -29,7 +29,7 @@ export class NewItemFromCloneDetails extends NewItemDetailsBase
/** ParentId for the new item (item type) */
parentId: string;
/**
/**
* the id the new item should have, leave blank to have one generated for you
* This is often known as the TplId, or TemplateId
*/
@ -58,4 +58,4 @@ export class CreateItemResult
success: boolean;
itemId: string;
errors: string[];
}
}

View File

@ -1,5 +1,5 @@
export interface IRagfairServerPrices
export interface IRagfairServerPrices
{
static: Record<string, number>
dynamic: Record<string, number>
}
static: Record<string, number>;
dynamic: Record<string, number>;
}

View File

@ -2,43 +2,43 @@ import { ELocationName } from "@spt-aki/models/enums/ELocationName";
export interface IQuestTypePool
{
types: string[],
pool: IQuestPool
types: string[];
pool: IQuestPool;
}
export interface IQuestPool
{
Exploration: IExplorationPool
Elimination: IEliminationPool
Pickup: IExplorationPool
Exploration: IExplorationPool;
Elimination: IEliminationPool;
Pickup: IExplorationPool;
}
export interface IExplorationPool
{
locations: Partial<Record<ELocationName, string[]>>
locations: Partial<Record<ELocationName, string[]>>;
}
export interface IEliminationPool
{
targets: IEliminationTargetPool
targets: IEliminationTargetPool;
}
export interface IEliminationTargetPool
{
Savage?: ITargetLocation
AnyPmc?: ITargetLocation
bossBully?: ITargetLocation
bossGluhar?: ITargetLocation
bossKilla?: ITargetLocation
bossSanitar?: ITargetLocation
bossTagilla?: ITargetLocation
bossKnight?: ITargetLocation
bossZryachiy?: ITargetLocation
bossBoar?: ITargetLocation
bossBoarSniper?: ITargetLocation
Savage?: ITargetLocation;
AnyPmc?: ITargetLocation;
bossBully?: ITargetLocation;
bossGluhar?: ITargetLocation;
bossKilla?: ITargetLocation;
bossSanitar?: ITargetLocation;
bossTagilla?: ITargetLocation;
bossKnight?: ITargetLocation;
bossZryachiy?: ITargetLocation;
bossBoar?: ITargetLocation;
bossBoarSniper?: ITargetLocation;
}
export interface ITargetLocation
{
locations: string[]
}
locations: string[];
}

View File

@ -22,44 +22,44 @@ import { ILocations } from "@spt-aki/models/spt/server/ILocations";
import { IServerBase } from "@spt-aki/models/spt/server/IServerBase";
import { ISettingsBase } from "@spt-aki/models/spt/server/ISettingsBase";
export interface IDatabaseTables
export interface IDatabaseTables
{
bots?: {
types: Record<string, IBotType>
base: IBotBase
core: IBotCore
}
types: Record<string, IBotType>;
base: IBotBase;
core: IBotCore;
};
hideout?: {
areas: IHideoutArea[]
production: IHideoutProduction[]
scavcase: IHideoutScavCase[]
settings: IHideoutSettingsBase
qte: IQteData[]
}
locales?: ILocaleBase
locations?: ILocations
loot?: ILootBase
match?: IMatch
areas: IHideoutArea[];
production: IHideoutProduction[];
scavcase: IHideoutScavCase[];
settings: IHideoutSettingsBase;
qte: IQteData[];
};
locales?: ILocaleBase;
locations?: ILocations;
loot?: ILootBase;
match?: IMatch;
templates?: {
character: string[]
items: Record<string, ITemplateItem>
quests: Record<string, IQuest>
repeatableQuests: IRepeatableQuestDatabase
handbook: IHandbookBase
customization: Record<string, ICustomizationItem>
character: string[];
items: Record<string, ITemplateItem>;
quests: Record<string, IQuest>;
repeatableQuests: IRepeatableQuestDatabase;
handbook: IHandbookBase;
customization: Record<string, ICustomizationItem>;
/** The profile templates listed in the launcher on profile creation, split by account type (e.g. Standard) then side (e.g. bear/usec) */
profiles: IProfileTemplates
profiles: IProfileTemplates;
/** Flea prices of items - gathered from online flea market dump */
prices: Record<string, number>
prices: Record<string, number>;
/** Default equipment loadouts that show on main inventory screen */
defaultEquipmentPresets: IEquipmentBuild[]
}
traders?: Record<string, ITrader>
defaultEquipmentPresets: IEquipmentBuild[];
};
traders?: Record<string, ITrader>;
globals?: IGlobals
server?: IServerBase
settings?: ISettingsBase
}
globals?: IGlobals;
server?: IServerBase;
settings?: ISettingsBase;
}

View File

@ -1,7 +1,7 @@
export interface ILocaleBase
export interface ILocaleBase
{
global: Record<string, Record<string, string>>
menu: Record<string, string>
languages: Record<string, string>
server: Record<string, Record<string, string>>
}
global: Record<string, Record<string, string>>;
menu: Record<string, string>;
languages: Record<string, string>;
server: Record<string, Record<string, string>>;
}

View File

@ -2,31 +2,31 @@ import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
export interface ILocations
export interface ILocations
{
bigmap?: ILocationData
develop?: ILocationData
bigmap?: ILocationData;
develop?: ILocationData;
// eslint-disable-next-line @typescript-eslint/naming-convention
factory4_day?: ILocationData
factory4_day?: ILocationData;
// eslint-disable-next-line @typescript-eslint/naming-convention
factory4_night?: ILocationData
hideout?: ILocationData
interchange?: ILocationData
laboratory?: ILocationData
lighthouse?: ILocationData
privatearea?: ILocationData
rezervbase?: ILocationData
shoreline?: ILocationData
suburbs?: ILocationData
tarkovstreets?: ILocationData
terminal?: ILocationData
town?: ILocationData
woods?: ILocationData
base?: ILocationsBase
factory4_night?: ILocationData;
hideout?: ILocationData;
interchange?: ILocationData;
laboratory?: ILocationData;
lighthouse?: ILocationData;
privatearea?: ILocationData;
rezervbase?: ILocationData;
shoreline?: ILocationData;
suburbs?: ILocationData;
tarkovstreets?: ILocationData;
terminal?: ILocationData;
town?: ILocationData;
woods?: ILocationData;
base?: ILocationsBase;
}
export interface ILocationData
{
base: ILocationBase
looseLoot?: ILooseLoot
}
base: ILocationBase;
looseLoot?: ILooseLoot;
}

View File

@ -1,5 +1,5 @@
export interface IServerBase
export interface IServerBase
{
ip: string
port: number
}
ip: string;
port: number;
}

View File

@ -1,64 +1,64 @@
export interface ISettingsBase
{
config: Config
config: Config;
}
export interface Config
{
AFKTimeoutSeconds: number
AdditionalRandomDelaySeconds: number
ClientSendRateLimit: number
CriticalRetriesCount: number
DefaultRetriesCount: number
FirstCycleDelaySeconds: number
FramerateLimit: FramerateLimit
GroupStatusInterval: number
GroupStatusButtonInterval: number
KeepAliveInterval: number
LobbyKeepAliveInterval: number
Mark502and504AsNonImportant: boolean
MemoryManagementSettings: MemoryManagementSettings
NVidiaHighlights: boolean
NextCycleDelaySeconds: number
PingServerResultSendInterval: number
PingServersInterval: number
ReleaseProfiler: ReleaseProfiler
RequestConfirmationTimeouts: number[]
RequestsMadeThroughLobby: string[]
SecondCycleDelaySeconds: number
ShouldEstablishLobbyConnection: boolean
TurnOffLogging: boolean
WeaponOverlapDistanceCulling: number
WebDiagnosticsEnabled: boolean
NetworkStateView: INetworkStateView
AFKTimeoutSeconds: number;
AdditionalRandomDelaySeconds: number;
ClientSendRateLimit: number;
CriticalRetriesCount: number;
DefaultRetriesCount: number;
FirstCycleDelaySeconds: number;
FramerateLimit: FramerateLimit;
GroupStatusInterval: number;
GroupStatusButtonInterval: number;
KeepAliveInterval: number;
LobbyKeepAliveInterval: number;
Mark502and504AsNonImportant: boolean;
MemoryManagementSettings: MemoryManagementSettings;
NVidiaHighlights: boolean;
NextCycleDelaySeconds: number;
PingServerResultSendInterval: number;
PingServersInterval: number;
ReleaseProfiler: ReleaseProfiler;
RequestConfirmationTimeouts: number[];
RequestsMadeThroughLobby: string[];
SecondCycleDelaySeconds: number;
ShouldEstablishLobbyConnection: boolean;
TurnOffLogging: boolean;
WeaponOverlapDistanceCulling: number;
WebDiagnosticsEnabled: boolean;
NetworkStateView: INetworkStateView;
}
export interface FramerateLimit
{
MaxFramerateGameLimit: number
MaxFramerateLobbyLimit: number
MinFramerateLimit: number
MaxFramerateGameLimit: number;
MaxFramerateLobbyLimit: number;
MinFramerateLimit: number;
}
export interface MemoryManagementSettings
{
AggressiveGC: boolean
GigabytesRequiredToDisableGCDuringRaid: number
HeapPreAllocationEnabled: boolean
HeapPreAllocationMB: number
OverrideRamCleanerSettings: boolean
RamCleanerEnabled: boolean
AggressiveGC: boolean;
GigabytesRequiredToDisableGCDuringRaid: number;
HeapPreAllocationEnabled: boolean;
HeapPreAllocationMB: number;
OverrideRamCleanerSettings: boolean;
RamCleanerEnabled: boolean;
}
export interface ReleaseProfiler
{
Enabled: boolean
MaxRecords: number
RecordTriggerValue: number
Enabled: boolean;
MaxRecords: number;
RecordTriggerValue: number;
}
export interface INetworkStateView
{
LossThreshold: number
RttThreshold: number
}
LossThreshold: number;
RttThreshold: number;
}

View File

@ -2,6 +2,6 @@ import { IPreset } from "@spt-aki/models/eft/common/IGlobals";
export interface CustomPreset
{
key: string,
preset: IPreset
}
key: string;
preset: IPreset;
}

View File

@ -3,6 +3,6 @@ import { Traders } from "@spt-aki/models/enums/Traders";
export interface CustomTraderAssortData
{
traderId: Traders,
assorts: ITraderAssort
}
traderId: Traders;
assorts: ITraderAssort;
}

View File

@ -4,4 +4,4 @@ export class LootItem
tpl: string;
isPreset: boolean;
stackCount: number;
}
}

View File

@ -2,14 +2,14 @@ import { MinMax } from "@spt-aki/models/common/MinMax";
export interface LootRequest
{
presetCount: MinMax
itemCount: MinMax
weaponCrateCount: MinMax
itemBlacklist: string[]
itemTypeWhitelist: string[]
presetCount: MinMax;
itemCount: MinMax;
weaponCrateCount: MinMax;
itemBlacklist: string[];
itemTypeWhitelist: string[];
/** key: item base type: value: max count */
itemLimits: Record<string, number>
itemStackLimits: Record<string, MinMax>
armorLevelWhitelist: number[]
allowBossItems: boolean
}
itemLimits: Record<string, number>;
itemStackLimits: Record<string, MinMax>;
armorLevelWhitelist: number[];
allowBossItems: boolean;
}

View File

@ -1,6 +1,6 @@
import { ICommand } from "@spt-aki/models/spt/utils/ICommand";
export interface IAsyncQueue
export interface IAsyncQueue
{
waitFor(command: ICommand): Promise<any>
}
waitFor(command: ICommand): Promise<any>;
}

View File

@ -1,5 +1,5 @@
export interface ICommand
export interface ICommand
{
uuid: string
cmd: () => Promise<any>
}
uuid: string;
cmd: () => Promise<any>;
}

View File

@ -2,11 +2,15 @@ import { Daum } from "@spt-aki/models/eft/itemEvent/IItemEventRouterRequest";
import { LogBackgroundColor } from "@spt-aki/models/spt/logging/LogBackgroundColor";
import { LogTextColor } from "@spt-aki/models/spt/logging/LogTextColor";
export interface ILogger
export interface ILogger
{
writeToLogFile(data: string | Daum): void;
log(data: string | Record<string, unknown> | Error, color: string, backgroundColor?: string): void;
logWithColor(data: string | Record<string, unknown>, textColor: LogTextColor, backgroundColor?: LogBackgroundColor): void;
logWithColor(
data: string | Record<string, unknown>,
textColor: LogTextColor,
backgroundColor?: LogBackgroundColor,
): void;
error(data: string): void;
@ -14,5 +18,5 @@ export interface ILogger
success(data: string): void;
info(data: string): void;
debug(data: string| Record<string, unknown>, onlyShowInConsole?: boolean): void;
debug(data: string | Record<string, unknown>, onlyShowInConsole?: boolean): void;
}