diff --git a/Config/forced_loose.yaml b/Config/forced_loose.yaml index c90dba2..5e3a9e3 100644 --- a/Config/forced_loose.yaml +++ b/Config/forced_loose.yaml @@ -12,8 +12,10 @@ bigmap: - 5937fd0086f7742bf33fc198 # Bronze pocket watch on a chain - 5939a00786f7742fe8132936 # Golden Zibbo lighter - 5939e5a786f77461f11c0098 # Secure Folder 0013 -- 64e74a3d4d49d23b2c39d319 # item_quest_clock_07 (Out of Time) -- 6614230055afee107f05e998 # The Unheard's phone +- 64e74a3d4d49d23b2c39d319 # item_quest_clock_07 (Out of Time) +- 6614230055afee107f05e998 # The Unheard's phone +- 664fce7a90294949fe2d81cb # Item_barter_info_host_quest +- 66b22630a6b4e5ec7c02cdb7 # item_quest_instruments #- 64bd1abff3a668f08805ce4f # Secure Flash drive V4 REMOVED BY BSG woods: @@ -22,6 +24,9 @@ woods: - 5af04e0a86f7743a532b79e2 # Single-axis Fiber Optic Gyroscope: item_barter_electr_gyroscope - 5a687e7886f7740c4a5133fb # Blood sample - 5af04c0b86f774138708f78e # Motor Controller: item_barter_electr_controller +- 664a5775f3d3570fba06be64 # quest_flyers +- 664b69c5a082271bc46c4e11 # quest_flyers2 +- 664b69e8e1238e506d3630af # quest_flyers3 #- 64bde2248f3a947a990aa4a5 # Sliderkey Secure Flash drive #1 REMOVED BY BSG #- 64bde265807321a9b905f076 # Sliderkey Secure Flash drive #2 REMOVED BY BSG @@ -41,11 +46,13 @@ shoreline: - 5b4c72c686f77462ac37e907 # Motor Controller: item_barter_electr_controller3 - 5b43237186f7742f3a4ab252 # Chemical container: item_quest_chem_container - 5a29284f86f77463ef3db363 # Toughbook reinforced laptop -- 64e74a534d49d23b2c39d31b # item_quest_clock_10 (Out of Time) -- 6614238e0d240a5f5d0f679d # Skier and Peacekeeper correspondence -- 661421c7c1f2f548c50ee649 # The Unheard's laptop -- 6614217b6d9d5abcad0ff098 # The Unheard's phone -- 661423200d240a5f5d0f679b # The Unheard's laptop +- 64e74a534d49d23b2c39d31b # item_quest_clock_10 (Out of Time) +- 6614238e0d240a5f5d0f679d # Skier and Peacekeeper correspondence +- 661421c7c1f2f548c50ee649 # The Unheard's laptop +- 6614217b6d9d5abcad0ff098 # The Unheard's phone +- 661423200d240a5f5d0f679b # The Unheard's laptop +- 666073159916667083033cb9 # Item_quest_tattered_diary +- 66760b3deb51b08bd40c2b08 # item_barter_electr_hdd_NosQuests_quest interchange: - 5ae9a18586f7746e381e16a3 # OLI cargo manifests @@ -56,11 +63,17 @@ interchange: - 5ae9a4fc86f7746e381e1753 # Clothes design handbook - Part 2 - 5b4c81a086f77417d26be63f # Chemical container item_quest_chem_container2 - 5b4c81bd86f77418a75ae159 # Chemical container item_quest_chem_container3 -- 64e74a5ac2b4f829615ec336 # item_quest_clock_11 (Out of Time) +- 64e74a5ac2b4f829615ec336 # item_quest_clock_11 (Out of Time) +- 667a8ef464eea5fdef0db135 # item_quest_gamemagazine factory4_day: - 591093bb86f7747caa7bb2ee # On the neck of the dead scav in the bunker (Postman Pat Part 2) - 593a87af86f774122f54a951 # Syringe with a chemical +- 66a0e523e749756c920d02d0 # item_quest_chem_container_nf2024 +- 669fac549b0ce3feae01a137 # item_quest_chimicalsample +- 66c0b90c8398582e4b0c2e27 # item_quest_factoryflight_journal +- 66c0b39ca1f68fcc1d0c0cc3 # item_quest_factorylab_journal +- 66a0f0926fee20fa70036da6 # item_barter_quest_blood_nf2024 factory4_night: - 591093bb86f7747caa7bb2ee # On the neck of the dead scav in the bunker (Postman Pat Part 2) @@ -76,9 +89,8 @@ lighthouse: - 6331bb0d1aa9f42b804997a6 # V3 Flash Drive - 6398a0861c712b1e1d4dadf1 # Forged Lightkeeper intelligence (Snatch) - 6399f54b0a36db13c823ad21 # Radio transmitter body (Key to the Tower) -- 64e74a64aac4cd0a7264ecdf # item_quest_clock_12 (Out of Time) -- 578f87a3245977356274f2cb # -- 661666458c2aa9cb1602503b # Hard drive +- 64e74a64aac4cd0a7264ecdf # item_quest_clock_12 (Out of Time) +- 661666458c2aa9cb1602503b # Hard drive # - 64b91627dd13d43b9d01d6d1 # Toughbook reinforced laptop (Event quest) REMOVED BY BSG rezervbase: @@ -90,13 +102,14 @@ rezervbase: - 609267a2bb3f46069c3e6c7d # T-90M Commander Control Panel - 60c080eb991ac167ad1c3ad4 # MBT Integrated Navigation System - 6398a072e301557ae24cec92 # Original Lightkeeper Intelligence (Snatch) -- 64e74a4baac4cd0a7264ecdd # item_quest_clock_09 (Out of Time) +- 64e74a4baac4cd0a7264ecdd # item_quest_clock_09 (Out of Time) laboratory: - 5eff135be0d3331e9d282b7b # Flash drive marked with blue tape (TerraGroup employee) - 6398a4cfb5992f573c6562b3 # Secured tape -- 64e74a44c2b4f829615ec334 # Picture 8 -#- 64e74a44c2b4f829615ec334 # item_quest_clock_08 (Out of Time) #1 REMOVED BY BSG +- 64e74a44c2b4f829615ec334 # Picture 8 +- 666879d498b97e3a8f09f1ae # Item_barter_medical_transilluminator_quest +#- 64e74a44c2b4f829615ec334 # item_quest_clock_08 (Out of Time) #1 REMOVED BY BSG #- 64bdcfed8f3a947a990aa49a # Hermetic container for storing various chemicals #1 REMOVED BY BSG #- 64bdd008b0bf3baa6702f35f # Hermetic container for storing various chemicals #2 REMOVED BY BSG #- 64bdd014f3a668f08805ce64 # Hermetic container for storing various chemicals #3 REMOVED BY BSG @@ -113,22 +126,23 @@ tarkovstreets: - 63989ced706b793c7d60cfef # Informant's journal (Missing Informant) - 638cbb3ba63f1b49be6a300e # Secure Flash drive (Your Car Needs a Service) - 63a39e1d234195315d4020bd # Primorsky 46-48 skybridge key -- 64e73909cd54ef0580746af3 # item_quest_clock_01 (Out of Time) -- 64e74a186393886f74114a96 # item_quest_clock_02 (Out of Time) -- 64e74a1faac4cd0a7264ecd9 # item_quest_clock_03 (Out of Time) -- 64e74a274d49d23b2c39d317 # item_quest_clock_04 (Out of Time) -- 64e74a2fc2b4f829615ec332 # item_quest_clock_05 (Out of Time) -- 64e74a35aac4cd0a7264ecdb # item_quest_clock_06 (Out of Time) -- 64f09c02b63b74469b6c149f # Paramedic's GPhone X (Ambulances Again) -- 64f07f7726cfa02c506f8ac0 # Journal item_quest_kpss2 (Glory To CPSU P2) -- 64f69b4267e11a7c6206e010 # Chef's diary (Beyond the Red Meat - Part 1) -- 64f5b4f71a5f313cb144c06c # Secret component (Beyond the Red Meat - Part 2) -- 657acb2ac900be5902191ac9 # Cadastral registry records +- 64e73909cd54ef0580746af3 # item_quest_clock_01 (Out of Time) +- 64e74a186393886f74114a96 # item_quest_clock_02 (Out of Time) +- 64e74a1faac4cd0a7264ecd9 # item_quest_clock_03 (Out of Time) +- 64e74a274d49d23b2c39d317 # item_quest_clock_04 (Out of Time) +- 64e74a2fc2b4f829615ec332 # item_quest_clock_05 (Out of Time) +- 64e74a35aac4cd0a7264ecdb # item_quest_clock_06 (Out of Time) +- 64f09c02b63b74469b6c149f # Paramedic's GPhone X (Ambulances Again) +- 64f07f7726cfa02c506f8ac0 # Journal item_quest_kpss2 (Glory To CPSU P2) +- 64f69b4267e11a7c6206e010 # Chef's diary (Beyond the Red Meat - Part 1) +- 64f5b4f71a5f313cb144c06c # Secret component (Beyond the Red Meat - Part 2) +- 657acb2ac900be5902191ac9 # Cadastral registry records +- 66687bc89111279d600b5062 # keyFromCity_quest sandbox: -- 6582bd252b50c61c565828e2 # Bottle of Le Jean wine -- 6575a6ca8778e96ded05a802 # TerraGroup scientist's hard drive +- 6582bd252b50c61c565828e2 # Bottle of Le Jean wine +- 6575a6ca8778e96ded05a802 # TerraGroup scientist's hard drive sandbox_high: -- 6582bd252b50c61c565828e2 # Bottle of Le Jean wine -- 6575a6ca8778e96ded05a802 # TerraGroup scientist's hard drive \ No newline at end of file +- 6582bd252b50c61c565828e2 # Bottle of Le Jean wine +- 6575a6ca8778e96ded05a802 # TerraGroup scientist's hard drive \ No newline at end of file diff --git a/LootDumpProcessor.csproj b/LootDumpProcessor.csproj index b3f9383..81ecbf5 100644 --- a/LootDumpProcessor.csproj +++ b/LootDumpProcessor.csproj @@ -13,7 +13,7 @@ - + diff --git a/Model/Input/AdditionalHostilitySetting.cs b/Model/Input/AdditionalHostilitySetting.cs new file mode 100644 index 0000000..66805b9 --- /dev/null +++ b/Model/Input/AdditionalHostilitySetting.cs @@ -0,0 +1,52 @@ +using System.Text.Json.Serialization; +using Newtonsoft.Json; + +namespace LootDumpProcessor.Model.Input +{ + public class AdditionalHostilitySetting + { + [JsonProperty("BotRole", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("BotRole")] + public string? BotRole { get; set; } + + [JsonProperty("AlwaysEnemies", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("AlwaysEnemies")] + public List? AlwaysEnemies { get; set; } + + [JsonProperty("ChancedEnemies", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("ChancedEnemies")] + public List? ChancedEnemies { get; set; } + + [JsonProperty("Warn", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("Warn")] + public List? Warn { get; set; } + + [JsonProperty("Neutral", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("Neutral")] + public List? Neutral { get; set; } + + [JsonProperty("AlwaysFriends", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("AlwaysFriends")] + public List? AlwaysFriends { get; set; } + + [JsonProperty("SavagePlayerBehaviour", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("SavagePlayerBehaviour")] + public string? SavagePlayerBehaviour { get; set; } + + [JsonProperty("BearPlayerBehaviour", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("BearPlayerBehaviour")] + public string? BearPlayerBehaviour { get; set; } + + [JsonProperty("BearEnemyChance", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("BearEnemyChance")] + public int? BearEnemyChance { get; set; } + + [JsonProperty("UsecPlayerBehaviour", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("UsecPlayerBehaviour")] + public string? UsecPlayerBehaviour { get; set; } + + [JsonProperty("UsecEnemyChance", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("UsecEnemyChance")] + public int? UsecEnemyChance { get; set; } + } +} \ No newline at end of file diff --git a/Model/Input/AirdropParameter.cs b/Model/Input/AirdropParameter.cs index 5b5007f..e688e95 100644 --- a/Model/Input/AirdropParameter.cs +++ b/Model/Input/AirdropParameter.cs @@ -1,4 +1,4 @@ -using System.Text.Json.Serialization; +using System.Text.Json.Serialization; using Newtonsoft.Json; namespace LootDumpProcessor.Model.Input @@ -19,7 +19,7 @@ namespace LootDumpProcessor.Model.Input [JsonProperty("PlaneAirdropChance", NullValueHandling = NullValueHandling.Ignore)] [JsonPropertyName("PlaneAirdropChance")] - public double? PlaneAirdropChance { get; set; } + public float? PlaneAirdropChance { get; set; } [JsonProperty("PlaneAirdropMax", NullValueHandling = NullValueHandling.Ignore)] [JsonPropertyName("PlaneAirdropMax")] diff --git a/Model/Input/BTRServerSettings.cs b/Model/Input/BTRServerSettings.cs new file mode 100644 index 0000000..2d58ef8 --- /dev/null +++ b/Model/Input/BTRServerSettings.cs @@ -0,0 +1,68 @@ +using System.Text.Json.Serialization; +using Newtonsoft.Json; + +namespace LootDumpProcessor.Model.Input +{ + public class BTRServerSettings + { + [JsonProperty("ChanceSpawn", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("ChanceSpawn")] + public float? ChanceSpawn { get; set; } + + [JsonProperty("SpawnPeriod", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("SpawnPeriod")] + public Vector3? SpawnPeriod { get; set; } + + [JsonProperty("MoveSpeed", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("MoveSpeed")] + public float? MoveSpeed { get; set; } + + [JsonProperty("ReadyToDepartureTime", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("ReadyToDepartureTime")] + public float? ReadyToDepartureTime { get; set; } + + [JsonProperty("CheckTurnDistanceTime", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("CheckTurnDistanceTime")] + public float? CheckTurnDistanceTime { get; set; } + + [JsonProperty("TurnCheckSensitivity", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("TurnCheckSensitivity")] + public float? TurnCheckSensitivity { get; set; } + + [JsonProperty("DecreaseSpeedOnTurnLimit", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("DecreaseSpeedOnTurnLimit")] + public float? DecreaseSpeedOnTurnLimit { get; set; } + + [JsonProperty("EndSplineDecelerationDistance", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("EndSplineDecelerationDistance")] + public float? EndSplineDecelerationDistance { get; set; } + + [JsonProperty("AccelerationSpeed", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("AccelerationSpeed")] + public float? AccelerationSpeed { get; set; } + + [JsonProperty("DecelerationSpeed", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("DecelerationSpeed")] + public float? DecelerationSpeed { get; set; } + + [JsonProperty("PauseDurationRange", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("PauseDurationRange")] + public Vector3? PauseDurationRange { get; set; } + + [JsonProperty("BodySwingReturnSpeed", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("BodySwingReturnSpeed")] + public float? BodySwingReturnSpeed { get; set; } + + [JsonProperty("BodySwingDamping", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("BodySwingDamping")] + public float? BodySwingDamping { get; set; } + + [JsonProperty("BodySwingIntensity", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("BodySwingIntensity")] + public float? BodySwingIntensity { get; set; } + + [JsonProperty("ServerMapBTRSettings", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("ServerMapBTRSettings")] + public ServerMapBTRSettings? ServerMapBTRSettings { get; set; } + } +} \ No newline at end of file diff --git a/Model/Input/Banner.cs b/Model/Input/Banner.cs index b8ce951..0b41dbb 100644 --- a/Model/Input/Banner.cs +++ b/Model/Input/Banner.cs @@ -1,14 +1,16 @@ -using System.Text.Json.Serialization; +using System.Text.Json.Serialization; using Newtonsoft.Json; namespace LootDumpProcessor.Model.Input { public class Banner { - [JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)] [JsonPropertyName("id")] + [JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("id")] public string? Id { get; set; } - [JsonProperty("pic")] [JsonPropertyName("pic")] - public Preview? Pic { get; set; } + [JsonProperty("pic", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("pic")] + public Pic? Pic { get; set; } } -} +} \ No newline at end of file diff --git a/Model/Input/BotLocationModifier.cs b/Model/Input/BotLocationModifier.cs index 2858246..dea60dc 100644 --- a/Model/Input/BotLocationModifier.cs +++ b/Model/Input/BotLocationModifier.cs @@ -1,4 +1,4 @@ -using System.Text.Json.Serialization; +using System.Text.Json.Serialization; using Newtonsoft.Json; namespace LootDumpProcessor.Model.Input @@ -7,22 +7,58 @@ namespace LootDumpProcessor.Model.Input { [JsonProperty("AccuracySpeed", NullValueHandling = NullValueHandling.Ignore)] [JsonPropertyName("AccuracySpeed")] - public double? AccuracySpeed { get; set; } + public float? AccuracySpeed { get; set; } [JsonProperty("Scattering", NullValueHandling = NullValueHandling.Ignore)] [JsonPropertyName("Scattering")] - public double? Scattering { get; set; } + public float? Scattering { get; set; } [JsonProperty("GainSight", NullValueHandling = NullValueHandling.Ignore)] [JsonPropertyName("GainSight")] - public double? GainSight { get; set; } + public float? GainSight { get; set; } [JsonProperty("MarksmanAccuratyCoef", NullValueHandling = NullValueHandling.Ignore)] [JsonPropertyName("MarksmanAccuratyCoef")] - public double? MarksmanAccuratyCoef { get; set; } + public float? MarksmanAccuratyCoef { get; set; } [JsonProperty("VisibleDistance", NullValueHandling = NullValueHandling.Ignore)] [JsonPropertyName("VisibleDistance")] - public double? VisibleDistance { get; set; } + public float? VisibleDistance { get; set; } + + [JsonProperty("DistToPersueAxemanCoef", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("DistToPersueAxemanCoef")] + public float? DistToPersueAxemanCoef { get; set; } + + [JsonProperty("KhorovodChance", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("KhorovodChance")] + public int? KhorovodChance { get; set; } + + [JsonProperty("MinExfiltrationTime", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("MinExfiltrationTime")] + public float? MinExfiltrationTime { get; set; } + + [JsonProperty("MaxExfiltrationTime", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("MaxExfiltrationTime")] + public float? MaxExfiltrationTime { get; set; } + + [JsonProperty("DistToActivatePvE", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("DistToActivatePvE")] + public float? DistToActivatePvE { get; set; } + + [JsonProperty("DistToSleepPvE", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("DistToSleepPvE")] + public float? DistToSleepPvE { get; set; } + + [JsonProperty("DistToActivate", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("DistToActivate")] + public float? DistToActivate { get; set; } + + [JsonProperty("DistToSleep", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("DistToSleep")] + public float? DistToSleep { get; set; } + + [JsonProperty("AdditionalHostilitySettings", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("AdditionalHostilitySettings")] + public List? AdditionalHostilitySettings { get; set; } } } \ No newline at end of file diff --git a/Model/Input/ChancedEnemy.cs b/Model/Input/ChancedEnemy.cs new file mode 100644 index 0000000..5548936 --- /dev/null +++ b/Model/Input/ChancedEnemy.cs @@ -0,0 +1,16 @@ +using System.Text.Json.Serialization; +using Newtonsoft.Json; + +namespace LootDumpProcessor.Model.Input +{ + public class ChancedEnemy + { + [JsonProperty("EnemyChance", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("EnemyChance")] + public int? EnemyChance { get; set; } + + [JsonProperty("Role", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("Role")] + public string? Role { get; set; } + } +} \ No newline at end of file diff --git a/Model/Input/ColliderParams.cs b/Model/Input/ColliderParams.cs index 918395d..aee12c6 100644 --- a/Model/Input/ColliderParams.cs +++ b/Model/Input/ColliderParams.cs @@ -1,12 +1,13 @@ -using System.Text.Json.Serialization; +using System.Text.Json.Serialization; +using LootDumpProcessor.Model.Tarkov; using Newtonsoft.Json; namespace LootDumpProcessor.Model.Input { public class ColliderParams { - [JsonProperty("_parent", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("_parent")] + [JsonProperty("Parent", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("Parent")] public string? Parent { get; set; } [JsonProperty("_props", NullValueHandling = NullValueHandling.Ignore)] diff --git a/Model/Input/CompletedQuest.cs b/Model/Input/CompletedQuest.cs new file mode 100644 index 0000000..10ec0d4 --- /dev/null +++ b/Model/Input/CompletedQuest.cs @@ -0,0 +1,12 @@ +using System.Text.Json.Serialization; +using Newtonsoft.Json; + +namespace LootDumpProcessor.Model.Input +{ + public class CompletedQuest + { + [JsonProperty("QuestId", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("QuestId")] + public string? QuestID { get; set; } + } +} \ No newline at end of file diff --git a/Model/Input/Data.cs b/Model/Input/Data.cs index 22431f8..39c6dce 100644 --- a/Model/Input/Data.cs +++ b/Model/Input/Data.cs @@ -5,316 +5,20 @@ namespace LootDumpProcessor.Model.Input { public class Data { - [JsonProperty("Enabled", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Enabled")] - public bool? Enabled { get; set; } + [JsonProperty("serverId", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("serverId")] + public string? ServerID { get; set; } - [JsonProperty("EnableCoop", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("EnableCoop")] - public bool? EnableCoop { get; set; } + [JsonProperty("serverSettings", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("serverSettings")] + public ServerSettings? ServerSettings { get; set; } - [JsonProperty("Locked", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Locked")] - public bool? Locked { get; set; } + [JsonProperty("profile", NullValueHandling = NullValueHandling.Ignore)] + [JsonPropertyName("profile")] + public object? Profile { get; set; } - [JsonProperty("Insurance", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Insurance")] - public bool? Insurance { get; set; } - - [JsonProperty("SafeLocation", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("SafeLocation")] - public bool? SafeLocation { get; set; } - - [JsonProperty("Name", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Name")] - public string? Name { get; set; } - - [JsonProperty("Description", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Description")] - public string? Description { get; set; } - - [JsonProperty("Scene", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Scene")] - public Preview? Scene { get; set; } - - [JsonProperty("Area", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Area")] - public double? Area { get; set; } - - [JsonProperty("RequiredPlayerLevel", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("RequiredPlayerLevel")] - public int? RequiredPlayerLevel { get; set; } - - [JsonProperty("PmcMaxPlayersInGroup", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("PmcMaxPlayersInGroup")] - public int? PmcMaxPlayersInGroup { get; set; } - - [JsonProperty("ScavMaxPlayersInGroup", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("ScavMaxPlayersInGroup")] - public int? ScavMaxPlayersInGroup { get; set; } - - [JsonProperty("MinPlayers", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("MinPlayers")] - public int? MinPlayers { get; set; } - - [JsonProperty("MaxPlayers", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("MaxPlayers")] - public int? MaxPlayers { get; set; } - - [JsonProperty("MaxCoopGroup", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("MaxCoopGroup")] - public int? MaxCoopGroup { get; set; } - - [JsonProperty("exit_count", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("exit_count")] - public int? ExitCount { get; set; } - - [JsonProperty("exit_access_time", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("exit_access_time")] - public int? ExitAccessTime { get; set; } - - [JsonProperty("exit_time", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("exit_time")] - public int? ExitTime { get; set; } - - [JsonProperty("Preview", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Preview")] - public Preview? Preview { get; set; } - - [JsonProperty("IconX", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("IconX")] - public int? IconX { get; set; } - - [JsonProperty("IconY", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("IconY")] - public int? IconY { get; set; } - - [JsonProperty("filter_ex", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("filter_ex")] - public List? FilterEx { get; set; } - - [JsonProperty("waves", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("waves")] - public List? Waves { get; set; } - - [JsonProperty("limits", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("limits")] - public List? Limits { get; set; } - - [JsonProperty("AveragePlayTime", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("AveragePlayTime")] - public int? AveragePlayTime { get; set; } - - [JsonProperty("AveragePlayerLevel", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("AveragePlayerLevel")] - public int? AveragePlayerLevel { get; set; } - - [JsonProperty("EscapeTimeLimit", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("EscapeTimeLimit")] - public int? EscapeTimeLimit { get; set; } - - [JsonProperty("EscapeTimeLimitCoop", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("EscapeTimeLimitCoop")] - public int? EscapeTimeLimitCoop { get; set; } - - [JsonProperty("Rules", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Rules")] - public string? Rules { get; set; } - - [JsonProperty("IsSecret", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("IsSecret")] - public bool? IsSecret { get; set; } - - [JsonProperty("doors", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("doors")] - public List? Doors { get; set; } - - [JsonProperty("tmp_location_field_remove_me", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("tmp_location_field_remove_me")] - public int? TmpLocationFieldRemoveMe { get; set; } - - [JsonProperty("MinDistToExitPoint", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("MinDistToExitPoint")] - public int? MinDistToExitPoint { get; set; } - - [JsonProperty("MaxDistToFreePoint", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("MaxDistToFreePoint")] - public int? MaxDistToFreePoint { get; set; } - - [JsonProperty("MinDistToFreePoint", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("MinDistToFreePoint")] - public int? MinDistToFreePoint { get; set; } - - [JsonProperty("MaxBotPerZone", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("MaxBotPerZone")] - public int? MaxBotPerZone { get; set; } - - [JsonProperty("OpenZones", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("OpenZones")] - public string? OpenZones { get; set; } - - [JsonProperty("OcculsionCullingEnabled", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("OcculsionCullingEnabled")] - public bool? OcculsionCullingEnabled { get; set; } - - [JsonProperty("GlobalLootChanceModifier", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("GlobalLootChanceModifier")] - public double? GlobalLootChanceModifier { get; set; } - - [JsonProperty("OldSpawn", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("OldSpawn")] - public bool? OldSpawn { get; set; } - - [JsonProperty("NewSpawn", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("NewSpawn")] - public bool? NewSpawn { get; set; } - - [JsonProperty("BotMax", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotMax")] - public int? BotMax { get; set; } - - [JsonProperty("BotStart", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotStart")] - public int? BotStart { get; set; } - - [JsonProperty("BotStop", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotStop")] - public int? BotStop { get; set; } - - [JsonProperty("BotMaxTimePlayer", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotMaxTimePlayer")] - public int? BotMaxTimePlayer { get; set; } - - [JsonProperty("BotSpawnTimeOnMin", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotSpawnTimeOnMin")] - public int? BotSpawnTimeOnMin { get; set; } - - [JsonProperty("BotSpawnTimeOnMax", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotSpawnTimeOnMax")] - public int? BotSpawnTimeOnMax { get; set; } - - [JsonProperty("BotSpawnTimeOffMin", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotSpawnTimeOffMin")] - public int? BotSpawnTimeOffMin { get; set; } - - [JsonProperty("BotSpawnTimeOffMax", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotSpawnTimeOffMax")] - public int? BotSpawnTimeOffMax { get; set; } - - [JsonProperty("BotMaxPlayer", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotMaxPlayer")] - public int? BotMaxPlayer { get; set; } - - [JsonProperty("BotEasy", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotEasy")] - public int? BotEasy { get; set; } - - [JsonProperty("BotNormal", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotNormal")] - public int? BotNormal { get; set; } - - [JsonProperty("BotHard", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotHard")] - public int? BotHard { get; set; } - - [JsonProperty("BotImpossible", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotImpossible")] - public int? BotImpossible { get; set; } - - [JsonProperty("BotAssault", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotAssault")] - public int? BotAssault { get; set; } - - [JsonProperty("BotMarksman", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotMarksman")] - public int? BotMarksman { get; set; } - - [JsonProperty("DisabledScavExits", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("DisabledScavExits")] - public string? DisabledScavExits { get; set; } - - [JsonProperty("AccessKeys", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("AccessKeys")] - public List? AccessKeys { get; set; } - - [JsonProperty("UnixDateTime", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("UnixDateTime")] - public int? UnixDateTime { get; set; } - - [JsonProperty("users_gather_seconds", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("users_gather_seconds")] - public int? UsersGatherSeconds { get; set; } - - [JsonProperty("users_spawn_seconds_n", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("users_spawn_seconds_n")] - public int? UsersSpawnSecondsN { get; set; } - - [JsonProperty("users_spawn_seconds_n2", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("users_spawn_seconds_n2")] - public int? UsersSpawnSecondsN2 { get; set; } - - [JsonProperty("users_summon_seconds", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("users_summon_seconds")] - public int? UsersSummonSeconds { get; set; } - - [JsonProperty("sav_summon_seconds", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("sav_summon_seconds")] - public int? SavSummonSeconds { get; set; } - - [JsonProperty("matching_min_seconds", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("matching_min_seconds")] - public int? MatchingMinSeconds { get; set; } - - [JsonProperty("GenerateLocalLootCache", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("GenerateLocalLootCache")] - public bool? GenerateLocalLootCache { get; set; } - - [JsonProperty("MinMaxBots", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("MinMaxBots")] - public List? MinMaxBots { get; set; } - - [JsonProperty("BotLocationModifier", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("BotLocationModifier")] - public BotLocationModifier? BotLocationModifier { get; set; } - - [JsonProperty("exits", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("exits")] - public List? Exits { get; set; } - - [JsonProperty("DisabledForScav", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("DisabledForScav")] - public bool? DisabledForScav { get; set; } - - [JsonProperty("ExitZones", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("ExitZones")] - public ExitZones? ExitZones { get; set; } - - [JsonProperty("SpawnPointParams", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("SpawnPointParams")] - public List? SpawnPointParams { get; set; } - - [JsonProperty("AirdropParameters", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("AirdropParameters")] - public List? AirdropParameters { get; set; } - - [JsonProperty("Id", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Id")] - public string? Id { get; set; } - - [JsonProperty("_Id", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("_Id")] - public string? _Id { get; set; } - - [JsonProperty("Loot", NullValueHandling = NullValueHandling.Ignore)] - [JsonPropertyName("Loot")] - public List