Compare commits
No commits in common. "fix-staticcontainers-multiversion" and "master" have entirely different histories.
fix-static
...
master
@ -14,8 +14,6 @@ bigmap:
|
|||||||
- 5939e5a786f77461f11c0098 # Secure Folder 0013
|
- 5939e5a786f77461f11c0098 # Secure Folder 0013
|
||||||
- 64e74a3d4d49d23b2c39d319 # item_quest_clock_07 (Out of Time)
|
- 64e74a3d4d49d23b2c39d319 # item_quest_clock_07 (Out of Time)
|
||||||
- 6614230055afee107f05e998 # The Unheard's phone
|
- 6614230055afee107f05e998 # The Unheard's phone
|
||||||
- 664fce7a90294949fe2d81cb # Item_barter_info_host_quest
|
|
||||||
- 66b22630a6b4e5ec7c02cdb7 # item_quest_instruments
|
|
||||||
#- 64bd1abff3a668f08805ce4f # Secure Flash drive V4 REMOVED BY BSG
|
#- 64bd1abff3a668f08805ce4f # Secure Flash drive V4 REMOVED BY BSG
|
||||||
|
|
||||||
woods:
|
woods:
|
||||||
@ -24,9 +22,6 @@ woods:
|
|||||||
- 5af04e0a86f7743a532b79e2 # Single-axis Fiber Optic Gyroscope: item_barter_electr_gyroscope
|
- 5af04e0a86f7743a532b79e2 # Single-axis Fiber Optic Gyroscope: item_barter_electr_gyroscope
|
||||||
- 5a687e7886f7740c4a5133fb # Blood sample
|
- 5a687e7886f7740c4a5133fb # Blood sample
|
||||||
- 5af04c0b86f774138708f78e # Motor Controller: item_barter_electr_controller
|
- 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
|
#- 64bde2248f3a947a990aa4a5 # Sliderkey Secure Flash drive #1 REMOVED BY BSG
|
||||||
#- 64bde265807321a9b905f076 # Sliderkey Secure Flash drive #2 REMOVED BY BSG
|
#- 64bde265807321a9b905f076 # Sliderkey Secure Flash drive #2 REMOVED BY BSG
|
||||||
|
|
||||||
@ -51,8 +46,6 @@ shoreline:
|
|||||||
- 661421c7c1f2f548c50ee649 # The Unheard's laptop
|
- 661421c7c1f2f548c50ee649 # The Unheard's laptop
|
||||||
- 6614217b6d9d5abcad0ff098 # The Unheard's phone
|
- 6614217b6d9d5abcad0ff098 # The Unheard's phone
|
||||||
- 661423200d240a5f5d0f679b # The Unheard's laptop
|
- 661423200d240a5f5d0f679b # The Unheard's laptop
|
||||||
- 666073159916667083033cb9 # Item_quest_tattered_diary
|
|
||||||
- 66760b3deb51b08bd40c2b08 # item_barter_electr_hdd_NosQuests_quest
|
|
||||||
|
|
||||||
interchange:
|
interchange:
|
||||||
- 5ae9a18586f7746e381e16a3 # OLI cargo manifests
|
- 5ae9a18586f7746e381e16a3 # OLI cargo manifests
|
||||||
@ -64,16 +57,10 @@ interchange:
|
|||||||
- 5b4c81a086f77417d26be63f # Chemical container item_quest_chem_container2
|
- 5b4c81a086f77417d26be63f # Chemical container item_quest_chem_container2
|
||||||
- 5b4c81bd86f77418a75ae159 # Chemical container item_quest_chem_container3
|
- 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:
|
factory4_day:
|
||||||
- 591093bb86f7747caa7bb2ee # On the neck of the dead scav in the bunker (Postman Pat Part 2)
|
- 591093bb86f7747caa7bb2ee # On the neck of the dead scav in the bunker (Postman Pat Part 2)
|
||||||
- 593a87af86f774122f54a951 # Syringe with a chemical
|
- 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:
|
factory4_night:
|
||||||
- 591093bb86f7747caa7bb2ee # On the neck of the dead scav in the bunker (Postman Pat Part 2)
|
- 591093bb86f7747caa7bb2ee # On the neck of the dead scav in the bunker (Postman Pat Part 2)
|
||||||
@ -90,6 +77,7 @@ lighthouse:
|
|||||||
- 6398a0861c712b1e1d4dadf1 # Forged Lightkeeper intelligence (Snatch)
|
- 6398a0861c712b1e1d4dadf1 # Forged Lightkeeper intelligence (Snatch)
|
||||||
- 6399f54b0a36db13c823ad21 # Radio transmitter body (Key to the Tower)
|
- 6399f54b0a36db13c823ad21 # Radio transmitter body (Key to the Tower)
|
||||||
- 64e74a64aac4cd0a7264ecdf # item_quest_clock_12 (Out of Time)
|
- 64e74a64aac4cd0a7264ecdf # item_quest_clock_12 (Out of Time)
|
||||||
|
- 578f87a3245977356274f2cb #
|
||||||
- 661666458c2aa9cb1602503b # Hard drive
|
- 661666458c2aa9cb1602503b # Hard drive
|
||||||
# - 64b91627dd13d43b9d01d6d1 # Toughbook reinforced laptop (Event quest) REMOVED BY BSG
|
# - 64b91627dd13d43b9d01d6d1 # Toughbook reinforced laptop (Event quest) REMOVED BY BSG
|
||||||
|
|
||||||
@ -108,7 +96,6 @@ laboratory:
|
|||||||
- 5eff135be0d3331e9d282b7b # Flash drive marked with blue tape (TerraGroup employee)
|
- 5eff135be0d3331e9d282b7b # Flash drive marked with blue tape (TerraGroup employee)
|
||||||
- 6398a4cfb5992f573c6562b3 # Secured tape
|
- 6398a4cfb5992f573c6562b3 # Secured tape
|
||||||
- 64e74a44c2b4f829615ec334 # Picture 8
|
- 64e74a44c2b4f829615ec334 # Picture 8
|
||||||
- 666879d498b97e3a8f09f1ae # Item_barter_medical_transilluminator_quest
|
|
||||||
#- 64e74a44c2b4f829615ec334 # item_quest_clock_08 (Out of Time) #1 REMOVED BY BSG
|
#- 64e74a44c2b4f829615ec334 # item_quest_clock_08 (Out of Time) #1 REMOVED BY BSG
|
||||||
#- 64bdcfed8f3a947a990aa49a # Hermetic container for storing various chemicals #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
|
#- 64bdd008b0bf3baa6702f35f # Hermetic container for storing various chemicals #2 REMOVED BY BSG
|
||||||
@ -137,7 +124,6 @@ tarkovstreets:
|
|||||||
- 64f69b4267e11a7c6206e010 # Chef's diary (Beyond the Red Meat - Part 1)
|
- 64f69b4267e11a7c6206e010 # Chef's diary (Beyond the Red Meat - Part 1)
|
||||||
- 64f5b4f71a5f313cb144c06c # Secret component (Beyond the Red Meat - Part 2)
|
- 64f5b4f71a5f313cb144c06c # Secret component (Beyond the Red Meat - Part 2)
|
||||||
- 657acb2ac900be5902191ac9 # Cadastral registry records
|
- 657acb2ac900be5902191ac9 # Cadastral registry records
|
||||||
- 66687bc89111279d600b5062 # keyFromCity_quest
|
|
||||||
|
|
||||||
sandbox:
|
sandbox:
|
||||||
- 6582bd252b50c61c565828e2 # Bottle of Le Jean wine
|
- 6582bd252b50c61c565828e2 # Bottle of Le Jean wine
|
||||||
|
@ -6,21 +6,17 @@ static_weapon_ids:
|
|||||||
|
|
||||||
forced_items:
|
forced_items:
|
||||||
bigmap:
|
bigmap:
|
||||||
- containerId: container_custom_DesignStuff_00060 # unknown key
|
# unknown key
|
||||||
|
- containerId: custom_multiScene_00058
|
||||||
itemTpl: 593962ca86f774068014d9af
|
itemTpl: 593962ca86f774068014d9af
|
||||||
|
|
||||||
tarkovstreets:
|
tarkovstreets:
|
||||||
- containerId: container_City_SE_02_DesignStuff_00091 # Backup hideout key
|
# Backup hideout key
|
||||||
|
- containerId: container_City_SE_02_Primorskiy_51_indoor_00001
|
||||||
itemTpl: 6398fd8ad3de3849057f5128
|
itemTpl: 6398fd8ad3de3849057f5128
|
||||||
|
|
||||||
sandbox:
|
sandbox:
|
||||||
- containerId: container_Test_for_export_00002 # Lab technician body
|
- containerId: container_Test_for_export_00002 # Lab technician body
|
||||||
itemTpl: 658199aa38c79576a2569e13 # TerraGroup science office key
|
itemTpl: 658199aa38c79576a2569e13 # TerraGroup science office key
|
||||||
- containerId: container_Sandbox_Design_Stuff_00008 # dead body of scav near exit
|
- containerId: container_custom_DesignStuff_00029 # 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)
|
itemTpl: 6217726288ed9f0845317459 # RSP-30 reactive signal cartridge (Green)
|
@ -13,7 +13,7 @@
|
|||||||
<PackageReference Include="7z.Libs" Version="21.7.0" />
|
<PackageReference Include="7z.Libs" Version="21.7.0" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
|
||||||
<PackageReference Include="NumSharp" Version="0.30.0" />
|
<PackageReference Include="NumSharp" Version="0.30.0" />
|
||||||
<PackageReference Include="SevenZipSharp.Interop" Version="19.1.0" />
|
<PackageReference Include="SevenZipSharp.Interop" Version="19.0.2" />
|
||||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="7.0.0" />
|
<PackageReference Include="System.Configuration.ConfigurationManager" Version="7.0.0" />
|
||||||
<PackageReference Include="YamlDotNet" Version="13.0.0" />
|
<PackageReference Include="YamlDotNet" Version="13.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
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;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace LootDumpProcessor.Model.Input
|
namespace LootDumpProcessor.Model.Input
|
||||||
@ -19,7 +19,7 @@ namespace LootDumpProcessor.Model.Input
|
|||||||
|
|
||||||
[JsonProperty("PlaneAirdropChance", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("PlaneAirdropChance", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("PlaneAirdropChance")]
|
[JsonPropertyName("PlaneAirdropChance")]
|
||||||
public float? PlaneAirdropChance { get; set; }
|
public double? PlaneAirdropChance { get; set; }
|
||||||
|
|
||||||
[JsonProperty("PlaneAirdropMax", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("PlaneAirdropMax", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("PlaneAirdropMax")]
|
[JsonPropertyName("PlaneAirdropMax")]
|
||||||
|
@ -1,68 +0,0 @@
|
|||||||
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,16 +1,14 @@
|
|||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace LootDumpProcessor.Model.Input
|
namespace LootDumpProcessor.Model.Input
|
||||||
{
|
{
|
||||||
public class Banner
|
public class Banner
|
||||||
{
|
{
|
||||||
[JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)] [JsonPropertyName("id")]
|
||||||
[JsonPropertyName("id")]
|
|
||||||
public string? Id { get; set; }
|
public string? Id { get; set; }
|
||||||
|
|
||||||
[JsonProperty("pic", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("pic")] [JsonPropertyName("pic")]
|
||||||
[JsonPropertyName("pic")]
|
public Preview? Pic { get; set; }
|
||||||
public Pic? Pic { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace LootDumpProcessor.Model.Input
|
namespace LootDumpProcessor.Model.Input
|
||||||
@ -7,58 +7,22 @@ namespace LootDumpProcessor.Model.Input
|
|||||||
{
|
{
|
||||||
[JsonProperty("AccuracySpeed", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("AccuracySpeed", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("AccuracySpeed")]
|
[JsonPropertyName("AccuracySpeed")]
|
||||||
public float? AccuracySpeed { get; set; }
|
public double? AccuracySpeed { get; set; }
|
||||||
|
|
||||||
[JsonProperty("Scattering", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("Scattering", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("Scattering")]
|
[JsonPropertyName("Scattering")]
|
||||||
public float? Scattering { get; set; }
|
public double? Scattering { get; set; }
|
||||||
|
|
||||||
[JsonProperty("GainSight", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("GainSight", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("GainSight")]
|
[JsonPropertyName("GainSight")]
|
||||||
public float? GainSight { get; set; }
|
public double? GainSight { get; set; }
|
||||||
|
|
||||||
[JsonProperty("MarksmanAccuratyCoef", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("MarksmanAccuratyCoef", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("MarksmanAccuratyCoef")]
|
[JsonPropertyName("MarksmanAccuratyCoef")]
|
||||||
public float? MarksmanAccuratyCoef { get; set; }
|
public double? MarksmanAccuratyCoef { get; set; }
|
||||||
|
|
||||||
[JsonProperty("VisibleDistance", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("VisibleDistance", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("VisibleDistance")]
|
[JsonPropertyName("VisibleDistance")]
|
||||||
public float? VisibleDistance { get; set; }
|
public double? 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; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,16 +0,0 @@
|
|||||||
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,13 +1,12 @@
|
|||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
using LootDumpProcessor.Model.Tarkov;
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace LootDumpProcessor.Model.Input
|
namespace LootDumpProcessor.Model.Input
|
||||||
{
|
{
|
||||||
public class ColliderParams
|
public class ColliderParams
|
||||||
{
|
{
|
||||||
[JsonProperty("Parent", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("_parent", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("Parent")]
|
[JsonPropertyName("_parent")]
|
||||||
public string? Parent { get; set; }
|
public string? Parent { get; set; }
|
||||||
|
|
||||||
[JsonProperty("_props", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("_props", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
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,20 +5,316 @@ namespace LootDumpProcessor.Model.Input
|
|||||||
{
|
{
|
||||||
public class Data
|
public class Data
|
||||||
{
|
{
|
||||||
[JsonProperty("serverId", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("Enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("serverId")]
|
[JsonPropertyName("Enabled")]
|
||||||
public string? ServerID { get; set; }
|
public bool? Enabled { get; set; }
|
||||||
|
|
||||||
[JsonProperty("serverSettings", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("EnableCoop", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("serverSettings")]
|
[JsonPropertyName("EnableCoop")]
|
||||||
public ServerSettings? ServerSettings { get; set; }
|
public bool? EnableCoop { get; set; }
|
||||||
|
|
||||||
[JsonProperty("profile", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("Locked", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("profile")]
|
[JsonPropertyName("Locked")]
|
||||||
public object? Profile { get; set; }
|
public bool? Locked { get; set; }
|
||||||
|
|
||||||
[JsonProperty("locationLoot", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("Insurance", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("locationLoot")]
|
[JsonPropertyName("Insurance")]
|
||||||
public required LocationLoot LocationLoot { get; set; }
|
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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace LootDumpProcessor.Model.Input
|
namespace LootDumpProcessor.Model.Input
|
||||||
@ -15,7 +15,7 @@ namespace LootDumpProcessor.Model.Input
|
|||||||
|
|
||||||
[JsonProperty("Chance", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("Chance", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("Chance")]
|
[JsonPropertyName("Chance")]
|
||||||
public float? Chance { get; set; }
|
public int? Chance { get; set; }
|
||||||
|
|
||||||
[JsonProperty("MinTime", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("MinTime", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("MinTime")]
|
[JsonPropertyName("MinTime")]
|
||||||
@ -31,7 +31,7 @@ namespace LootDumpProcessor.Model.Input
|
|||||||
|
|
||||||
[JsonProperty("ExfiltrationTime", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("ExfiltrationTime", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("ExfiltrationTime")]
|
[JsonPropertyName("ExfiltrationTime")]
|
||||||
public float? ExfiltrationTime { get; set; }
|
public int? ExfiltrationTime { get; set; }
|
||||||
|
|
||||||
[JsonProperty("PassageRequirement", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("PassageRequirement", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("PassageRequirement")]
|
[JsonPropertyName("PassageRequirement")]
|
||||||
@ -56,33 +56,5 @@ namespace LootDumpProcessor.Model.Input
|
|||||||
[JsonProperty("Count", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("Count", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("Count")]
|
[JsonPropertyName("Count")]
|
||||||
public int? Count { get; set; }
|
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; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
12
Model/Input/ExitZones.cs
Normal file
12
Model/Input/ExitZones.cs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
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; }
|
||||||
|
}
|
||||||
|
}
|
@ -1,12 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,384 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,68 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
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;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace LootDumpProcessor.Model.Input
|
namespace LootDumpProcessor.Model.Input
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
using LootDumpProcessor.Model.Tarkov;
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace LootDumpProcessor.Model.Input
|
namespace LootDumpProcessor.Model.Input
|
||||||
@ -12,6 +11,6 @@ namespace LootDumpProcessor.Model.Input
|
|||||||
|
|
||||||
[JsonProperty("Radius", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("Radius", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("Radius")]
|
[JsonPropertyName("Radius")]
|
||||||
public float? Radius { get; set; }
|
public double? Radius { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,16 +0,0 @@
|
|||||||
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;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace LootDumpProcessor.Model.Input
|
namespace LootDumpProcessor.Model.Input
|
||||||
@ -9,12 +9,12 @@ namespace LootDumpProcessor.Model.Input
|
|||||||
[JsonPropertyName("err")]
|
[JsonPropertyName("err")]
|
||||||
public int? Err { get; set; }
|
public int? Err { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("errmsg")]
|
||||||
|
[JsonPropertyName("errmsg")]
|
||||||
|
public object? errmsg { get; set; }
|
||||||
|
|
||||||
[JsonProperty("data", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("data", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("data")]
|
[JsonPropertyName("data")]
|
||||||
public required Data Data { get; set; }
|
public Data? Data { get; set; }
|
||||||
|
|
||||||
[JsonProperty("errmsg", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
[JsonPropertyName("errmsg")]
|
|
||||||
public object? Errmsg { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,16 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
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;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace LootDumpProcessor.Model.Input
|
namespace LootDumpProcessor.Model.Input
|
||||||
@ -15,7 +15,7 @@ namespace LootDumpProcessor.Model.Input
|
|||||||
|
|
||||||
[JsonProperty("Rotation", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("Rotation", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("Rotation")]
|
[JsonPropertyName("Rotation")]
|
||||||
public float? Rotation { get; set; }
|
public double? Rotation { get; set; }
|
||||||
|
|
||||||
[JsonProperty("Sides", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("Sides", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("Sides")]
|
[JsonPropertyName("Sides")]
|
||||||
@ -31,18 +31,10 @@ namespace LootDumpProcessor.Model.Input
|
|||||||
|
|
||||||
[JsonProperty("DelayToCanSpawnSec", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("DelayToCanSpawnSec", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("DelayToCanSpawnSec")]
|
[JsonPropertyName("DelayToCanSpawnSec")]
|
||||||
public float? DelayToCanSpawnSec { get; set; }
|
public int? DelayToCanSpawnSec { get; set; }
|
||||||
|
|
||||||
[JsonProperty("ColliderParams", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("ColliderParams", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("ColliderParams")]
|
[JsonPropertyName("ColliderParams")]
|
||||||
public ColliderParams? ColliderParams { get; set; }
|
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; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,12 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,44 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
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; }
|
|
||||||
}
|
|
||||||
}
|
|
48
Model/Input/Wave.cs
Normal file
48
Model/Input/Wave.cs
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
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,10 +14,6 @@ namespace LootDumpProcessor.Model
|
|||||||
[JsonPropertyName("_tpl")]
|
[JsonPropertyName("_tpl")]
|
||||||
public string? Tpl { get; set; }
|
public string? Tpl { get; set; }
|
||||||
|
|
||||||
[JsonProperty("upd", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
[JsonPropertyName("upd")]
|
|
||||||
public Upd? Upd { get; set; }
|
|
||||||
|
|
||||||
[JsonProperty("parentId", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("parentId", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("parentId")]
|
[JsonPropertyName("parentId")]
|
||||||
public string? ParentId { get; set; }
|
public string? ParentId { get; set; }
|
||||||
@ -30,6 +26,10 @@ namespace LootDumpProcessor.Model
|
|||||||
[JsonPropertyName("location")]
|
[JsonPropertyName("location")]
|
||||||
public object? Location { get; set; }
|
public object? Location { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("upd", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
[JsonPropertyName("upd")]
|
||||||
|
public Upd? Upd { get; set; }
|
||||||
|
|
||||||
public override bool Equals(object? obj)
|
public override bool Equals(object? obj)
|
||||||
{
|
{
|
||||||
if (obj is not Item parsed)
|
if (obj is not Item parsed)
|
||||||
|
@ -5,12 +5,12 @@ namespace LootDumpProcessor.Model.Processing;
|
|||||||
|
|
||||||
public class BasicInfo
|
public class BasicInfo
|
||||||
{
|
{
|
||||||
public required string Map { get; set; }
|
public string Map { get; set; }
|
||||||
public required string FileHash { get; set; }
|
public string FileHash { get; set; }
|
||||||
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public RootData? Data { get; set; }
|
public RootData Data { get; set; }
|
||||||
public DateTime Date { get; set; }
|
public DateTime Date { get; set; }
|
||||||
public required string FileName { get; set; }
|
public string FileName { get; set; }
|
||||||
|
|
||||||
public override bool Equals(object? obj)
|
public override bool Equals(object? obj)
|
||||||
{
|
{
|
||||||
|
@ -51,9 +51,9 @@ namespace LootDumpProcessor.Model
|
|||||||
[JsonPropertyName("Root")]
|
[JsonPropertyName("Root")]
|
||||||
public string? Root { get; set; }
|
public string? Root { get; set; }
|
||||||
|
|
||||||
[JsonProperty("Items")]
|
[JsonProperty("Items", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("Items")]
|
[JsonPropertyName("Items")]
|
||||||
public required List<Item> Items { get; set; }
|
public List<Item>? Items { get; set; }
|
||||||
|
|
||||||
protected bool Equals(Template other)
|
protected bool Equals(Template other)
|
||||||
{
|
{
|
||||||
|
@ -7,15 +7,15 @@ namespace LootDumpProcessor.Model
|
|||||||
{
|
{
|
||||||
[JsonProperty("x", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("x", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("x")]
|
[JsonPropertyName("x")]
|
||||||
public float? X { get; set; }
|
public double? X { get; set; }
|
||||||
|
|
||||||
[JsonProperty("y", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("y", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("y")]
|
[JsonPropertyName("y")]
|
||||||
public float? Y { get; set; }
|
public double? Y { get; set; }
|
||||||
|
|
||||||
[JsonProperty("z", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("z", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonPropertyName("z")]
|
[JsonPropertyName("z")]
|
||||||
public float? Z { get; set; }
|
public double? Z { get; set; }
|
||||||
|
|
||||||
public object Clone()
|
public object Clone()
|
||||||
{
|
{
|
||||||
|
@ -54,43 +54,22 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor
|
|||||||
{
|
{
|
||||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
||||||
LoggerFactory.GetInstance().Log($"Processing static data for file {dumped.BasicInfo.FileName}", 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 dataDump = _jsonSerializer.Deserialize<RootData>(File.ReadAllText(dumped.BasicInfo.FileName));
|
||||||
|
//var mapName = dataDump.Data.Name;
|
||||||
|
var mapId = dataDump.Data.Id.ToLower();
|
||||||
|
|
||||||
if (dataDump == null)
|
// 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
|
||||||
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();
|
|
||||||
|
|
||||||
// Because we may use multiple version dumps for map data, merge the static loot between dumps
|
|
||||||
lock (staticContainersLock)
|
lock (staticContainersLock)
|
||||||
{
|
{
|
||||||
if (!staticContainers.TryGetValue(mapId, out var mapStaticLoot))
|
if (!staticContainers.ContainsKey(mapId))
|
||||||
{
|
{
|
||||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Info))
|
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Info))
|
||||||
LoggerFactory.GetInstance().Log($"Doing first time process for map {mapId} of real static data", LogLevel.Info);
|
LoggerFactory.GetInstance().Log($"Doing first time process for map {mapId} of real static data", LogLevel.Info);
|
||||||
|
var mapStaticContainers = StaticLootProcessor.CreateStaticWeaponsAndStaticForcedContainers(dataDump);
|
||||||
staticContainers[mapId] = new MapStaticLoot
|
|
||||||
{
|
|
||||||
StaticWeapons = new List<Template>(),
|
|
||||||
StaticForced = new List<StaticForced>()
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// .Item1 = map name
|
// .Item1 = map name
|
||||||
// .Item2 = force/weapon static arrays
|
// .Item2 = force/weapon static arrays
|
||||||
var mapStaticContainers = StaticLootProcessor.CreateStaticWeaponsAndStaticForcedContainers(dataDump);
|
staticContainers[mapStaticContainers.Item1] = mapStaticContainers.Item2;
|
||||||
|
|
||||||
var newStaticWeapons = mapStaticContainers.Item2.StaticWeapons.Where(x => !mapStaticLoot.StaticWeapons.Exists(y => y.Id == x.Id));
|
|
||||||
var newStaticForced = mapStaticContainers.Item2.StaticForced.Where(x => !mapStaticLoot.StaticForced.Exists(y => y.ContainerId == x.ContainerId));
|
|
||||||
|
|
||||||
mapStaticLoot.StaticWeapons.AddRange(newStaticWeapons);
|
|
||||||
mapStaticLoot.StaticForced.AddRange(newStaticForced);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,11 +11,10 @@ public class FileProcessor : IFileProcessor
|
|||||||
{
|
{
|
||||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
||||||
LoggerFactory.GetInstance().Log($"Processing file {parsedData.FileName}...", LogLevel.Debug);
|
LoggerFactory.GetInstance().Log($"Processing file {parsedData.FileName}...", LogLevel.Debug);
|
||||||
|
|
||||||
List<Template> looseLoot = new List<Template>();
|
List<Template> looseLoot = new List<Template>();
|
||||||
List<Template> staticLoot = new List<Template>();
|
List<Template> staticLoot = new List<Template>();
|
||||||
|
|
||||||
foreach (var item in parsedData.Data.Data.LocationLoot.Loot)
|
foreach (var item in parsedData.Data.Data.Loot)
|
||||||
{
|
{
|
||||||
if (item.IsContainer ?? false)
|
if (item.IsContainer ?? false)
|
||||||
staticLoot.Add(item);
|
staticLoot.Add(item);
|
||||||
|
@ -33,9 +33,9 @@ public static class StaticLootProcessor
|
|||||||
|
|
||||||
public static Tuple<string, MapStaticLoot> CreateStaticWeaponsAndStaticForcedContainers(RootData rawMapDump)
|
public static Tuple<string, MapStaticLoot> CreateStaticWeaponsAndStaticForcedContainers(RootData rawMapDump)
|
||||||
{
|
{
|
||||||
var mapName = rawMapDump.Data.LocationLoot.Name;
|
var mapName = rawMapDump.Data.Name;
|
||||||
var mapId = rawMapDump.Data.LocationLoot.Id.ToLower();
|
var mapId = rawMapDump.Data.Id.ToLower();
|
||||||
var staticLootPositions = (from li in rawMapDump.Data.LocationLoot.Loot
|
var staticLootPositions = (from li in rawMapDump.Data.Loot
|
||||||
where li.IsContainer ?? false
|
where li.IsContainer ?? false
|
||||||
select li).ToList();
|
select li).ToList();
|
||||||
var staticWeapons = new List<Template>();
|
var staticWeapons = new List<Template>();
|
||||||
@ -62,7 +62,7 @@ public static class StaticLootProcessor
|
|||||||
|
|
||||||
public static List<Template> CreateDynamicStaticContainers(RootData rawMapDump)
|
public static List<Template> CreateDynamicStaticContainers(RootData rawMapDump)
|
||||||
{
|
{
|
||||||
var data = (from li in rawMapDump.Data.LocationLoot.Loot
|
var data = (from li in rawMapDump.Data.Loot
|
||||||
where (li.IsContainer ?? false) && (!LootDumpProcessorContext.GetStaticWeaponIds().Contains(li.Items[0].Tpl))
|
where (li.IsContainer ?? false) && (!LootDumpProcessorContext.GetStaticWeaponIds().Contains(li.Items[0].Tpl))
|
||||||
select li).ToList();
|
select li).ToList();
|
||||||
|
|
||||||
|
@ -19,16 +19,6 @@ public class JsonFileIntakeReader : IIntakeReader
|
|||||||
public bool Read(string file, out BasicInfo basicInfo)
|
public bool Read(string file, out BasicInfo basicInfo)
|
||||||
{
|
{
|
||||||
var fileData = File.ReadAllText(file);
|
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 the file format changes it may screw up this date parser
|
||||||
if (!FileDateParser.TryParseFileDate(file, out var date))
|
if (!FileDateParser.TryParseFileDate(file, out var date))
|
||||||
{
|
{
|
||||||
@ -37,27 +27,25 @@ public class JsonFileIntakeReader : IIntakeReader
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fi = _jsonSerializer.Deserialize<RootData>(fileData);
|
var fi = _jsonSerializer.Deserialize<RootData>(fileData);
|
||||||
if (fi?.Data?.LocationLoot?.Name != null && (!_ignoredLocations?.Contains(fi.Data.LocationLoot.Name) ?? true))
|
if (fi.Data?.Name != null && (!_ignoredLocations?.Contains(fi.Data.Name) ?? true))
|
||||||
{
|
{
|
||||||
if (!_totalMapDumpsCounter.TryGetValue(fi.Data.LocationLoot.Name, out var counter))
|
if (!_totalMapDumpsCounter.TryGetValue(fi.Data.Name, out var counter))
|
||||||
{
|
{
|
||||||
counter = 0;
|
counter = 0;
|
||||||
_totalMapDumpsCounter[fi.Data.LocationLoot.Name] = counter;
|
_totalMapDumpsCounter[fi.Data.Name] = counter;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (counter < (LootDumpProcessorContext.GetConfig().ReaderConfig.IntakeReaderConfig?.MaxDumpsPerMap ?? 1500))
|
if (counter < (LootDumpProcessorContext.GetConfig().ReaderConfig.IntakeReaderConfig?.MaxDumpsPerMap ?? 1500))
|
||||||
{
|
{
|
||||||
basicInfo = new BasicInfo
|
basicInfo = new BasicInfo
|
||||||
{
|
{
|
||||||
Map = fi.Data.LocationLoot.Id.ToLower(),
|
Map = fi.Data.Id.ToLower(),
|
||||||
FileHash = ProcessorUtil.HashFile(fileData),
|
FileHash = ProcessorUtil.HashFile(fileData),
|
||||||
Data = fi,
|
Data = fi,
|
||||||
Date = date ?? DateTime.MinValue,
|
Date = date.Value,
|
||||||
FileName = file
|
FileName = file
|
||||||
};
|
};
|
||||||
|
_totalMapDumpsCounter[fi.Data.Name] += 1;
|
||||||
_totalMapDumpsCounter[fi.Data.LocationLoot.Name] += 1;
|
|
||||||
|
|
||||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
||||||
LoggerFactory.GetInstance().Log($"File {file} fully read, returning data", LogLevel.Debug);
|
LoggerFactory.GetInstance().Log($"File {file} fully read, returning data", LogLevel.Debug);
|
||||||
|
|
||||||
@ -66,15 +54,17 @@ public class JsonFileIntakeReader : IIntakeReader
|
|||||||
|
|
||||||
// Map dump limit reached, exit
|
// Map dump limit reached, exit
|
||||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Debug))
|
||||||
LoggerFactory.GetInstance().Log($"Ignoring file {file} as the file cap for map {fi.Data.LocationLoot.Id} has been reached", LogLevel.Debug);
|
LoggerFactory.GetInstance().Log($"Ignoring file {file} as the file cap for map {fi.Data.Id} has been reached", LogLevel.Debug);
|
||||||
|
|
||||||
basicInfo = null;
|
basicInfo = null;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Warning))
|
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;
|
basicInfo = null;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,6 @@ public class NetJsonSerializer : IJsonSerializer
|
|||||||
private static JsonSerializerOptions _serializeOptions = new()
|
private static JsonSerializerOptions _serializeOptions = new()
|
||||||
{
|
{
|
||||||
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
|
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
|
||||||
NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals,
|
|
||||||
Converters =
|
Converters =
|
||||||
{
|
{
|
||||||
new NetJsonKeyConverter(),
|
new NetJsonKeyConverter(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user