Files
SPT-Server-Build/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Globals.cs
T
2025-03-27 20:55:46 +00:00

9665 lines
156 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.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 Config? Configuration
{
get;
set;
}
[JsonPropertyName("LocationInfection")]
public LocationInfection? LocationInfection
{
get;
set;
}
[JsonPropertyName("bot_presets")]
public List<BotPreset>? BotPresets
{
get;
set;
}
[JsonPropertyName("BotWeaponScatterings")]
public List<BotWeaponScattering>? BotWeaponScatterings
{
get;
set;
}
[JsonPropertyName("ItemPresets")]
public Dictionary<string, Preset>? ItemPresets
{
get;
set;
}
}
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 List<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 List<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 List<ShellingZone>? ShellingZones
{
get;
set;
}
[JsonPropertyName("Brigades")]
public List<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 List<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 List<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 string? 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 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("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 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 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 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
{
//TODO: add type
public object? HandlerDamage
{
get;
set;
}
}
public record HandlerDamageObject
{
public int? Amount
{
get;
set;
}
public string? BodyPartColliderType
{
get;
set;
}
}
public record PveSettings
{
public List<string>? AvailableVersions
{
get;
set;
}
public bool? ModeEnabled
{
get;
set;
}
}
public record CoopSettings
{
public List<string>? AvailableVersions
{
get;
set;
}
}
public record RunddansSettings
{
[JsonPropertyName("accessKeys")]
public List<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 List<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 List<string>? Locations
{
get;
set;
}
[JsonPropertyName("multitoolRepairSec")]
public double? MultitoolRepairSec
{
get;
set;
}
[JsonPropertyName("nonExitsLocations")]
public List<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 List<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 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;
}
}
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 List<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 List<Dictionary<string, double>>? TransitMultiplier
{
get;
set;
}
}
public record Kill
{
[JsonPropertyName("combo")]
public 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 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 List<Class>? Classes
{
get;
set;
}
}
public record Class
{
// Checked in client
[JsonPropertyName("resistance")]
public int? Resistance
{
get;
set;
}
}
public record Mastering
{
[JsonPropertyName("Id")]
public string? Id
{
get;
set;
}
[JsonPropertyName("Name")]
public string? Name
{
get;
set;
}
[JsonPropertyName("Templates")]
public List<string>? 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 List<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;
}
}
public record WildBody
{
[JsonPropertyName("body")]
public string? Body
{
get;
set;
}
[JsonPropertyName("hands")]
public string? Hands
{
get;
set;
}
[JsonPropertyName("isNotRandom")]
public bool? IsNotRandom
{
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;
}
}
public record CustomizationVoice
{
[JsonPropertyName("voice")]
public string? Voice
{
get;
set;
}
[JsonPropertyName("side")]
public List<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, List<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 List<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 List<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 List<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 string? 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 List<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 string? 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 List<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 List<PathConfig>? PathsConfigurations
{
get;
set;
}
}
public record PathConfig
{
[JsonPropertyName("active")]
public bool? Active
{
get;
set;
}
[JsonPropertyName("id")]
public string? Id
{
get;
set;
}
[JsonPropertyName("enterPoint")]
public string? EnterPoint
{
get;
set;
}
[JsonPropertyName("exitPoint")]
public string? ExitPoint
{
get;
set;
}
[JsonPropertyName("pathPoints")]
public List<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 List<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 List<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 List<object>? LMG
{
get;
set;
}
[JsonPropertyName("HMG")]
public List<object>? HMG
{
get;
set;
}
[JsonPropertyName("Launcher")]
public List<object>? Launcher
{
get;
set;
}
[JsonPropertyName("AttachedLauncher")]
public List<object>? AttachedLauncher
{
get;
set;
}
[JsonPropertyName("Melee")]
public MeleeSkill? Melee
{
get;
set;
}
[JsonPropertyName("DMR")]
public WeaponSkills? DMR
{
get;
set;
}
[JsonPropertyName("BearAssaultoperations")]
public List<object>? BearAssaultoperations
{
get;
set;
}
[JsonPropertyName("BearAuthority")]
public List<object>? BearAuthority
{
get;
set;
}
[JsonPropertyName("BearAksystems")]
public List<object>? BearAksystems
{
get;
set;
}
[JsonPropertyName("BearHeavycaliber")]
public List<object>? BearHeavycaliber
{
get;
set;
}
[JsonPropertyName("BearRawpower")]
public List<object>? BearRawpower
{
get;
set;
}
[JsonPropertyName("BipodErgonomicsBonusPerLevel")]
public double? BipodErgonomicsBonusPerLevel
{
get;
set;
}
[JsonPropertyName("UsecArsystems")]
public List<object>? UsecArsystems
{
get;
set;
}
[JsonPropertyName("UsecDeepweaponmodding_Settings")]
public List<object>? UsecDeepweaponmodding_Settings
{
get;
set;
}
[JsonPropertyName("UsecLongrangeoptics_Settings")]
public List<object>? UsecLongrangeoptics_Settings
{
get;
set;
}
[JsonPropertyName("UsecNegotiations")]
public List<object>? UsecNegotiations
{
get;
set;
}
[JsonPropertyName("UsecTactics")]
public List<object>? UsecTactics
{
get;
set;
}
[JsonPropertyName("BotReload")]
public List<object>? BotReload
{
get;
set;
}
[JsonPropertyName("CovertMovement")]
public CovertMovement? CovertMovement
{
get;
set;
}
[JsonPropertyName("FieldMedicine")]
public List<object>? FieldMedicine
{
get;
set;
}
[JsonPropertyName("Search")]
public Search? Search
{
get;
set;
}
[JsonPropertyName("Sniping")]
public List<object>? Sniping
{
get;
set;
}
[JsonPropertyName("ProneMovement")]
public List<object>? ProneMovement
{
get;
set;
}
[JsonPropertyName("FirstAid")]
public List<object>? FirstAid
{
get;
set;
}
[JsonPropertyName("LightVests")]
public ArmorSkills? LightVests
{
get;
set;
}
[JsonPropertyName("HeavyVests")]
public ArmorSkills? HeavyVests
{
get;
set;
}
[JsonPropertyName("WeaponModding")]
public List<object>? WeaponModding
{
get;
set;
}
[JsonPropertyName("AdvancedModding")]
public List<object>? AdvancedModding
{
get;
set;
}
[JsonPropertyName("NightOps")]
public List<object>? NightOps
{
get;
set;
}
[JsonPropertyName("SilentOps")]
public List<object>? SilentOps
{
get;
set;
}
[JsonPropertyName("Lockpicking")]
public List<object>? Lockpicking
{
get;
set;
}
[JsonPropertyName("WeaponTreatment")]
public WeaponTreatment? WeaponTreatment
{
get;
set;
}
[JsonPropertyName("MagDrills")]
public MagDrills? MagDrills
{
get;
set;
}
[JsonPropertyName("Freetrading")]
public List<object>? Freetrading
{
get;
set;
}
[JsonPropertyName("Auctions")]
public List<object>? Auctions
{
get;
set;
}
[JsonPropertyName("Cleanoperations")]
public List<object>? Cleanoperations
{
get;
set;
}
[JsonPropertyName("Barter")]
public List<object>? Barter
{
get;
set;
}
[JsonPropertyName("Shadowconnections")]
public List<object>? Shadowconnections
{
get;
set;
}
[JsonPropertyName("Taskperformance")]
public List<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 List<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 List<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 List<DependentSkillRatio>? DependentSkillRatios
{
get;
set;
}
[JsonPropertyName("QTELevelMultipliers")]
public Dictionary<string, Dictionary<string, double>>? QTELevelMultipliers
{
get;
set;
}
}
public record Strength
{
[JsonPropertyName("DependentSkillRatios")]
public List<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 List<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 List<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 List<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 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 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 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 List<string>? BuffTypes
{
get;
set;
}
[JsonPropertyName("Filter")]
public List<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 string? 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 string? Parent
{
get;
set;
}
[JsonPropertyName("_items")]
public List<Item>? Items
{
get;
set;
}
/// <summary>
/// Default presets have this property
/// </summary>
[JsonPropertyName("_encyclopedia")]
public string? Encyclopedia
{
get;
set;
}
}
public record QuestSettings
{
[JsonPropertyName("GlobalRewardRepModifierDailyQuestPvE")]
public double? GlobalRewardRepModifierDailyQuestPvE
{
get;
set;
}
[JsonPropertyName("GlobalRewardRepModifierQuestPvE")]
public double? GlobalRewardRepModifierQuestPvE
{
get;
set;
}
}