Always init ExtensionData & fix BaseInteractionRequestData inheritance

This commit is contained in:
Archangel
2025-08-17 16:10:33 +02:00
parent 24397b0439
commit f96172ac60
309 changed files with 924 additions and 1052 deletions
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Common;
public record IdWithCount
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// ID of stack to take money from
@@ -7,7 +7,7 @@ public record MinMax<T>
where T : IMinMaxValue<T>
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public MinMax(T min, T max)
{
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Bot;
public record GenerateBotsRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("conditions")]
public List<GenerateCondition>? Conditions { get; set; }
@@ -15,7 +15,7 @@ public record GenerateBotsRequestData : IRequestData
public record GenerateCondition
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// e.g. assault/pmcBot/bossKilla
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Bot;
public record RandomisedBotLevelResult
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("level")]
public int? Level { get; set; }
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Builds;
public record SetMagazineRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Id")]
public MongoId Id { get; set; }
@@ -6,5 +6,5 @@ namespace SPTarkov.Server.Core.Models.Eft.Common;
public record EmptyRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
}
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common;
public record Location
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// Map meta-data
@@ -52,7 +52,7 @@ public record Location
public record StaticContainer
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("containersGroups")]
public Dictionary<string, ContainerMinMax>? ContainersGroups { get; set; }
@@ -64,7 +64,7 @@ public record StaticContainer
public record ContainerMinMax
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("minContainers")]
public int? MinContainers { get; set; }
@@ -82,7 +82,7 @@ public record ContainerMinMax
public record ContainerData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("groupId")]
public string? GroupId { get; set; }
@@ -91,7 +91,7 @@ public record ContainerData
public record StaticLootDetails
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("itemcountDistribution")]
public ItemCountDistribution[] ItemCountDistribution { get; set; }
@@ -103,7 +103,7 @@ public record StaticLootDetails
public record ItemCountDistribution
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("count")]
public int? Count { get; set; }
@@ -115,7 +115,7 @@ public record ItemCountDistribution
public record ItemDistribution
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("tpl")]
public MongoId Tpl { get; set; }
@@ -127,7 +127,7 @@ public record ItemDistribution
public record StaticContainerDetails
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("staticWeapons")]
public IEnumerable<SpawnpointTemplate> StaticWeapons { get; set; }
@@ -142,7 +142,7 @@ public record StaticContainerDetails
public record StaticForced
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("containerId")]
public string ContainerId { get; set; }
@@ -154,7 +154,7 @@ public record StaticForced
public record StaticContainerData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("probability")]
public float? Probability { get; set; }
@@ -166,7 +166,7 @@ public record StaticContainerData
public record StaticAmmoDetails
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("tpl")]
public MongoId? Tpl { get; set; }
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common;
public record LocationBase
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("AccessKeys")]
public IEnumerable<string>? AccessKeys { get; set; }
@@ -376,7 +376,7 @@ public record LocationBase
public record EventTrapsData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public double MaxBarbedWires { get; set; }
@@ -390,7 +390,7 @@ public record EventTrapsData
public record Transit
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("activateAfterSec")]
public int? ActivateAfterSeconds { get; set; }
@@ -429,7 +429,7 @@ public record Transit
public record NonWaveGroupScenario
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Chance")]
public double? Chance { get; set; }
@@ -453,7 +453,7 @@ public record Limit : MinMax<int>
public record AirdropParameter
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("AirdropPointDeactivateDistance")]
public int? AirdropPointDeactivateDistance { get; set; }
@@ -489,7 +489,7 @@ public record AirdropParameter
public record Banner
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -501,7 +501,7 @@ public record Banner
public record Pic
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("file")]
public string? File { get; set; }
@@ -519,7 +519,7 @@ public record Pic
public record BossLocationSpawn
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("BossChance")]
public double? BossChance { get; set; }
@@ -592,7 +592,7 @@ public record BossLocationSpawn
public record BossSupport
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("BossEscortAmount")]
public string? BossEscortAmount { get; set; }
@@ -607,7 +607,7 @@ public record BossSupport
public record BotLocationModifier
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("AccuracySpeed")]
public double? AccuracySpeed { get; set; }
@@ -694,7 +694,7 @@ public record BotLocationModifier
public record AdditionalHostilitySettings
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("AlwaysEnemies")]
public HashSet<string>? AlwaysEnemies { get; set; }
@@ -736,7 +736,7 @@ public record AdditionalHostilitySettings
public record ChancedEnemy
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("EnemyChance")]
public int? EnemyChance { get; set; }
@@ -754,7 +754,7 @@ public record MinMaxBot : MinMax<int>
public record MinPlayerWaitTime
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("minPlayers")]
public int? MinPlayers { get; set; }
@@ -766,7 +766,7 @@ public record MinPlayerWaitTime
public record Preview
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("path")]
public string? Path { get; set; }
@@ -778,7 +778,7 @@ public record Preview
public record Scene
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("path")]
public string? Path { get; set; }
@@ -790,7 +790,7 @@ public record Scene
public record SpawnPointParam
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("BotZoneName")]
public string? BotZoneName { get; set; }
@@ -826,7 +826,7 @@ public record SpawnPointParam
public record ColliderParams
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private string? _parent;
@@ -844,7 +844,7 @@ public record ColliderParams
public record ColliderProps
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Center")]
public XYZ? Center { get; set; }
@@ -859,7 +859,7 @@ public record ColliderProps
public record Exit
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// % Chance out of 100 exit will appear in raid
@@ -955,7 +955,7 @@ public record Exit
public record MaxItemCountInLocation
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("TemplateId")]
public string? TemplateId { get; set; }
@@ -967,7 +967,7 @@ public record MaxItemCountInLocation
public record Wave
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("BotPreset")]
public string? BotPreset { get; set; }
@@ -1025,7 +1025,7 @@ public record Wave
public record LocationEvents
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Halloween2024")]
public Halloween2024? Halloween2024 { get; set; }
@@ -1036,7 +1036,7 @@ public record LocationEvents
public record Khorovod
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public double? Chance { get; set; }
}
@@ -1044,7 +1044,7 @@ public record Khorovod
public record Halloween2024
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("CrowdAttackBlockRadius")]
public double? CrowdAttackBlockRadius { get; set; }
@@ -1094,7 +1094,7 @@ public record Halloween2024
public record CrowdAttackSpawnParam
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Difficulty")]
public string? Difficulty { get; set; }
@@ -1109,7 +1109,7 @@ public record CrowdAttackSpawnParam
public record Area
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("center")]
public XYZ? Center { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common;
public record LooseLoot
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("spawnpointCount")]
public SpawnpointCount? SpawnpointCount { get; set; }
@@ -21,7 +21,7 @@ public record LooseLoot
public record SpawnpointCount
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("mean")]
public required double Mean { get; set; }
@@ -33,7 +33,7 @@ public record SpawnpointCount
public record SpawnpointTemplate
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private string? _root;
@@ -80,6 +80,9 @@ public record SpawnpointTemplate
public record SptLootItem : Item
{
[JsonExtensionData]
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("composedKey")]
public string? ComposedKey { get; set; }
}
@@ -87,7 +90,7 @@ public record SptLootItem : Item
public record GroupPosition
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private string? _name;
@@ -111,7 +114,7 @@ public record GroupPosition
public record Spawnpoint
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("locationId")]
public string? LocationId { get; set; }
@@ -129,7 +132,7 @@ public record Spawnpoint
public record LooseLootItemDistribution
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("composedKey")]
public ComposedKey? ComposedKey { get; set; }
@@ -141,7 +144,7 @@ public record LooseLootItemDistribution
public record ComposedKey
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private string? _key;
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common;
public record MetricsTableData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Keys")]
public List<int>? Keys { get; set; }
@@ -23,7 +23,7 @@ public record PostRaidPmcData : PmcData { }
public record PostRaidStats
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Eft")]
public EftStats? Eft { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Request;
public record BaseInteractionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Action")]
public string? Action { get; set; }
@@ -21,7 +21,7 @@ public record BaseInteractionRequestData
public record OwnerInfo
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public MongoId? Id { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Request;
public record UIDRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("uid")]
public string? Uid { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record Achievement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("index")]
public required int Index { get; set; }
@@ -54,7 +54,7 @@ public record Achievement
public record AchievementQuestConditionTypes
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("started")]
public List<QuestCondition>? Started { get; set; }
@@ -10,7 +10,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record BotBase
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId? Id { get; set; }
@@ -119,7 +119,7 @@ public record BotBase
public record MoneyTransferLimits
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
// Resets every 24 hours in live
/// <summary>
@@ -143,7 +143,7 @@ public record TaskConditionCounter
private string? _type;
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public MongoId? Id { get; set; }
@@ -168,7 +168,7 @@ public record TaskConditionCounter
public record UnlockedInfo
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("unlockedProductionRecipe")]
public HashSet<MongoId>? UnlockedProductionRecipe { get; set; }
@@ -177,7 +177,7 @@ public record UnlockedInfo
public record Info
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private string? _side;
@@ -268,7 +268,7 @@ public record Info
public record BotInfoSettings
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private string? _botDifficulty;
private string? _role;
@@ -298,7 +298,7 @@ public record BotInfoSettings
public record Ban
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("banType")]
public BanType? BanType { get; set; }
@@ -321,7 +321,7 @@ public enum BanType
public record Customization
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public MongoId? Head { get; set; }
@@ -339,7 +339,7 @@ public record Customization
public record BotBaseHealth
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public CurrentMinMax? Hydration { get; set; }
@@ -361,7 +361,7 @@ public record BotBaseHealth
public record BodyPartHealth
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public CurrentMinMax? Health { get; set; }
@@ -371,7 +371,7 @@ public record BodyPartHealth
public record BodyPartEffectProperties
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
// TODO: this was any, what actual type is it?
public object? ExtraData { get; set; }
@@ -382,7 +382,7 @@ public record BodyPartEffectProperties
public record CurrentMinMax
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public double? Current { get; set; }
@@ -398,7 +398,7 @@ public record CurrentMinMax
public record BotBaseInventory
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("items")]
public List<Item>? Items { get; set; }
@@ -446,7 +446,7 @@ public record BotBaseInventory
public record Skills
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public IEnumerable<CommonSkill> Common { get; set; }
@@ -458,7 +458,7 @@ public record Skills
public record MasterySkill
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public string Id { get; set; }
@@ -468,7 +468,7 @@ public record MasterySkill
public record CommonSkill
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public double PointsEarnedDuringSession { get; set; }
@@ -489,7 +489,7 @@ public record CommonSkill
public record Stats
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public EftStats? Eft { get; set; }
}
@@ -497,7 +497,7 @@ public record Stats
public record EftStats
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public IEnumerable<string>? CarriedQuestItems { get; set; }
@@ -540,7 +540,7 @@ public record EftStats
public record DroppedItem
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public MongoId QuestId { get; set; }
@@ -552,7 +552,7 @@ public record DroppedItem
public record FoundInRaidItem
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public MongoId QuestId { get; set; }
@@ -562,7 +562,7 @@ public record FoundInRaidItem
public record Victim
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public string? AccountId { get; set; }
@@ -594,7 +594,7 @@ public record Victim
public record SessionCounters
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public IEnumerable<CounterKeyValue>? Items { get; set; }
}
@@ -602,7 +602,7 @@ public record SessionCounters
public record OverallCounters
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public List<CounterKeyValue>? Items { get; set; }
}
@@ -610,7 +610,7 @@ public record OverallCounters
public record CounterKeyValue
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public HashSet<string>? Key { get; set; }
@@ -620,7 +620,7 @@ public record CounterKeyValue
public record Aggressor
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public double? PrestigeLevel { get; set; }
@@ -653,7 +653,7 @@ public record Aggressor
public record DamageHistory
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public string? LethalDamagePart { get; set; }
@@ -668,7 +668,7 @@ public record DamageHistory
public record BodyPartsDamageHistory
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public List<DamageStats>? Head { get; set; }
@@ -692,7 +692,7 @@ public record DamageStats
private string? _type;
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public double? Amount { get; set; }
@@ -715,7 +715,7 @@ public record DamageStats
public record DeathCause
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonConverter(typeof(JsonStringEnumConverter))]
public DamageType? DamageType { get; set; }
@@ -732,7 +732,7 @@ public record DeathCause
public record LastPlayerState
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public LastPlayerStateInfo? Info { get; set; }
@@ -745,7 +745,7 @@ public record LastPlayerState
public record LastPlayerStateInfo
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public string? Nickname { get; set; }
@@ -759,7 +759,7 @@ public record LastPlayerStateInfo
public record BackendCounter
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -774,7 +774,7 @@ public record BackendCounter
public record InsuredItem
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// Trader ID item was insured by
@@ -789,7 +789,7 @@ public record InsuredItem
public record Hideout
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public Dictionary<MongoId, Production?>? Production { get; set; }
@@ -816,7 +816,7 @@ public record Hideout
public record HideoutCounters
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("fuelCounter")]
public double? FuelCounter { get; set; }
@@ -834,7 +834,7 @@ public record HideoutCounters
public record HideoutImprovement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("completed")]
public bool? Completed { get; set; }
@@ -846,7 +846,7 @@ public record HideoutImprovement
public record Production // use this instead of productive and scavcase
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public List<Item>? Products { get; set; }
@@ -923,7 +923,7 @@ public record Production // use this instead of productive and scavcase
public record BotHideoutArea
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("type")]
public HideoutAreas Type { get; set; }
@@ -956,7 +956,7 @@ public record BotHideoutArea
public record HideoutSlot
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// SPT specific value to keep track of what index this slot is (0,1,2,3 etc.)
@@ -971,7 +971,7 @@ public record HideoutSlot
public record LastCompleted
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("$oid")]
public string? OId { get; set; }
@@ -980,7 +980,7 @@ public record LastCompleted
public record Notes
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Notes")]
public List<Note>? DataNotes { get; set; }
@@ -998,7 +998,7 @@ public enum SurvivorClass
public record TraderInfo
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("loyaltyLevel")]
public int? LoyaltyLevel { get; set; }
@@ -1022,7 +1022,7 @@ public record TraderInfo
public record RagfairInfo
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("rating")]
public double? Rating { get; set; }
@@ -1043,7 +1043,7 @@ public record RagfairInfo
public record Bonus
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public MongoId Id { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record BotCore
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("SAVAGE_KILL_DIST")]
public double? SavageKillDistance { get; set; }
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record BotType
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("appearance")]
public Appearance BotAppearance { get; set; }
@@ -44,7 +44,7 @@ public record BotType
public record Appearance
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("body")]
public Dictionary<MongoId, double> Body { get; set; }
@@ -68,7 +68,7 @@ public record Appearance
public record Chances
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("equipment")]
public Dictionary<string, double> EquipmentChances { get; set; }
@@ -88,7 +88,7 @@ public record Chances
public record ModsChances
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("mod_charge")]
public double? ModCharge { get; set; }
@@ -251,7 +251,7 @@ public double? ModPistol_Grip { get; set; }
public record DifficultyCategories
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public Dictionary<string, object>? Aiming { get; set; } // TODO: string | number | boolean
@@ -285,7 +285,7 @@ public record DifficultyCategories
public record Experience
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// key = bot difficulty
@@ -315,7 +315,7 @@ public record Experience
public record Generation
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("items")]
public GenerationWeightingItems Items { get; set; }
@@ -324,7 +324,7 @@ public record Generation
public record GenerationData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// key: number of items, value: weighting
@@ -343,7 +343,7 @@ public record GenerationData
public record GenerationWeightingItems
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("grenades")]
public GenerationData Grenades { get; set; }
@@ -388,7 +388,7 @@ public record GenerationWeightingItems
public record BotTypeHealth
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public IEnumerable<BodyPart> BodyParts { get; set; }
@@ -402,7 +402,7 @@ public record BotTypeHealth
public record BodyPart
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public MinMax<double> Chest { get; set; }
@@ -422,7 +422,7 @@ public record BodyPart
public record BotTypeInventory
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("equipment")]
public Dictionary<EquipmentSlots, Dictionary<MongoId, double>> Equipment { get; set; }
@@ -439,7 +439,7 @@ public record BotTypeInventory
public record ItemPools
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public Dictionary<MongoId, double> Backpack { get; set; }
@@ -455,7 +455,7 @@ public record ItemPools
public record BotDbSkills
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public Dictionary<string, MinMax<double>> Common { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record CustomisationStorage
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
// Customisation.json/itemId
[JsonPropertyName("id")]
@@ -22,7 +22,7 @@ public record CustomisationStorage
public record CustomisationType
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public const string SUITE = "suite";
public const string DOG_TAG = "dogTag";
@@ -43,7 +43,7 @@ public record CustomisationType
public record CustomisationTypeId
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public const string CUSTOMIZATION = "5cbdb4a2e2b501000d352ae2";
public const string BODY_PARTS = "5cd943c31388ce000a659df5";
@@ -72,7 +72,7 @@ public record CustomisationTypeId
public record CustomisationSource
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public const string QUEST = "quest";
public const string PRESTIGE = "prestige";
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record CustomizationItem
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -30,7 +30,7 @@ public record CustomizationItem
public class CustomizationProps
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Prefab")]
public object? Prefab { get; set; } // Prefab object or string
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record HandbookBase
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Categories")]
public List<HandbookCategory> Categories { get; set; }
@@ -18,7 +18,7 @@ public record HandbookBase
public record HandbookCategory
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Id")]
public MongoId Id { get; set; }
@@ -41,7 +41,7 @@ public record HandbookCategory
public record HandbookItem
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Id")]
public MongoId Id { get; set; }
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record Item
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private string? _parentId;
@@ -49,7 +49,7 @@ public record Item
public record HideoutItem
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// Hideout inventory id that was used by improvement action
@@ -87,7 +87,7 @@ public record HideoutItem
public record ItemLocation
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("x")]
public int? X { get; set; }
@@ -121,7 +121,7 @@ public enum ItemRotation
public record Upd
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public UpdBuff? Buff { get; set; }
@@ -188,7 +188,7 @@ public record Upd
public record LockableKeyComponent
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public float? RelativeValue { get; set; }
public int? NumberOfUsages { get; set; }
@@ -197,7 +197,7 @@ public record LockableKeyComponent
public record LockableComponent
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public IEnumerable<string>? KeyIds { get; set; }
public bool? Locked { get; set; }
@@ -214,7 +214,7 @@ public enum PinLockState
public record UpdBuff
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Rarity")]
public string? Rarity { get; set; }
@@ -233,7 +233,7 @@ public record UpdBuff
public record UpdTogglable
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("On")]
public bool? On { get; set; }
@@ -242,7 +242,7 @@ public record UpdTogglable
public record UpdMap
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Markers")]
public List<MapMarker>? Markers { get; set; }
@@ -251,7 +251,7 @@ public record UpdMap
public record MapMarker
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Type")]
public string? Type { get; set; }
@@ -269,7 +269,7 @@ public record MapMarker
public record UpdTag
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Color")]
public int? Color { get; set; }
@@ -281,7 +281,7 @@ public record UpdTag
public record UpdFaceShield
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Hits")]
public int? Hits { get; set; }
@@ -293,7 +293,7 @@ public record UpdFaceShield
public record UpdRepairable
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Durability")]
public double? Durability { get; set; }
@@ -305,7 +305,7 @@ public record UpdRepairable
public record UpdRecodableComponent
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("IsEncoded")]
public bool? IsEncoded { get; set; }
@@ -314,7 +314,7 @@ public record UpdRecodableComponent
public record UpdMedKit
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("HpResource")]
public double? HpResource { get; set; }
@@ -323,7 +323,7 @@ public record UpdMedKit
public record UpdSight
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("ScopesCurrentCalibPointIndexes")]
public IEnumerable<int>? ScopesCurrentCalibPointIndexes { get; set; }
@@ -340,7 +340,7 @@ public record UpdSight
public record UpdFoldable
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Folded")]
public bool? Folded { get; set; }
@@ -349,7 +349,7 @@ public record UpdFoldable
public record UpdFireMode
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("FireMode")]
public string? FireMode { get; set; }
@@ -358,7 +358,7 @@ public record UpdFireMode
public record UpdFoodDrink
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("HpPercent")]
public double? HpPercent { get; set; }
@@ -367,7 +367,7 @@ public record UpdFoodDrink
public record UpdKey
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
// Checked in client
[JsonPropertyName("NumberOfUsages")]
@@ -377,7 +377,7 @@ public record UpdKey
public record UpdResource
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Value")]
public double? Value { get; set; }
@@ -389,7 +389,7 @@ public record UpdResource
public record UpdLight
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("IsActive")]
public bool? IsActive { get; set; }
@@ -401,7 +401,7 @@ public record UpdLight
public record UpdDogtag
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("AccountId")]
public string? AccountId { get; set; }
@@ -452,7 +452,7 @@ public record UpdDogtag
public record UpdSideEffect
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Value")]
public double? Value { get; set; }
@@ -461,7 +461,7 @@ public record UpdSideEffect
public record UpdRepairKit
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Resource")]
public double? Resource { get; set; }
@@ -470,7 +470,7 @@ public record UpdRepairKit
public record UpdCultistAmulet
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("NumberOfUsages")]
public double? NumberOfUsages { get; set; }
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record LocationServices
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("TraderServerSettings")]
public TraderServerSettings TraderServerSettings { get; set; }
@@ -20,7 +20,7 @@ public record LocationServices
public record TraderServerSettings
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("TraderServices")]
public TraderServices TraderServices { get; set; }
@@ -29,7 +29,7 @@ public record TraderServerSettings
public record TraderServices
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("ExUsecLoyalty")]
public TraderService ExUsecLoyalty { get; set; }
@@ -56,7 +56,7 @@ public record TraderServices
public record TraderService
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("TraderId")]
public string TraderId { get; set; }
@@ -79,7 +79,7 @@ public record TraderService
public record ServiceRequirements
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("CompletedQuests")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
@@ -94,7 +94,7 @@ public record ServiceRequirements
public record CompletedQuest
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("QuestId")]
public string QuestId { get; set; }
@@ -103,7 +103,7 @@ public record CompletedQuest
public record StandingRequirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Value")]
public double Value { get; set; }
@@ -112,7 +112,7 @@ public record StandingRequirement
public record ServiceItemCostDetails
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Count")]
public int Count { get; set; }
@@ -121,7 +121,7 @@ public record ServiceItemCostDetails
public record BtrServerSettings
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("ChanceSpawn")]
public double ChanceSpawn { get; set; }
@@ -172,7 +172,7 @@ public record BtrServerSettings
public record ServerMapBtrsettings
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("MapID")]
public string MapID { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record LocationsBase
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("locations")]
public Locations? Locations { get; set; }
@@ -17,7 +17,7 @@ public record LocationsBase
public record Locations
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
// Add properties as necessary
}
@@ -25,7 +25,7 @@ public record Locations
public record Path
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Source")]
public string? Source { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record LocationsGenerateAllResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("locations")]
public Dictionary<MongoId, LocationBase> Locations { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record Match
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("metrics")]
public Metrics Metrics { get; set; }
@@ -14,7 +14,7 @@ public record Match
public record Metrics
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Keys")]
public List<int> Keys { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record Prestige
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("elements")]
public List<PrestigeElement> Elements { get; set; }
@@ -15,7 +15,7 @@ public record Prestige
public record PrestigeElement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string Id { get; set; }
@@ -39,7 +39,7 @@ public record PrestigeElement
public record TransferConfigs
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("stashConfig")]
public StashPrestigeConfig StashConfig { get; set; }
@@ -54,7 +54,7 @@ public record TransferConfigs
public record StashPrestigeConfig
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("xCellCount")]
public int? XCellCount { get; set; }
@@ -69,7 +69,7 @@ public record StashPrestigeConfig
public record StashPrestigeFilters
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("includedItems")]
public List<MongoId> IncludedItems { get; set; }
@@ -81,7 +81,7 @@ public record StashPrestigeFilters
public record PrestigeSkillConfig
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("transferMultiplier")]
public double TransferMultiplier { get; set; }
@@ -90,7 +90,7 @@ public record PrestigeSkillConfig
public record PrestigeMasteringConfig
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("transferMultiplier")]
public double TransferMultiplier { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record ProfileSides
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("descriptionLocaleKey")]
public string? DescriptionLocaleKey { get; set; }
@@ -22,7 +22,7 @@ public record ProfileSides
public record TemplateSide
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("character")]
public PmcData? Character { get; set; }
@@ -49,7 +49,7 @@ public record TemplateSide
public record ProfileTraderTemplate
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("initialLoyaltyLevel")]
public Dictionary<MongoId, int?>? InitialLoyaltyLevel { get; set; }
@@ -9,7 +9,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record Quest
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// SPT addition - human readable quest name
@@ -130,7 +130,7 @@ public record Quest
public record QuestStatus
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("qid")]
public required MongoId QId { get; set; }
@@ -154,7 +154,7 @@ public record QuestStatus
public record QuestConditionTypes
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Started")]
public List<QuestCondition>? Started { get; set; }
@@ -177,7 +177,7 @@ public record QuestCondition
private string _conditionType;
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public required MongoId Id { get; set; }
@@ -325,7 +325,7 @@ public record QuestCondition
public record QuestConditionCounter
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -337,7 +337,7 @@ public record QuestConditionCounter
public record QuestConditionCounterCondition
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -430,7 +430,7 @@ public record QuestConditionCounterCondition
public record EnemyHealthEffect
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("bodyParts")]
public List<string>? BodyParts { get; set; }
@@ -442,7 +442,7 @@ public record EnemyHealthEffect
public record ValueCompare
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("compareMethod")]
public string? CompareMethod { get; set; }
@@ -454,7 +454,7 @@ public record ValueCompare
public record CounterConditionDistance
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("value")]
public double? Value { get; set; }
@@ -466,7 +466,7 @@ public record CounterConditionDistance
public record DaytimeCounter
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("from")]
public int? From { get; set; }
@@ -478,7 +478,7 @@ public record DaytimeCounter
public record VisibilityCondition
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -24,7 +24,7 @@ public record RepeatableQuest : Quest
public record RepeatableQuestDatabase
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("templates")]
public RepeatableTemplates? Templates { get; set; }
@@ -42,7 +42,7 @@ public record RepeatableQuestDatabase
public record RepeatableQuestStatus
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public MongoId Id { get; set; }
@@ -66,7 +66,7 @@ public record RepeatableQuestStatus
public record RepeatableTemplates
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Elimination")]
public RepeatableQuest? Elimination { get; set; }
@@ -84,7 +84,7 @@ public record RepeatableTemplates
public record PmcDataRepeatableQuest
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public MongoId? Id { get; set; }
@@ -121,7 +121,7 @@ public record PmcDataRepeatableQuest
public record ChangeRequirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("changeCost")]
public List<ChangeCost?>? ChangeCost { get; set; }
@@ -133,7 +133,7 @@ public record ChangeRequirement
public record ChangeCost
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// What item it will take to reset daily
@@ -153,7 +153,7 @@ public record ChangeCost
public record RewardOptions
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("itemsBlacklist")]
public List<string>? ItemsBlacklist { get; set; }
@@ -162,7 +162,7 @@ public record RewardOptions
public record Options
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Completion")]
public CompletionFilter? Completion { get; set; }
@@ -171,7 +171,7 @@ public record Options
public record CompletionFilter
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("itemsBlacklist")]
public List<ItemsBlacklist>? ItemsBlacklist { get; set; }
@@ -183,7 +183,7 @@ public record CompletionFilter
public record ItemsBlacklist
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("minPlayerLevel")]
public int? MinPlayerLevel { get; set; }
@@ -195,7 +195,7 @@ public record ItemsBlacklist
public record ItemsWhitelist
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("minPlayerLevel")]
public int? MinPlayerLevel { get; set; }
@@ -207,7 +207,7 @@ public record ItemsWhitelist
public record SampleQuests
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public string? Id { get; set; }
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record Reward
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("value")]
[JsonConverter(typeof(StringToNumberFactoryConverter))]
@@ -74,7 +74,7 @@ public record Reward
public record IllustrationConfig
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Image")]
public string image { get; set; }
@@ -9,7 +9,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record TemplateItem
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private Dictionary<string, bool>? _blocks;
@@ -74,7 +74,7 @@ public record TemplateItem
public record Props
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private string? _backgroundColor;
@@ -1570,7 +1570,7 @@ public record Props
public record WeaponRecoilSettings
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Enable")]
public bool? Enable { get; set; }
@@ -1582,7 +1582,7 @@ public record WeaponRecoilSettings
public record WeaponRecoilSettingValues
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Enable")]
public bool? Enable { get; set; }
@@ -1597,7 +1597,7 @@ public record WeaponRecoilSettingValues
public record WeaponRecoilProcess
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("ComponentType")]
public string? ComponentType { get; set; }
@@ -1618,7 +1618,7 @@ public record WeaponRecoilProcess
public record WeaponRecoilTransformationCurve
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Keys")]
public IEnumerable<WeaponRecoilTransformationCurveKey>? Keys { get; set; }
@@ -1627,7 +1627,7 @@ public record WeaponRecoilTransformationCurve
public record WeaponRecoilTransformationCurveKey
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("inTangent")]
public double? InTangent { get; set; }
@@ -1645,7 +1645,7 @@ public record WeaponRecoilTransformationCurveKey
public record HealthEffect
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("type")]
public string? Type { get; set; }
@@ -1657,7 +1657,7 @@ public record HealthEffect
public record Prefab
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("path")]
public string? Path { get; set; }
@@ -1669,7 +1669,7 @@ public record Prefab
public record Grid
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_name")]
public string? Name { get; set; }
@@ -1690,7 +1690,7 @@ public record Grid
public record GridProps
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("filters")]
public IEnumerable<GridFilter>? Filters { get; set; }
@@ -1717,7 +1717,7 @@ public record GridProps
public record GridFilter
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Filter")]
public HashSet<MongoId>? Filter { get; set; }
@@ -1732,7 +1732,7 @@ public record GridFilter
public record Slot
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private string? _name;
@@ -1774,7 +1774,7 @@ public record Slot
public record SlotProps
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("filters")]
public IEnumerable<SlotFilter>? Filters { get; set; }
@@ -1786,7 +1786,7 @@ public record SlotProps
public record SlotFilter
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Shift")]
public double? Shift { get; set; }
@@ -1819,7 +1819,7 @@ public record SlotFilter
public record StackSlot
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_name")]
public string? Name { get; set; }
@@ -1846,7 +1846,7 @@ public record StackSlot
public record StackSlotProps
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("filters")]
public IEnumerable<SlotFilter>? Filters { get; set; }
@@ -1855,7 +1855,7 @@ public record StackSlotProps
public record RandomLootSettings
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("allowToSpawnIdenticalItems")]
public bool? AllowToSpawnIdenticalItems { get; set; }
@@ -1885,7 +1885,7 @@ public record RandomLootSettings
public record RandomLootExcluded
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("categoryTemplates")]
public IEnumerable<object>? CategoryTemplates { get; set; } // TODO: object here
@@ -1900,7 +1900,7 @@ public record RandomLootExcluded
public record EffectsHealth
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Energy")]
public EffectsHealthProps? Energy { get; set; }
@@ -1912,7 +1912,7 @@ public record EffectsHealth
public record EffectsHealthProps
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("value")]
public double? Value { get; set; }
@@ -1927,7 +1927,7 @@ public record EffectsHealthProps
public record EffectsDamage
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Pain")]
public EffectDamageProps? Pain { get; set; }
@@ -1954,7 +1954,7 @@ public record EffectsDamage
public record EffectDamageProps
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("value")]
public double? Value { get; set; }
@@ -1981,7 +1981,7 @@ public record EffectDamageProps
public record Color
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("r")]
public double? R { get; set; }
@@ -1999,7 +1999,7 @@ public record Color
public record ShotsGroupSettings
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("EndShotIndex")]
public double? EndShotIndex { get; set; }
@@ -9,7 +9,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
public record Trader
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("assort")]
public TraderAssort Assort { get; set; }
@@ -33,7 +33,7 @@ public record Trader
public record TraderBase
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("refreshTraderRagfairOffers")]
public bool? RefreshTraderRagfairOffers { get; set; }
@@ -134,7 +134,7 @@ public record TraderBase
public record ItemBuyData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
// MongoId
[JsonPropertyName("category")]
@@ -148,7 +148,7 @@ public record ItemBuyData
public record ItemSellData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("category")]
public required HashSet<MongoId> Category { get; set; }
@@ -160,7 +160,7 @@ public record ItemSellData
public record TraderInsurance
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("availability")]
public bool? Availability { get; set; }
@@ -188,7 +188,7 @@ public record TraderInsurance
public record TraderLoyaltyLevel
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("buy_price_coef")]
public double? BuyPriceCoefficient { get; set; }
@@ -220,7 +220,7 @@ public record TraderLoyaltyLevel
public record TraderRepair
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("availability")]
public bool? Availability { get; set; }
@@ -251,7 +251,7 @@ public record TraderRepair
public record TraderAssort
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("nextResupply")]
public double? NextResupply { get; set; }
@@ -269,7 +269,7 @@ public record TraderAssort
public record BarterScheme
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
// Confirmed in client
[JsonPropertyName("count")]
@@ -295,7 +295,7 @@ public record BarterScheme
public record Suit
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -328,7 +328,7 @@ public record Suit
public record SuitRequirements
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("achievementRequirements")]
public List<string>? AchievementRequirements { get; set; }
@@ -362,7 +362,7 @@ public record SuitRequirements
public record ItemRequirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("count")]
public double? Count { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common;
public record XY
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("x")]
public double? X { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common;
public record XYZ
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("x")]
public double? X { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Customization;
public record BuyClothingRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("offer")]
public MongoId Offer { get; set; }
@@ -19,7 +16,7 @@ public record BuyClothingRequestData : InventoryBaseActionRequestData
public record PaymentItemForClothing
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("del")]
public bool? Del { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Customization;
public record CustomizationSetRequest : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("customizations")]
public List<CustomizationSetOption>? Customizations { get; set; }
}
@@ -16,7 +13,7 @@ public record CustomizationSetRequest : InventoryBaseActionRequestData
public record CustomizationSetOption
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public MongoId Id { get; set; }
@@ -5,5 +5,5 @@ namespace SPTarkov.Server.Core.Models.Eft.Customization;
public record WearClothingRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
}
@@ -12,7 +12,7 @@ public record DeclineFriendRequestData : BaseFriendRequest { }
public record BaseFriendRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("profileId")]
public string? ProfileId { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record AddUserGroupMailRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogId")]
public string? DialogId { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record ChangeGroupMailOwnerRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogId")]
public string? DialogId { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record ChatServer
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -42,7 +42,7 @@ public record ChatServer
public record Chat
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public string? Id { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record ClearMailMessageRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogId")]
public required MongoId DialogId { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record CreateGroupMailRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Name")]
public string? Name { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record DeleteFriendRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("friend_id")]
public MongoId FriendId { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record FriendRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("status")]
public int? Status { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record FriendRequestSendResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("status")]
public BackendErrorCodes? Status { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record GetAllAttachmentsRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogId")]
public string DialogId { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record GetAllAttachmentsResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("messages")]
public List<Message>? Messages { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record GetChatServerListRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("VersionId")]
public string? VersionId { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record GetFriendListDataResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Friends")]
public List<UserDialogInfo>? Friends { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record GetMailDialogInfoRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogId")]
public MongoId? DialogId { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record GetMailDialogListRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("limit")]
public int? Limit { get; set; }
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record GetMailDialogViewRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("type")]
public MessageType? Type { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record GetMailDialogViewResponseData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("messages")]
public List<Message>? Messages { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record PinDialogRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogId")]
public MongoId? DialogId { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record RemoveDialogRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogId")]
public MongoId? DialogId { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record RemoveMailMessageRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogId")]
public string? DialogId { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record RemoveUserGroupMailRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogId")]
public string? DialogId { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record SendMessageRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogId")]
public required string DialogId { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Dialog;
public record SetDialogReadRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("dialogs")]
public List<MongoId>? Dialogs { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record CheckVersionResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("isvalid")]
public bool? IsValid { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record CurrentGroupResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("squad")]
public List<CurrentGroupSquadMember>? Squad { get; set; }
@@ -15,7 +15,7 @@ public record CurrentGroupResponse
public record CurrentGroupSquadMember
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public string? Id { get; set; }
@@ -36,7 +36,7 @@ public record CurrentGroupSquadMember
public record CurrentGroupMemberInfo
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Nickname")]
public string? Nickname { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record GameConfigResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("aid")]
public double? Aid { get; set; }
@@ -59,7 +59,7 @@ public record GameConfigResponse
public record PurchasedGames
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("eft")]
public bool? IsEftPurchased { get; set; }
@@ -71,7 +71,7 @@ public record PurchasedGames
public record Backend
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Lobby")]
public string? Lobby { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record GameEmptyCrcRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("crc")]
public int? Crc { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record GameKeepAliveResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("msg")]
public string? Message { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record GameLogoutResponseData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("status")]
public string? Status { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record GameModeRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("sessionMode")]
public string? SessionMode { get; set; }
@@ -11,7 +11,7 @@ public enum SessionMode
public record GameModeResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("gameMode")]
public string? GameMode { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record GameStartResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("utc_time")]
public double UtcTime { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record GetItemPricesResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("supplyNextTime")]
public double? SupplyNextTime { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record GetRaidTimeRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Side")]
public string? Side { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record GetRaidTimeResponse
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("NewSurviveTimeSeconds")]
public double? NewSurviveTimeSeconds { get; set; }
@@ -1,4 +1,4 @@
using System.Text.Json.Serialization;
using System.Text.Json.Serialization;
using SPTarkov.Server.Core.Models.Spt.Services;
using SPTarkov.Server.Core.Models.Utils;
@@ -6,6 +6,9 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record SendClientModsRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("activeClientMods")]
public List<ProfileActiveClientMods> ActiveClientMods { get; set; } = [];
}
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record SendSurveyOpinionRequest : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("resultJson")]
public string? ResultJson { get; set; }
@@ -21,7 +21,7 @@ public record SendSurveyOpinionRequest : IRequestData
public record SurveyOpinionAnswer
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("questionId")]
public int? QuestionId { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record ServerDetails
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("ip")]
public string? Ip { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record SurveyResponseData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("locale")]
public Dictionary<string, Dictionary<string, string>>? Locale { get; set; }
@@ -17,7 +17,7 @@ public record SurveyResponseData
public record Survey
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public int? Id { get; set; }
@@ -41,7 +41,7 @@ public record Survey
public record WelcomePageData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("titleLocaleKey")]
public string? TitleLocaleKey { get; set; }
@@ -56,7 +56,7 @@ public record WelcomePageData
public record FarewellPageData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("textLocaleKey")]
public string? TextLocaleKey { get; set; }
@@ -65,7 +65,7 @@ public record FarewellPageData
public record SurveyQuestion
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public int? Id { get; set; }
@@ -92,7 +92,7 @@ public record SurveyQuestion
public record SurveyAnswer
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public int? Id { get; set; }
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Game;
public record VersionValidateRequestData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("version")]
public Version? Version { get; set; }
@@ -18,7 +18,7 @@ public record VersionValidateRequestData : IRequestData
public record Version
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("major")]
public string? Major { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Health;
public record HealthTreatmentRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("trader")]
public string? Trader { get; set; }
@@ -29,7 +26,7 @@ public record HealthTreatmentRequestData : InventoryBaseActionRequestData
public record Difference
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("BodyParts")]
public Dictionary<string, BodyPartValues>? BodyParts { get; set; }
@@ -44,7 +41,7 @@ public record Difference
public record BodyPartValues
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public double Health { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Health;
public record OffraidEatRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("item")]
public MongoId Item { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Health;
public record OffraidHealRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("item")]
public MongoId Item { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Health;
public record SyncHealthRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Health")]
public List<BodyPartHealth>? Health { get; set; }
@@ -26,7 +26,7 @@ public record SyncHealthRequestData
public record BodyPartCollection
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Head")]
public BodyPartHealth? Head { get; set; }
@@ -53,7 +53,7 @@ public record BodyPartCollection
public record BodyPartHealth
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Maximum")]
public int? Maximum { get; set; }
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Health;
public class WorkoutData : IRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("skills")]
public WorkoutSkills? Skills { get; set; }
@@ -17,7 +17,7 @@ public class WorkoutData : IRequestData
public record WorkoutSkills
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Common")]
public List<CommonSkill> Common { get; set; }
@@ -5,9 +5,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HandleQTEEventRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
/// <summary>
/// true if QTE was successful, otherwise false
/// </summary>
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutArea
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -47,7 +47,7 @@ public record HideoutArea
public record HideoutAreaRequirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("areaType")]
public int? AreaType { get; set; }
@@ -62,7 +62,7 @@ public record HideoutAreaRequirement
public record Stage
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("autoUpgrade")]
public bool? AutoUpgrade { get; set; }
@@ -101,7 +101,7 @@ public record Stage
public record StageImprovement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public MongoId Id { get; set; }
@@ -119,7 +119,7 @@ public record StageImprovement
public record StageImprovementBonus
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public MongoId Id { get; set; }
@@ -146,7 +146,7 @@ public record StageImprovementBonus
public record StageImprovementRequirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("count")]
public int? Count { get; set; }
@@ -170,7 +170,7 @@ public record StageImprovementRequirement
public record StageRequirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("areaType")]
public int? AreaType { get; set; }
@@ -5,9 +5,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutCircleOfCultistProductionStartRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("timestamp")]
public long? Timestamp { get; set; }
}
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutContinuousProductionStartRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("recipeId")]
public MongoId? RecipeId { get; set; }
@@ -19,7 +16,7 @@ public record HideoutContinuousProductionStartRequestData : InventoryBaseActionR
public record HideoutProperties
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public int? BtcFarmGcs { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutCustomisation
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("globals")]
public List<HideoutCustomisationGlobal>? Globals { get; set; }
@@ -19,7 +19,7 @@ public record HideoutCustomisation
public record HideoutCustomisationGlobal
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -46,7 +46,7 @@ public record HideoutCustomisationGlobal
public record HideoutCustomisationSlot
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -5,9 +5,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutCustomizationApplyRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
/// <summary>
/// Id of the newly picked item to apply to hideout
/// </summary>
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutCustomizationSetMannequinPoseRequest : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("poses")]
public Dictionary<MongoId, MongoId>? Poses { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutDeleteProductionRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("recipeId")]
public MongoId RecipeId { get; set; }
@@ -8,9 +8,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutImproveAreaRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
/// <summary>
/// Hideout area id from areas.json
/// </summary>
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutProductionData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("recipes")]
public List<HideoutProduction>? Recipes { get; set; }
@@ -22,7 +22,7 @@ public record HideoutProductionData
public record HideoutProduction
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -67,7 +67,7 @@ public record HideoutProduction
public record Requirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("templateId")]
public MongoId? TemplateId { get; set; }
@@ -106,7 +106,7 @@ public record Requirement
public record ScavRecipe
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -124,7 +124,7 @@ public record ScavRecipe
public record EndProducts
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Common")]
public MinMax<int>? Common { get; set; }
@@ -139,7 +139,7 @@ public record EndProducts
public record CultistRecipe
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -7,9 +7,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutPutItemInRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("areaType")]
public HideoutAreas? AreaType { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutScavCaseStartRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("recipeId")]
public MongoId RecipeId { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutSettingsBase
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("generatorSpeedWithoutFuel")]
public double? GeneratorSpeedWithoutFuel { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutSingleProductionStartRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("recipeId")]
public MongoId RecipeId { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutTakeItemOutRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("areaType")]
public HideoutAreas? AreaType { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutTakeProductionRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("recipeId")]
public MongoId RecipeId { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutToggleAreaRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("areaType")]
public HideoutAreas? AreaType { get; set; }

Some files were not shown because too many files have changed in this diff Show More