Removed unncessary nulls

This commit is contained in:
Chomp
2025-07-16 13:26:09 +01:00
parent e521c5ee8b
commit fdfbf66c1b
15 changed files with 178 additions and 186 deletions
@@ -664,11 +664,7 @@ public class InsuranceController(
insurance.SystemData?.Location, insurance.SystemData?.Location,
labsId, labsId,
StringComparison.OrdinalIgnoreCase StringComparison.OrdinalIgnoreCase
) ) && !(databaseService.GetLocation(labsId)?.Base?.Insurance ?? false);
&& !(
databaseService.GetLocation(labsId)?.Base?.Insurance.GetValueOrDefault(false)
?? false
);
} }
/// <summary> /// <summary>
@@ -686,11 +682,7 @@ public class InsuranceController(
insurance.SystemData?.Location, insurance.SystemData?.Location,
labyrinthId, labyrinthId,
StringComparison.OrdinalIgnoreCase StringComparison.OrdinalIgnoreCase
) ) && !(databaseService.GetLocation(labyrinthId)?.Base?.Insurance ?? false);
&& !(
databaseService.GetLocation(labyrinthId)?.Base?.Insurance.GetValueOrDefault(false)
?? false
);
} }
/// <summary> /// <summary>
@@ -313,8 +313,7 @@ public class ExplorationQuestGenerator(
// Exclude exits with a requirement to leave (e.g. car extracts) // Exclude exits with a requirement to leave (e.g. car extracts)
var possibleExits = exitPool var possibleExits = exitPool
.Where(exit => .Where(exit =>
exit.PassageRequirement is not null repeatableConfig.QuestConfig.Exploration.SpecificExits.PassageRequirementWhitelist.Contains(
|| repeatableConfig.QuestConfig.Exploration.SpecificExits.PassageRequirementWhitelist.Contains(
"PassageRequirement" "PassageRequirement"
) )
) )
@@ -13,7 +13,7 @@ public record Location
/// Map meta-data /// Map meta-data
/// </summary> /// </summary>
[JsonPropertyName("base")] [JsonPropertyName("base")]
public LocationBase? Base { get; set; } public LocationBase Base { get; set; }
/// <summary> /// <summary>
/// Loose loot positions and item weights /// Loose loot positions and item weights
@@ -72,7 +72,7 @@ public record LocationBase
public int? BotImpossible { get; set; } public int? BotImpossible { get; set; }
[JsonPropertyName("BotLocationModifier")] [JsonPropertyName("BotLocationModifier")]
public BotLocationModifier? BotLocationModifier { get; set; } public BotLocationModifier BotLocationModifier { get; set; }
[JsonPropertyName("BotMarksman")] [JsonPropertyName("BotMarksman")]
public int? BotMarksman { get; set; } public int? BotMarksman { get; set; }
@@ -81,7 +81,7 @@ public record LocationBase
/// Maximum Number of bots that are currently alive/loading/delayed /// Maximum Number of bots that are currently alive/loading/delayed
/// </summary> /// </summary>
[JsonPropertyName("BotMax")] [JsonPropertyName("BotMax")]
public int? BotMax { get; set; } public int BotMax { get; set; }
/// <summary> /// <summary>
/// Is not used in 33420 TODO: still needed? /// Is not used in 33420 TODO: still needed?
@@ -138,7 +138,7 @@ public record LocationBase
/// How soon bots will be allowed to spawn /// How soon bots will be allowed to spawn
/// </summary> /// </summary>
[JsonPropertyName("BotStart")] [JsonPropertyName("BotStart")]
public int? BotStart { get; set; } public int BotStart { get; set; }
/// <summary> /// <summary>
/// After this long bots will no longer spawn /// After this long bots will no longer spawn
@@ -159,7 +159,7 @@ public record LocationBase
public string? DisabledScavExits { get; set; } public string? DisabledScavExits { get; set; }
[JsonPropertyName("Enabled")] [JsonPropertyName("Enabled")]
public bool? Enabled { get; set; } public bool Enabled { get; set; }
[JsonPropertyName("EnableCoop")] [JsonPropertyName("EnableCoop")]
public bool? EnableCoop { get; set; } public bool? EnableCoop { get; set; }
@@ -186,10 +186,10 @@ public record LocationBase
public double? IconY { get; set; } public double? IconY { get; set; }
[JsonPropertyName("Id")] [JsonPropertyName("Id")]
public string? Id { get; set; } public required string Id { get; set; }
[JsonPropertyName("Insurance")] [JsonPropertyName("Insurance")]
public bool? Insurance { get; set; } public bool Insurance { get; set; }
[JsonPropertyName("IsSecret")] [JsonPropertyName("IsSecret")]
public bool? IsSecret { get; set; } public bool? IsSecret { get; set; }
@@ -219,7 +219,7 @@ public record LocationBase
public double? MinDistToFreePoint { get; set; } public double? MinDistToFreePoint { get; set; }
[JsonPropertyName("MinMaxBots")] [JsonPropertyName("MinMaxBots")]
public List<MinMaxBot>? MinMaxBots { get; set; } public List<MinMaxBot> MinMaxBots { get; set; }
[JsonPropertyName("MinPlayers")] [JsonPropertyName("MinPlayers")]
public int? MinPlayers { get; set; } public int? MinPlayers { get; set; }
@@ -243,7 +243,7 @@ public record LocationBase
public bool? OldSpawn { get; set; } public bool? OldSpawn { get; set; }
[JsonPropertyName("OpenZones")] [JsonPropertyName("OpenZones")]
public string? OpenZones { get; set; } public string OpenZones { get; set; }
[JsonPropertyName("Preview")] [JsonPropertyName("Preview")]
public Preview? Preview { get; set; } public Preview? Preview { get; set; }
@@ -288,7 +288,7 @@ public record LocationBase
public Dictionary<string, Area>? Areas { get; set; } public Dictionary<string, Area>? Areas { get; set; }
[JsonPropertyName("UnixDateTime")] [JsonPropertyName("UnixDateTime")]
public long? UnixDateTime { get; set; } public long UnixDateTime { get; set; }
[JsonPropertyName("_Id")] [JsonPropertyName("_Id")]
public MongoId IdField { get; set; } public MongoId IdField { get; set; }
@@ -299,7 +299,7 @@ public record LocationBase
[JsonPropertyName("EscapeTimeLimit")] [JsonPropertyName("EscapeTimeLimit")]
public double? EscapeTimeLimit { get; set; } public double? EscapeTimeLimit { get; set; }
// BSG fucked up another property name [Obsolete("BSG fucked up another property name")]
[JsonPropertyName("escape_time_limit")] [JsonPropertyName("escape_time_limit")]
public int Escape_Time_Limit_Do_Not_Use public int Escape_Time_Limit_Do_Not_Use
{ {
@@ -338,7 +338,7 @@ public record LocationBase
public bool? OneTimeSpawn { get; set; } public bool? OneTimeSpawn { get; set; }
[JsonPropertyName("exits")] [JsonPropertyName("exits")]
public List<Exit>? Exits { get; set; } public List<Exit> Exits { get; set; }
[JsonPropertyName("filter_ex")] [JsonPropertyName("filter_ex")]
public List<string>? FilterEx { get; set; } public List<string>? FilterEx { get; set; }
@@ -945,7 +945,7 @@ public record Exit
[JsonPropertyName("PassageRequirement")] [JsonPropertyName("PassageRequirement")]
[JsonConverter(typeof(JsonStringEnumConverter))] [JsonConverter(typeof(JsonStringEnumConverter))]
public RequirementState? PassageRequirement { get; set; } public RequirementState PassageRequirement { get; set; }
[JsonPropertyName("PlayersCount")] [JsonPropertyName("PlayersCount")]
public int? PlayersCount { get; set; } public int? PlayersCount { get; set; }
@@ -69,5 +69,5 @@ public record AchievementQuestConditionTypes
public List<QuestCondition>? Success { get; set; } public List<QuestCondition>? Success { get; set; }
[JsonPropertyName("fail")] [JsonPropertyName("fail")]
public List<QuestCondition>? Fail { get; set; } public List<QuestCondition> Fail { get; set; }
} }
@@ -13,10 +13,10 @@ public record CustomisationStorage
public MongoId Id { get; set; } public MongoId Id { get; set; }
[JsonPropertyName("source")] [JsonPropertyName("source")]
public string? Source { get; set; } public string Source { get; set; }
[JsonPropertyName("type")] [JsonPropertyName("type")]
public string? Type { get; set; } public string Type { get; set; }
} }
public record CustomisationType public record CustomisationType
@@ -9,22 +9,22 @@ public record CustomizationItem
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("_id")] [JsonPropertyName("_id")]
public string? Id { get; set; } public string Id { get; set; }
[JsonPropertyName("_name")] [JsonPropertyName("_name")]
public string? Name { get; set; } public string Name { get; set; }
[JsonPropertyName("_parent")] [JsonPropertyName("_parent")]
public string? Parent { get; set; } public string Parent { get; set; }
[JsonPropertyName("_type")] [JsonPropertyName("_type")]
public string? Type { get; set; } public string Type { get; set; }
[JsonPropertyName("_props")] [JsonPropertyName("_props")]
public CustomizationProps? Properties { get; set; } public CustomizationProps Properties { get; set; }
[JsonPropertyName("_proto")] [JsonPropertyName("_proto")]
public string? Proto { get; set; } public string Proto { get; set; }
} }
public class CustomizationProps public class CustomizationProps
@@ -66,28 +66,28 @@ public class CustomizationProps
public MongoId? Body { get; set; } public MongoId? Body { get; set; }
[JsonPropertyName("ProfileVersions")] [JsonPropertyName("ProfileVersions")]
public List<string>? ProfileVersions { get; set; } public List<string> ProfileVersions { get; set; }
[JsonPropertyName("Side")] [JsonPropertyName("Side")]
public List<string>? Side { get; set; } public List<string> Side { get; set; }
[JsonPropertyName("Name")] [JsonPropertyName("Name")]
public string? Name { get; set; } public string Name { get; set; }
[JsonPropertyName("ShortName")] [JsonPropertyName("ShortName")]
public string? ShortName { get; set; } public string ShortName { get; set; }
[JsonPropertyName("Description")] [JsonPropertyName("Description")]
public string? Description { get; set; } public string Description { get; set; }
[JsonPropertyName("DisableForMannequin")] [JsonPropertyName("DisableForMannequin")]
public bool? DisableForMannequin { get; set; } public bool DisableForMannequin { get; set; }
[JsonPropertyName("IsNotRandom")] [JsonPropertyName("IsNotRandom")]
public bool? IsNotRandom { get; set; } public bool? IsNotRandom { get; set; }
[JsonPropertyName("AvailableAsDefault")] [JsonPropertyName("AvailableAsDefault")]
public bool? AvailableAsDefault { get; set; } public bool AvailableAsDefault { get; set; }
[JsonPropertyName("EnvironmentUIType")] [JsonPropertyName("EnvironmentUIType")]
public string? EnvironmentUIType { get; set; } public string? EnvironmentUIType { get; set; }
@@ -96,13 +96,13 @@ public class CustomizationProps
public string? Interaction { get; set; } public string? Interaction { get; set; }
[JsonPropertyName("UsecTemplateId")] [JsonPropertyName("UsecTemplateId")]
public string? UsecTemplateId { get; set; } public MongoId? UsecTemplateId { get; set; }
[JsonPropertyName("BearTemplateId")] [JsonPropertyName("BearTemplateId")]
public string? BearTemplateId { get; set; } public MongoId? BearTemplateId { get; set; }
[JsonPropertyName("AssetPath")] [JsonPropertyName("AssetPath")]
public Prefab? AssetPath { get; set; } public Prefab AssetPath { get; set; }
[JsonPropertyName("HideGarbage")] [JsonPropertyName("HideGarbage")]
public bool? HideGarbage { get; set; } public bool? HideGarbage { get; set; }
@@ -9,10 +9,10 @@ public record HandbookBase
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("Categories")] [JsonPropertyName("Categories")]
public List<HandbookCategory>? Categories { get; set; } public List<HandbookCategory> Categories { get; set; }
[JsonPropertyName("Items")] [JsonPropertyName("Items")]
public List<HandbookItem>? Items { get; set; } public List<HandbookItem> Items { get; set; }
} }
public record HandbookCategory public record HandbookCategory
@@ -29,13 +29,13 @@ public record HandbookCategory
[JsonPropertyName("Icon")] [JsonPropertyName("Icon")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)] [JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public string? Icon { get; set; } public string Icon { get; set; }
[JsonPropertyName("Color")] [JsonPropertyName("Color")]
public string? Color { get; set; } public string Color { get; set; }
[JsonPropertyName("Order")] [JsonPropertyName("Order")]
public string? Order { get; set; } public string Order { get; set; }
} }
public record HandbookItem public record HandbookItem
@@ -11,10 +11,10 @@ public record LocationServices
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("TraderServerSettings")] [JsonPropertyName("TraderServerSettings")]
public TraderServerSettings? TraderServerSettings { get; set; } public TraderServerSettings TraderServerSettings { get; set; }
[JsonPropertyName("BTRServerSettings")] [JsonPropertyName("BTRServerSettings")]
public BtrServerSettings? BtrServerSettings { get; set; } public BtrServerSettings BtrServerSettings { get; set; }
} }
public record TraderServerSettings public record TraderServerSettings
@@ -23,7 +23,7 @@ public record TraderServerSettings
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("TraderServices")] [JsonPropertyName("TraderServices")]
public TraderServices? TraderServices { get; set; } public TraderServices TraderServices { get; set; }
} }
public record TraderServices public record TraderServices
@@ -32,25 +32,25 @@ public record TraderServices
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("ExUsecLoyalty")] [JsonPropertyName("ExUsecLoyalty")]
public TraderService? ExUsecLoyalty { get; set; } public TraderService ExUsecLoyalty { get; set; }
[JsonPropertyName("ZryachiyAid")] [JsonPropertyName("ZryachiyAid")]
public TraderService? ZryachiyAid { get; set; } public TraderService ZryachiyAid { get; set; }
[JsonPropertyName("CultistsAid")] [JsonPropertyName("CultistsAid")]
public TraderService? CultistsAid { get; set; } public TraderService CultistsAid { get; set; }
[JsonPropertyName("PlayerTaxi")] [JsonPropertyName("PlayerTaxi")]
public TraderService? PlayerTaxi { get; set; } public TraderService PlayerTaxi { get; set; }
[JsonPropertyName("BtrItemsDelivery")] [JsonPropertyName("BtrItemsDelivery")]
public TraderService? BtrItemsDelivery { get; set; } public TraderService BtrItemsDelivery { get; set; }
[JsonPropertyName("BtrBotCover")] [JsonPropertyName("BtrBotCover")]
public TraderService? BtrBotCover { get; set; } public TraderService BtrBotCover { get; set; }
[JsonPropertyName("TransitItemsDelivery")] [JsonPropertyName("TransitItemsDelivery")]
public TraderService? TransitItemsDelivery { get; set; } public TraderService TransitItemsDelivery { get; set; }
} }
public record TraderService public record TraderService
@@ -59,21 +59,21 @@ public record TraderService
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("TraderId")] [JsonPropertyName("TraderId")]
public string? TraderId { get; set; } public string TraderId { get; set; }
[JsonPropertyName("TraderServiceType")] [JsonPropertyName("TraderServiceType")]
public TraderServiceType? TraderServiceType { get; set; } public TraderServiceType TraderServiceType { get; set; }
[JsonPropertyName("Requirements")] [JsonPropertyName("Requirements")]
public ServiceRequirements? Requirements { get; set; } public ServiceRequirements Requirements { get; set; }
[JsonPropertyName("ServiceItemCost")] [JsonPropertyName("ServiceItemCost")]
[JsonConverter(typeof(ArrayToObjectFactoryConverter))] [JsonConverter(typeof(ArrayToObjectFactoryConverter))]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)] [JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public Dictionary<string, ServiceItemCostDetails>? ServiceItemCost { get; set; } public Dictionary<string, ServiceItemCostDetails> ServiceItemCost { get; set; }
[JsonPropertyName("UniqueItems")] [JsonPropertyName("UniqueItems")]
public List<MongoId>? UniqueItems { get; set; } public List<MongoId> UniqueItems { get; set; }
} }
public record ServiceRequirements public record ServiceRequirements
@@ -83,12 +83,12 @@ public record ServiceRequirements
[JsonPropertyName("CompletedQuests")] [JsonPropertyName("CompletedQuests")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)] [JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public List<CompletedQuest>? CompletedQuests { get; set; } public List<CompletedQuest> CompletedQuests { get; set; }
[JsonPropertyName("Standings")] [JsonPropertyName("Standings")]
[JsonConverter(typeof(ArrayToObjectFactoryConverter))] [JsonConverter(typeof(ArrayToObjectFactoryConverter))]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)] [JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public Dictionary<string, StandingRequirement>? Standings { get; set; } public Dictionary<string, StandingRequirement> Standings { get; set; }
} }
public record CompletedQuest public record CompletedQuest
@@ -97,7 +97,7 @@ public record CompletedQuest
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("QuestId")] [JsonPropertyName("QuestId")]
public string? QuestId { get; set; } public string QuestId { get; set; }
} }
public record StandingRequirement public record StandingRequirement
@@ -106,7 +106,7 @@ public record StandingRequirement
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("Value")] [JsonPropertyName("Value")]
public double? Value { get; set; } public double Value { get; set; }
} }
public record ServiceItemCostDetails public record ServiceItemCostDetails
@@ -115,7 +115,7 @@ public record ServiceItemCostDetails
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("Count")] [JsonPropertyName("Count")]
public int? Count { get; set; } public int Count { get; set; }
} }
public record BtrServerSettings public record BtrServerSettings
@@ -124,49 +124,49 @@ public record BtrServerSettings
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("ChanceSpawn")] [JsonPropertyName("ChanceSpawn")]
public double? ChanceSpawn { get; set; } public double ChanceSpawn { get; set; }
[JsonPropertyName("SpawnPeriod")] [JsonPropertyName("SpawnPeriod")]
public XYZ? SpawnPeriod { get; set; } public XYZ SpawnPeriod { get; set; }
[JsonPropertyName("MoveSpeed")] [JsonPropertyName("MoveSpeed")]
public float? MoveSpeed { get; set; } public float MoveSpeed { get; set; }
[JsonPropertyName("ReadyToDepartureTime")] [JsonPropertyName("ReadyToDepartureTime")]
public float? ReadyToDepartureTime { get; set; } public float ReadyToDepartureTime { get; set; }
[JsonPropertyName("CheckTurnDistanceTime")] [JsonPropertyName("CheckTurnDistanceTime")]
public float? CheckTurnDistanceTime { get; set; } public float CheckTurnDistanceTime { get; set; }
[JsonPropertyName("TurnCheckSensitivity")] [JsonPropertyName("TurnCheckSensitivity")]
public float? TurnCheckSensitivity { get; set; } public float TurnCheckSensitivity { get; set; }
[JsonPropertyName("DecreaseSpeedOnTurnLimit")] [JsonPropertyName("DecreaseSpeedOnTurnLimit")]
public double? DecreaseSpeedOnTurnLimit { get; set; } public double DecreaseSpeedOnTurnLimit { get; set; }
[JsonPropertyName("EndSplineDecelerationDistance")] [JsonPropertyName("EndSplineDecelerationDistance")]
public double? EndSplineDecelerationDistance { get; set; } public double EndSplineDecelerationDistance { get; set; }
[JsonPropertyName("AccelerationSpeed")] [JsonPropertyName("AccelerationSpeed")]
public double? AccelerationSpeed { get; set; } public double AccelerationSpeed { get; set; }
[JsonPropertyName("DecelerationSpeed")] [JsonPropertyName("DecelerationSpeed")]
public double? DecelerationSpeed { get; set; } public double DecelerationSpeed { get; set; }
[JsonPropertyName("PauseDurationRange")] [JsonPropertyName("PauseDurationRange")]
public XYZ? PauseDurationRange { get; set; } public XYZ PauseDurationRange { get; set; }
[JsonPropertyName("BodySwingReturnSpeed")] [JsonPropertyName("BodySwingReturnSpeed")]
public float? BodySwingReturnSpeed { get; set; } public float BodySwingReturnSpeed { get; set; }
[JsonPropertyName("BodySwingDamping")] [JsonPropertyName("BodySwingDamping")]
public float? BodySwingDamping { get; set; } public float BodySwingDamping { get; set; }
[JsonPropertyName("BodySwingIntensity")] [JsonPropertyName("BodySwingIntensity")]
public float? BodySwingIntensity { get; set; } public float BodySwingIntensity { get; set; }
[JsonPropertyName("ServerMapBTRSettings")] [JsonPropertyName("ServerMapBTRSettings")]
public Dictionary<string, ServerMapBtrsettings>? ServerMapBTRSettings { get; set; } public Dictionary<string, ServerMapBtrsettings> ServerMapBTRSettings { get; set; }
} }
public record ServerMapBtrsettings public record ServerMapBtrsettings
@@ -175,47 +175,47 @@ public record ServerMapBtrsettings
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("MapID")] [JsonPropertyName("MapID")]
public string? MapID { get; set; } public string MapID { get; set; }
[JsonPropertyName("ChanceSpawn")] [JsonPropertyName("ChanceSpawn")]
public double? ChanceSpawn { get; set; } public double ChanceSpawn { get; set; }
[JsonPropertyName("SpawnPeriod")] [JsonPropertyName("SpawnPeriod")]
public XYZ? SpawnPeriod { get; set; } public XYZ SpawnPeriod { get; set; }
[JsonPropertyName("MoveSpeed")] [JsonPropertyName("MoveSpeed")]
public float? MoveSpeed { get; set; } public float MoveSpeed { get; set; }
[JsonPropertyName("ReadyToDepartureTime")] [JsonPropertyName("ReadyToDepartureTime")]
public float? ReadyToDepartureTime { get; set; } public float ReadyToDepartureTime { get; set; }
[JsonPropertyName("CheckTurnDistanceTime")] [JsonPropertyName("CheckTurnDistanceTime")]
public float? CheckTurnDistanceTime { get; set; } public float CheckTurnDistanceTime { get; set; }
[JsonPropertyName("TurnCheckSensitivity")] [JsonPropertyName("TurnCheckSensitivity")]
public float? TurnCheckSensitivity { get; set; } public float TurnCheckSensitivity { get; set; }
[JsonPropertyName("DecreaseSpeedOnTurnLimit")] [JsonPropertyName("DecreaseSpeedOnTurnLimit")]
public float? DecreaseSpeedOnTurnLimit { get; set; } public float DecreaseSpeedOnTurnLimit { get; set; }
[JsonPropertyName("EndSplineDecelerationDistance")] [JsonPropertyName("EndSplineDecelerationDistance")]
public float? EndSplineDecelerationDistance { get; set; } public float EndSplineDecelerationDistance { get; set; }
[JsonPropertyName("AccelerationSpeed")] [JsonPropertyName("AccelerationSpeed")]
public float? AccelerationSpeed { get; set; } public float AccelerationSpeed { get; set; }
[JsonPropertyName("DecelerationSpeed")] [JsonPropertyName("DecelerationSpeed")]
public float? DecelerationSpeed { get; set; } public float DecelerationSpeed { get; set; }
[JsonPropertyName("PauseDurationRange")] [JsonPropertyName("PauseDurationRange")]
public XYZ? PauseDurationRange { get; set; } public XYZ PauseDurationRange { get; set; }
[JsonPropertyName("BodySwingReturnSpeed")] [JsonPropertyName("BodySwingReturnSpeed")]
public float? BodySwingReturnSpeed { get; set; } public float BodySwingReturnSpeed { get; set; }
[JsonPropertyName("BodySwingDamping")] [JsonPropertyName("BodySwingDamping")]
public float? BodySwingDamping { get; set; } public float BodySwingDamping { get; set; }
[JsonPropertyName("BodySwingIntensity")] [JsonPropertyName("BodySwingIntensity")]
public float? BodySwingIntensity { get; set; } public float BodySwingIntensity { get; set; }
} }
@@ -8,7 +8,7 @@ public record Match
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("metrics")] [JsonPropertyName("metrics")]
public Metrics? Metrics { get; set; } public Metrics Metrics { get; set; }
} }
public record Metrics public record Metrics
@@ -17,20 +17,20 @@ public record Metrics
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("Keys")] [JsonPropertyName("Keys")]
public List<int>? Keys { get; set; } public List<int> Keys { get; set; }
[JsonPropertyName("NetProcessingBins")] [JsonPropertyName("NetProcessingBins")]
public List<int>? NetProcessingBins { get; set; } public List<int> NetProcessingBins { get; set; }
[JsonPropertyName("RenderBins")] [JsonPropertyName("RenderBins")]
public List<int>? RenderBins { get; set; } public List<int> RenderBins { get; set; }
[JsonPropertyName("GameUpdateBins")] [JsonPropertyName("GameUpdateBins")]
public List<int>? GameUpdateBins { get; set; } public List<int> GameUpdateBins { get; set; }
[JsonPropertyName("MemoryMeasureInterval")] [JsonPropertyName("MemoryMeasureInterval")]
public int? MemoryMeasureInterval { get; set; } public int MemoryMeasureInterval { get; set; }
[JsonPropertyName("PauseReasons")] [JsonPropertyName("PauseReasons")]
public List<int>? PauseReasons { get; set; } public List<int> PauseReasons { get; set; }
} }
@@ -1,4 +1,5 @@
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using SPTarkov.Server.Core.Models.Common;
namespace SPTarkov.Server.Core.Models.Eft.Common.Tables; namespace SPTarkov.Server.Core.Models.Eft.Common.Tables;
@@ -8,7 +9,7 @@ public record Prestige
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("elements")] [JsonPropertyName("elements")]
public List<PrestigeElement>? Elements { get; set; } public List<PrestigeElement> Elements { get; set; }
} }
public record PrestigeElement public record PrestigeElement
@@ -17,22 +18,22 @@ public record PrestigeElement
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("id")] [JsonPropertyName("id")]
public string? Id { get; set; } public string Id { get; set; }
[JsonPropertyName("conditions")] [JsonPropertyName("conditions")]
public List<QuestCondition>? Conditions { get; set; } public List<QuestCondition> Conditions { get; set; }
[JsonPropertyName("rewards")] [JsonPropertyName("rewards")]
public List<Reward>? Rewards { get; set; } public List<Reward> Rewards { get; set; }
[JsonPropertyName("transferConfigs")] [JsonPropertyName("transferConfigs")]
public TransferConfigs? TransferConfigs { get; set; } public TransferConfigs TransferConfigs { get; set; }
[JsonPropertyName("image")] [JsonPropertyName("image")]
public string? Image { get; set; } public string Image { get; set; }
[JsonPropertyName("bigImage")] [JsonPropertyName("bigImage")]
public string? BigImage { get; set; } public string BigImage { get; set; }
} }
public record TransferConfigs public record TransferConfigs
@@ -41,13 +42,13 @@ public record TransferConfigs
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("stashConfig")] [JsonPropertyName("stashConfig")]
public StashPrestigeConfig? StashConfig { get; set; } public StashPrestigeConfig StashConfig { get; set; }
[JsonPropertyName("skillConfig")] [JsonPropertyName("skillConfig")]
public PrestigeSkillConfig? SkillConfig { get; set; } public PrestigeSkillConfig SkillConfig { get; set; }
[JsonPropertyName("masteringConfig")] [JsonPropertyName("masteringConfig")]
public PrestigeMasteringConfig? MasteringConfig { get; set; } public PrestigeMasteringConfig MasteringConfig { get; set; }
} }
public record StashPrestigeConfig public record StashPrestigeConfig
@@ -71,10 +72,10 @@ public record StashPrestigeFilters
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("includedItems")] [JsonPropertyName("includedItems")]
public List<string>? IncludedItems { get; set; } public List<MongoId> IncludedItems { get; set; }
[JsonPropertyName("excludedItems")] [JsonPropertyName("excludedItems")]
public List<string>? ExcludedItems { get; set; } public List<MongoId> ExcludedItems { get; set; }
} }
public record PrestigeSkillConfig public record PrestigeSkillConfig
@@ -83,7 +84,7 @@ public record PrestigeSkillConfig
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("transferMultiplier")] [JsonPropertyName("transferMultiplier")]
public double? TransferMultiplier { get; set; } public double TransferMultiplier { get; set; }
} }
public record PrestigeMasteringConfig public record PrestigeMasteringConfig
@@ -92,5 +93,5 @@ public record PrestigeMasteringConfig
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("transferMultiplier")] [JsonPropertyName("transferMultiplier")]
public double? TransferMultiplier { get; set; } public double TransferMultiplier { get; set; }
} }
@@ -162,14 +162,14 @@ public record WeaponBuild : UserBuild
public record EquipmentBuild : UserBuild public record EquipmentBuild : UserBuild
{ {
[JsonPropertyName("Root")] [JsonPropertyName("Root")]
public string? Root { get; set; } public MongoId Root { get; set; }
[JsonPropertyName("Items")] [JsonPropertyName("Items")]
public List<Item>? Items { get; set; } // Same as PMC inventory items public List<Item> Items { get; set; } // Same as PMC inventory items
[JsonPropertyName("BuildType")] [JsonPropertyName("BuildType")]
[JsonConverter(typeof(JsonStringEnumConverter))] [JsonConverter(typeof(JsonStringEnumConverter))]
public EquipmentBuildType? BuildType { get; set; } public EquipmentBuildType BuildType { get; set; }
} }
public record MagazineBuild : UserBuild public record MagazineBuild : UserBuild
@@ -205,7 +205,7 @@ public record MagazineTemplateAmmoItem
public record DefaultEquipmentPreset : EquipmentBuild public record DefaultEquipmentPreset : EquipmentBuild
{ {
[JsonPropertyName("type")] [JsonPropertyName("type")]
public string? Type { get; set; } public string Type { get; set; }
} }
public record Dialogue public record Dialogue
@@ -9,7 +9,7 @@ public record SettingsBase
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("config")] [JsonPropertyName("config")]
public Config? Configuration { get; set; } public Config Configuration { get; set; }
} }
public record Config public record Config
@@ -18,88 +18,88 @@ public record Config
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("AFKTimeoutSeconds")] [JsonPropertyName("AFKTimeoutSeconds")]
public int? AFKTimeoutSeconds { get; set; } public int AFKTimeoutSeconds { get; set; }
[JsonPropertyName("AdditionalRandomDelaySeconds")] [JsonPropertyName("AdditionalRandomDelaySeconds")]
public int? AdditionalRandomDelaySeconds { get; set; } public int AdditionalRandomDelaySeconds { get; set; }
[JsonPropertyName("AudioSettings")] [JsonPropertyName("AudioSettings")]
public AudioSettings? AudioSettings { get; set; } public AudioSettings AudioSettings { get; set; }
[JsonPropertyName("ClientSendRateLimit")] [JsonPropertyName("ClientSendRateLimit")]
public int? ClientSendRateLimit { get; set; } public int ClientSendRateLimit { get; set; }
[JsonPropertyName("CriticalRetriesCount")] [JsonPropertyName("CriticalRetriesCount")]
public int? CriticalRetriesCount { get; set; } public int CriticalRetriesCount { get; set; }
[JsonPropertyName("DefaultRetriesCount")] [JsonPropertyName("DefaultRetriesCount")]
public int? DefaultRetriesCount { get; set; } public int DefaultRetriesCount { get; set; }
[JsonPropertyName("FirstCycleDelaySeconds")] [JsonPropertyName("FirstCycleDelaySeconds")]
public int? FirstCycleDelaySeconds { get; set; } public int FirstCycleDelaySeconds { get; set; }
[JsonPropertyName("FramerateLimit")] [JsonPropertyName("FramerateLimit")]
public FramerateLimit? FramerateLimit { get; set; } public FramerateLimit FramerateLimit { get; set; }
[JsonPropertyName("GroupStatusInterval")] [JsonPropertyName("GroupStatusInterval")]
public int? GroupStatusInterval { get; set; } public int GroupStatusInterval { get; set; }
[JsonPropertyName("GroupStatusButtonInterval")] [JsonPropertyName("GroupStatusButtonInterval")]
public int? GroupStatusButtonInterval { get; set; } public int GroupStatusButtonInterval { get; set; }
[JsonPropertyName("KeepAliveInterval")] [JsonPropertyName("KeepAliveInterval")]
public int? KeepAliveInterval { get; set; } public int KeepAliveInterval { get; set; }
[JsonPropertyName("LobbyKeepAliveInterval")] [JsonPropertyName("LobbyKeepAliveInterval")]
public int? LobbyKeepAliveInterval { get; set; } public int LobbyKeepAliveInterval { get; set; }
[JsonPropertyName("Mark502and504AsNonImportant")] [JsonPropertyName("Mark502and504AsNonImportant")]
public bool? Mark502and504AsNonImportant { get; set; } public bool Mark502and504AsNonImportant { get; set; }
[JsonPropertyName("MemoryManagementSettings")] [JsonPropertyName("MemoryManagementSettings")]
public MemoryManagementSettings? MemoryManagementSettings { get; set; } public MemoryManagementSettings MemoryManagementSettings { get; set; }
[JsonPropertyName("NVidiaHighlights")] [JsonPropertyName("NVidiaHighlights")]
public bool? NVidiaHighlights { get; set; } public bool NVidiaHighlights { get; set; }
[JsonPropertyName("NextCycleDelaySeconds")] [JsonPropertyName("NextCycleDelaySeconds")]
public int? NextCycleDelaySeconds { get; set; } public int NextCycleDelaySeconds { get; set; }
[JsonPropertyName("PingServerResultSendInterval")] [JsonPropertyName("PingServerResultSendInterval")]
public int? PingServerResultSendInterval { get; set; } public int PingServerResultSendInterval { get; set; }
[JsonPropertyName("PingServersInterval")] [JsonPropertyName("PingServersInterval")]
public int? PingServersInterval { get; set; } public int PingServersInterval { get; set; }
[JsonPropertyName("ReleaseProfiler")] [JsonPropertyName("ReleaseProfiler")]
public ReleaseProfiler? ReleaseProfiler { get; set; } public ReleaseProfiler ReleaseProfiler { get; set; }
[JsonPropertyName("RequestConfirmationTimeouts")] [JsonPropertyName("RequestConfirmationTimeouts")]
public List<double>? RequestConfirmationTimeouts { get; set; } public List<double> RequestConfirmationTimeouts { get; set; }
[JsonPropertyName("RequestsMadeThroughLobby")] [JsonPropertyName("RequestsMadeThroughLobby")]
public List<string>? RequestsMadeThroughLobby { get; set; } public List<string> RequestsMadeThroughLobby { get; set; }
[JsonPropertyName("SecondCycleDelaySeconds")] [JsonPropertyName("SecondCycleDelaySeconds")]
public int? SecondCycleDelaySeconds { get; set; } public int SecondCycleDelaySeconds { get; set; }
[JsonPropertyName("ShouldEstablishLobbyConnection")] [JsonPropertyName("ShouldEstablishLobbyConnection")]
public bool? ShouldEstablishLobbyConnection { get; set; } public bool ShouldEstablishLobbyConnection { get; set; }
[JsonPropertyName("TurnOffLogging")] [JsonPropertyName("TurnOffLogging")]
public bool? TurnOffLogging { get; set; } public bool TurnOffLogging { get; set; }
[JsonPropertyName("WeaponOverlapDistanceCulling")] [JsonPropertyName("WeaponOverlapDistanceCulling")]
public int? WeaponOverlapDistanceCulling { get; set; } public int WeaponOverlapDistanceCulling { get; set; }
[JsonPropertyName("WebDiagnosticsEnabled")] [JsonPropertyName("WebDiagnosticsEnabled")]
public bool? WebDiagnosticsEnabled { get; set; } public bool WebDiagnosticsEnabled { get; set; }
[JsonPropertyName("NetworkStateView")] [JsonPropertyName("NetworkStateView")]
public NetworkStateView? NetworkStateView { get; set; } public NetworkStateView NetworkStateView { get; set; }
[JsonPropertyName("WsReconnectionDelays")] [JsonPropertyName("WsReconnectionDelays")]
public List<int>? WsReconnectionDelays { get; set; } public List<int> WsReconnectionDelays { get; set; }
} }
public record AudioSettings public record AudioSettings
@@ -108,22 +108,22 @@ public record AudioSettings
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("AudioGroupPresets")] [JsonPropertyName("AudioGroupPresets")]
public List<AudioGroupPreset>? AudioGroupPresets { get; set; } public List<AudioGroupPreset> AudioGroupPresets { get; set; }
[JsonPropertyName("EnvironmentSettings")] [JsonPropertyName("EnvironmentSettings")]
public EnvironmentSettings? EnvironmentSettings { get; set; } public EnvironmentSettings EnvironmentSettings { get; set; }
[JsonPropertyName("HeadphonesSettings")] [JsonPropertyName("HeadphonesSettings")]
public HeadphoneSettings HeadphonesSettings { get; set; } public HeadphoneSettings HeadphonesSettings { get; set; }
[JsonPropertyName("MetaXRAudioPluginSettings")] [JsonPropertyName("MetaXRAudioPluginSettings")]
public MetaXRAudioPluginSettings? MetaXRAudioPluginSettings { get; set; } public MetaXRAudioPluginSettings MetaXRAudioPluginSettings { get; set; }
[JsonPropertyName("PlayerSettings")] [JsonPropertyName("PlayerSettings")]
public PlayerSettings? PlayerSettings { get; set; } public PlayerSettings PlayerSettings { get; set; }
[JsonPropertyName("RadioBroadcastSettings")] [JsonPropertyName("RadioBroadcastSettings")]
public RadioBroadcastSettings? RadioBroadcastSettings { get; set; } public RadioBroadcastSettings RadioBroadcastSettings { get; set; }
} }
public record FramerateLimit public record FramerateLimit
@@ -132,13 +132,13 @@ public record FramerateLimit
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("MaxFramerateGameLimit")] [JsonPropertyName("MaxFramerateGameLimit")]
public int? MaxFramerateGameLimit { get; set; } public int MaxFramerateGameLimit { get; set; }
[JsonPropertyName("MaxFramerateLobbyLimit")] [JsonPropertyName("MaxFramerateLobbyLimit")]
public int? MaxFramerateLobbyLimit { get; set; } public int MaxFramerateLobbyLimit { get; set; }
[JsonPropertyName("MinFramerateLimit")] [JsonPropertyName("MinFramerateLimit")]
public int? MinFramerateLimit { get; set; } public int MinFramerateLimit { get; set; }
} }
public record MemoryManagementSettings public record MemoryManagementSettings
@@ -147,22 +147,22 @@ public record MemoryManagementSettings
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("AggressiveGC")] [JsonPropertyName("AggressiveGC")]
public bool? AggressiveGC { get; set; } public bool AggressiveGC { get; set; }
[JsonPropertyName("GigabytesRequiredToDisableGCDuringRaid")] [JsonPropertyName("GigabytesRequiredToDisableGCDuringRaid")]
public int? GigabytesRequiredToDisableGCDuringRaid { get; set; } public int GigabytesRequiredToDisableGCDuringRaid { get; set; }
[JsonPropertyName("HeapPreAllocationEnabled")] [JsonPropertyName("HeapPreAllocationEnabled")]
public bool? HeapPreAllocationEnabled { get; set; } public bool HeapPreAllocationEnabled { get; set; }
[JsonPropertyName("HeapPreAllocationMB")] [JsonPropertyName("HeapPreAllocationMB")]
public int? HeapPreAllocationMB { get; set; } public int HeapPreAllocationMB { get; set; }
[JsonPropertyName("OverrideRamCleanerSettings")] [JsonPropertyName("OverrideRamCleanerSettings")]
public bool? OverrideRamCleanerSettings { get; set; } public bool OverrideRamCleanerSettings { get; set; }
[JsonPropertyName("RamCleanerEnabled")] [JsonPropertyName("RamCleanerEnabled")]
public bool? RamCleanerEnabled { get; set; } public bool RamCleanerEnabled { get; set; }
} }
public record ReleaseProfiler public record ReleaseProfiler
@@ -171,13 +171,13 @@ public record ReleaseProfiler
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("Enabled")] [JsonPropertyName("Enabled")]
public bool? Enabled { get; set; } public bool Enabled { get; set; }
[JsonPropertyName("MaxRecords")] [JsonPropertyName("MaxRecords")]
public int? MaxRecords { get; set; } public int MaxRecords { get; set; }
[JsonPropertyName("RecordTriggerValue")] [JsonPropertyName("RecordTriggerValue")]
public int? RecordTriggerValue { get; set; } public int RecordTriggerValue { get; set; }
} }
public record NetworkStateView public record NetworkStateView
@@ -186,10 +186,10 @@ public record NetworkStateView
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("LossThreshold")] [JsonPropertyName("LossThreshold")]
public int? LossThreshold { get; set; } public int LossThreshold { get; set; }
[JsonPropertyName("RttThreshold")] [JsonPropertyName("RttThreshold")]
public int? RttThreshold { get; set; } public int RttThreshold { get; set; }
} }
public record AudioGroupPreset public record AudioGroupPreset
@@ -11,62 +11,62 @@ public record Templates
public Dictionary<string, object>? ExtensionData { get; set; } public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("character")] [JsonPropertyName("character")]
public List<string>? Character { get; set; } public List<string> Character { get; set; }
[JsonPropertyName("customisationStorage")] [JsonPropertyName("customisationStorage")]
public List<CustomisationStorage>? CustomisationStorage { get; set; } public List<CustomisationStorage> CustomisationStorage { get; set; }
[JsonPropertyName("items")] [JsonPropertyName("items")]
public Dictionary<MongoId, TemplateItem>? Items { get; set; } public Dictionary<MongoId, TemplateItem> Items { get; set; }
[JsonPropertyName("prestige")] [JsonPropertyName("prestige")]
public Prestige? Prestige { get; set; } public Prestige? Prestige { get; set; }
[JsonPropertyName("quests")] [JsonPropertyName("quests")]
public Dictionary<string, Quest>? Quests { get; set; } public Dictionary<string, Quest> Quests { get; set; }
[JsonPropertyName("repeatableQuests")] [JsonPropertyName("repeatableQuests")]
public RepeatableQuestDatabase? RepeatableQuests { get; set; } public RepeatableQuestDatabase RepeatableQuests { get; set; }
[JsonPropertyName("handbook")] [JsonPropertyName("handbook")]
public HandbookBase? Handbook { get; set; } public HandbookBase Handbook { get; set; }
[JsonPropertyName("customization")] [JsonPropertyName("customization")]
public Dictionary<MongoId, CustomizationItem>? Customization { get; set; } public Dictionary<MongoId, CustomizationItem> Customization { get; set; }
/// <summary> /// <summary>
/// The profile templates listed in the launcher on profile creation, split by account type (e.g. Standard) then side (e.g. bear/usec) /// The profile templates listed in the launcher on profile creation, split by account type (e.g. Standard) then side (e.g. bear/usec)
/// </summary> /// </summary>
[JsonPropertyName("profiles")] [JsonPropertyName("profiles")]
public Dictionary<string, ProfileSides>? Profiles { get; set; } public Dictionary<string, ProfileSides> Profiles { get; set; }
/// <summary> /// <summary>
/// Flea prices of items - gathered from online flea market dump /// Flea prices of items - gathered from online flea market dump
/// </summary> /// </summary>
[JsonPropertyName("prices")] [JsonPropertyName("prices")]
public Dictionary<MongoId, double>? Prices { get; set; } public Dictionary<MongoId, double> Prices { get; set; }
/// <summary> /// <summary>
/// Default equipment loadouts that show on main inventory screen /// Default equipment loadouts that show on main inventory screen
/// </summary> /// </summary>
[JsonPropertyName("defaultEquipmentPresets")] [JsonPropertyName("defaultEquipmentPresets")]
public List<DefaultEquipmentPreset>? DefaultEquipmentPresets { get; set; } public List<DefaultEquipmentPreset> DefaultEquipmentPresets { get; set; }
/// <summary> /// <summary>
/// Achievements /// Achievements
/// </summary> /// </summary>
[JsonPropertyName("achievements")] [JsonPropertyName("achievements")]
public List<Achievement>? Achievements { get; set; } public List<Achievement> Achievements { get; set; }
/// <summary> /// <summary>
/// Achievements /// Achievements
/// </summary> /// </summary>
[JsonPropertyName("customAchievements")] [JsonPropertyName("customAchievements")]
public List<Achievement>? CustomAchievements { get; set; } public List<Achievement> CustomAchievements { get; set; }
/// <summary> /// <summary>
/// Location services data /// Location services data
/// </summary> /// </summary>
[JsonPropertyName("locationServices")] [JsonPropertyName("locationServices")]
public LocationServices? LocationServices { get; set; } public LocationServices LocationServices { get; set; }
} }
@@ -569,7 +569,7 @@ public class PostDbLoadService(
map.Base.BotMax = cap; map.Base.BotMax = cap;
// make values no larger than 30 secs // make values no larger than 30 secs
map.Base.BotStart = Math.Min(map.Base.BotStart.Value, 30); map.Base.BotStart = Math.Min(map.Base.BotStart, 30);
} }
} }