Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
0719a7bfdd | |||
f6f2acd842 | |||
1821756680 | |||
235249599e | |||
c011c2dc58 | |||
a320d24ee4 |
@ -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
|
||||
- 6582bd252b50c61c565828e2 # Bottle of Le Jean wine
|
||||
- 6575a6ca8778e96ded05a802 # TerraGroup scientist's hard drive
|
@ -6,17 +6,21 @@ static_weapon_ids:
|
||||
|
||||
forced_items:
|
||||
bigmap:
|
||||
# unknown key
|
||||
- containerId: custom_multiScene_00058
|
||||
- containerId: container_custom_DesignStuff_00060 # unknown key
|
||||
itemTpl: 593962ca86f774068014d9af
|
||||
|
||||
tarkovstreets:
|
||||
# Backup hideout key
|
||||
- containerId: container_City_SE_02_Primorskiy_51_indoor_00001
|
||||
- containerId: container_City_SE_02_DesignStuff_00091 # Backup hideout key
|
||||
itemTpl: 6398fd8ad3de3849057f5128
|
||||
|
||||
sandbox:
|
||||
- containerId: container_Test_for_export_00002 # Lab technician body
|
||||
itemTpl: 658199aa38c79576a2569e13 # TerraGroup science office key
|
||||
- containerId: container_custom_DesignStuff_00029 # dead body of scav near exit
|
||||
- containerId: container_Sandbox_Design_Stuff_00008 # dead body of scav near exit
|
||||
itemTpl: 6217726288ed9f0845317459 # RSP-30 reactive signal cartridge (Green)
|
||||
|
||||
sandbox_high:
|
||||
- containerId: container_Test_for_export_00002 # Lab technician body
|
||||
itemTpl: 658199aa38c79576a2569e13 # TerraGroup science office key
|
||||
- containerId: container_Sandbox_Design_Stuff_00008 # dead body of scav near exit
|
||||
itemTpl: 6217726288ed9f0845317459 # RSP-30 reactive signal cartridge (Green)
|
@ -13,7 +13,7 @@
|
||||
<PackageReference Include="7z.Libs" Version="21.7.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
|
||||
<PackageReference Include="NumSharp" Version="0.30.0" />
|
||||
<PackageReference Include="SevenZipSharp.Interop" Version="19.0.2" />
|
||||
<PackageReference Include="SevenZipSharp.Interop" Version="19.1.0" />
|
||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="7.0.0" />
|
||||
<PackageReference Include="YamlDotNet" Version="13.0.0" />
|
||||
</ItemGroup>
|
||||
|
52
Model/Input/AdditionalHostilitySetting.cs
Normal file
52
Model/Input/AdditionalHostilitySetting.cs
Normal file
@ -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<string>? AlwaysEnemies { get; set; }
|
||||
|
||||
[JsonProperty("ChancedEnemies", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("ChancedEnemies")]
|
||||
public List<ChancedEnemy>? ChancedEnemies { get; set; }
|
||||
|
||||
[JsonProperty("Warn", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Warn")]
|
||||
public List<string>? Warn { get; set; }
|
||||
|
||||
[JsonProperty("Neutral", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Neutral")]
|
||||
public List<string>? Neutral { get; set; }
|
||||
|
||||
[JsonProperty("AlwaysFriends", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("AlwaysFriends")]
|
||||
public List<string>? 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; }
|
||||
}
|
||||
}
|
@ -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")]
|
||||
|
68
Model/Input/BTRServerSettings.cs
Normal file
68
Model/Input/BTRServerSettings.cs
Normal file
@ -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; }
|
||||
}
|
||||
}
|
@ -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; }
|
||||
}
|
||||
}
|
@ -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<AdditionalHostilitySetting>? AdditionalHostilitySettings { get; set; }
|
||||
}
|
||||
}
|
16
Model/Input/ChancedEnemy.cs
Normal file
16
Model/Input/ChancedEnemy.cs
Normal file
@ -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; }
|
||||
}
|
||||
}
|
@ -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)]
|
||||
|
12
Model/Input/CompletedQuest.cs
Normal file
12
Model/Input/CompletedQuest.cs
Normal file
@ -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; }
|
||||
}
|
||||
}
|
@ -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<object>? FilterEx { get; set; }
|
||||
|
||||
[JsonProperty("waves", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("waves")]
|
||||
public List<Wave>? Waves { get; set; }
|
||||
|
||||
[JsonProperty("limits", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("limits")]
|
||||
public List<object>? 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<object>? 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<object>? 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<object>? MinMaxBots { get; set; }
|
||||
|
||||
[JsonProperty("BotLocationModifier", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotLocationModifier")]
|
||||
public BotLocationModifier? BotLocationModifier { get; set; }
|
||||
|
||||
[JsonProperty("exits", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("exits")]
|
||||
public List<Exit>? 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<SpawnPointParam>? SpawnPointParams { get; set; }
|
||||
|
||||
[JsonProperty("AirdropParameters", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("AirdropParameters")]
|
||||
public List<AirdropParameter>? 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<Template>? Loot { get; set; }
|
||||
|
||||
[JsonProperty("Banners", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Banners")]
|
||||
public List<Banner>? Banners { get; set; }
|
||||
|
||||
[JsonProperty("BossLocationSpawn", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BossLocationSpawn")]
|
||||
public List<object>? BossLocationSpawn { get; set; }
|
||||
[JsonProperty("locationLoot", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("locationLoot")]
|
||||
public required LocationLoot LocationLoot { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
@ -15,7 +15,7 @@ namespace LootDumpProcessor.Model.Input
|
||||
|
||||
[JsonProperty("Chance", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Chance")]
|
||||
public int? Chance { get; set; }
|
||||
public float? Chance { get; set; }
|
||||
|
||||
[JsonProperty("MinTime", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("MinTime")]
|
||||
@ -31,7 +31,7 @@ namespace LootDumpProcessor.Model.Input
|
||||
|
||||
[JsonProperty("ExfiltrationTime", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("ExfiltrationTime")]
|
||||
public int? ExfiltrationTime { get; set; }
|
||||
public float? ExfiltrationTime { get; set; }
|
||||
|
||||
[JsonProperty("PassageRequirement", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("PassageRequirement")]
|
||||
@ -56,5 +56,33 @@ namespace LootDumpProcessor.Model.Input
|
||||
[JsonProperty("Count", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Count")]
|
||||
public int? Count { get; set; }
|
||||
|
||||
[JsonProperty("EventAvailable", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("EventAvailable")]
|
||||
public bool? EventAvailable { get; set; }
|
||||
|
||||
[JsonProperty("MinTimePVE", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("MinTimePVE")]
|
||||
public int? MinTimePVE { get; set; }
|
||||
|
||||
[JsonProperty("MaxTimePVE", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("MaxTimePVE")]
|
||||
public int? MaxTimePVE { get; set; }
|
||||
|
||||
[JsonProperty("ChancePVE", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("ChancePVE")]
|
||||
public float? ChancePVE { get; set; }
|
||||
|
||||
[JsonProperty("CountPVE", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("CountPVE")]
|
||||
public int? CountPVE { get; set; }
|
||||
|
||||
[JsonProperty("ExfiltrationTimePVE", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("ExfiltrationTimePVE")]
|
||||
public float? ExfiltrationTimePVE { get; set; }
|
||||
|
||||
[JsonProperty("PlayersCountPVE", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("PlayersCountPVE")]
|
||||
public int? PlayersCountPVE { get; set; }
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class ExitZones
|
||||
{
|
||||
[JsonProperty("$oid", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("$oid")]
|
||||
public string? Oid { get; set; }
|
||||
}
|
||||
}
|
12
Model/Input/ItemCost.cs
Normal file
12
Model/Input/ItemCost.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class ItemCost
|
||||
{
|
||||
[JsonProperty("Count", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Count")]
|
||||
public int? Count { get; set; }
|
||||
}
|
||||
}
|
384
Model/Input/LocationLoot.cs
Normal file
384
Model/Input/LocationLoot.cs
Normal file
@ -0,0 +1,384 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class LocationLoot
|
||||
{
|
||||
[JsonProperty("Enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Enabled")]
|
||||
public bool? Enabled { get; set; }
|
||||
|
||||
[JsonProperty("EnableCoop", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("EnableCoop")]
|
||||
public bool? EnableCoop { get; set; }
|
||||
|
||||
[JsonProperty("ForceOnlineRaidInPVE", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("ForceOnlineRaidInPVE")]
|
||||
public bool? ForceOnlineRaidInPVE { get; set; }
|
||||
|
||||
[JsonProperty("Locked", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Locked")]
|
||||
public bool? Locked { 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 Scene? Scene { get; set; }
|
||||
|
||||
[JsonProperty("Area", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Area")]
|
||||
public float? Area { get; set; }
|
||||
|
||||
[JsonProperty("RequiredPlayerLevelMin", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("RequiredPlayerLevelMin")]
|
||||
public int? RequiredPlayerLevelMin { get; set; }
|
||||
|
||||
[JsonProperty("RequiredPlayerLevelMax", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("RequiredPlayerLevelMax")]
|
||||
public int? RequiredPlayerLevelMax { 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<object>? FilterEx { get; set; }
|
||||
|
||||
[JsonProperty("waves", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("waves")]
|
||||
public List<object>? Waves { get; set; }
|
||||
|
||||
[JsonProperty("limits", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("limits")]
|
||||
public List<object>? 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("EscapeTimeLimitPVE", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("EscapeTimeLimitPVE")]
|
||||
public int? EscapeTimeLimitPVE { 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<object>? 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 float? GlobalLootChanceModifier { get; set; }
|
||||
|
||||
[JsonProperty("GlobalLootChanceModifierPvE", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("GlobalLootChanceModifierPvE")]
|
||||
public float? GlobalLootChanceModifierPvE { get; set; }
|
||||
|
||||
[JsonProperty("OldSpawn", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("OldSpawn")]
|
||||
public bool? OldSpawn { get; set; }
|
||||
|
||||
[JsonProperty("OfflineOldSpawn", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("OfflineOldSpawn")]
|
||||
public bool? OfflineOldSpawn { get; set; }
|
||||
|
||||
[JsonProperty("NewSpawn", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("NewSpawn")]
|
||||
public bool? NewSpawn { get; set; }
|
||||
|
||||
[JsonProperty("OfflineNewSpawn", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("OfflineNewSpawn")]
|
||||
public bool? OfflineNewSpawn { get; set; }
|
||||
|
||||
[JsonProperty("BotMax", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotMax")]
|
||||
public int? BotMax { get; set; }
|
||||
|
||||
[JsonProperty("BotMaxPvE", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotMaxPvE")]
|
||||
public int? BotMaxPvE { get; set; }
|
||||
|
||||
[JsonProperty("BotStart", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotStart")]
|
||||
public int? BotStart { get; set; }
|
||||
|
||||
[JsonProperty("BotStartPlayer", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotStartPlayer")]
|
||||
public int? BotStartPlayer { 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("MinPlayerLvlAccessKeys", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("MinPlayerLvlAccessKeys")]
|
||||
public int? MinPlayerLvlAccessKeys { get; set; }
|
||||
|
||||
[JsonProperty("AccessKeys", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("AccessKeys")]
|
||||
public List<object>? 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("PlayersRequestCount", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("PlayersRequestCount")]
|
||||
public int? PlayersRequestCount { get; set; }
|
||||
|
||||
[JsonProperty("NonWaveGroupScenario", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("NonWaveGroupScenario")]
|
||||
public NonWaveGroupScenario? NonWaveGroupScenario { get; set; }
|
||||
|
||||
[JsonProperty("BotSpawnCountStep", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotSpawnCountStep")]
|
||||
public int? BotSpawnCountStep { get; set; }
|
||||
|
||||
[JsonProperty("BotSpawnPeriodCheck", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotSpawnPeriodCheck")]
|
||||
public int? BotSpawnPeriodCheck { get; set; }
|
||||
|
||||
[JsonProperty("GlobalContainerChanceModifier", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("GlobalContainerChanceModifier")]
|
||||
public float? GlobalContainerChanceModifier { get; set; }
|
||||
|
||||
[JsonProperty("MinMaxBots", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("MinMaxBots")]
|
||||
public List<object>? MinMaxBots { get; set; }
|
||||
|
||||
[JsonProperty("BotLocationModifier", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotLocationModifier")]
|
||||
public BotLocationModifier? BotLocationModifier { get; set; }
|
||||
|
||||
[JsonProperty("Exits", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Exits")]
|
||||
public List<Exit>? Exits { get; set; }
|
||||
|
||||
[JsonProperty("DisabledForScav", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("DisabledForScav")]
|
||||
public bool? DisabledForScav { get; set; }
|
||||
|
||||
[JsonProperty("BossLocationSpawn", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BossLocationSpawn")]
|
||||
public List<object>? BossLocationSpawn { get; set; }
|
||||
|
||||
[JsonProperty("SpawnPointParams", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("SpawnPointParams")]
|
||||
public List<SpawnPointParam>? SpawnPointParams { get; set; }
|
||||
|
||||
[JsonProperty("MaxItemCountInLocation", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("MaxItemCountInLocation")]
|
||||
public List<object>? MaxItemCountInLocation { get; set; }
|
||||
|
||||
[JsonProperty("AirdropParameters", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("AirdropParameters")]
|
||||
public List<AirdropParameter>? AirdropParameters { get; set; }
|
||||
|
||||
[JsonProperty("MatchMakerMinPlayersByWaitTime", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("MatchMakerMinPlayersByWaitTime")]
|
||||
public List<MatchMakerMinPlayersByWaitTime>? MatchMakerMinPlayersByWaitTime { get; set; }
|
||||
|
||||
[JsonProperty("Transits", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Transits")]
|
||||
public List<Transit>? Transits { get; set; }
|
||||
|
||||
[JsonProperty("Id", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Id")]
|
||||
public required string Id { get; set; }
|
||||
|
||||
[JsonProperty("_Id", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("_Id")]
|
||||
public string? Id0 { get; set; }
|
||||
|
||||
[JsonProperty("Loot")]
|
||||
[JsonPropertyName("Loot")]
|
||||
public required List<Template> Loot { get; set; }
|
||||
|
||||
[JsonProperty("Banners", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Banners")]
|
||||
public List<Banner>? Banners { get; set; }
|
||||
}
|
||||
}
|
68
Model/Input/MapSettings.cs
Normal file
68
Model/Input/MapSettings.cs
Normal file
@ -0,0 +1,68 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class MapSettings
|
||||
{
|
||||
[JsonProperty("MapID", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("MapID")]
|
||||
public string? MapID { get; set; }
|
||||
|
||||
[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; }
|
||||
}
|
||||
}
|
16
Model/Input/MatchMakerMinPlayersByWaitTime.cs
Normal file
16
Model/Input/MatchMakerMinPlayersByWaitTime.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class MatchMakerMinPlayersByWaitTime
|
||||
{
|
||||
[JsonProperty("time", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("time")]
|
||||
public int? Time { get; set; }
|
||||
|
||||
[JsonProperty("minPlayers", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("minPlayers")]
|
||||
public int? MinPlayers { get; set; }
|
||||
}
|
||||
}
|
24
Model/Input/NonWaveGroupScenario.cs
Normal file
24
Model/Input/NonWaveGroupScenario.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class NonWaveGroupScenario
|
||||
{
|
||||
[JsonProperty("MinToBeGroup", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("MinToBeGroup")]
|
||||
public int? MinToBeGroup { get; set; }
|
||||
|
||||
[JsonProperty("MaxToBeGroup", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("MaxToBeGroup")]
|
||||
public int? MaxToBeGroup { get; set; }
|
||||
|
||||
[JsonProperty("Chance", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Chance")]
|
||||
public float? Chance { get; set; }
|
||||
|
||||
[JsonProperty("Enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Enabled")]
|
||||
public bool? Enabled { get; set; }
|
||||
}
|
||||
}
|
16
Model/Input/Pic.cs
Normal file
16
Model/Input/Pic.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class Pic
|
||||
{
|
||||
[JsonProperty("path", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("path")]
|
||||
public string? Path { get; set; }
|
||||
|
||||
[JsonProperty("rcid", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("rcid")]
|
||||
public string? Rcid { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Text.Json.Serialization;
|
||||
using LootDumpProcessor.Model.Tarkov;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
@ -11,6 +12,6 @@ namespace LootDumpProcessor.Model.Input
|
||||
|
||||
[JsonProperty("Radius", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Radius")]
|
||||
public double? Radius { get; set; }
|
||||
public float? Radius { get; set; }
|
||||
}
|
||||
}
|
16
Model/Input/Requirements.cs
Normal file
16
Model/Input/Requirements.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class Requirements
|
||||
{
|
||||
[JsonProperty("CompletedQuests", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("CompletedQuests")]
|
||||
public List<CompletedQuest>? CompletedQuests { get; set; }
|
||||
|
||||
[JsonProperty("Standings", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Standings")]
|
||||
public object? Standings { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
@ -9,12 +9,12 @@ namespace LootDumpProcessor.Model.Input
|
||||
[JsonPropertyName("err")]
|
||||
public int? Err { get; set; }
|
||||
|
||||
[JsonProperty("errmsg")]
|
||||
[JsonPropertyName("errmsg")]
|
||||
public object? errmsg { get; set; }
|
||||
|
||||
[JsonProperty("data", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("data")]
|
||||
public Data? Data { get; set; }
|
||||
public required Data Data { get; set; }
|
||||
|
||||
[JsonProperty("errmsg", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("errmsg")]
|
||||
public object? Errmsg { get; set; }
|
||||
}
|
||||
}
|
16
Model/Input/Scene.cs
Normal file
16
Model/Input/Scene.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class Scene
|
||||
{
|
||||
[JsonProperty("path", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("path")]
|
||||
public string? Path { get; set; }
|
||||
|
||||
[JsonProperty("rcid", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("rcid")]
|
||||
public string? Rcid { get; set; }
|
||||
}
|
||||
}
|
20
Model/Input/ServerMapBTRSettings.cs
Normal file
20
Model/Input/ServerMapBTRSettings.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class ServerMapBTRSettings
|
||||
{
|
||||
[JsonProperty("Develop", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Develop")]
|
||||
public MapSettings? Develop { get; set; }
|
||||
|
||||
[JsonProperty("TarkovStreets", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("TarkovStreets")]
|
||||
public MapSettings? TarkovStreets { get; set; }
|
||||
|
||||
[JsonProperty("Woods", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Woods")]
|
||||
public MapSettings? Woods { get; set; }
|
||||
}
|
||||
}
|
16
Model/Input/ServerSettings.cs
Normal file
16
Model/Input/ServerSettings.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class ServerSettings
|
||||
{
|
||||
[JsonProperty("TraderServerSettings", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("TraderServerSettings")]
|
||||
public TraderServerSettings? TraderServerSettings { get; set; }
|
||||
|
||||
[JsonProperty("BTRServerSettings", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BTRServerSettings")]
|
||||
public BTRServerSettings? BTRServerSettings { get; set; }
|
||||
}
|
||||
}
|
11
Model/Input/ServiceItemCost.cs
Normal file
11
Model/Input/ServiceItemCost.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class ServiceItemCost
|
||||
{
|
||||
[JsonProperty]
|
||||
public Dictionary<string, ItemCost>? Costs { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
@ -15,7 +15,7 @@ namespace LootDumpProcessor.Model.Input
|
||||
|
||||
[JsonProperty("Rotation", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Rotation")]
|
||||
public double? Rotation { get; set; }
|
||||
public float? Rotation { get; set; }
|
||||
|
||||
[JsonProperty("Sides", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Sides")]
|
||||
@ -31,10 +31,18 @@ namespace LootDumpProcessor.Model.Input
|
||||
|
||||
[JsonProperty("DelayToCanSpawnSec", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("DelayToCanSpawnSec")]
|
||||
public int? DelayToCanSpawnSec { get; set; }
|
||||
public float? DelayToCanSpawnSec { get; set; }
|
||||
|
||||
[JsonProperty("ColliderParams", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("ColliderParams")]
|
||||
public ColliderParams? ColliderParams { get; set; }
|
||||
|
||||
[JsonProperty("BotZoneName", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotZoneName")]
|
||||
public string? BotZoneName { get; set; }
|
||||
|
||||
[JsonProperty("CorePointId", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("CorePointId")]
|
||||
public int? CorePointId { get; set; }
|
||||
}
|
||||
}
|
12
Model/Input/Standing.cs
Normal file
12
Model/Input/Standing.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class Standing
|
||||
{
|
||||
[JsonProperty("Value", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Value")]
|
||||
public float? Value { get; set; }
|
||||
}
|
||||
}
|
12
Model/Input/TraderServerSettings.cs
Normal file
12
Model/Input/TraderServerSettings.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class TraderServerSettings
|
||||
{
|
||||
[JsonProperty("TraderServices", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("TraderServices")]
|
||||
public TraderServices? TraderServices { get; set; }
|
||||
}
|
||||
}
|
28
Model/Input/TraderService.cs
Normal file
28
Model/Input/TraderService.cs
Normal file
@ -0,0 +1,28 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class TraderService
|
||||
{
|
||||
[JsonProperty("TraderId", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("TraderId")]
|
||||
public string? TraderID { get; set; }
|
||||
|
||||
[JsonProperty("TraderServiceType", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("TraderServiceType")]
|
||||
public string? TraderServiceType { get; set; }
|
||||
|
||||
[JsonProperty("Requirements", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("Requirements")]
|
||||
public Requirements? Requirements { get; set; }
|
||||
|
||||
[JsonProperty("ServiceItemCost", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("ServiceItemCost")]
|
||||
public object? ServiceItemCost { get; set; }
|
||||
|
||||
[JsonProperty("UniqueItems", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("UniqueItems")]
|
||||
public List<object>? UniqueItems { get; set; }
|
||||
}
|
||||
}
|
36
Model/Input/TraderServices.cs
Normal file
36
Model/Input/TraderServices.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class TraderServices
|
||||
{
|
||||
[JsonProperty("ExUsecLoyalty", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("ExUsecLoyalty")]
|
||||
public TraderService? ExUsecLoyalty { get; set; }
|
||||
|
||||
[JsonProperty("ZryachiyAid", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("ZryachiyAid")]
|
||||
public TraderService? ZryachiyAid { get; set; }
|
||||
|
||||
[JsonProperty("CultistsAid", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("CultistsAid")]
|
||||
public TraderService? CultistsAid { get; set; }
|
||||
|
||||
[JsonProperty("PlayerTaxi", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("PlayerTaxi")]
|
||||
public TraderService? PlayerTaxi { get; set; }
|
||||
|
||||
[JsonProperty("BtrItemsDelivery", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BtrItemsDelivery")]
|
||||
public TraderService? BtrItemsDelivery { get; set; }
|
||||
|
||||
[JsonProperty("BtrBotCover", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BtrBotCover")]
|
||||
public TraderService? BtrBotCover { get; set; }
|
||||
|
||||
[JsonProperty("TransitItemsDelivery", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("TransitItemsDelivery")]
|
||||
public TraderService? TransitItemsDelivery { get; set; }
|
||||
}
|
||||
}
|
44
Model/Input/Transit.cs
Normal file
44
Model/Input/Transit.cs
Normal file
@ -0,0 +1,44 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class Transit
|
||||
{
|
||||
[JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("id")]
|
||||
public int? Id { get; set; }
|
||||
|
||||
[JsonProperty("active", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("active")]
|
||||
public bool? Active { get; set; }
|
||||
|
||||
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("name")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
[JsonProperty("location", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("location")]
|
||||
public string? Location { get; set; }
|
||||
|
||||
[JsonProperty("description", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("description")]
|
||||
public string? Description { get; set; }
|
||||
|
||||
[JsonProperty("activateAfterSec", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("activateAfterSec")]
|
||||
public int? ActivateAfterSec { get; set; }
|
||||
|
||||
[JsonProperty("target", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("target")]
|
||||
public string? Target { get; set; }
|
||||
|
||||
[JsonProperty("time", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("time")]
|
||||
public int? Time { get; set; }
|
||||
|
||||
[JsonProperty("conditions", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("conditions")]
|
||||
public string? Conditions { get; set; }
|
||||
}
|
||||
}
|
12
Model/Input/Update.cs
Normal file
12
Model/Input/Update.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class Update
|
||||
{
|
||||
[JsonProperty("StackObjectsCount", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("StackObjectsCount")]
|
||||
public int? StackObjectsCount { get; set; }
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Input
|
||||
{
|
||||
public class Wave
|
||||
{
|
||||
[JsonProperty("number", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("number")]
|
||||
public int? Number { get; set; }
|
||||
|
||||
[JsonProperty("time_min", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("time_min")]
|
||||
public int? TimeMin { get; set; }
|
||||
|
||||
[JsonProperty("time_max", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("time_max")]
|
||||
public int? TimeMax { get; set; }
|
||||
|
||||
[JsonProperty("slots_min", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("slots_min")]
|
||||
public int? SlotsMin { get; set; }
|
||||
|
||||
[JsonProperty("slots_max", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("slots_max")]
|
||||
public int? SlotsMax { get; set; }
|
||||
|
||||
[JsonProperty("SpawnPoints", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("SpawnPoints")]
|
||||
public string? SpawnPoints { get; set; }
|
||||
|
||||
[JsonProperty("BotSide", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotSide")]
|
||||
public string? BotSide { get; set; }
|
||||
|
||||
[JsonProperty("BotPreset", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("BotPreset")]
|
||||
public string? BotPreset { get; set; }
|
||||
|
||||
[JsonProperty("isPlayers", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("isPlayers")]
|
||||
public bool? IsPlayers { get; set; }
|
||||
|
||||
[JsonProperty("WildSpawnType", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("WildSpawnType")]
|
||||
public string? WildSpawnType { get; set; }
|
||||
}
|
||||
}
|
@ -14,6 +14,10 @@ namespace LootDumpProcessor.Model
|
||||
[JsonPropertyName("_tpl")]
|
||||
public string? Tpl { get; set; }
|
||||
|
||||
[JsonProperty("upd", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("upd")]
|
||||
public Upd? Upd { get; set; }
|
||||
|
||||
[JsonProperty("parentId", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("parentId")]
|
||||
public string? ParentId { get; set; }
|
||||
@ -26,10 +30,6 @@ namespace LootDumpProcessor.Model
|
||||
[JsonPropertyName("location")]
|
||||
public object? Location { get; set; }
|
||||
|
||||
[JsonProperty("upd", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("upd")]
|
||||
public Upd? Upd { get; set; }
|
||||
|
||||
public override bool Equals(object? obj)
|
||||
{
|
||||
if (obj is not Item parsed)
|
||||
|
@ -5,12 +5,12 @@ namespace LootDumpProcessor.Model.Processing;
|
||||
|
||||
public class BasicInfo
|
||||
{
|
||||
public string Map { get; set; }
|
||||
public string FileHash { get; set; }
|
||||
public required string Map { get; set; }
|
||||
public required string FileHash { get; set; }
|
||||
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
|
||||
public RootData Data { get; set; }
|
||||
public RootData? Data { get; set; }
|
||||
public DateTime Date { get; set; }
|
||||
public string FileName { get; set; }
|
||||
public required string FileName { get; set; }
|
||||
|
||||
public override bool Equals(object? obj)
|
||||
{
|
||||
|
@ -51,9 +51,9 @@ namespace LootDumpProcessor.Model
|
||||
[JsonPropertyName("Root")]
|
||||
public string? Root { get; set; }
|
||||
|
||||
[JsonProperty("Items", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonProperty("Items")]
|
||||
[JsonPropertyName("Items")]
|
||||
public List<Item>? Items { get; set; }
|
||||
public required List<Item> Items { get; set; }
|
||||
|
||||
protected bool Equals(Template other)
|
||||
{
|
||||
|
@ -7,15 +7,15 @@ namespace LootDumpProcessor.Model
|
||||
{
|
||||
[JsonProperty("x", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("x")]
|
||||
public double? X { get; set; }
|
||||
public float? X { get; set; }
|
||||
|
||||
[JsonProperty("y", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("y")]
|
||||
public double? Y { get; set; }
|
||||
public float? Y { get; set; }
|
||||
|
||||
[JsonProperty("z", NullValueHandling = NullValueHandling.Ignore)]
|
||||
[JsonPropertyName("z")]
|
||||
public double? Z { get; set; }
|
||||
public float? Z { get; set; }
|
||||
|
||||
public object Clone()
|
||||
{
|
||||
|
@ -54,9 +54,17 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor
|
||||
{
|
||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
||||
LoggerFactory.GetInstance().Log($"Processing static data for file {dumped.BasicInfo.FileName}", LogLevel.Debug);
|
||||
|
||||
var dataDump = _jsonSerializer.Deserialize<RootData>(File.ReadAllText(dumped.BasicInfo.FileName));
|
||||
//var mapName = dataDump.Data.Name;
|
||||
var mapId = dataDump.Data.Id.ToLower();
|
||||
|
||||
if (dataDump == null)
|
||||
{
|
||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Error))
|
||||
LoggerFactory.GetInstance().Log($"Failed to deserialize data from file {dumped.BasicInfo.FileName}", LogLevel.Error);
|
||||
return; // Skip processing this dump
|
||||
}
|
||||
|
||||
var mapId = dataDump.Data.LocationLoot.Id.ToLower();
|
||||
|
||||
// the if statement below takes care of processing "forced" or real static data for each map, only need
|
||||
// to do this once per map, we dont care about doing it again
|
||||
|
@ -11,10 +11,11 @@ public class FileProcessor : IFileProcessor
|
||||
{
|
||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
||||
LoggerFactory.GetInstance().Log($"Processing file {parsedData.FileName}...", LogLevel.Debug);
|
||||
|
||||
List<Template> looseLoot = new List<Template>();
|
||||
List<Template> staticLoot = new List<Template>();
|
||||
|
||||
foreach (var item in parsedData.Data.Data.Loot)
|
||||
foreach (var item in parsedData.Data.Data.LocationLoot.Loot)
|
||||
{
|
||||
if (item.IsContainer ?? false)
|
||||
staticLoot.Add(item);
|
||||
|
@ -33,9 +33,9 @@ public static class StaticLootProcessor
|
||||
|
||||
public static Tuple<string, MapStaticLoot> CreateStaticWeaponsAndStaticForcedContainers(RootData rawMapDump)
|
||||
{
|
||||
var mapName = rawMapDump.Data.Name;
|
||||
var mapId = rawMapDump.Data.Id.ToLower();
|
||||
var staticLootPositions = (from li in rawMapDump.Data.Loot
|
||||
var mapName = rawMapDump.Data.LocationLoot.Name;
|
||||
var mapId = rawMapDump.Data.LocationLoot.Id.ToLower();
|
||||
var staticLootPositions = (from li in rawMapDump.Data.LocationLoot.Loot
|
||||
where li.IsContainer ?? false
|
||||
select li).ToList();
|
||||
var staticWeapons = new List<Template>();
|
||||
@ -62,7 +62,7 @@ public static class StaticLootProcessor
|
||||
|
||||
public static List<Template> CreateDynamicStaticContainers(RootData rawMapDump)
|
||||
{
|
||||
var data = (from li in rawMapDump.Data.Loot
|
||||
var data = (from li in rawMapDump.Data.LocationLoot.Loot
|
||||
where (li.IsContainer ?? false) && (!LootDumpProcessorContext.GetStaticWeaponIds().Contains(li.Items[0].Tpl))
|
||||
select li).ToList();
|
||||
|
||||
|
@ -19,6 +19,16 @@ public class JsonFileIntakeReader : IIntakeReader
|
||||
public bool Read(string file, out BasicInfo basicInfo)
|
||||
{
|
||||
var fileData = File.ReadAllText(file);
|
||||
|
||||
if (fileData == null)
|
||||
{
|
||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Error))
|
||||
LoggerFactory.GetInstance().Log($"Couldnt parse date from file: {file}", LogLevel.Error);
|
||||
|
||||
basicInfo = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
// If the file format changes it may screw up this date parser
|
||||
if (!FileDateParser.TryParseFileDate(file, out var date))
|
||||
{
|
||||
@ -27,25 +37,27 @@ public class JsonFileIntakeReader : IIntakeReader
|
||||
}
|
||||
|
||||
var fi = _jsonSerializer.Deserialize<RootData>(fileData);
|
||||
if (fi.Data?.Name != null && (!_ignoredLocations?.Contains(fi.Data.Name) ?? true))
|
||||
if (fi?.Data?.LocationLoot?.Name != null && (!_ignoredLocations?.Contains(fi.Data.LocationLoot.Name) ?? true))
|
||||
{
|
||||
if (!_totalMapDumpsCounter.TryGetValue(fi.Data.Name, out var counter))
|
||||
if (!_totalMapDumpsCounter.TryGetValue(fi.Data.LocationLoot.Name, out var counter))
|
||||
{
|
||||
counter = 0;
|
||||
_totalMapDumpsCounter[fi.Data.Name] = counter;
|
||||
_totalMapDumpsCounter[fi.Data.LocationLoot.Name] = counter;
|
||||
}
|
||||
|
||||
if (counter < (LootDumpProcessorContext.GetConfig().ReaderConfig.IntakeReaderConfig?.MaxDumpsPerMap ?? 1500))
|
||||
{
|
||||
basicInfo = new BasicInfo
|
||||
{
|
||||
Map = fi.Data.Id.ToLower(),
|
||||
Map = fi.Data.LocationLoot.Id.ToLower(),
|
||||
FileHash = ProcessorUtil.HashFile(fileData),
|
||||
Data = fi,
|
||||
Date = date.Value,
|
||||
Date = date ?? DateTime.MinValue,
|
||||
FileName = file
|
||||
};
|
||||
_totalMapDumpsCounter[fi.Data.Name] += 1;
|
||||
|
||||
_totalMapDumpsCounter[fi.Data.LocationLoot.Name] += 1;
|
||||
|
||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
||||
LoggerFactory.GetInstance().Log($"File {file} fully read, returning data", LogLevel.Debug);
|
||||
|
||||
@ -54,17 +66,15 @@ public class JsonFileIntakeReader : IIntakeReader
|
||||
|
||||
// Map dump limit reached, exit
|
||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
||||
LoggerFactory.GetInstance().Log($"Ignoring file {file} as the file cap for map {fi.Data.Id} has been reached", LogLevel.Debug);
|
||||
basicInfo = null;
|
||||
LoggerFactory.GetInstance().Log($"Ignoring file {file} as the file cap for map {fi.Data.LocationLoot.Id} has been reached", LogLevel.Debug);
|
||||
|
||||
basicInfo = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Warning))
|
||||
LoggerFactory.GetInstance().Log(
|
||||
$"File {file} was not eligible for dump data, it did not contain a location name or it was on ignored locations config",
|
||||
LogLevel.Warning
|
||||
);
|
||||
LoggerFactory.GetInstance().Log($"File {file} was not eligible for dump data, it did not contain a location name or it was on ignored locations config", LogLevel.Warning);
|
||||
|
||||
basicInfo = null;
|
||||
return false;
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ public class NetJsonSerializer : IJsonSerializer
|
||||
private static JsonSerializerOptions _serializeOptions = new()
|
||||
{
|
||||
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
|
||||
NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals,
|
||||
Converters =
|
||||
{
|
||||
new NetJsonKeyConverter(),
|
||||
|
Loading…
x
Reference in New Issue
Block a user