Files
SPT-Server-Build/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Globals.cs
T
2025-08-21 09:46:00 +00:00

4452 lines
125 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System.Text.Json.Serialization;
using SPTarkov.Server.Core.Models.Common;
using SPTarkov.Server.Core.Models.Eft.Common.Tables;
using SPTarkov.Server.Core.Models.Eft.Hideout;
using SPTarkov.Server.Core.Models.Enums;
namespace SPTarkov.Server.Core.Models.Eft.Common;
public record Globals
{
[JsonPropertyName("config")]
public required Config Configuration { get; init; }
[JsonPropertyName("LocationInfection")]
public required LocationInfection LocationInfection { get; init; }
[JsonPropertyName("bot_presets")]
public required IEnumerable<BotPreset> BotPresets { get; init; }
[JsonPropertyName("BotWeaponScatterings")]
public required IEnumerable<BotWeaponScattering> BotWeaponScatterings { get; init; }
[JsonPropertyName("ItemPresets")]
public required Dictionary<MongoId, Preset> ItemPresets { get; init; }
}
public record PlayerSettings
{
[JsonPropertyName("BaseMaxMovementRolloff")]
public double BaseMaxMovementRolloff { get; set; }
[JsonPropertyName("EnabledOcclusionDynamicRolloff")]
public bool IsEnabledOcclusionDynamicRolloff { get; set; }
[JsonPropertyName("IndoorRolloffMult")]
public double IndoorRolloffMultiplier { get; set; }
[JsonPropertyName("MinStepSoundRolloffMult")]
public double MinStepSoundRolloffMultiplier { get; set; }
[JsonPropertyName("MinStepSoundVolumeMult")]
public double MinStepSoundVolumeMultiplier { get; set; }
[JsonPropertyName("MovementRolloffMultipliers")]
public IEnumerable<MovementRolloffMultiplier> MovementRolloffMultipliers { get; set; }
[JsonPropertyName("OutdoorRolloffMult")]
public double OutdoorRolloffMultiplier { get; set; }
[JsonPropertyName("SearchSoundVolume")]
public SearchSoundVolumeSettings SearchSoundVolume { get; set; }
}
public record SearchSoundVolumeSettings
{
public double FpVolume { get; set; }
public double TpVolume { get; set; }
}
public record MovementRolloffMultiplier
{
[JsonPropertyName("MovementState")]
public string MovementState { get; set; }
[JsonPropertyName("RolloffMultiplier")]
public double RolloffMultiplier { get; set; }
}
public record RadioBroadcastSettings
{
[JsonPropertyName("EnabledBroadcast")]
public bool EnabledBroadcast { get; set; }
[JsonPropertyName("RadioStations")]
public IEnumerable<RadioStation> RadioStations { get; set; }
}
public record RadioStation
{
[JsonPropertyName("Enabled")]
public bool Enabled { get; set; }
[JsonPropertyName("Station")]
public RadioStationType Station { get; set; }
}
public record LocationInfection
{
[JsonPropertyName("Interchange")]
public double Interchange { get; set; }
[JsonPropertyName("Lighthouse")]
public double Lighthouse { get; set; }
[JsonPropertyName("RezervBase")]
public double RezervBase { get; set; }
[JsonPropertyName("Sandbox")]
public double Sandbox { get; set; }
[JsonPropertyName("Shoreline")]
public double Shoreline { get; set; }
[JsonPropertyName("TarkovStreets")]
public double TarkovStreets { get; set; }
[JsonPropertyName("Woods")]
public double Woods { get; set; }
[JsonPropertyName("bigmap")]
public double BigMap { get; set; }
[JsonPropertyName("factory4")]
public double Factory4 { get; set; }
[JsonPropertyName("laboratory")]
public double Laboratory { get; set; }
}
public record ArtilleryShelling
{
[JsonPropertyName("ArtilleryMapsConfigs")]
public Dictionary<string, ArtilleryMapSettings> ArtilleryMapsConfigs { get; set; }
[JsonPropertyName("ProjectileExplosionParams")]
public ProjectileExplosionParams ProjectileExplosionParams { get; set; }
[JsonPropertyName("MaxCalledShellingCount")]
public double MaxCalledShellingCount { get; set; }
}
public record ArtilleryMapSettings
{
[JsonPropertyName("PlanedShellingOn")]
public bool PlanedShellingOn { get; set; }
[JsonPropertyName("InitShellingTimer")]
public double InitShellingTimer { get; set; }
[JsonPropertyName("BeforeShellingSignalTime")]
public double BeforeShellingSignalTime { get; set; }
[JsonPropertyName("ShellingCount")]
public double ShellingCount { get; set; }
[JsonPropertyName("ZonesInShelling")]
public double ZonesInShelling { get; set; }
[JsonPropertyName("NewZonesForEachShelling")]
public bool NewZonesForEachShelling { get; set; }
[JsonPropertyName("InitCalledShellingTime")]
public double InitCalledShellingTime { get; set; }
[JsonPropertyName("ShellingZones")]
public IEnumerable<ShellingZone> ShellingZones { get; set; }
[JsonPropertyName("Brigades")]
public IEnumerable<Brigade> Brigades { get; set; }
[JsonPropertyName("ArtilleryShellingAirDropSettings")]
public ArtilleryShellingAirDropSettings ArtilleryShellingAirDropSettings { get; set; }
[JsonPropertyName("PauseBetweenShellings")]
public XYZ PauseBetweenShellings { get; set; }
}
public record ShellingZone
{
[JsonPropertyName("ID")]
public double ID { get; set; }
[JsonPropertyName("PointsInShellings")]
public XYZ PointsInShellings { get; set; }
[JsonPropertyName("ShellingRounds")]
public double ShellingRounds { get; set; }
[JsonPropertyName("ShotCount")]
public double ShotCount { get; set; }
[JsonPropertyName("PauseBetweenRounds")]
public XYZ PauseBetweenRounds { get; set; }
[JsonPropertyName("PauseBetweenShots")]
public XYZ PauseBetweenShots { get; set; }
[JsonPropertyName("Center")]
public XYZ Center { get; set; }
[JsonPropertyName("Rotate")]
public double Rotate { get; set; }
[JsonPropertyName("GridStep")]
public XYZ GridStep { get; set; }
[JsonPropertyName("Points")]
public XYZ Points { get; set; }
[JsonPropertyName("PointRadius")]
public double PointRadius { get; set; }
[JsonPropertyName("ExplosionDistanceRange")]
public XYZ ExplosionDistanceRange { get; set; }
[JsonPropertyName("AlarmStages")]
public IEnumerable<AlarmStage> AlarmStages { get; set; }
[JsonPropertyName("BeforeShellingSignalTime")]
public double BeforeShellingSignalTime { get; set; }
[JsonPropertyName("UsedInPlanedShelling")]
public bool UsedInPlanedShelling { get; set; }
[JsonPropertyName("UseInCalledShelling")]
public bool UseInCalledShelling { get; set; }
[JsonPropertyName("IsActive")]
public bool IsActive { get; set; }
}
public record AlarmStage
{
[JsonPropertyName("Value")]
public Position Value { get; set; }
}
public record Brigade
{
[JsonPropertyName("ID")]
public double Id { get; set; }
[JsonPropertyName("ArtilleryGuns")]
public IEnumerable<ArtilleryGun> ArtilleryGuns { get; set; }
}
public record ArtilleryGun
{
[JsonPropertyName("Position")]
public XYZ Position { get; set; }
}
public record ArtilleryShellingAirDropSettings
{
[JsonPropertyName("UseAirDrop")]
public bool UseAirDrop { get; set; }
[JsonPropertyName("AirDropTime")]
public double AirDropTime { get; set; }
[JsonPropertyName("AirDropPosition")]
public XYZ AirDropPosition { get; set; }
[JsonPropertyName("LootTemplateId")]
public MongoId LootTemplateId { get; set; }
}
public record ProjectileExplosionParams
{
[JsonPropertyName("Blindness")]
public XYZ Blindness { get; set; }
[JsonPropertyName("Contusion")]
public XYZ Contusion { get; set; }
[JsonPropertyName("ArmorDistanceDistanceDamage")]
public XYZ ArmorDistanceDistanceDamage { get; set; }
// Checked in client
[JsonPropertyName("MinExplosionDistance")]
public double MinExplosionDistance { get; set; }
[JsonPropertyName("MaxExplosionDistance")]
public float MaxExplosionDistance { get; set; }
// Checked in client
[JsonPropertyName("FragmentsCount")]
public int FragmentsCount { get; set; }
[JsonPropertyName("Strength")]
public double Strength { get; set; }
// Checked in client
[JsonPropertyName("ArmorDamage")]
public double ArmorDamage { get; set; }
// Checked in client
[JsonPropertyName("StaminaBurnRate")]
public double StaminaBurnRate { get; set; }
// Checked in client
[JsonPropertyName("PenetrationPower")]
public double PenetrationPower { get; set; }
[JsonPropertyName("DirectionalDamageAngle")]
public double DirectionalDamageAngle { get; set; }
[JsonPropertyName("DirectionalDamageMultiplier")]
public double DirectionalDamageMultiplier { get; set; }
[JsonPropertyName("FragmentType")]
public string FragmentType { get; set; }
[JsonPropertyName("DeadlyDistance")]
public double DeadlyDistance { get; set; }
}
public record Config
{
[JsonPropertyName("ArtilleryShelling")]
public ArtilleryShelling ArtilleryShelling { get; set; }
[JsonPropertyName("AudioSettings")]
public GlobalAudioSettings AudioSettings { get; set; }
[JsonPropertyName("content")]
public Content Content { get; set; }
[JsonPropertyName("AimPunchMagnitude")]
public double AimPunchMagnitude { get; set; }
[JsonPropertyName("WeaponSkillProgressRate")]
public double WeaponSkillProgressRate { get; set; }
[JsonPropertyName("SkillAtrophy")]
public bool SkillAtrophy { get; set; }
[JsonPropertyName("exp")]
public Exp Exp { get; set; }
[JsonPropertyName("t_base_looting")]
public double TBaseLooting { get; set; }
[JsonPropertyName("t_base_lockpicking")]
public double TBaseLockpicking { get; set; }
[JsonPropertyName("armor")]
public Armor Armor { get; set; }
[JsonPropertyName("SessionsToShowHotKeys")]
public double SessionsToShowHotKeys { get; set; }
[JsonPropertyName("MaxBotsAliveOnMap")]
public double MaxBotsAliveOnMap { get; set; }
[JsonPropertyName("MaxBotsAliveOnMapPvE")]
public double MaxBotsAliveOnMapPvE { get; set; }
[JsonPropertyName("RunddansSettings")]
public RunddansSettings RunddansSettings { get; set; }
// Checked in client
[JsonPropertyName("SavagePlayCooldown")]
public int SavagePlayCooldown { get; set; }
[JsonPropertyName("SavagePlayCooldownNdaFree")]
public double SavagePlayCooldownNdaFree { get; set; }
[JsonPropertyName("SeasonActivity")]
public SeasonActivity SeasonActivity { get; set; }
[JsonPropertyName("MarksmanAccuracy")]
public double MarksmanAccuracy { get; set; }
[JsonPropertyName("SavagePlayCooldownDevelop")]
public double SavagePlayCooldownDevelop { get; set; }
[JsonPropertyName("TODSkyDate")]
public string TODSkyDate { get; set; }
[JsonPropertyName("Mastering")]
public required Mastering[] Mastering { get; set; }
[JsonPropertyName("GlobalItemPriceModifier")]
public double GlobalItemPriceModifier { get; set; }
[JsonPropertyName("TradingUnlimitedItems")]
public bool TradingUnlimitedItems { get; set; }
[JsonPropertyName("TradingUnsetPersonalLimitItems")]
public bool TradingUnsetPersonalLimitItems { get; set; }
[JsonPropertyName("TransitSettings")]
public TransitSettings TransitSettings { get; set; }
[JsonPropertyName("Triggers")]
public Triggers Triggers { get; set; }
[JsonPropertyName("TripwiresSettings")]
public TripwiresSettings TripwiresSettings { get; set; }
[JsonPropertyName("MaxLoyaltyLevelForAll")]
public bool MaxLoyaltyLevelForAll { get; set; }
[JsonPropertyName("MountingSettings")]
public MountingSettings MountingSettings { get; set; }
[JsonPropertyName("GlobalLootChanceModifier")]
public double GlobalLootChanceModifier { get; set; }
[JsonPropertyName("GlobalLootChanceModifierPvE")]
public double GlobalLootChanceModifierPvE { get; set; }
[JsonPropertyName("GraphicSettings")]
public GraphicSettings GraphicSettings { get; set; }
[JsonPropertyName("TimeBeforeDeploy")]
public double TimeBeforeDeploy { get; set; }
[JsonPropertyName("TimeBeforeDeployLocal")]
public double TimeBeforeDeployLocal { get; set; }
[JsonPropertyName("TradingSetting")]
public double TradingSetting { get; set; }
[JsonPropertyName("TradingSettings")]
public TradingSettings TradingSettings { get; set; }
[JsonPropertyName("ItemsCommonSettings")]
public ItemsCommonSettings ItemsCommonSettings { get; set; }
[JsonPropertyName("LoadTimeSpeedProgress")]
public double LoadTimeSpeedProgress { get; set; }
[JsonPropertyName("MailItemsExpirationTimeLimitWarning")]
public double MailItemsExpirationTimeLimitWarning { get; set; }
[JsonPropertyName("BaseLoadTime")]
public double BaseLoadTime { get; set; }
[JsonPropertyName("BaseUnloadTime")]
public double BaseUnloadTime { get; set; }
[JsonPropertyName("BaseCheckTime")]
public double BaseCheckTime { get; set; }
[JsonPropertyName("BluntDamageReduceFromSoftArmorMod")]
public double BluntDamageReduceFromSoftArmorMod { get; set; }
[JsonPropertyName("BodyPartColliderSettings")]
public BodyPartColliderSettings BodyPartColliderSettings { get; set; }
[JsonPropertyName("Customization")]
public Customization Customization { get; set; }
[JsonPropertyName("UncheckOnShot")]
public bool UncheckOnShot { get; set; }
[JsonPropertyName("BotsEnabled")]
public bool BotsEnabled { get; set; }
[JsonPropertyName("BufferZone")]
public BufferZone BufferZone { get; set; }
[JsonPropertyName("Airdrop")]
public AirdropGlobalSettings Airdrop { get; set; }
[JsonPropertyName("ArmorMaterials")]
public Dictionary<ArmorMaterial, ArmorType> ArmorMaterials { get; set; }
[JsonPropertyName("ArenaEftTransferSettings")]
public required ArenaEftTransferSettings ArenaEftTransferSettings { get; set; } // TODO: this needs to be looked into, there are two types further down commented out with the same name
[JsonPropertyName("KarmaCalculationSettings")]
public KarmaCalculationSettings KarmaCalculationSettings { get; set; }
[JsonPropertyName("LegsOverdamage")]
public double LegsOverdamage { get; set; }
[JsonPropertyName("HandsOverdamage")]
public double HandsOverdamage { get; set; }
[JsonPropertyName("StomachOverdamage")]
public double StomachOverdamage { get; set; }
[JsonPropertyName("Health")]
public Health Health { get; set; }
[JsonPropertyName("rating")]
public Rating Rating { get; set; }
[JsonPropertyName("tournament")]
public Tournament Tournament { get; set; }
[JsonPropertyName("QuestSettings")]
public QuestSettings QuestSettings { get; set; }
[JsonPropertyName("RagFair")]
public RagFair RagFair { get; set; }
[JsonPropertyName("handbook")]
public Handbook Handbook { get; set; }
[JsonPropertyName("FractureCausedByFalling")]
public Probability FractureCausedByFalling { get; set; }
[JsonPropertyName("FractureCausedByBulletHit")]
public Probability FractureCausedByBulletHit { get; set; }
[JsonPropertyName("WAVE_COEF_LOW")]
public double WaveCoefficientLow { get; set; }
[JsonPropertyName("WAVE_COEF_MID")]
public double WaveCoefficientMid { get; set; }
[JsonPropertyName("WAVE_COEF_HIGH")]
public double WaveCoefficientHigh { get; set; }
[JsonPropertyName("WAVE_COEF_HORDE")]
public double WaveCoefficientHorde { get; set; }
[JsonPropertyName("Stamina")]
public Stamina Stamina { get; set; }
[JsonPropertyName("StaminaRestoration")]
public StaminaRestoration StaminaRestoration { get; set; }
[JsonPropertyName("StaminaDrain")]
public StaminaDrain StaminaDrain { get; set; }
[JsonPropertyName("RequirementReferences")]
public RequirementReferences RequirementReferences { get; set; }
[JsonPropertyName("RestrictionsInRaid")]
public required RestrictionsInRaid[] RestrictionsInRaid { get; set; }
[JsonPropertyName("SkillMinEffectiveness")]
public double SkillMinEffectiveness { get; set; }
[JsonPropertyName("SkillFatiguePerPoint")]
public double SkillFatiguePerPoint { get; set; }
[JsonPropertyName("SkillFreshEffectiveness")]
public double SkillFreshEffectiveness { get; set; }
[JsonPropertyName("SkillFreshPoints")]
public double SkillFreshPoints { get; set; }
[JsonPropertyName("SkillPointsBeforeFatigue")]
public double SkillPointsBeforeFatigue { get; set; }
[JsonPropertyName("SkillFatigueReset")]
public double SkillFatigueReset { get; set; }
[JsonPropertyName("DiscardLimitsEnabled")]
public bool DiscardLimitsEnabled { get; set; }
[JsonPropertyName("EnvironmentSettings")]
public EnvironmentUISettings EnvironmentSettings { get; set; }
[JsonPropertyName("EventSettings")]
public EventSettings EventSettings { get; set; }
[JsonPropertyName("FavoriteItemsSettings")]
public FavoriteItemsSettings FavoriteItemsSettings { get; set; }
[JsonPropertyName("VaultingSettings")]
public VaultingSettings VaultingSettings { get; set; }
[JsonPropertyName("BTRSettings")]
public BTRSettings BTRSettings { get; set; }
[JsonPropertyName("EventType")]
public required List<EventType> EventType { get; set; }
[JsonPropertyName("WalkSpeed")]
public XYZ WalkSpeed { get; set; }
[JsonPropertyName("SprintSpeed")]
public XYZ SprintSpeed { get; set; }
[JsonPropertyName("SquadSettings")]
public SquadSettings SquadSettings { get; set; }
[JsonPropertyName("SkillEnduranceWeightThreshold")]
public double SkillEnduranceWeightThreshold { get; set; }
[JsonPropertyName("TeamSearchingTimeout")]
public double TeamSearchingTimeout { get; set; }
[JsonPropertyName("Insurance")]
public Insurance Insurance { get; set; }
[JsonPropertyName("SkillExpPerLevel")]
public double SkillExpPerLevel { get; set; }
[JsonPropertyName("GameSearchingTimeout")]
public double GameSearchingTimeout { get; set; }
[JsonPropertyName("WallContusionAbsorption")]
public XYZ WallContusionAbsorption { get; set; }
[JsonPropertyName("WeaponFastDrawSettings")]
public WeaponFastDrawSettings WeaponFastDrawSettings { get; set; }
[JsonPropertyName("SkillsSettings")]
public SkillsSettings SkillsSettings { get; set; }
[JsonPropertyName("AzimuthPanelShowsPlayerOrientation")]
public bool AzimuthPanelShowsPlayerOrientation { get; set; }
[JsonPropertyName("Aiming")]
public Aiming Aiming { get; set; }
[JsonPropertyName("Malfunction")]
public Malfunction Malfunction { get; set; }
[JsonPropertyName("Overheat")]
public Overheat Overheat { get; set; }
[JsonPropertyName("FenceSettings")]
public FenceSettings FenceSettings { get; set; }
[JsonPropertyName("TestValue")]
public double TestValue { get; set; }
[JsonPropertyName("Inertia")]
public Inertia Inertia { get; set; }
[JsonPropertyName("Ballistic")]
public Ballistic Ballistic { get; set; }
[JsonPropertyName("RepairSettings")]
public RepairSettings RepairSettings { get; set; }
public CoopSettings CoopSettings { get; set; }
public PveSettings PveSettings { get; set; }
}
public record GlobalAudioSettings
{
[JsonPropertyName("RadioBroadcastSettings")]
public RadioBroadcastSettings RadioBroadcastSettings { get; set; }
}
public record Triggers
{
public Dictionary<string, List<DamageData>> HandlerDamage { get; set; }
}
public record DamageData
{
public int Amount { get; set; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public BodyPartColliderType BodyPartColliderType { get; set; }
}
public record HandlerDamageObject
{
public int Amount { get; set; }
public string BodyPartColliderType { get; set; }
}
public record PveSettings
{
public IEnumerable<string> AvailableVersions { get; set; }
public bool ModeEnabled { get; set; }
}
public record CoopSettings
{
public IEnumerable<string> AvailableVersions { get; set; }
}
public record RunddansSettings
{
[JsonPropertyName("accessKeys")]
public IEnumerable<string> AccessKeys { get; set; }
[JsonPropertyName("active")]
public bool Active { get; set; }
[JsonPropertyName("activePVE")]
public bool ActivePVE { get; set; }
[JsonPropertyName("applyFrozenEverySec")]
public double ApplyFrozenEverySec { get; set; }
[JsonPropertyName("consumables")]
public IEnumerable<string> Consumables { get; set; }
[JsonPropertyName("drunkImmunitySec")]
public double DrunkImmunitySec { get; set; }
[JsonPropertyName("durability")]
public XY Durability { get; set; }
[JsonPropertyName("fireDistanceToHeat")]
public double FireDistanceToHeat { get; set; }
[JsonPropertyName("grenadeDistanceToBreak")]
public double GrenadeDistanceToBreak { get; set; }
[JsonPropertyName("interactionDistance")]
public double InteractionDistance { get; set; }
[JsonPropertyName("knifeCritChanceToBreak")]
public double KnifeCritChanceToBreak { get; set; }
[JsonPropertyName("locations")]
public IEnumerable<string> Locations { get; set; }
[JsonPropertyName("multitoolRepairSec")]
public double MultitoolRepairSec { get; set; }
[JsonPropertyName("nonExitsLocations")]
public IEnumerable<string> NonExitsLocations { get; set; }
[JsonPropertyName("rainForFrozen")]
public double RainForFrozen { get; set; }
[JsonPropertyName("repairSec")]
public double RepairSec { get; set; }
[JsonPropertyName("secToBreak")]
public XY SecToBreak { get; set; }
[JsonPropertyName("sleighLocations")]
public IEnumerable<string> SleighLocations { get; set; }
}
public record SeasonActivity
{
[JsonPropertyName("InfectionHalloween")]
public SeasonActivityHalloween InfectionHalloween { get; set; }
}
public record SeasonActivityHalloween
{
[JsonPropertyName("DisplayUIEnabled")]
public bool DisplayUIEnabled { get; set; }
[JsonPropertyName("Enabled")]
public bool Enabled { get; set; }
[JsonPropertyName("ZombieBleedMul")]
public double ZombieBleedMul { get; set; }
}
public record EnvironmentUISettings
{
public EnvironmentUIData EnvironmentUIData { get; set; }
}
public record EnvironmentUIData
{
public required string[] TheUnheardEditionEnvironmentUiType { get; set; }
}
public record BodyPartColliderSettings
{
public BodyPartColliderPart BackHead { get; set; }
public BodyPartColliderPart Ears { get; set; }
public BodyPartColliderPart Eyes { get; set; }
public BodyPartColliderPart HeadCommon { get; set; }
public BodyPartColliderPart Jaw { get; set; }
public BodyPartColliderPart LeftCalf { get; set; }
public BodyPartColliderPart LeftForearm { get; set; }
public BodyPartColliderPart LeftSideChestDown { get; set; }
public BodyPartColliderPart LeftSideChestUp { get; set; }
public BodyPartColliderPart LeftThigh { get; set; }
public BodyPartColliderPart LeftUpperArm { get; set; }
public BodyPartColliderPart NeckBack { get; set; }
public BodyPartColliderPart NeckFront { get; set; }
public BodyPartColliderPart ParietalHead { get; set; }
public BodyPartColliderPart Pelvis { get; set; }
public BodyPartColliderPart PelvisBack { get; set; }
public BodyPartColliderPart RibcageLow { get; set; }
public BodyPartColliderPart RibcageUp { get; set; }
public BodyPartColliderPart RightCalf { get; set; }
public BodyPartColliderPart RightForearm { get; set; }
public BodyPartColliderPart RightSideChestDown { get; set; }
public BodyPartColliderPart RightSideChestUp { get; set; }
public BodyPartColliderPart RightThigh { get; set; }
public BodyPartColliderPart RightUpperArm { get; set; }
public BodyPartColliderPart SpineDown { get; set; }
public BodyPartColliderPart SpineTop { get; set; }
}
public record BodyPartColliderPart
{
[JsonPropertyName("PenetrationChance")]
public double PenetrationChance { get; set; }
[JsonPropertyName("PenetrationDamageMod")]
public double PenetrationDamageMod { get; set; }
[JsonPropertyName("PenetrationLevel")]
public double PenetrationLevel { get; set; }
}
public record WeaponFastDrawSettings
{
[JsonPropertyName("HandShakeCurveFrequency")]
public double HandShakeCurveFrequency { get; set; }
[JsonPropertyName("HandShakeCurveIntensity")]
public double HandShakeCurveIntensity { get; set; }
[JsonPropertyName("HandShakeMaxDuration")]
public double HandShakeMaxDuration { get; set; }
[JsonPropertyName("HandShakeTremorIntensity")]
public double HandShakeTremorIntensity { get; set; }
[JsonPropertyName("WeaponFastSwitchMaxSpeedMult")]
public double WeaponFastSwitchMaxSpeedMult { get; set; }
[JsonPropertyName("WeaponFastSwitchMinSpeedMult")]
public double WeaponFastSwitchMinSpeedMult { get; set; }
[JsonPropertyName("WeaponPistolFastSwitchMaxSpeedMult")]
public double WeaponPistolFastSwitchMaxSpeedMult { get; set; }
[JsonPropertyName("WeaponPistolFastSwitchMinSpeedMult")]
public double WeaponPistolFastSwitchMinSpeedMult { get; set; }
}
public record EventSettings
{
[JsonPropertyName("EventActive")]
public bool EventActive { get; set; }
[JsonPropertyName("EventTime")]
public double EventTime { get; set; }
[JsonPropertyName("EventWeather")]
public EventWeather EventWeather { get; set; }
[JsonPropertyName("ExitTimeMultiplier")]
public double ExitTimeMultiplier { get; set; }
[JsonPropertyName("StaminaMultiplier")]
public double StaminaMultiplier { get; set; }
[JsonPropertyName("SummonFailedWeather")]
public EventWeather SummonFailedWeather { get; set; }
[JsonPropertyName("SummonSuccessWeather")]
public EventWeather SummonSuccessWeather { get; set; }
[JsonPropertyName("WeatherChangeTime")]
public double WeatherChangeTime { get; set; }
}
public record EventWeather
{
[JsonPropertyName("Cloudness")]
public double Cloudness { get; set; }
[JsonPropertyName("Hour")]
public double Hour { get; set; }
[JsonPropertyName("Minute")]
public double Minute { get; set; }
[JsonPropertyName("Rain")]
public double Rain { get; set; }
[JsonPropertyName("RainRandomness")]
public double RainRandomness { get; set; }
[JsonPropertyName("ScaterringFogDensity")]
public double ScaterringFogDensity { get; set; }
[JsonPropertyName("TopWindDirection")]
public XYZ TopWindDirection { get; set; }
[JsonPropertyName("Wind")]
public double Wind { get; set; }
[JsonPropertyName("WindDirection")]
public double WindDirection { get; set; }
}
public record TransitSettings
{
[JsonPropertyName("BearPriceMod")]
public double BearPriceMod { get; set; }
[JsonPropertyName("ClearAllPlayerEffectsOnTransit")]
public bool ClearAllPlayerEffectsOnTransit { get; set; }
[JsonPropertyName("CoefficientDiscountCharisma")]
public double CoefficientDiscountCharisma { get; set; }
[JsonPropertyName("DeliveryMinPrice")]
public double DeliveryMinPrice { get; set; }
[JsonPropertyName("DeliveryPrice")]
public double DeliveryPrice { get; set; }
[JsonPropertyName("ModDeliveryCost")]
public double ModDeliveryCost { get; set; }
[JsonPropertyName("PercentageOfMissingEnergyRestore")]
public double PercentageOfMissingEnergyRestore { get; set; }
[JsonPropertyName("PercentageOfMissingHealthRestore")]
public double PercentageOfMissingHealthRestore { get; set; }
[JsonPropertyName("PercentageOfMissingWaterRestore")]
public double PercentageOfMissingWaterRestore { get; set; }
[JsonPropertyName("RestoreHealthOnDestroyedParts")]
public bool RestoreHealthOnDestroyedParts { get; set; }
[JsonPropertyName("ScavPriceMod")]
public double ScavPriceMod { get; set; }
[JsonPropertyName("UsecPriceMod")]
public double UsecPriceMod { get; set; }
[JsonPropertyName("active")]
public bool Active { get; set; }
}
public record TripwiresSettings
{
[JsonPropertyName("CollisionCapsuleCheckCoef")]
public double CollisionCapsuleCheckCoef { get; set; }
[JsonPropertyName("CollisionCapsuleRadius")]
public double CollisionCapsuleRadius { get; set; }
[JsonPropertyName("DefuseTimeSeconds")]
public double DefuseTimeSeconds { get; set; }
[JsonPropertyName("DestroyedSeconds")]
public double DestroyedSeconds { get; set; }
[JsonPropertyName("GroundDotProductTolerance")]
public double GroundDotProductTolerance { get; set; }
[JsonPropertyName("InertSeconds")]
public double InertSeconds { get; set; }
[JsonPropertyName("InteractionSqrDistance")]
public double InteractionSqrDistance { get; set; }
[JsonPropertyName("MaxHeightDifference")]
public double MaxHeightDifference { get; set; }
[JsonPropertyName("MaxLength")]
public double MaxLength { get; set; }
[JsonPropertyName("MaxPreviewLength")]
public double MaxPreviewLength { get; set; }
[JsonPropertyName("MaxTripwireToPlayerDistance")]
public double MaxTripwireToPlayerDistance { get; set; }
[JsonPropertyName("MinLength")]
public double MinLength { get; set; }
[JsonPropertyName("MultitoolDefuseTimeSeconds")]
public double MultitoolDefuseTimeSeconds { get; set; }
[JsonPropertyName("ShotSqrDistance")]
public double ShotSqrDistance { get; set; }
}
public record MountingSettings
{
[JsonPropertyName("MovementSettings")]
public MountingMovementSettings MovementSettings { get; set; }
[JsonPropertyName("PointDetectionSettings")]
public MountingPointDetectionSettings PointDetectionSettings { get; set; }
}
public record MountingMovementSettings
{
[JsonPropertyName("ApproachTime")]
public double ApproachTime { get; set; }
[JsonPropertyName("ApproachTimeDeltaAngleModifier")]
public double ApproachTimeDeltaAngleModifier { get; set; }
[JsonPropertyName("ExitTime")]
public double ExitTime { get; set; }
[JsonPropertyName("MaxApproachTime")]
public double MaxApproachTime { get; set; }
[JsonPropertyName("MaxPitchLimitExcess")]
public double MaxPitchLimitExcess { get; set; }
[JsonPropertyName("MaxVerticalMountAngle")]
public double MaxVerticalMountAngle { get; set; }
[JsonPropertyName("MaxYawLimitExcess")]
public double MaxYawLimitExcess { get; set; }
[JsonPropertyName("MinApproachTime")]
public double MinApproachTime { get; set; }
[JsonPropertyName("MountingCameraSpeed")]
public double MountingCameraSpeed { get; set; }
[JsonPropertyName("MountingSwayFactorModifier")]
public double MountingSwayFactorModifier { get; set; }
[JsonPropertyName("PitchLimitHorizontal")]
public XYZ PitchLimitHorizontal { get; set; }
[JsonPropertyName("PitchLimitHorizontalBipod")]
public XYZ PitchLimitHorizontalBipod { get; set; }
[JsonPropertyName("PitchLimitVertical")]
public XYZ PitchLimitVertical { get; set; }
[JsonPropertyName("RotationSpeedClamp")]
public double RotationSpeedClamp { get; set; }
[JsonPropertyName("SensitivityMultiplier")]
public double SensitivityMultiplier { get; set; }
}
public record MountingPointDetectionSettings
{
[JsonPropertyName("CheckHorizontalSecondaryOffset")]
public double CheckHorizontalSecondaryOffset { get; set; }
[JsonPropertyName("CheckWallOffset")]
public double CheckWallOffset { get; set; }
[JsonPropertyName("EdgeDetectionDistance")]
public double EdgeDetectionDistance { get; set; }
[JsonPropertyName("GridMaxHeight")]
public double GridMaxHeight { get; set; }
[JsonPropertyName("GridMinHeight")]
public double GridMinHeight { get; set; }
[JsonPropertyName("HorizontalGridFromTopOffset")]
public double HorizontalGridFromTopOffset { get; set; }
[JsonPropertyName("HorizontalGridSize")]
public double HorizontalGridSize { get; set; }
[JsonPropertyName("HorizontalGridStepsAmount")]
public double HorizontalGridStepsAmount { get; set; }
[JsonPropertyName("MaxFramesForRaycast")]
public double MaxFramesForRaycast { get; set; }
[JsonPropertyName("MaxHorizontalMountAngleDotDelta")]
public double MaxHorizontalMountAngleDotDelta { get; set; }
[JsonPropertyName("MaxProneMountAngleDotDelta")]
public double MaxProneMountAngleDotDelta { get; set; }
[JsonPropertyName("MaxVerticalMountAngleDotDelta")]
public double MaxVerticalMountAngleDotDelta { get; set; }
[JsonPropertyName("PointHorizontalMountOffset")]
public double PointHorizontalMountOffset { get; set; }
[JsonPropertyName("PointVerticalMountOffset")]
public double PointVerticalMountOffset { get; set; }
[JsonPropertyName("RaycastDistance")]
public double RaycastDistance { get; set; }
[JsonPropertyName("SecondCheckVerticalDistance")]
public double SecondCheckVerticalDistance { get; set; }
[JsonPropertyName("SecondCheckVerticalGridOffset")]
public double SecondCheckVerticalGridOffset { get; set; }
[JsonPropertyName("SecondCheckVerticalGridSize")]
public double SecondCheckVerticalGridSize { get; set; }
[JsonPropertyName("SecondCheckVerticalGridSizeStepsAmount")]
public double SecondCheckVerticalGridSizeStepsAmount { get; set; }
[JsonPropertyName("VerticalGridSize")]
public double VerticalGridSize { get; set; }
[JsonPropertyName("VerticalGridStepsAmount")]
public double VerticalGridStepsAmount { get; set; }
}
public record GraphicSettings
{
[JsonPropertyName("ExperimentalFogInCity")]
public bool ExperimentalFogInCity { get; set; }
}
public record BufferZone
{
[JsonPropertyName("CustomerAccessTime")]
public double CustomerAccessTime { get; set; }
[JsonPropertyName("CustomerCriticalTimeStart")]
public double CustomerCriticalTimeStart { get; set; }
[JsonPropertyName("CustomerKickNotifTime")]
public double CustomerKickNotifTime { get; set; }
}
public record ItemsCommonSettings
{
[JsonPropertyName("ItemRemoveAfterInterruptionTime")]
public double ItemRemoveAfterInterruptionTime { get; set; }
[JsonPropertyName("MaxBackpackInserting")]
public double MaxBackpackInserting { get; set; }
}
public record TradingSettings
{
[JsonPropertyName("BuyRestrictionMaxBonus")]
public Dictionary<string, BuyRestrictionMaxBonus> BuyRestrictionMaxBonus { get; set; }
[JsonPropertyName("BuyoutRestrictions")]
public BuyoutRestrictions BuyoutRestrictions { get; set; }
}
public record BuyRestrictionMaxBonus
{
[JsonPropertyName("multiplier")]
public double Multiplier { get; set; }
}
public record BuyoutRestrictions
{
[JsonPropertyName("MinDurability")]
public double MinDurability { get; set; }
[JsonPropertyName("MinFoodDrinkResource")]
public double MinFoodDrinkResource { get; set; }
[JsonPropertyName("MinMedsResource")]
public double MinMedsResource { get; set; }
}
public record Content
{
[JsonPropertyName("ip")]
public string Ip { get; set; }
[JsonPropertyName("port")]
public double Port { get; set; }
[JsonPropertyName("root")]
public string Root { get; set; }
}
public record Exp
{
[JsonPropertyName("heal")]
public Heal Heal { get; set; }
[JsonPropertyName("match_end")]
public MatchEnd MatchEnd { get; set; }
[JsonPropertyName("kill")]
public Kill Kill { get; set; }
[JsonPropertyName("level")]
public Level Level { get; set; }
[JsonPropertyName("loot_attempts")]
public IEnumerable<LootAttempt> LootAttempts { get; set; }
// Confirmed in client
[JsonPropertyName("expForLevelOneDogtag")]
public double ExpForLevelOneDogtag { get; set; }
// Confirmed in client
[JsonPropertyName("expForLockedDoorOpen")]
public int ExpForLockedDoorOpen { get; set; }
// Confirmed in client
[JsonPropertyName("expForLockedDoorBreach")]
public int ExpForLockedDoorBreach { get; set; }
[JsonPropertyName("triggerMult")]
public double TriggerMult { get; set; }
}
public record Heal
{
[JsonPropertyName("expForHeal")]
public double ExpForHeal { get; set; }
[JsonPropertyName("expForHydration")]
public double ExpForHydration { get; set; }
[JsonPropertyName("expForEnergy")]
public double ExpForEnergy { get; set; }
}
public record MatchEnd
{
[JsonPropertyName("README")]
public string ReadMe { get; set; }
// Confirmed in client
[JsonPropertyName("survived_exp_requirement")]
public int SurvivedExperienceRequirement { get; set; }
// Confirmed in client
[JsonPropertyName("survived_seconds_requirement")]
public int SurvivedSecondsRequirement { get; set; }
// Confirmed in client
[JsonPropertyName("survived_exp_reward")]
public int SurvivedExperienceReward { get; set; }
// Confirmed in client
[JsonPropertyName("mia_exp_reward")]
public int MiaExperienceReward { get; set; }
[JsonPropertyName("runner_exp_reward")]
public int RunnerExperienceReward { get; set; }
[JsonPropertyName("leftMult")]
public double LeftMultiplier { get; set; }
[JsonPropertyName("miaMult")]
public double MiaMultiplier { get; set; }
[JsonPropertyName("survivedMult")]
public double SurvivedMultiplier { get; set; }
[JsonPropertyName("runnerMult")]
public double RunnerMultiplier { get; set; }
[JsonPropertyName("killedMult")]
public double KilledMultiplier { get; set; }
[JsonPropertyName("transit_exp_reward")]
public double TransitExperienceReward { get; set; }
[JsonPropertyName("transit_mult")]
public IEnumerable<Dictionary<string, double>> TransitMultiplier { get; set; }
}
public record Kill
{
[JsonPropertyName("combo")]
public required Combo[] Combos { get; set; }
[JsonPropertyName("victimLevelExp")]
public double VictimLevelExperience { get; set; }
[JsonPropertyName("headShotMult")]
public double HeadShotMultiplier { get; set; }
[JsonPropertyName("expOnDamageAllHealth")]
public double ExperienceOnDamageAllHealth { get; set; }
[JsonPropertyName("longShotDistance")]
public double LongShotDistance { get; set; }
[JsonPropertyName("bloodLossToLitre")]
public double BloodLossToLitre { get; set; }
[JsonPropertyName("botExpOnDamageAllHealth")]
public double BotExperienceOnDamageAllHealth { get; set; }
[JsonPropertyName("botHeadShotMult")]
public double BotHeadShotMultiplier { get; set; }
[JsonPropertyName("victimBotLevelExp")]
public double VictimBotLevelExperience { get; set; }
[JsonPropertyName("pmcExpOnDamageAllHealth")]
public double PmcExperienceOnDamageAllHealth { get; set; }
[JsonPropertyName("pmcHeadShotMult")]
public double PmcHeadShotMultiplier { get; set; }
}
public record Combo
{
[JsonPropertyName("percent")]
public double Percentage { get; set; }
}
public record Level
{
[JsonPropertyName("exp_table")]
public required ExpTable[] ExperienceTable { get; set; }
[JsonPropertyName("trade_level")]
public double TradeLevel { get; set; }
[JsonPropertyName("savage_level")]
public double SavageLevel { get; set; }
[JsonPropertyName("clan_level")]
public double ClanLevel { get; set; }
[JsonPropertyName("mastering1")]
public double Mastering1 { get; set; }
[JsonPropertyName("mastering2")]
public double Mastering2 { get; set; }
}
public record ExpTable
{
[JsonPropertyName("exp")]
public int Experience { get; set; }
}
public record LootAttempt
{
[JsonPropertyName("k_exp")]
public double ExperiencePoints { get; set; }
}
public record Armor
{
[JsonPropertyName("class")]
public IEnumerable<Class> Classes { get; set; }
}
public record Class
{
// Checked in client
[JsonPropertyName("resistance")]
public int Resistance { get; set; }
}
public record Mastering
{
[JsonPropertyName("Name")]
public string Name { get; set; }
[JsonPropertyName("Templates")]
public IEnumerable<MongoId> Templates { get; set; }
[JsonPropertyName("Progress")]
public double Progress { get; set; }
// Checked in client
[JsonPropertyName("Level2")]
public int Level2 { get; set; }
// Checked in client
[JsonPropertyName("Level3")]
public int Level3 { get; set; }
}
public record Customization
{
[JsonPropertyName("SavageHead")]
public Dictionary<string, WildHead> Head { get; set; }
[JsonPropertyName("SavageBody")]
public Dictionary<string, WildBody> Body { get; set; }
[JsonPropertyName("SavageFeet")]
public Dictionary<string, WildFeet> Feet { get; set; }
[JsonPropertyName("CustomizationVoice")]
public IEnumerable<CustomizationVoice> VoiceOptions { get; set; }
[JsonPropertyName("BodyParts")]
public BodyParts BodyParts { get; set; }
}
public record WildHead
{
[JsonPropertyName("head")]
public string Head { get; set; }
[JsonPropertyName("isNotRandom")]
public bool IsNotRandom { get; set; }
[JsonPropertyName("NotRandom")]
public bool NotRandom { get; set; }
[JsonPropertyName("isSupportingSimpleAnimator")]
public bool IsSupportingSimpleAnimator { get; set; }
}
public record WildBody
{
[JsonPropertyName("body")]
public MongoId Body { get; set; }
[JsonPropertyName("hands")]
public MongoId Hands { get; set; }
[JsonPropertyName("isNotRandom")]
public bool IsNotRandom { get; set; }
[JsonPropertyName("isSupportingSimpleAnimator")]
public bool IsSupportingSimpleAnimator { get; set; }
}
public record WildFeet
{
[JsonPropertyName("feet")]
public string Feet { get; set; }
[JsonPropertyName("isNotRandom")]
public bool IsNotRandom { get; set; }
[JsonPropertyName("NotRandom")]
public bool NotRandom { get; set; }
[JsonPropertyName("isSupportingSimpleAnimator")]
public bool IsSupportingSimpleAnimator { get; set; }
}
public record CustomizationVoice
{
[JsonPropertyName("voice")]
public string Voice { get; set; }
[JsonPropertyName("side")]
public IEnumerable<string> Side { get; set; }
[JsonPropertyName("isNotRandom")]
public bool IsNotRandom { get; set; }
}
public record BodyParts
{
public string Head { get; set; }
public string Body { get; set; }
public string Feet { get; set; }
public string Hands { get; set; }
}
public record AirdropGlobalSettings
{
public string AirdropViewType { get; set; }
public double ParachuteEndOpenHeight { get; set; }
public double ParachuteStartOpenHeight { get; set; }
public double PlaneAdditionalDistance { get; set; }
public double PlaneAirdropDuration { get; set; }
public double PlaneAirdropFlareWait { get; set; }
public double PlaneAirdropSmoke { get; set; }
public double PlaneMaxFlightHeight { get; set; }
public double PlaneMinFlightHeight { get; set; }
public double PlaneSpeed { get; set; }
public double SmokeActivateHeight { get; set; }
}
public record KarmaCalculationSettings
{
[JsonPropertyName("defaultPveKarmaValue")]
public double DefaultPveKarmaValue { get; set; }
[JsonPropertyName("enable")]
public bool Enable { get; set; }
[JsonPropertyName("expireDaysAfterLastRaid")]
public double ExpireDaysAfterLastRaid { get; set; }
[JsonPropertyName("maxKarmaThresholdPercentile")]
public double MaxKarmaThresholdPercentile { get; set; }
[JsonPropertyName("minKarmaThresholdPercentile")]
public double MinKarmaThresholdPercentile { get; set; }
[JsonPropertyName("minSurvivedRaidCount")]
public double MinSurvivedRaidCount { get; set; }
}
public record ArenaEftTransferSettings
{
public double ArenaManagerReputationTaxMultiplier { get; set; }
public double CharismaTaxMultiplier { get; set; }
public double CreditPriceTaxMultiplier { get; set; }
public double RubTaxMultiplier { get; set; }
public Dictionary<string, double> TransferLimitsByGameEdition { get; set; }
public Dictionary<string, double> TransferLimitsSettings { get; set; }
}
public record ArmorType
{
[JsonPropertyName("Destructibility")]
public double Destructibility { get; set; }
[JsonPropertyName("MinRepairDegradation")]
public double MinRepairDegradation { get; set; }
[JsonPropertyName("MaxRepairDegradation")]
public double MaxRepairDegradation { get; set; }
[JsonPropertyName("ExplosionDestructibility")]
public double ExplosionDestructibility { get; set; }
[JsonPropertyName("MinRepairKitDegradation")]
public double MinRepairKitDegradation { get; set; }
[JsonPropertyName("MaxRepairKitDegradation")]
public double MaxRepairKitDegradation { get; set; }
}
public record Health
{
[JsonPropertyName("Falling")]
public Falling Falling { get; set; }
[JsonPropertyName("Effects")]
public Effects Effects { get; set; }
[JsonPropertyName("HealPrice")]
public HealPrice HealPrice { get; set; }
[JsonPropertyName("ProfileHealthSettings")]
public ProfileHealthSettings ProfileHealthSettings { get; set; }
}
public record Falling
{
[JsonPropertyName("DamagePerMeter")]
public double DamagePerMeter { get; set; }
[JsonPropertyName("SafeHeight")]
public double SafeHeight { get; set; }
}
public record Effects
{
[JsonPropertyName("Existence")]
public Existence Existence { get; set; }
[JsonPropertyName("Dehydration")]
public Dehydration Dehydration { get; set; }
[JsonPropertyName("BreakPart")]
public BreakPart BreakPart { get; set; }
[JsonPropertyName("Contusion")]
public Contusion Contusion { get; set; }
[JsonPropertyName("Disorientation")]
public Disorientation Disorientation { get; set; }
[JsonPropertyName("Exhaustion")]
public Exhaustion Exhaustion { get; set; }
[JsonPropertyName("LowEdgeHealth")]
public LowEdgeHealth LowEdgeHealth { get; set; }
[JsonPropertyName("RadExposure")]
public RadExposure RadExposure { get; set; }
[JsonPropertyName("Stun")]
public Stun Stun { get; set; }
[JsonPropertyName("Intoxication")]
public Intoxication Intoxication { get; set; }
[JsonPropertyName("Regeneration")]
public Regeneration Regeneration { get; set; }
[JsonPropertyName("Wound")]
public Wound Wound { get; set; }
[JsonPropertyName("Berserk")]
public Berserk Berserk { get; set; }
[JsonPropertyName("Flash")]
public Flash Flash { get; set; }
[JsonPropertyName("MedEffect")]
public MedEffect MedEffect { get; set; }
[JsonPropertyName("Pain")]
public Pain Pain { get; set; }
[JsonPropertyName("PainKiller")]
public PainKiller PainKiller { get; set; }
[JsonPropertyName("SandingScreen")]
public SandingScreen SandingScreen { get; set; }
[JsonPropertyName("MildMusclePain")]
public MusclePainEffect MildMusclePain { get; set; }
[JsonPropertyName("SevereMusclePain")]
public MusclePainEffect SevereMusclePain { get; set; }
[JsonPropertyName("Stimulator")]
public Stimulator Stimulator { get; set; }
[JsonPropertyName("Tremor")]
public Tremor Tremor { get; set; }
[JsonPropertyName("ChronicStaminaFatigue")]
public ChronicStaminaFatigue ChronicStaminaFatigue { get; set; }
[JsonPropertyName("Fracture")]
public Fracture Fracture { get; set; }
[JsonPropertyName("HeavyBleeding")]
public HeavyBleeding HeavyBleeding { get; set; }
[JsonPropertyName("LightBleeding")]
public LightBleeding LightBleeding { get; set; }
[JsonPropertyName("BodyTemperature")]
public BodyTemperature BodyTemperature { get; set; }
[JsonPropertyName("ZombieInfection")]
public ZombieInfection ZombieInfection { get; set; }
}
public record ZombieInfection
{
[JsonPropertyName("Dehydration")]
public double Dehydration { get; set; }
[JsonPropertyName("HearingDebuffPercentage")]
public double HearingDebuffPercentage { get; set; }
// The C on the Cumulatie down here is the russian C, its encoded differently, I THINK
// Just in case, dont change it
[JsonPropertyName("СumulativeTime")]
public double CumulativeTime { get; set; }
}
public record Existence
{
[JsonPropertyName("EnergyLoopTime")]
public double EnergyLoopTime { get; set; }
[JsonPropertyName("HydrationLoopTime")]
public double HydrationLoopTime { get; set; }
[JsonPropertyName("EnergyDamage")]
public double EnergyDamage { get; set; }
[JsonPropertyName("HydrationDamage")]
public double HydrationDamage { get; set; }
[JsonPropertyName("DestroyedStomachEnergyTimeFactor")]
public double DestroyedStomachEnergyTimeFactor { get; set; }
[JsonPropertyName("DestroyedStomachHydrationTimeFactor")]
public double DestroyedStomachHydrationTimeFactor { get; set; }
}
public record Dehydration
{
[JsonPropertyName("DefaultDelay")]
public double DefaultDelay { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
[JsonPropertyName("BleedingHealth")]
public double BleedingHealth { get; set; }
[JsonPropertyName("BleedingLoopTime")]
public double BleedingLoopTime { get; set; }
[JsonPropertyName("BleedingLifeTime")]
public double BleedingLifeTime { get; set; }
[JsonPropertyName("DamageOnStrongDehydration")]
public double DamageOnStrongDehydration { get; set; }
[JsonPropertyName("StrongDehydrationLoopTime")]
public double StrongDehydrationLoopTime { get; set; }
}
public record BreakPart
{
[JsonPropertyName("DefaultDelay")]
public double DefaultDelay { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
[JsonPropertyName("HealExperience")]
public double HealExperience { get; set; }
[JsonPropertyName("OfflineDurationMin")]
public double OfflineDurationMin { get; set; }
[JsonPropertyName("OfflineDurationMax")]
public double OfflineDurationMax { get; set; }
[JsonPropertyName("RemovePrice")]
public double RemovePrice { get; set; }
[JsonPropertyName("RemovedAfterDeath")]
public bool RemovedAfterDeath { get; set; }
[JsonPropertyName("BulletHitProbability")]
public Probability BulletHitProbability { get; set; }
[JsonPropertyName("FallingProbability")]
public Probability FallingProbability { get; set; }
}
public record Contusion
{
[JsonPropertyName("Dummy")]
public double Dummy { get; set; }
}
public record Disorientation
{
[JsonPropertyName("Dummy")]
public double Dummy { get; set; }
}
public record Exhaustion
{
[JsonPropertyName("DefaultDelay")]
public double DefaultDelay { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
[JsonPropertyName("Damage")]
public double Damage { get; set; }
[JsonPropertyName("DamageLoopTime")]
public double DamageLoopTime { get; set; }
}
public record LowEdgeHealth
{
[JsonPropertyName("DefaultDelay")]
public double DefaultDelay { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
[JsonPropertyName("StartCommonHealth")]
public double StartCommonHealth { get; set; }
}
public record RadExposure
{
[JsonPropertyName("Damage")]
public double Damage { get; set; }
[JsonPropertyName("DamageLoopTime")]
public double DamageLoopTime { get; set; }
}
public record Stun
{
[JsonPropertyName("Dummy")]
public double Dummy { get; set; }
}
public record Intoxication
{
[JsonPropertyName("DefaultDelay")]
public double DefaultDelay { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
[JsonPropertyName("DamageHealth")]
public double DamageHealth { get; set; }
[JsonPropertyName("HealthLoopTime")]
public double HealthLoopTime { get; set; }
[JsonPropertyName("OfflineDurationMin")]
public double OfflineDurationMin { get; set; }
[JsonPropertyName("OfflineDurationMax")]
public double OfflineDurationMax { get; set; }
[JsonPropertyName("RemovedAfterDeath")]
public bool RemovedAfterDeath { get; set; }
[JsonPropertyName("HealExperience")]
public double HealExperience { get; set; }
[JsonPropertyName("RemovePrice")]
public double RemovePrice { get; set; }
}
public record Regeneration
{
[JsonPropertyName("LoopTime")]
public double LoopTime { get; set; }
[JsonPropertyName("MinimumHealthPercentage")]
public double MinimumHealthPercentage { get; set; }
[JsonPropertyName("Energy")]
public double Energy { get; set; }
[JsonPropertyName("Hydration")]
public double Hydration { get; set; }
[JsonPropertyName("BodyHealth")]
public BodyHealth BodyHealth { get; set; }
[JsonPropertyName("Influences")]
public Influences Influences { get; set; }
}
public record BodyHealth
{
[JsonPropertyName("Head")]
public BodyHealthValue Head { get; set; }
[JsonPropertyName("Chest")]
public BodyHealthValue Chest { get; set; }
[JsonPropertyName("Stomach")]
public BodyHealthValue Stomach { get; set; }
[JsonPropertyName("LeftArm")]
public BodyHealthValue LeftArm { get; set; }
[JsonPropertyName("RightArm")]
public BodyHealthValue RightArm { get; set; }
[JsonPropertyName("LeftLeg")]
public BodyHealthValue LeftLeg { get; set; }
[JsonPropertyName("RightLeg")]
public BodyHealthValue RightLeg { get; set; }
}
public record BodyHealthValue
{
[JsonPropertyName("Value")]
public double Value { get; set; }
}
public record Influences
{
[JsonPropertyName("LightBleeding")]
public Influence LightBleeding { get; set; }
[JsonPropertyName("HeavyBleeding")]
public Influence HeavyBleeding { get; set; }
[JsonPropertyName("Fracture")]
public Influence Fracture { get; set; }
[JsonPropertyName("RadExposure")]
public Influence RadExposure { get; set; }
[JsonPropertyName("Intoxication")]
public Influence Intoxication { get; set; }
}
public record Influence
{
[JsonPropertyName("HealthSlowDownPercentage")]
public double HealthSlowDownPercentage { get; set; }
[JsonPropertyName("EnergySlowDownPercentage")]
public double EnergySlowDownPercentage { get; set; }
[JsonPropertyName("HydrationSlowDownPercentage")]
public double HydrationSlowDownPercentage { get; set; }
}
public record Wound
{
[JsonPropertyName("WorkingTime")]
public double WorkingTime { get; set; }
[JsonPropertyName("ThresholdMin")]
public double ThresholdMin { get; set; }
[JsonPropertyName("ThresholdMax")]
public double ThresholdMax { get; set; }
}
public record Berserk
{
[JsonPropertyName("DefaultDelay")]
public double DefaultDelay { get; set; }
[JsonPropertyName("WorkingTime")]
public double WorkingTime { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
}
public record Flash
{
[JsonPropertyName("Dummy")]
public double Dummy { get; set; }
}
public record MedEffect
{
[JsonPropertyName("LoopTime")]
public double LoopTime { get; set; }
[JsonPropertyName("StartDelay")]
public double StartDelay { get; set; }
[JsonPropertyName("DrinkStartDelay")]
public double DrinkStartDelay { get; set; }
[JsonPropertyName("FoodStartDelay")]
public double FoodStartDelay { get; set; }
[JsonPropertyName("DrugsStartDelay")]
public double DrugsStartDelay { get; set; }
[JsonPropertyName("MedKitStartDelay")]
public double MedKitStartDelay { get; set; }
[JsonPropertyName("MedicalStartDelay")]
public double MedicalStartDelay { get; set; }
[JsonPropertyName("StimulatorStartDelay")]
public double StimulatorStartDelay { get; set; }
}
public record Pain
{
[JsonPropertyName("TremorDelay")]
public double TremorDelay { get; set; }
[JsonPropertyName("HealExperience")]
public double HealExperience { get; set; }
}
public record PainKiller
{
public double Dummy { get; set; }
}
public record SandingScreen
{
public double Dummy { get; set; }
}
public record MusclePainEffect
{
public double GymEffectivity { get; set; }
public double OfflineDurationMax { get; set; }
public double OfflineDurationMin { get; set; }
public double TraumaChance { get; set; }
}
public record Stimulator
{
public double BuffLoopTime { get; set; }
public Dictionary<string, IEnumerable<Buff>> Buffs { get; set; }
}
public record Buff
{
[JsonPropertyName("BuffType")]
public string BuffType { get; set; }
[JsonPropertyName("Chance")]
public double Chance { get; set; }
[JsonPropertyName("Delay")]
public double Delay { get; set; }
[JsonPropertyName("Duration")]
public double Duration { get; set; }
[JsonPropertyName("Value")]
public double Value { get; set; }
[JsonPropertyName("AbsoluteValue")]
public bool AbsoluteValue { get; set; }
[JsonPropertyName("SkillName")]
public string SkillName { get; set; }
public IEnumerable<string> AppliesTo { get; set; }
}
public record Tremor
{
[JsonPropertyName("DefaultDelay")]
public double DefaultDelay { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
}
public record ChronicStaminaFatigue
{
[JsonPropertyName("EnergyRate")]
public double EnergyRate { get; set; }
[JsonPropertyName("WorkingTime")]
public double WorkingTime { get; set; }
[JsonPropertyName("TicksEvery")]
public double TicksEvery { get; set; }
[JsonPropertyName("EnergyRatePerStack")]
public double EnergyRatePerStack { get; set; }
}
public record Fracture
{
[JsonPropertyName("DefaultDelay")]
public double DefaultDelay { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
[JsonPropertyName("HealExperience")]
public double HealExperience { get; set; }
[JsonPropertyName("OfflineDurationMin")]
public double OfflineDurationMin { get; set; }
[JsonPropertyName("OfflineDurationMax")]
public double OfflineDurationMax { get; set; }
[JsonPropertyName("RemovePrice")]
public double RemovePrice { get; set; }
[JsonPropertyName("RemovedAfterDeath")]
public bool RemovedAfterDeath { get; set; }
[JsonPropertyName("BulletHitProbability")]
public Probability BulletHitProbability { get; set; }
[JsonPropertyName("FallingProbability")]
public Probability FallingProbability { get; set; }
}
public record HeavyBleeding
{
[JsonPropertyName("DefaultDelay")]
public double DefaultDelay { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
[JsonPropertyName("DamageEnergy")]
public double DamageEnergy { get; set; }
[JsonPropertyName("DamageHealth")]
public double DamageHealth { get; set; }
[JsonPropertyName("EnergyLoopTime")]
public double EnergyLoopTime { get; set; }
[JsonPropertyName("HealthLoopTime")]
public double HealthLoopTime { get; set; }
[JsonPropertyName("DamageHealthDehydrated")]
public double DamageHealthDehydrated { get; set; }
[JsonPropertyName("HealthLoopTimeDehydrated")]
public double HealthLoopTimeDehydrated { get; set; }
[JsonPropertyName("LifeTimeDehydrated")]
public double LifeTimeDehydrated { get; set; }
[JsonPropertyName("EliteVitalityDuration")]
public double EliteVitalityDuration { get; set; }
[JsonPropertyName("HealExperience")]
public double HealExperience { get; set; }
[JsonPropertyName("OfflineDurationMin")]
public double OfflineDurationMin { get; set; }
[JsonPropertyName("OfflineDurationMax")]
public double OfflineDurationMax { get; set; }
[JsonPropertyName("RemovePrice")]
public double RemovePrice { get; set; }
[JsonPropertyName("RemovedAfterDeath")]
public bool RemovedAfterDeath { get; set; }
[JsonPropertyName("Probability")]
public Probability Probability { get; set; }
}
public record Probability
{
[JsonPropertyName("FunctionType")]
public string FunctionType { get; set; }
[JsonPropertyName("K")]
public double K { get; set; }
[JsonPropertyName("B")]
public double B { get; set; }
[JsonPropertyName("Threshold")]
public double Threshold { get; set; }
}
public record LightBleeding
{
[JsonPropertyName("DefaultDelay")]
public double DefaultDelay { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
[JsonPropertyName("DamageEnergy")]
public double DamageEnergy { get; set; }
[JsonPropertyName("DamageHealth")]
public double DamageHealth { get; set; }
[JsonPropertyName("EnergyLoopTime")]
public double EnergyLoopTime { get; set; }
[JsonPropertyName("HealthLoopTime")]
public double HealthLoopTime { get; set; }
[JsonPropertyName("DamageHealthDehydrated")]
public double DamageHealthDehydrated { get; set; }
[JsonPropertyName("HealthLoopTimeDehydrated")]
public double HealthLoopTimeDehydrated { get; set; }
[JsonPropertyName("LifeTimeDehydrated")]
public double LifeTimeDehydrated { get; set; }
[JsonPropertyName("EliteVitalityDuration")]
public double EliteVitalityDuration { get; set; }
[JsonPropertyName("HealExperience")]
public double HealExperience { get; set; }
[JsonPropertyName("OfflineDurationMin")]
public double OfflineDurationMin { get; set; }
[JsonPropertyName("OfflineDurationMax")]
public double OfflineDurationMax { get; set; }
[JsonPropertyName("RemovePrice")]
public double RemovePrice { get; set; }
[JsonPropertyName("RemovedAfterDeath")]
public bool RemovedAfterDeath { get; set; }
[JsonPropertyName("Probability")]
public Probability Probability { get; set; }
}
public record BodyTemperature
{
[JsonPropertyName("DefaultBuildUpTime")]
public double DefaultBuildUpTime { get; set; }
[JsonPropertyName("DefaultResidueTime")]
public double DefaultResidueTime { get; set; }
[JsonPropertyName("LoopTime")]
public double LoopTime { get; set; }
}
public record HealPrice
{
[JsonPropertyName("HealthPointPrice")]
public double HealthPointPrice { get; set; }
[JsonPropertyName("HydrationPointPrice")]
public double HydrationPointPrice { get; set; }
[JsonPropertyName("EnergyPointPrice")]
public double EnergyPointPrice { get; set; }
[JsonPropertyName("TrialLevels")]
public double TrialLevels { get; set; }
[JsonPropertyName("TrialRaids")]
public double TrialRaids { get; set; }
}
public record ProfileHealthSettings
{
[JsonPropertyName("BodyPartsSettings")]
public BodyPartsSettings BodyPartsSettings { get; set; }
[JsonPropertyName("HealthFactorsSettings")]
public HealthFactorsSettings HealthFactorsSettings { get; set; }
[JsonPropertyName("DefaultStimulatorBuff")]
public string DefaultStimulatorBuff { get; set; }
}
public record BodyPartsSettings
{
[JsonPropertyName("Head")]
public BodyPartsSetting Head { get; set; }
[JsonPropertyName("Chest")]
public BodyPartsSetting Chest { get; set; }
[JsonPropertyName("Stomach")]
public BodyPartsSetting Stomach { get; set; }
[JsonPropertyName("LeftArm")]
public BodyPartsSetting LeftArm { get; set; }
[JsonPropertyName("RightArm")]
public BodyPartsSetting RightArm { get; set; }
[JsonPropertyName("LeftLeg")]
public BodyPartsSetting LeftLeg { get; set; }
[JsonPropertyName("RightLeg")]
public BodyPartsSetting RightLeg { get; set; }
}
public record BodyPartsSetting
{
[JsonPropertyName("Minimum")]
public double Minimum { get; set; }
[JsonPropertyName("Maximum")]
public double Maximum { get; set; }
[JsonPropertyName("Default")]
public double Default { get; set; }
[JsonPropertyName("EnvironmentDamageMultiplier")]
public float EnvironmentDamageMultiplier { get; set; }
[JsonPropertyName("OverDamageReceivedMultiplier")]
public float OverDamageReceivedMultiplier { get; set; }
}
public record HealthFactorsSettings
{
[JsonPropertyName("Energy")]
public HealthFactorSetting Energy { get; set; }
[JsonPropertyName("Hydration")]
public HealthFactorSetting Hydration { get; set; }
[JsonPropertyName("Temperature")]
public HealthFactorSetting Temperature { get; set; }
[JsonPropertyName("Poisoning")]
public HealthFactorSetting Poisoning { get; set; }
[JsonPropertyName("Radiation")]
public HealthFactorSetting Radiation { get; set; }
}
public record HealthFactorSetting
{
[JsonPropertyName("Minimum")]
public double Minimum { get; set; }
[JsonPropertyName("Maximum")]
public double Maximum { get; set; }
[JsonPropertyName("Default")]
public double Default { get; set; }
}
public record Rating
{
[JsonPropertyName("levelRequired")]
public double LevelRequired { get; set; }
[JsonPropertyName("limit")]
public double Limit { get; set; }
[JsonPropertyName("categories")]
public Categories Categories { get; set; }
}
public record Categories
{
[JsonPropertyName("experience")]
public bool Experience { get; set; }
[JsonPropertyName("kd")]
public bool Kd { get; set; }
[JsonPropertyName("surviveRatio")]
public bool SurviveRatio { get; set; }
[JsonPropertyName("avgEarnings")]
public bool AvgEarnings { get; set; }
[JsonPropertyName("pmcKills")]
public bool PmcKills { get; set; }
[JsonPropertyName("raidCount")]
public bool RaidCount { get; set; }
[JsonPropertyName("longestShot")]
public bool LongestShot { get; set; }
[JsonPropertyName("timeOnline")]
public bool TimeOnline { get; set; }
[JsonPropertyName("inventoryFullCost")]
public bool InventoryFullCost { get; set; }
[JsonPropertyName("ragFairStanding")]
public bool RagFairStanding { get; set; }
}
public record Tournament
{
[JsonPropertyName("categories")]
public TournamentCategories Categories { get; set; }
[JsonPropertyName("limit")]
public double Limit { get; set; }
[JsonPropertyName("levelRequired")]
public double LevelRequired { get; set; }
}
public record TournamentCategories
{
[JsonPropertyName("dogtags")]
public bool Dogtags { get; set; }
}
public record RagFair
{
[JsonPropertyName("enabled")]
public bool Enabled { get; set; }
[JsonPropertyName("priceStabilizerEnabled")]
public bool PriceStabilizerEnabled { get; set; }
[JsonPropertyName("includePveTraderSales")]
public bool IncludePveTraderSales { get; set; }
[JsonPropertyName("priceStabilizerStartIntervalInHours")]
public double PriceStabilizerStartIntervalInHours { get; set; }
// Checked in client
[JsonPropertyName("minUserLevel")]
public int MinUserLevel { get; set; }
[JsonPropertyName("communityTax")]
public float CommunityTax { get; set; }
[JsonPropertyName("communityItemTax")]
public float CommunityItemTax { get; set; }
// Checked in client
[JsonPropertyName("communityRequirementTax")]
public double CommunityRequirementTax { get; set; }
[JsonPropertyName("offerPriorityCost")]
public float OfferPriorityCost { get; set; }
[JsonPropertyName("offerDurationTimeInHour")]
public double OfferDurationTimeInHour { get; set; }
[JsonPropertyName("offerDurationTimeInHourAfterRemove")]
public double OfferDurationTimeInHourAfterRemove { get; set; }
[JsonPropertyName("priorityTimeModifier")]
public float PriorityTimeModifier { get; set; }
[JsonPropertyName("maxRenewOfferTimeInHour")]
public double MaxRenewOfferTimeInHour { get; set; }
[JsonPropertyName("renewPricePerHour")]
public float RenewPricePerHour { get; set; }
[JsonPropertyName("maxActiveOfferCount")]
public IEnumerable<MaxActiveOfferCount> MaxActiveOfferCount { get; set; }
[JsonPropertyName("balancerRemovePriceCoefficient")]
public float BalancerRemovePriceCoefficient { get; set; }
[JsonPropertyName("balancerMinPriceCount")]
public float BalancerMinPriceCount { get; set; }
[JsonPropertyName("balancerAveragePriceCoefficient")]
public float BalancerAveragePriceCoefficient { get; set; }
[JsonPropertyName("delaySinceOfferAdd")]
public int DelaySinceOfferAdd { get; set; }
[JsonPropertyName("uniqueBuyerTimeoutInDays")]
public double UniqueBuyerTimeoutInDays { get; set; }
[JsonPropertyName("userRatingChangeFrequencyMultiplayer")]
public float UserRatingChangeFrequencyMultiplayer { get; set; }
[JsonPropertyName("RagfairTurnOnTimestamp")]
public long RagfairTurnOnTimestamp { get; set; }
[JsonPropertyName("ratingSumForIncrease")]
public double RatingSumForIncrease { get; set; }
[JsonPropertyName("ratingIncreaseCount")]
public double RatingIncreaseCount { get; set; }
[JsonPropertyName("ratingSumForDecrease")]
public double RatingSumForDecrease { get; set; }
[JsonPropertyName("ratingDecreaseCount")]
public double RatingDecreaseCount { get; set; }
[JsonPropertyName("maxSumForIncreaseRatingPerOneSale")]
public double MaxSumForIncreaseRatingPerOneSale { get; set; }
[JsonPropertyName("maxSumForDecreaseRatingPerOneSale")]
public double MaxSumForDecreaseRatingPerOneSale { get; set; }
[JsonPropertyName("maxSumForRarity")]
public MaxSumForRarity MaxSumForRarity { get; set; }
[JsonPropertyName("ChangePriceCoef")]
public double ChangePriceCoef { get; set; }
[JsonPropertyName("ItemRestrictions")]
public IEnumerable<ItemGlobalRestrictions> ItemRestrictions { get; set; }
[JsonPropertyName("balancerUserItemSaleCooldownEnabled")]
public bool BalancerUserItemSaleCooldownEnabled { get; set; }
[JsonPropertyName("balancerUserItemSaleCooldown")]
public float BalancerUserItemSaleCooldown { get; set; }
[JsonPropertyName("youSellOfferMaxStorageTimeInHour")]
public double YouSellOfferMaxStorageTimeInHour { get; set; }
[JsonPropertyName("yourOfferDidNotSellMaxStorageTimeInHour")]
public double YourOfferDidNotSellMaxStorageTimeInHour { get; set; }
[JsonPropertyName("isOnlyFoundInRaidAllowed")]
public bool IsOnlyFoundInRaidAllowed { get; set; }
[JsonPropertyName("sellInOnePiece")]
public double SellInOnePiece { get; set; }
}
public record ItemGlobalRestrictions
{
[JsonPropertyName("MaxFlea")]
public double MaxFlea { get; set; }
[JsonPropertyName("MaxFleaStacked")]
public double MaxFleaStacked { get; set; }
[JsonPropertyName("TemplateId")]
public MongoId TemplateId { get; set; }
}
public record MaxActiveOfferCount
{
[JsonPropertyName("from")]
public double From { get; set; }
[JsonPropertyName("to")]
public double To { get; set; }
[JsonPropertyName("count")]
public double Count { get; set; }
[JsonPropertyName("countForSpecialEditions")]
public double CountForSpecialEditions { get; set; }
}
public record MaxSumForRarity
{
[JsonPropertyName("Common")]
public RarityMaxSum Common { get; set; }
[JsonPropertyName("Rare")]
public RarityMaxSum Rare { get; set; }
[JsonPropertyName("Superrare")]
public RarityMaxSum Superrare { get; set; }
[JsonPropertyName("Not_exist")]
public RarityMaxSum NotExist { get; set; }
}
public record RarityMaxSum
{
[JsonPropertyName("value")]
public double Value { get; set; }
}
public record Handbook
{
[JsonPropertyName("defaultCategory")]
public string DefaultCategory { get; set; }
}
public record Stamina
{
[JsonPropertyName("Capacity")]
public double Capacity { get; set; }
[JsonPropertyName("SprintDrainRate")]
public double SprintDrainRate { get; set; }
[JsonPropertyName("BaseRestorationRate")]
public double BaseRestorationRate { get; set; }
[JsonPropertyName("BipodAimDrainRateMultiplier")]
public double BipodAimDrainRateMultiplier { get; set; }
[JsonPropertyName("JumpConsumption")]
public double JumpConsumption { get; set; }
[JsonPropertyName("MountingHorizontalAimDrainRateMultiplier")]
public double MountingHorizontalAimDrainRateMultiplier { get; set; }
[JsonPropertyName("MountingVerticalAimDrainRateMultiplier")]
public double MountingVerticalAimDrainRateMultiplier { get; set; }
[JsonPropertyName("GrenadeHighThrow")]
public double GrenadeHighThrow { get; set; }
[JsonPropertyName("GrenadeLowThrow")]
public double GrenadeLowThrow { get; set; }
[JsonPropertyName("AimDrainRate")]
public double AimDrainRate { get; set; }
[JsonPropertyName("AimRangeFinderDrainRate")]
public double AimRangeFinderDrainRate { get; set; }
[JsonPropertyName("OxygenCapacity")]
public double OxygenCapacity { get; set; }
[JsonPropertyName("OxygenRestoration")]
public double OxygenRestoration { get; set; }
[JsonPropertyName("WalkOverweightLimits")]
public XYZ WalkOverweightLimits { get; set; }
[JsonPropertyName("BaseOverweightLimits")]
public XYZ BaseOverweightLimits { get; set; }
[JsonPropertyName("SprintOverweightLimits")]
public XYZ SprintOverweightLimits { get; set; }
[JsonPropertyName("WalkSpeedOverweightLimits")]
public XYZ WalkSpeedOverweightLimits { get; set; }
[JsonPropertyName("CrouchConsumption")]
public XYZ CrouchConsumption { get; set; }
[JsonPropertyName("WalkConsumption")]
public XYZ WalkConsumption { get; set; }
[JsonPropertyName("StandupConsumption")]
public XYZ StandupConsumption { get; set; }
[JsonPropertyName("TransitionSpeed")]
public XYZ TransitionSpeed { get; set; }
[JsonPropertyName("SprintAccelerationLowerLimit")]
public double SprintAccelerationLowerLimit { get; set; }
[JsonPropertyName("SprintSpeedLowerLimit")]
public double SprintSpeedLowerLimit { get; set; }
[JsonPropertyName("SprintSensitivityLowerLimit")]
public double SprintSensitivityLowerLimit { get; set; }
[JsonPropertyName("AimConsumptionByPose")]
public XYZ AimConsumptionByPose { get; set; }
[JsonPropertyName("RestorationMultiplierByPose")]
public XYZ RestorationMultiplierByPose { get; set; }
[JsonPropertyName("OverweightConsumptionByPose")]
public XYZ OverweightConsumptionByPose { get; set; }
[JsonPropertyName("AimingSpeedMultiplier")]
public double AimingSpeedMultiplier { get; set; }
[JsonPropertyName("WalkVisualEffectMultiplier")]
public double WalkVisualEffectMultiplier { get; set; }
[JsonPropertyName("WeaponFastSwitchConsumption")]
public double WeaponFastSwitchConsumption { get; set; }
[JsonPropertyName("HandsCapacity")]
public double HandsCapacity { get; set; }
[JsonPropertyName("HandsRestoration")]
public double HandsRestoration { get; set; }
[JsonPropertyName("ProneConsumption")]
public double ProneConsumption { get; set; }
[JsonPropertyName("BaseHoldBreathConsumption")]
public double BaseHoldBreathConsumption { get; set; }
[JsonPropertyName("SoundRadius")]
public XYZ SoundRadius { get; set; }
[JsonPropertyName("ExhaustedMeleeSpeed")]
public double ExhaustedMeleeSpeed { get; set; }
[JsonPropertyName("FatigueRestorationRate")]
public double FatigueRestorationRate { get; set; }
[JsonPropertyName("FatigueAmountToCreateEffect")]
public double FatigueAmountToCreateEffect { get; set; }
[JsonPropertyName("ExhaustedMeleeDamageMultiplier")]
public double ExhaustedMeleeDamageMultiplier { get; set; }
[JsonPropertyName("FallDamageMultiplier")]
public double FallDamageMultiplier { get; set; }
[JsonPropertyName("SafeHeightOverweight")]
public double SafeHeightOverweight { get; set; }
[JsonPropertyName("SitToStandConsumption")]
public double SitToStandConsumption { get; set; }
[JsonPropertyName("StaminaExhaustionCausesJiggle")]
public bool StaminaExhaustionCausesJiggle { get; set; }
[JsonPropertyName("StaminaExhaustionStartsBreathSound")]
public bool StaminaExhaustionStartsBreathSound { get; set; }
[JsonPropertyName("StaminaExhaustionRocksCamera")]
public bool StaminaExhaustionRocksCamera { get; set; }
[JsonPropertyName("HoldBreathStaminaMultiplier")]
public XYZ HoldBreathStaminaMultiplier { get; set; }
[JsonPropertyName("PoseLevelIncreaseSpeed")]
public XYZ PoseLevelIncreaseSpeed { get; set; }
[JsonPropertyName("PoseLevelDecreaseSpeed")]
public XYZ PoseLevelDecreaseSpeed { get; set; }
[JsonPropertyName("PoseLevelConsumptionPerNotch")]
public XYZ PoseLevelConsumptionPerNotch { get; set; }
public XYZ ClimbLegsConsumption { get; set; }
public XYZ ClimbOneHandConsumption { get; set; }
public XYZ ClimbTwoHandsConsumption { get; set; }
public XYZ VaultLegsConsumption { get; set; }
public XYZ VaultOneHandConsumption { get; set; }
}
public record StaminaRestoration
{
[JsonPropertyName("LowerLeftPoint")]
public double LowerLeftPoint { get; set; }
[JsonPropertyName("LowerRightPoint")]
public double LowerRightPoint { get; set; }
[JsonPropertyName("LeftPlatoPoint")]
public double LeftPlatoPoint { get; set; }
[JsonPropertyName("RightPlatoPoint")]
public double RightPlatoPoint { get; set; }
[JsonPropertyName("RightLimit")]
public double RightLimit { get; set; }
[JsonPropertyName("ZeroValue")]
public double ZeroValue { get; set; }
}
public record StaminaDrain
{
[JsonPropertyName("LowerLeftPoint")]
public double LowerLeftPoint { get; set; }
[JsonPropertyName("LowerRightPoint")]
public double LowerRightPoint { get; set; }
[JsonPropertyName("LeftPlatoPoint")]
public double LeftPlatoPoint { get; set; }
[JsonPropertyName("RightPlatoPoint")]
public double RightPlatoPoint { get; set; }
[JsonPropertyName("RightLimit")]
public double RightLimit { get; set; }
[JsonPropertyName("ZeroValue")]
public double ZeroValue { get; set; }
}
public record RequirementReferences
{
[JsonPropertyName("Alpinist")]
public IEnumerable<Alpinist> Alpinists { get; set; }
}
public record Alpinist
{
[JsonPropertyName("Requirement")]
public string Requirement { get; set; }
[JsonPropertyName("Id")]
public string Id { get; set; }
[JsonPropertyName("Count")]
public double Count { get; set; }
[JsonPropertyName("RequiredSlot")]
public string RequiredSlot { get; set; }
[JsonPropertyName("RequirementTip")]
public string RequirementTip { get; set; }
}
public record RestrictionsInRaid
{
[JsonPropertyName("MaxInLobby")]
public double MaxInLobby { get; set; }
[JsonPropertyName("MaxInRaid")]
public double MaxInRaid { get; set; }
[JsonPropertyName("TemplateId")]
public MongoId TemplateId { get; set; }
}
public record FavoriteItemsSettings
{
[JsonPropertyName("WeaponStandMaxItemsCount")]
public double WeaponStandMaxItemsCount { get; set; }
[JsonPropertyName("PlaceOfFameMaxItemsCount")]
public double PlaceOfFameMaxItemsCount { get; set; }
}
public record VaultingSettings
{
[JsonPropertyName("IsActive")]
public bool IsActive { get; set; }
[JsonPropertyName("VaultingInputTime")]
public double VaultingInputTime { get; set; }
[JsonPropertyName("GridSettings")]
public VaultingGridSettings GridSettings { get; set; }
[JsonPropertyName("MovesSettings")]
public VaultingMovesSettings MovesSettings { get; set; }
}
public record VaultingGridSettings
{
[JsonPropertyName("GridSizeX")]
public double GridSizeX { get; set; }
[JsonPropertyName("GridSizeY")]
public double GridSizeY { get; set; }
[JsonPropertyName("GridSizeZ")]
public double GridSizeZ { get; set; }
[JsonPropertyName("SteppingLengthX")]
public double SteppingLengthX { get; set; }
[JsonPropertyName("SteppingLengthY")]
public double SteppingLengthY { get; set; }
[JsonPropertyName("SteppingLengthZ")]
public double SteppingLengthZ { get; set; }
[JsonPropertyName("GridOffsetX")]
public double GridOffsetX { get; set; }
[JsonPropertyName("GridOffsetY")]
public double GridOffsetY { get; set; }
[JsonPropertyName("GridOffsetZ")]
public double GridOffsetZ { get; set; }
[JsonPropertyName("OffsetFactor")]
public double OffsetFactor { get; set; }
}
public record VaultingMovesSettings
{
[JsonPropertyName("VaultSettings")]
public VaultingSubMoveSettings VaultSettings { get; set; }
[JsonPropertyName("ClimbSettings")]
public VaultingSubMoveSettings ClimbSettings { get; set; }
}
public record VaultingSubMoveSettings
{
[JsonPropertyName("IsActive")]
public bool IsActive { get; set; }
[JsonPropertyName("MaxWithoutHandHeight")]
public double MaxWithoutHandHeight { get; set; }
public double MaxOneHandHeight { get; set; }
[JsonPropertyName("SpeedRange")]
public XYZ SpeedRange { get; set; }
[JsonPropertyName("MoveRestrictions")]
public MoveRestrictions MoveRestrictions { get; set; }
[JsonPropertyName("AutoMoveRestrictions")]
public MoveRestrictions AutoMoveRestrictions { get; set; }
}
public record MoveRestrictions
{
[JsonPropertyName("IsActive")]
public bool IsActive { get; set; }
[JsonPropertyName("MinDistantToInteract")]
public double MinDistantToInteract { get; set; }
[JsonPropertyName("MinHeight")]
public double MinHeight { get; set; }
[JsonPropertyName("MaxHeight")]
public double MaxHeight { get; set; }
[JsonPropertyName("MinLength")]
public double MinLength { get; set; }
[JsonPropertyName("MaxLength")]
public double MaxLength { get; set; }
}
public record BTRSettings
{
[JsonPropertyName("LocationsWithBTR")]
public IEnumerable<string> LocationsWithBTR { get; set; }
[JsonPropertyName("BasePriceTaxi")]
public double BasePriceTaxi { get; set; }
[JsonPropertyName("AddPriceTaxi")]
public double AddPriceTaxi { get; set; }
[JsonPropertyName("CleanUpPrice")]
public double CleanUpPrice { get; set; }
[JsonPropertyName("DeliveryPrice")]
public double DeliveryPrice { get; set; }
[JsonPropertyName("ModDeliveryCost")]
public double ModDeliveryCost { get; set; }
[JsonPropertyName("BearPriceMod")]
public double BearPriceMod { get; set; }
[JsonPropertyName("UsecPriceMod")]
public double UsecPriceMod { get; set; }
[JsonPropertyName("ScavPriceMod")]
public double ScavPriceMod { get; set; }
[JsonPropertyName("CoefficientDiscountCharisma")]
public double CoefficientDiscountCharisma { get; set; }
[JsonPropertyName("DeliveryMinPrice")]
public double DeliveryMinPrice { get; set; }
[JsonPropertyName("TaxiMinPrice")]
public double TaxiMinPrice { get; set; }
[JsonPropertyName("BotCoverMinPrice")]
public double BotCoverMinPrice { get; set; }
[JsonPropertyName("MapsConfigs")]
public Dictionary<string, BtrMapConfig> MapsConfigs { get; set; }
[JsonPropertyName("DiameterWheel")]
public double DiameterWheel { get; set; }
[JsonPropertyName("HeightWheel")]
public double HeightWheel { get; set; }
[JsonPropertyName("HeightWheelMaxPosLimit")]
public double HeightWheelMaxPosLimit { get; set; }
[JsonPropertyName("HeightWheelMinPosLimit")]
public double HeightWheelMinPosLimit { get; set; }
[JsonPropertyName("SnapToSurfaceWheelsSpeed")]
public double SnapToSurfaceWheelsSpeed { get; set; }
[JsonPropertyName("CheckSurfaceForWheelsTimer")]
public double CheckSurfaceForWheelsTimer { get; set; }
[JsonPropertyName("HeightWheelOffset")]
public double HeightWheelOffset { get; set; }
}
public record BtrMapConfig
{
[JsonPropertyName("BtrSkin")]
public string BtrSkin { get; set; }
[JsonPropertyName("CheckSurfaceForWheelsTimer")]
public double CheckSurfaceForWheelsTimer { get; set; }
[JsonPropertyName("DiameterWheel")]
public double DiameterWheel { get; set; }
[JsonPropertyName("HeightWheel")]
public double HeightWheel { get; set; }
[JsonPropertyName("HeightWheelMaxPosLimit")]
public double HeightWheelMaxPosLimit { get; set; }
[JsonPropertyName("HeightWheelMinPosLimit")]
public double HeightWheelMinPosLimit { get; set; }
[JsonPropertyName("HeightWheelOffset")]
public double HeightWheelOffset { get; set; }
[JsonPropertyName("SnapToSurfaceWheelsSpeed")]
public double SnapToSurfaceWheelsSpeed { get; set; }
[JsonPropertyName("SuspensionDamperStiffness")]
public double SuspensionDamperStiffness { get; set; }
[JsonPropertyName("SuspensionRestLength")]
public double SuspensionRestLength { get; set; }
[JsonPropertyName("SuspensionSpringStiffness")]
public double SuspensionSpringStiffness { get; set; }
[JsonPropertyName("SuspensionTravel")]
public double SuspensionTravel { get; set; }
[JsonPropertyName("SuspensionWheelRadius")]
public double SuspensionWheelRadius { get; set; }
[JsonPropertyName("mapID")]
public string MapID { get; set; }
[JsonPropertyName("pathsConfigurations")]
public IEnumerable<PathConfig> PathsConfigurations { get; set; }
}
public record PathConfig
{
[JsonPropertyName("active")]
public bool Active { get; set; }
/// <summary>
/// Not mongoId
/// </summary>
[JsonPropertyName("id")]
public string Id { get; set; }
[JsonPropertyName("enterPoint")]
public string EnterPoint { get; set; }
[JsonPropertyName("exitPoint")]
public string ExitPoint { get; set; }
[JsonPropertyName("pathPoints")]
public IEnumerable<string> PathPoints { get; set; }
[JsonPropertyName("once")]
public bool Once { get; set; }
[JsonPropertyName("circle")]
public bool Circle { get; set; }
[JsonPropertyName("circleCount")]
public double CircleCount { get; set; }
[JsonPropertyName("skinType")]
public IEnumerable<string> SkinType { get; set; }
}
public record SquadSettings
{
[JsonPropertyName("CountOfRequestsToOnePlayer")]
public double CountOfRequestsToOnePlayer { get; set; }
[JsonPropertyName("SecondsForExpiredRequest")]
public double SecondsForExpiredRequest { get; set; }
[JsonPropertyName("SendRequestDelaySeconds")]
public double SendRequestDelaySeconds { get; set; }
}
public record Insurance
{
[JsonPropertyName("ChangeForReturnItemsInOfflineRaid")]
public double ChangeForReturnItemsInOfflineRaid { get; set; }
[JsonPropertyName("MaxStorageTimeInHour")]
public double MaxStorageTimeInHour { get; set; }
[JsonPropertyName("CoefOfSendingMessageTime")]
public double CoefOfSendingMessageTime { get; set; }
[JsonPropertyName("CoefOfHavingMarkOfUnknown")]
public double CoefOfHavingMarkOfUnknown { get; set; }
[JsonPropertyName("EditionSendingMessageTime")]
public Dictionary<string, MessageSendTimeMultiplier> EditionSendingMessageTime { get; set; }
[JsonPropertyName("OnlyInDeathCase")]
public bool OnlyInDeathCase { get; set; }
}
public record MessageSendTimeMultiplier
{
[JsonPropertyName("multiplier")]
public double Multiplier { get; set; }
}
public record SkillsSettings
{
[JsonPropertyName("SkillProgressRate")]
public double SkillProgressRate { get; set; }
[JsonPropertyName("WeaponSkillProgressRate")]
public double WeaponSkillProgressRate { get; set; }
[JsonPropertyName("WeaponSkillRecoilBonusPerLevel")]
public double WeaponSkillRecoilBonusPerLevel { get; set; }
[JsonPropertyName("HideoutManagement")]
public HideoutManagement HideoutManagement { get; set; }
[JsonPropertyName("Crafting")]
public Crafting Crafting { get; set; }
[JsonPropertyName("Metabolism")]
public Metabolism Metabolism { get; set; }
[JsonPropertyName("MountingErgonomicsBonusPerLevel")]
public double MountingErgonomicsBonusPerLevel { get; set; }
[JsonPropertyName("Immunity")]
public Immunity Immunity { get; set; }
[JsonPropertyName("Endurance")]
public Endurance Endurance { get; set; }
[JsonPropertyName("Strength")]
public Strength Strength { get; set; }
[JsonPropertyName("Vitality")]
public Vitality Vitality { get; set; }
[JsonPropertyName("Health")]
public HealthSkillProgress Health { get; set; }
[JsonPropertyName("StressResistance")]
public StressResistance StressResistance { get; set; }
[JsonPropertyName("Throwing")]
public Throwing Throwing { get; set; }
[JsonPropertyName("RecoilControl")]
public RecoilControl RecoilControl { get; set; }
[JsonPropertyName("Pistol")]
public WeaponSkills Pistol { get; set; }
[JsonPropertyName("Revolver")]
public WeaponSkills Revolver { get; set; }
[JsonPropertyName("SMG")]
public IEnumerable<object> SMG { get; set; }
[JsonPropertyName("Assault")]
public WeaponSkills Assault { get; set; }
[JsonPropertyName("Shotgun")]
public WeaponSkills Shotgun { get; set; }
[JsonPropertyName("Sniper")]
public WeaponSkills Sniper { get; set; }
[JsonPropertyName("LMG")]
public IEnumerable<object> LMG { get; set; }
[JsonPropertyName("HMG")]
public IEnumerable<object> HMG { get; set; }
[JsonPropertyName("Launcher")]
public IEnumerable<object> Launcher { get; set; }
[JsonPropertyName("AttachedLauncher")]
public IEnumerable<object> AttachedLauncher { get; set; }
[JsonPropertyName("Melee")]
public MeleeSkill Melee { get; set; }
[JsonPropertyName("DMR")]
public WeaponSkills DMR { get; set; }
[JsonPropertyName("BearAssaultoperations")]
public IEnumerable<object> BearAssaultoperations { get; set; }
[JsonPropertyName("BearAuthority")]
public IEnumerable<object> BearAuthority { get; set; }
[JsonPropertyName("BearAksystems")]
public IEnumerable<object> BearAksystems { get; set; }
[JsonPropertyName("BearHeavycaliber")]
public IEnumerable<object> BearHeavycaliber { get; set; }
[JsonPropertyName("BearRawpower")]
public IEnumerable<object> BearRawpower { get; set; }
[JsonPropertyName("BipodErgonomicsBonusPerLevel")]
public double BipodErgonomicsBonusPerLevel { get; set; }
[JsonPropertyName("UsecArsystems")]
public IEnumerable<object> UsecArsystems { get; set; }
[JsonPropertyName("UsecDeepweaponmodding_Settings")]
public IEnumerable<object> UsecDeepweaponmodding_Settings { get; set; }
[JsonPropertyName("UsecLongrangeoptics_Settings")]
public IEnumerable<object> UsecLongrangeoptics_Settings { get; set; }
[JsonPropertyName("UsecNegotiations")]
public IEnumerable<object> UsecNegotiations { get; set; }
[JsonPropertyName("UsecTactics")]
public IEnumerable<object> UsecTactics { get; set; }
[JsonPropertyName("BotReload")]
public IEnumerable<object> BotReload { get; set; }
[JsonPropertyName("CovertMovement")]
public CovertMovement CovertMovement { get; set; }
[JsonPropertyName("FieldMedicine")]
public IEnumerable<object> FieldMedicine { get; set; }
[JsonPropertyName("Search")]
public Search Search { get; set; }
[JsonPropertyName("Sniping")]
public IEnumerable<object> Sniping { get; set; }
[JsonPropertyName("ProneMovement")]
public IEnumerable<object> ProneMovement { get; set; }
[JsonPropertyName("FirstAid")]
public IEnumerable<object> FirstAid { get; set; }
[JsonPropertyName("LightVests")]
public ArmorSkills LightVests { get; set; }
[JsonPropertyName("HeavyVests")]
public ArmorSkills HeavyVests { get; set; }
[JsonPropertyName("WeaponModding")]
public IEnumerable<object> WeaponModding { get; set; }
[JsonPropertyName("AdvancedModding")]
public IEnumerable<object> AdvancedModding { get; set; }
[JsonPropertyName("NightOps")]
public IEnumerable<object> NightOps { get; set; }
[JsonPropertyName("SilentOps")]
public IEnumerable<object> SilentOps { get; set; }
[JsonPropertyName("Lockpicking")]
public IEnumerable<object> Lockpicking { get; set; }
[JsonPropertyName("WeaponTreatment")]
public WeaponTreatment WeaponTreatment { get; set; }
[JsonPropertyName("MagDrills")]
public MagDrills MagDrills { get; set; }
[JsonPropertyName("Freetrading")]
public IEnumerable<object> Freetrading { get; set; }
[JsonPropertyName("Auctions")]
public IEnumerable<object> Auctions { get; set; }
[JsonPropertyName("Cleanoperations")]
public IEnumerable<object> Cleanoperations { get; set; }
[JsonPropertyName("Barter")]
public IEnumerable<object> Barter { get; set; }
[JsonPropertyName("Shadowconnections")]
public IEnumerable<object> Shadowconnections { get; set; }
[JsonPropertyName("Taskperformance")]
public IEnumerable<object> Taskperformance { get; set; }
[JsonPropertyName("Perception")]
public Perception Perception { get; set; }
[JsonPropertyName("Intellect")]
public Intellect Intellect { get; set; }
[JsonPropertyName("Attention")]
public Attention Attention { get; set; }
[JsonPropertyName("Charisma")]
public Charisma Charisma { get; set; }
[JsonPropertyName("Memory")]
public Memory Memory { get; set; }
[JsonPropertyName("Surgery")]
public Surgery Surgery { get; set; }
[JsonPropertyName("AimDrills")]
public AimDrills AimDrills { get; set; }
[JsonPropertyName("BotSound")]
public IEnumerable<object> BotSound { get; set; }
[JsonPropertyName("TroubleShooting")]
public TroubleShooting TroubleShooting { get; set; }
}
public record MeleeSkill
{
public BuffSettings BuffSettings { get; set; }
}
public record ArmorSkills
{
public double BluntThroughputDamageHVestsReducePerLevel { get; set; }
public double WearAmountRepairHVestsReducePerLevel { get; set; }
public double WearChanceRepairHVestsReduceEliteLevel { get; set; }
public double BuffMaxCount { get; set; }
public BuffSettings BuffSettings { get; set; }
public ArmorCounters Counters { get; set; }
public double MoveSpeedPenaltyReductionHVestsReducePerLevel { get; set; }
public double RicochetChanceHVestsCurrentDurabilityThreshold { get; set; }
public double RicochetChanceHVestsEliteLevel { get; set; }
public double RicochetChanceHVestsMaxDurabilityThreshold { get; set; }
public double MeleeDamageLVestsReducePerLevel { get; set; }
public double MoveSpeedPenaltyReductionLVestsReducePerLevel { get; set; }
public double WearAmountRepairLVestsReducePerLevel { get; set; }
public double WearChanceRepairLVestsReduceEliteLevel { get; set; }
}
public record ArmorCounters
{
[JsonPropertyName("armorDurability")]
public SkillCounter ArmorDurability { get; set; }
}
public record HideoutManagement
{
public double SkillPointsPerAreaUpgrade { get; set; }
public double SkillPointsPerCraft { get; set; }
public double CircleOfCultistsBonusPercent { get; set; }
public double ConsumptionReductionPerLevel { get; set; }
public double SkillBoostPercent { get; set; }
public SkillPointsRate SkillPointsRate { get; set; }
public EliteSlots EliteSlots { get; set; }
}
public record SkillPointsRate
{
public SkillPointRate Generator { get; set; }
public SkillPointRate AirFilteringUnit { get; set; }
public SkillPointRate WaterCollector { get; set; }
public SkillPointRate SolarPower { get; set; }
}
public record SkillPointRate
{
public double ResourceSpent { get; set; }
public double PointsGained { get; set; }
}
public record EliteSlots
{
public EliteSlot Generator { get; set; }
public EliteSlot AirFilteringUnit { get; set; }
public EliteSlot WaterCollector { get; set; }
public EliteSlot BitcoinFarm { get; set; }
}
public record EliteSlot
{
public double Slots { get; set; }
public double Container { get; set; }
}
public record Crafting
{
[JsonPropertyName("DependentSkillRatios")]
public IEnumerable<DependentSkillRatio> DependentSkillRatios { get; set; }
[JsonPropertyName("PointsPerCraftingCycle")]
public double PointsPerCraftingCycle { get; set; }
[JsonPropertyName("CraftingCycleHours")]
public double CraftingCycleHours { get; set; }
[JsonPropertyName("PointsPerUniqueCraftCycle")]
public double PointsPerUniqueCraftCycle { get; set; }
[JsonPropertyName("UniqueCraftsPerCycle")]
public double UniqueCraftsPerCycle { get; set; }
[JsonPropertyName("CraftTimeReductionPerLevel")]
public double CraftTimeReductionPerLevel { get; set; }
[JsonPropertyName("ProductionTimeReductionPerLevel")]
public double ProductionTimeReductionPerLevel { get; set; }
[JsonPropertyName("EliteExtraProductions")]
public double EliteExtraProductions { get; set; }
// Yes, there is a typo
[JsonPropertyName("CraftingPointsToInteligence")]
public double CraftingPointsToIntelligence { get; set; }
}
public record Metabolism
{
[JsonPropertyName("HydrationRecoveryRate")]
public double HydrationRecoveryRate { get; set; }
[JsonPropertyName("EnergyRecoveryRate")]
public double EnergyRecoveryRate { get; set; }
[JsonPropertyName("IncreasePositiveEffectDurationRate")]
public double IncreasePositiveEffectDurationRate { get; set; }
[JsonPropertyName("DecreaseNegativeEffectDurationRate")]
public double DecreaseNegativeEffectDurationRate { get; set; }
[JsonPropertyName("DecreasePoisonDurationRate")]
public double DecreasePoisonDurationRate { get; set; }
}
public record Immunity
{
[JsonPropertyName("ImmunityMiscEffects")]
public double ImmunityMiscEffects { get; set; }
[JsonPropertyName("ImmunityPoisonBuff")]
public double ImmunityPoisonBuff { get; set; }
[JsonPropertyName("ImmunityPainKiller")]
public double ImmunityPainKiller { get; set; }
[JsonPropertyName("HealthNegativeEffect")]
public double HealthNegativeEffect { get; set; }
[JsonPropertyName("StimulatorNegativeBuff")]
public double StimulatorNegativeBuff { get; set; }
}
public record Endurance
{
[JsonPropertyName("MovementAction")]
public double MovementAction { get; set; }
[JsonPropertyName("SprintAction")]
public double SprintAction { get; set; }
[JsonPropertyName("GainPerFatigueStack")]
public double GainPerFatigueStack { get; set; }
[JsonPropertyName("DependentSkillRatios")]
public IEnumerable<DependentSkillRatio> DependentSkillRatios { get; set; }
[JsonPropertyName("QTELevelMultipliers")]
public Dictionary<string, Dictionary<string, double>> QTELevelMultipliers { get; set; }
}
public record Strength
{
[JsonPropertyName("DependentSkillRatios")]
public IEnumerable<DependentSkillRatio> DependentSkillRatios { get; set; }
[JsonPropertyName("SprintActionMin")]
public double SprintActionMin { get; set; }
[JsonPropertyName("SprintActionMax")]
public double SprintActionMax { get; set; }
[JsonPropertyName("MovementActionMin")]
public double MovementActionMin { get; set; }
[JsonPropertyName("MovementActionMax")]
public double MovementActionMax { get; set; }
[JsonPropertyName("PushUpMin")]
public double PushUpMin { get; set; }
[JsonPropertyName("PushUpMax")]
public double PushUpMax { get; set; }
[JsonPropertyName("QTELevelMultipliers")]
public IEnumerable<QTELevelMultiplier> QTELevelMultipliers { get; set; }
[JsonPropertyName("FistfightAction")]
public double FistfightAction { get; set; }
[JsonPropertyName("ThrowAction")]
public double ThrowAction { get; set; }
}
public record DependentSkillRatio
{
[JsonPropertyName("Ratio")]
public double Ratio { get; set; }
[JsonPropertyName("SkillId")]
public string SkillId { get; set; }
}
public record QTELevelMultiplier
{
[JsonPropertyName("Level")]
public double Level { get; set; }
[JsonPropertyName("Multiplier")]
public double Multiplier { get; set; }
}
public record Vitality
{
[JsonPropertyName("DamageTakenAction")]
public double DamageTakenAction { get; set; }
[JsonPropertyName("HealthNegativeEffect")]
public double HealthNegativeEffect { get; set; }
}
public record HealthSkillProgress
{
[JsonPropertyName("SkillProgress")]
public double SkillProgress { get; set; }
}
public record StressResistance
{
[JsonPropertyName("HealthNegativeEffect")]
public double HealthNegativeEffect { get; set; }
[JsonPropertyName("LowHPDuration")]
public double LowHPDuration { get; set; }
}
public record Throwing
{
[JsonPropertyName("ThrowAction")]
public double ThrowAction { get; set; }
}
public record RecoilControl
{
[JsonPropertyName("RecoilAction")]
public double RecoilAction { get; set; }
[JsonPropertyName("RecoilBonusPerLevel")]
public double RecoilBonusPerLevel { get; set; }
}
public record WeaponSkills
{
[JsonPropertyName("WeaponReloadAction")]
public double WeaponReloadAction { get; set; }
[JsonPropertyName("WeaponShotAction")]
public double WeaponShotAction { get; set; }
[JsonPropertyName("WeaponFixAction")]
public double WeaponFixAction { get; set; }
[JsonPropertyName("WeaponChamberAction")]
public double WeaponChamberAction { get; set; }
}
public record CovertMovement
{
[JsonPropertyName("MovementAction")]
public double MovementAction { get; set; }
}
public record Search
{
[JsonPropertyName("SearchAction")]
public double SearchAction { get; set; }
[JsonPropertyName("FindAction")]
public double FindAction { get; set; }
}
public record WeaponTreatment
{
[JsonPropertyName("BuffMaxCount")]
public double BuffMaxCount { get; set; }
[JsonPropertyName("BuffSettings")]
public BuffSettings BuffSettings { get; set; }
[JsonPropertyName("Counters")]
public WeaponTreatmentCounters Counters { get; set; }
[JsonPropertyName("DurLossReducePerLevel")]
public double DurLossReducePerLevel { get; set; }
[JsonPropertyName("SkillPointsPerRepair")]
public double SkillPointsPerRepair { get; set; }
[JsonPropertyName("Filter")]
public IEnumerable<object> Filter { get; set; }
[JsonPropertyName("WearAmountRepairGunsReducePerLevel")]
public double WearAmountRepairGunsReducePerLevel { get; set; }
[JsonPropertyName("WearChanceRepairGunsReduceEliteLevel")]
public double WearChanceRepairGunsReduceEliteLevel { get; set; }
}
public record WeaponTreatmentCounters
{
[JsonPropertyName("firearmsDurability")]
public SkillCounter FirearmsDurability { get; set; }
}
public record BuffSettings
{
[JsonPropertyName("CommonBuffChanceLevelBonus")]
public double CommonBuffChanceLevelBonus { get; set; }
[JsonPropertyName("CommonBuffMinChanceValue")]
public double CommonBuffMinChanceValue { get; set; }
[JsonPropertyName("CurrentDurabilityLossToRemoveBuff")]
public double CurrentDurabilityLossToRemoveBuff { get; set; }
[JsonPropertyName("MaxDurabilityLossToRemoveBuff")]
public double MaxDurabilityLossToRemoveBuff { get; set; }
[JsonPropertyName("RareBuffChanceCoff")]
public double RareBuffChanceCoff { get; set; }
[JsonPropertyName("ReceivedDurabilityMaxPercent")]
public double ReceivedDurabilityMaxPercent { get; set; }
}
public record MagDrills
{
[JsonPropertyName("RaidLoadedAmmoAction")]
public double RaidLoadedAmmoAction { get; set; }
[JsonPropertyName("RaidUnloadedAmmoAction")]
public double RaidUnloadedAmmoAction { get; set; }
[JsonPropertyName("MagazineCheckAction")]
public double MagazineCheckAction { get; set; }
}
public record Perception
{
[JsonPropertyName("DependentSkillRatios")]
public IEnumerable<SkillRatio> DependentSkillRatios { get; set; }
[JsonPropertyName("OnlineAction")]
public double OnlineAction { get; set; }
[JsonPropertyName("UniqueLoot")]
public double UniqueLoot { get; set; }
}
public record SkillRatio
{
[JsonPropertyName("Ratio")]
public double Ratio { get; set; }
[JsonPropertyName("SkillId")]
public string SkillId { get; set; }
}
public record Intellect
{
public required SkillRatio[] DependentSkillRatios { get; set; }
[JsonPropertyName("Counters")]
public IntellectCounters Counters { get; set; }
[JsonPropertyName("ExamineAction")]
public double ExamineAction { get; set; }
[JsonPropertyName("SkillProgress")]
public double SkillProgress { get; set; }
[JsonPropertyName("RepairAction")]
public double RepairAction { get; set; }
[JsonPropertyName("WearAmountReducePerLevel")]
public double WearAmountReducePerLevel { get; set; }
[JsonPropertyName("WearChanceReduceEliteLevel")]
public double WearChanceReduceEliteLevel { get; set; }
[JsonPropertyName("RepairPointsCostReduction")]
public double RepairPointsCostReduction { get; set; }
}
public record IntellectCounters
{
[JsonPropertyName("armorDurability")]
public SkillCounter ArmorDurability { get; set; }
[JsonPropertyName("firearmsDurability")]
public SkillCounter FirearmsDurability { get; set; }
[JsonPropertyName("meleeWeaponDurability")]
public SkillCounter MeleeWeaponDurability { get; set; }
}
public record SkillCounter
{
[JsonPropertyName("divisor")]
public double Divisor { get; set; }
[JsonPropertyName("points")]
public double Points { get; set; }
}
public record Attention
{
[JsonPropertyName("DependentSkillRatios")]
public required SkillRatio[] DependentSkillRatios { get; set; }
[JsonPropertyName("ExamineWithInstruction")]
public double ExamineWithInstruction { get; set; }
[JsonPropertyName("FindActionFalse")]
public double FindActionFalse { get; set; }
[JsonPropertyName("FindActionTrue")]
public double FindActionTrue { get; set; }
}
public record Charisma
{
[JsonPropertyName("BonusSettings")]
public BonusSettings BonusSettings { get; set; }
[JsonPropertyName("Counters")]
public CharismaSkillCounters Counters { get; set; }
[JsonPropertyName("SkillProgressInt")]
public double SkillProgressInt { get; set; }
[JsonPropertyName("SkillProgressAtn")]
public double SkillProgressAtn { get; set; }
[JsonPropertyName("SkillProgressPer")]
public double SkillProgressPer { get; set; }
}
public record CharismaSkillCounters
{
[JsonPropertyName("insuranceCost")]
public SkillCounter InsuranceCost { get; set; }
[JsonPropertyName("repairCost")]
public SkillCounter RepairCost { get; set; }
[JsonPropertyName("repeatableQuestCompleteCount")]
public SkillCounter RepeatableQuestCompleteCount { get; set; }
[JsonPropertyName("restoredHealthCost")]
public SkillCounter RestoredHealthCost { get; set; }
[JsonPropertyName("scavCaseCost")]
public SkillCounter ScavCaseCost { get; set; }
}
public record BonusSettings
{
[JsonPropertyName("EliteBonusSettings")]
public EliteBonusSettings EliteBonusSettings { get; set; }
[JsonPropertyName("LevelBonusSettings")]
public LevelBonusSettings LevelBonusSettings { get; set; }
}
public record EliteBonusSettings
{
[JsonPropertyName("FenceStandingLossDiscount")]
public double FenceStandingLossDiscount { get; set; }
[JsonPropertyName("RepeatableQuestExtraCount")]
public int RepeatableQuestExtraCount { get; set; }
[JsonPropertyName("ScavCaseDiscount")]
public double ScavCaseDiscount { get; set; }
}
public record LevelBonusSettings
{
[JsonPropertyName("HealthRestoreDiscount")]
public double HealthRestoreDiscount { get; set; }
[JsonPropertyName("HealthRestoreTraderDiscount")]
public double HealthRestoreTraderDiscount { get; set; }
[JsonPropertyName("InsuranceDiscount")]
public double InsuranceDiscount { get; set; }
[JsonPropertyName("InsuranceTraderDiscount")]
public double InsuranceTraderDiscount { get; set; }
[JsonPropertyName("PaidExitDiscount")]
public double PaidExitDiscount { get; set; }
[JsonPropertyName("RepeatableQuestChangeDiscount")]
public double RepeatableQuestChangeDiscount { get; set; }
}
public record Memory
{
[JsonPropertyName("AnySkillUp")]
public double AnySkillUp { get; set; }
[JsonPropertyName("SkillProgress")]
public double SkillProgress { get; set; }
}
public record Surgery
{
[JsonPropertyName("SurgeryAction")]
public double SurgeryAction { get; set; }
[JsonPropertyName("SkillProgress")]
public double SkillProgress { get; set; }
}
public record AimDrills
{
[JsonPropertyName("WeaponShotAction")]
public double WeaponShotAction { get; set; }
}
public record TroubleShooting
{
[JsonPropertyName("MalfRepairSpeedBonusPerLevel")]
public double MalfRepairSpeedBonusPerLevel { get; set; }
[JsonPropertyName("SkillPointsPerMalfFix")]
public double SkillPointsPerMalfFix { get; set; }
[JsonPropertyName("EliteDurabilityChanceReduceMult")]
public double EliteDurabilityChanceReduceMult { get; set; }
[JsonPropertyName("EliteAmmoChanceReduceMult")]
public double EliteAmmoChanceReduceMult { get; set; }
[JsonPropertyName("EliteMagChanceReduceMult")]
public double EliteMagChanceReduceMult { get; set; }
}
public record Aiming
{
[JsonPropertyName("ProceduralIntensityByPose")]
public XYZ ProceduralIntensityByPose { get; set; }
[JsonPropertyName("AimProceduralIntensity")]
public double AimProceduralIntensity { get; set; }
[JsonPropertyName("HeavyWeight")]
public double HeavyWeight { get; set; }
[JsonPropertyName("LightWeight")]
public double LightWeight { get; set; }
[JsonPropertyName("MaxTimeHeavy")]
public double MaxTimeHeavy { get; set; }
[JsonPropertyName("MinTimeHeavy")]
public double MinTimeHeavy { get; set; }
[JsonPropertyName("MaxTimeLight")]
public double MaxTimeLight { get; set; }
[JsonPropertyName("MinTimeLight")]
public double MinTimeLight { get; set; }
[JsonPropertyName("RecoilScaling")]
public double RecoilScaling { get; set; }
[JsonPropertyName("RecoilDamping")]
public double RecoilDamping { get; set; }
[JsonPropertyName("CameraSnapGlobalMult")]
public double CameraSnapGlobalMult { get; set; }
[JsonPropertyName("RecoilXIntensityByPose")]
public XYZ RecoilXIntensityByPose { get; set; }
[JsonPropertyName("RecoilYIntensityByPose")]
public XYZ RecoilYIntensityByPose { get; set; }
[JsonPropertyName("RecoilZIntensityByPose")]
public XYZ RecoilZIntensityByPose { get; set; }
[JsonPropertyName("RecoilCrank")]
public bool RecoilCrank { get; set; }
[JsonPropertyName("RecoilHandDamping")]
public double RecoilHandDamping { get; set; }
[JsonPropertyName("RecoilConvergenceMult")]
public double RecoilConvergenceMult { get; set; }
[JsonPropertyName("RecoilVertBonus")]
public double RecoilVertBonus { get; set; }
[JsonPropertyName("RecoilBackBonus")]
public double RecoilBackBonus { get; set; }
}
public record Malfunction
{
[JsonPropertyName("AmmoMalfChanceMult")]
public double AmmoMalfChanceMult { get; set; }
[JsonPropertyName("MagazineMalfChanceMult")]
public double MagazineMalfChanceMult { get; set; }
[JsonPropertyName("MalfRepairHardSlideMult")]
public double MalfRepairHardSlideMult { get; set; }
[JsonPropertyName("MalfRepairOneHandBrokenMult")]
public double MalfRepairOneHandBrokenMult { get; set; }
[JsonPropertyName("MalfRepairTwoHandsBrokenMult")]
public double MalfRepairTwoHandsBrokenMult { get; set; }
[JsonPropertyName("AllowMalfForBots")]
public bool AllowMalfForBots { get; set; }
[JsonPropertyName("ShowGlowAttemptsCount")]
public double ShowGlowAttemptsCount { get; set; }
[JsonPropertyName("OutToIdleSpeedMultForPistol")]
public double OutToIdleSpeedMultForPistol { get; set; }
[JsonPropertyName("IdleToOutSpeedMultOnMalf")]
public double IdleToOutSpeedMultOnMalf { get; set; }
[JsonPropertyName("TimeToQuickdrawPistol")]
public double TimeToQuickdrawPistol { get; set; }
[JsonPropertyName("DurRangeToIgnoreMalfs")]
public XYZ DurRangeToIgnoreMalfs { get; set; }
[JsonPropertyName("DurFeedWt")]
public double DurFeedWt { get; set; }
[JsonPropertyName("DurMisfireWt")]
public double DurMisfireWt { get; set; }
[JsonPropertyName("DurJamWt")]
public double DurJamWt { get; set; }
[JsonPropertyName("DurSoftSlideWt")]
public double DurSoftSlideWt { get; set; }
[JsonPropertyName("DurHardSlideMinWt")]
public double DurHardSlideMinWt { get; set; }
[JsonPropertyName("DurHardSlideMaxWt")]
public double DurHardSlideMaxWt { get; set; }
[JsonPropertyName("AmmoMisfireWt")]
public double AmmoMisfireWt { get; set; }
[JsonPropertyName("AmmoFeedWt")]
public double AmmoFeedWt { get; set; }
[JsonPropertyName("AmmoJamWt")]
public double AmmoJamWt { get; set; }
[JsonPropertyName("OverheatFeedWt")]
public double OverheatFeedWt { get; set; }
[JsonPropertyName("OverheatJamWt")]
public double OverheatJamWt { get; set; }
[JsonPropertyName("OverheatSoftSlideWt")]
public double OverheatSoftSlideWt { get; set; }
[JsonPropertyName("OverheatHardSlideMinWt")]
public double OverheatHardSlideMinWt { get; set; }
[JsonPropertyName("OverheatHardSlideMaxWt")]
public double OverheatHardSlideMaxWt { get; set; }
}
public record Overheat
{
[JsonPropertyName("MinOverheat")]
public double MinimumOverheat { get; set; }
[JsonPropertyName("MaxOverheat")]
public double MaximumOverheat { get; set; }
[JsonPropertyName("OverheatProblemsStart")]
public double OverheatProblemsStart { get; set; }
[JsonPropertyName("ModHeatFactor")]
public double ModificationHeatFactor { get; set; }
[JsonPropertyName("ModCoolFactor")]
public double ModificationCoolFactor { get; set; }
[JsonPropertyName("MinWearOnOverheat")]
public double MinimumWearOnOverheat { get; set; }
[JsonPropertyName("MaxWearOnOverheat")]
public double MaximumWearOnOverheat { get; set; }
[JsonPropertyName("MinWearOnMaxOverheat")]
public double MinimumWearOnMaximumOverheat { get; set; }
[JsonPropertyName("MaxWearOnMaxOverheat")]
public double MaximumWearOnMaximumOverheat { get; set; }
[JsonPropertyName("OverheatWearLimit")]
public double OverheatWearLimit { get; set; }
[JsonPropertyName("MaxCOIIncreaseMult")]
public double MaximumCOIIncreaseMultiplier { get; set; }
[JsonPropertyName("MinMalfChance")]
public double MinimumMalfunctionChance { get; set; }
[JsonPropertyName("MaxMalfChance")]
public double MaximumMalfunctionChance { get; set; }
[JsonPropertyName("DurReduceMinMult")]
public double DurabilityReductionMinimumMultiplier { get; set; }
[JsonPropertyName("DurReduceMaxMult")]
public double DurabilityReductionMaximumMultiplier { get; set; }
[JsonPropertyName("BarrelMoveRndDuration")]
public double BarrelMovementRandomDuration { get; set; }
[JsonPropertyName("BarrelMoveMaxMult")]
public double BarrelMovementMaximumMultiplier { get; set; }
[JsonPropertyName("FireratePitchMult")]
public double FireRatePitchMultiplier { get; set; }
[JsonPropertyName("FirerateReduceMinMult")]
public double FireRateReductionMinimumMultiplier { get; set; }
[JsonPropertyName("FirerateReduceMaxMult")]
public double FireRateReductionMaximumMultiplier { get; set; }
[JsonPropertyName("FirerateOverheatBorder")]
public double FireRateOverheatBorder { get; set; }
[JsonPropertyName("EnableSlideOnMaxOverheat")]
public bool IsSlideEnabledOnMaximumOverheat { get; set; }
[JsonPropertyName("StartSlideOverheat")]
public double StartSlideOverheat { get; set; }
[JsonPropertyName("FixSlideOverheat")]
public double FixSlideOverheat { get; set; }
[JsonPropertyName("AutoshotMinOverheat")]
public double AutoshotMinimumOverheat { get; set; }
[JsonPropertyName("AutoshotChance")]
public double AutoshotChance { get; set; }
[JsonPropertyName("AutoshotPossibilityDuration")]
public double AutoshotPossibilityDuration { get; set; }
[JsonPropertyName("MaxOverheatCoolCoef")]
public double MaximumOverheatCoolCoefficient { get; set; }
}
public record FenceSettings
{
// MongoId
[JsonPropertyName("FenceId")]
public string FenceIdentifier { get; set; }
[JsonPropertyName("Levels")]
public Dictionary<double, FenceLevel> Levels { get; set; }
[JsonPropertyName("paidExitStandingNumerator")]
public double PaidExitStandingNumerator { get; set; }
public double PmcBotKillStandingMultiplier { get; set; }
public double ScavEquipmentChancePercentThreshold { get; set; }
}
public record FenceLevel
{
[JsonPropertyName("ReachOnMarkOnUnknowns")]
public bool CanReachOnMarkOnUnknowns { get; set; }
[JsonPropertyName("SavageCooldownModifier")]
public double SavageCooldownModifier { get; set; }
[JsonPropertyName("ScavCaseTimeModifier")]
public double ScavCaseTimeModifier { get; set; }
[JsonPropertyName("PaidExitCostModifier")]
public double PaidExitCostModifier { get; set; }
[JsonPropertyName("BotFollowChance")]
public double BotFollowChance { get; set; }
[JsonPropertyName("ScavEquipmentSpawnChanceModifier")]
public double ScavEquipmentSpawnChanceModifier { get; set; }
[JsonPropertyName("TransitGridSize")]
public XYZ TransitGridSize { get; set; }
[JsonPropertyName("PriceModifier")]
public double PriceModifier { get; set; }
[JsonPropertyName("HostileBosses")]
public bool AreHostileBossesPresent { get; set; }
[JsonPropertyName("HostileScavs")]
public bool AreHostileScavsPresent { get; set; }
[JsonPropertyName("ScavAttackSupport")]
public bool IsScavAttackSupported { get; set; }
[JsonPropertyName("ExfiltrationPriceModifier")]
public double ExfiltrationPriceModifier { get; set; }
[JsonPropertyName("AvailableExits")]
public double AvailableExits { get; set; }
[JsonPropertyName("BotApplySilenceChance")]
public double BotApplySilenceChance { get; set; }
[JsonPropertyName("BotGetInCoverChance")]
public double BotGetInCoverChance { get; set; }
[JsonPropertyName("BotHelpChance")]
public double BotHelpChance { get; set; }
[JsonPropertyName("BotSpreadoutChance")]
public double BotSpreadoutChance { get; set; }
[JsonPropertyName("BotStopChance")]
public double BotStopChance { get; set; }
[JsonPropertyName("PriceModTaxi")]
public double PriceModifierTaxi { get; set; }
[JsonPropertyName("PriceModDelivery")]
public double PriceModifierDelivery { get; set; }
[JsonPropertyName("PriceModCleanUp")]
public double PriceModifierCleanUp { get; set; }
[JsonPropertyName("ReactOnMarkOnUnknowns")]
public bool ReactOnMarkOnUnknowns { get; set; }
[JsonPropertyName("ReactOnMarkOnUnknownsPVE")]
public bool ReactOnMarkOnUnknownsPVE { get; set; }
[JsonPropertyName("DeliveryGridSize")]
public XYZ DeliveryGridSize { get; set; }
[JsonPropertyName("CanInteractWithBtr")]
public bool CanInteractWithBtr { get; set; }
[JsonPropertyName("CircleOfCultistsBonusPercent")]
public double CircleOfCultistsBonusPercentage { get; set; }
}
public record Inertia
{
[JsonPropertyName("InertiaLimits")]
public XYZ InertiaLimits { get; set; }
[JsonPropertyName("InertiaLimitsStep")]
public double InertiaLimitsStep { get; set; }
[JsonPropertyName("ExitMovementStateSpeedThreshold")]
public XYZ ExitMovementStateSpeedThreshold { get; set; }
[JsonPropertyName("WalkInertia")]
public XYZ WalkInertia { get; set; }
[JsonPropertyName("FallThreshold")]
public double FallThreshold { get; set; }
[JsonPropertyName("SpeedLimitAfterFallMin")]
public XYZ SpeedLimitAfterFallMin { get; set; }
[JsonPropertyName("SpeedLimitAfterFallMax")]
public XYZ SpeedLimitAfterFallMax { get; set; }
[JsonPropertyName("SpeedLimitDurationMin")]
public XYZ SpeedLimitDurationMin { get; set; }
[JsonPropertyName("SpeedLimitDurationMax")]
public XYZ SpeedLimitDurationMax { get; set; }
[JsonPropertyName("SpeedInertiaAfterJump")]
public XYZ SpeedInertiaAfterJump { get; set; }
[JsonPropertyName("BaseJumpPenaltyDuration")]
public double BaseJumpPenaltyDuration { get; set; }
[JsonPropertyName("DurationPower")]
public double DurationPower { get; set; }
[JsonPropertyName("BaseJumpPenalty")]
public double BaseJumpPenalty { get; set; }
[JsonPropertyName("PenaltyPower")]
public double PenaltyPower { get; set; }
[JsonPropertyName("InertiaTiltCurveMin")]
public XYZ InertiaTiltCurveMin { get; set; }
[JsonPropertyName("InertiaTiltCurveMax")]
public XYZ InertiaTiltCurveMax { get; set; }
[JsonPropertyName("InertiaBackwardCoef")]
public XYZ InertiaBackwardCoef { get; set; }
[JsonPropertyName("TiltInertiaMaxSpeed")]
public XYZ TiltInertiaMaxSpeed { get; set; }
[JsonPropertyName("TiltStartSideBackSpeed")]
public XYZ TiltStartSideBackSpeed { get; set; }
[JsonPropertyName("TiltMaxSideBackSpeed")]
public XYZ TiltMaxSideBackSpeed { get; set; }
[JsonPropertyName("TiltAcceleration")]
public XYZ TiltAcceleration { get; set; }
[JsonPropertyName("AverageRotationFrameSpan")]
public double AverageRotationFrameSpan { get; set; }
[JsonPropertyName("SprintSpeedInertiaCurveMin")]
public XYZ SprintSpeedInertiaCurveMin { get; set; }
[JsonPropertyName("SprintSpeedInertiaCurveMax")]
public XYZ SprintSpeedInertiaCurveMax { get; set; }
[JsonPropertyName("SprintBrakeInertia")]
public XYZ SprintBrakeInertia { get; set; }
[JsonPropertyName("SprintTransitionMotionPreservation")]
public XYZ SprintTransitionMotionPreservation { get; set; }
[JsonPropertyName("WeaponFlipSpeed")]
public XYZ WeaponFlipSpeed { get; set; }
[JsonPropertyName("PreSprintAccelerationLimits")]
public XYZ PreSprintAccelerationLimits { get; set; }
[JsonPropertyName("SprintAccelerationLimits")]
public XYZ SprintAccelerationLimits { get; set; }
[JsonPropertyName("SideTime")]
public XYZ SideTime { get; set; }
[JsonPropertyName("DiagonalTime")]
public XYZ DiagonalTime { get; set; }
[JsonPropertyName("MaxTimeWithoutInput")]
public XYZ MaxTimeWithoutInput { get; set; }
[JsonPropertyName("MinDirectionBlendTime")]
public double MinDirectionBlendTime { get; set; }
[JsonPropertyName("MoveTimeRange")]
public XYZ MoveTimeRange { get; set; }
[JsonPropertyName("ProneDirectionAccelerationRange")]
public XYZ ProneDirectionAccelerationRange { get; set; }
[JsonPropertyName("ProneSpeedAccelerationRange")]
public XYZ ProneSpeedAccelerationRange { get; set; }
[JsonPropertyName("MinMovementAccelerationRangeRight")]
public XYZ MinMovementAccelerationRangeRight { get; set; }
[JsonPropertyName("MaxMovementAccelerationRangeRight")]
public XYZ MaxMovementAccelerationRangeRight { get; set; }
public XYZ CrouchSpeedAccelerationRange { get; set; }
}
public record Ballistic
{
[JsonPropertyName("GlobalDamageDegradationCoefficient")]
public double GlobalDamageDegradationCoefficient { get; set; }
}
public record RepairSettings
{
[JsonPropertyName("ItemEnhancementSettings")]
public ItemEnhancementSettings ItemEnhancementSettings { get; set; }
[JsonPropertyName("MinimumLevelToApplyBuff")]
public double MinimumLevelToApplyBuff { get; set; }
[JsonPropertyName("RepairStrategies")]
public RepairStrategies RepairStrategies { get; set; }
[JsonPropertyName("armorClassDivisor")]
public double ArmorClassDivisor { get; set; }
[JsonPropertyName("durabilityPointCostArmor")]
public double DurabilityPointCostArmor { get; set; }
[JsonPropertyName("durabilityPointCostGuns")]
public double DurabilityPointCostGuns { get; set; }
}
public record ItemEnhancementSettings
{
[JsonPropertyName("DamageReduction")]
public PriceModifier DamageReduction { get; set; }
[JsonPropertyName("MalfunctionProtections")]
public PriceModifier MalfunctionProtections { get; set; }
[JsonPropertyName("WeaponSpread")]
public PriceModifier WeaponSpread { get; set; }
}
public record PriceModifier
{
[JsonPropertyName("PriceModifier")]
public double PriceModifierValue { get; set; }
}
public record RepairStrategies
{
[JsonPropertyName("Armor")]
public RepairStrategy Armor { get; set; }
[JsonPropertyName("Firearms")]
public RepairStrategy Firearms { get; set; }
}
public record RepairStrategy
{
[JsonPropertyName("BuffTypes")]
public IEnumerable<string> BuffTypes { get; set; }
[JsonPropertyName("Filter")]
public IEnumerable<string> Filter { get; set; }
}
public record BotPreset
{
[JsonPropertyName("UseThis")]
public bool UseThis { get; set; }
[JsonPropertyName("Role")]
public string Role { get; set; }
[JsonPropertyName("BotDifficulty")]
public string BotDifficulty { get; set; }
[JsonPropertyName("VisibleAngle")]
public double VisibleAngle { get; set; }
[JsonPropertyName("VisibleDistance")]
public double VisibleDistance { get; set; }
[JsonPropertyName("ScatteringPerMeter")]
public double ScatteringPerMeter { get; set; }
[JsonPropertyName("HearingSense")]
public double HearingSense { get; set; }
[JsonPropertyName("SCATTERING_DIST_MODIF")]
public double ScatteringDistModif { get; set; }
[JsonPropertyName("MAX_AIMING_UPGRADE_BY_TIME")]
public double MaxAimingUpgradeByTime { get; set; }
[JsonPropertyName("FIRST_CONTACT_ADD_SEC")]
public double FirstContactAddSec { get; set; }
[JsonPropertyName("COEF_IF_MOVE")]
public double CoefIfMove { get; set; }
}
public record BotWeaponScattering
{
[JsonPropertyName("Name")]
public string Name { get; set; }
[JsonPropertyName("PriorityScatter1meter")]
public double PriorityScatter1Meter { get; set; }
[JsonPropertyName("PriorityScatter10meter")]
public double PriorityScatter10Meter { get; set; }
[JsonPropertyName("PriorityScatter100meter")]
public double PriorityScatter100Meter { get; set; }
}
public record Preset
{
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
[JsonPropertyName("_type")]
public string Type { get; set; }
[JsonPropertyName("_changeWeaponName")]
public bool ChangeWeaponName { get; set; }
[JsonPropertyName("_name")]
public string Name { get; set; }
[JsonPropertyName("_parent")]
public MongoId Parent { get; set; }
[JsonPropertyName("_items")]
public List<Item> Items { get; set; }
/// <summary>
/// Default presets have this property
/// </summary>
[JsonPropertyName("_encyclopedia")]
public MongoId? Encyclopedia { get; set; }
}
public record QuestSettings
{
[JsonPropertyName("GlobalRewardRepModifierDailyQuestPvE")]
public double GlobalRewardRepModifierDailyQuestPvE { get; set; }
[JsonPropertyName("GlobalRewardRepModifierQuestPvE")]
public double GlobalRewardRepModifierQuestPvE { get; set; }
}