diff --git a/Core/Models/Eft/Hideout/HideoutArea.cs b/Core/Models/Eft/Hideout/HideoutArea.cs index beb96da6..04e7fe39 100644 --- a/Core/Models/Eft/Hideout/HideoutArea.cs +++ b/Core/Models/Eft/Hideout/HideoutArea.cs @@ -6,144 +6,144 @@ namespace Core.Models.Eft.Hideout; public class HideoutArea { [JsonPropertyName("_id")] - public string Id { get; set; } + public string? Id { get; set; } [JsonPropertyName("type")] - public int Type { get; set; } + public int? Type { get; set; } [JsonPropertyName("enabled")] - public bool IsEnabled { get; set; } + public bool? IsEnabled { get; set; } [JsonPropertyName("needsFuel")] - public bool NeedsFuel { get; set; } + public bool? NeedsFuel { get; set; } [JsonPropertyName("requirements")] - public List Requirements { get; set; } + public List? Requirements { get; set; } [JsonPropertyName("takeFromSlotLocked")] - public bool IsTakeFromSlotLocked { get; set; } + public bool? IsTakeFromSlotLocked { get; set; } [JsonPropertyName("craftGivesExp")] - public bool CraftGivesExperience { get; set; } + public bool? CraftGivesExperience { get; set; } [JsonPropertyName("displayLevel")] - public bool DisplayLevel { get; set; } + public bool? DisplayLevel { get; set; } [JsonPropertyName("enableAreaRequirements")] - public bool EnableAreaRequirements { get; set; } + public bool? EnableAreaRequirements { get; set; } [JsonPropertyName("parentArea")] public string? ParentArea { get; set; } [JsonPropertyName("stages")] - public Dictionary Stages { get; set; } + public Dictionary? Stages { get; set; } } public class HideoutAreaRequirement { [JsonPropertyName("areaType")] - public int AreaType { get; set; } + public int? AreaType { get; set; } [JsonPropertyName("requiredLevel")] - public int RequiredLevel { get; set; } + public int? RequiredLevel { get; set; } [JsonPropertyName("type")] - public string Type { get; set; } + public string? Type { get; set; } } public class Stage { [JsonPropertyName("autoUpgrade")] - public bool AutoUpgrade { get; set; } + public bool? AutoUpgrade { get; set; } [JsonPropertyName("bonuses")] - public List Bonuses { get; set; } + public List? Bonuses { get; set; } [JsonPropertyName("constructionTime")] - public double ConstructionTime { get; set; } + public double? ConstructionTime { get; set; } /** Containers inventory tpl */ [JsonPropertyName("container")] public string? Container { get; set; } [JsonPropertyName("description")] - public string Description { get; set; } - + public string? Description { get; set; } + [JsonPropertyName("globalCounterId")] - public string GlobalCounterId { get; set; } + public string? GlobalCounterId { get; set; } [JsonPropertyName("displayInterface")] - public bool DisplayInterface { get; set; } + public bool? DisplayInterface { get; set; } [JsonPropertyName("improvements")] - public List Improvements { get; set; } + public List? Improvements { get; set; } [JsonPropertyName("requirements")] - public List Requirements { get; set; } + public List? Requirements { get; set; } [JsonPropertyName("slots")] - public int Slots { get; set; } + public int? Slots { get; set; } } public class StageImprovement { [JsonPropertyName("id")] - public string Id { get; set; } + public string? Id { get; set; } [JsonPropertyName("bonuses")] - public List Bonuses { get; set; } + public List? Bonuses { get; set; } [JsonPropertyName("improvementTime")] - public int ImprovementTime { get; set; } + public int? ImprovementTime { get; set; } [JsonPropertyName("requirements")] - public List Requirements { get; set; } + public List? Requirements { get; set; } } public class StageImprovementBonus { [JsonPropertyName("id")] - public string Id { get; set; } - + public string? Id { get; set; } + [JsonPropertyName("passive")] - public bool IsPassive { get; set; } + public bool? IsPassive { get; set; } [JsonPropertyName("production")] - public bool IsProduction { get; set; } - + public bool? IsProduction { get; set; } + [JsonPropertyName("skillType")] [JsonConverter(typeof(JsonStringEnumConverter))] - public SkillTypes SkillType { get; set; } + public SkillTypes? SkillType { get; set; } [JsonPropertyName("type")] - public string Type { get; set; } + public string? Type { get; set; } [JsonPropertyName("value")] - public int Value { get; set; } + public int? Value { get; set; } [JsonPropertyName("visible")] - public bool IsVisible { get; set; } + public bool? IsVisible { get; set; } } public class StageImprovementRequirement { [JsonPropertyName("count")] - public int Count { get; set; } + public int? Count { get; set; } [JsonPropertyName("isEncoded")] - public bool IsEncoded { get; set; } + public bool? IsEncoded { get; set; } [JsonPropertyName("isFunctional")] - public bool IsFunctional { get; set; } + public bool? IsFunctional { get; set; } [JsonPropertyName("templateId")] - public string TemplateId { get; set; } + public string? TemplateId { get; set; } [JsonPropertyName("isSpawnedInSession")] - public bool IsSpawnedInSession { get; set; } + public bool? IsSpawnedInSession { get; set; } [JsonPropertyName("type")] - public string Type { get; set; } + public string? Type { get; set; } } public class StageRequirement : RequirementBase @@ -155,28 +155,28 @@ public class StageRequirement : RequirementBase public int? RequiredLevel { get; set; } [JsonPropertyName("templateId")] - public string TemplateId { get; set; } + public string? TemplateId { get; set; } [JsonPropertyName("count")] public int? Count { get; set; } [JsonPropertyName("isEncoded")] - public bool IsEncoded { get; set; } = false; + public bool? IsEncoded { get; set; } = false; [JsonPropertyName("isFunctional")] - public bool IsFunctional { get; set; } + public bool? IsFunctional { get; set; } [JsonPropertyName("traderId")] - public string TraderId { get; set; } - + public string? TraderId { get; set; } + [JsonPropertyName("isSpawnedInSession")] - public bool IsSpawnedInSession { get; set; } + public bool? IsSpawnedInSession { get; set; } [JsonPropertyName("loyaltyLevel")] public int? LoyaltyLevel { get; set; } [JsonPropertyName("skillName")] - public string SkillName { get; set; } + public string? SkillName { get; set; } [JsonPropertyName("skillLevel")] public int? SkillLevel { get; set; } @@ -185,16 +185,16 @@ public class StageRequirement : RequirementBase public class StageBonus { [JsonPropertyName("value")] - public int Value { get; set; } + public int? Value { get; set; } [JsonPropertyName("passive")] - public bool Passive { get; set; } + public bool? Passive { get; set; } [JsonPropertyName("production")] - public bool Production { get; set; } + public bool? Production { get; set; } [JsonPropertyName("visible")] - public bool Visible { get; set; } + public bool? Visible { get; set; } [JsonPropertyName("skillType")] [JsonConverter(typeof(JsonStringEnumConverter))] @@ -202,18 +202,18 @@ public class StageBonus [JsonPropertyName("type")] [JsonConverter(typeof(JsonStringEnumConverter))] - public BonusType Type { get; set; } + public BonusType? Type { get; set; } [JsonPropertyName("filter")] - public List Filter { get; set; } + public List? Filter { get; set; } [JsonPropertyName("icon")] - public string Icon { get; set; } + public string? Icon { get; set; } /** CHANGES PER DUMP */ [JsonPropertyName("id")] - public string Id { get; set; } + public string? Id { get; set; } [JsonPropertyName("templateId")] - public string TemplateId { get; set; } + public string? TemplateId { get; set; } } \ No newline at end of file diff --git a/Core/Models/Eft/Hideout/HideoutProduction.cs b/Core/Models/Eft/Hideout/HideoutProduction.cs index efe8a10f..c4a96289 100644 --- a/Core/Models/Eft/Hideout/HideoutProduction.cs +++ b/Core/Models/Eft/Hideout/HideoutProduction.cs @@ -6,84 +6,84 @@ namespace Core.Models.Eft.Hideout; public class HideoutProductionData { [JsonPropertyName("recipes")] - public List Recipes { get; set; } + public List? Recipes { get; set; } [JsonPropertyName("scavRecipes")] - public List ScavRecipes { get; set; } + public List? ScavRecipes { get; set; } [JsonPropertyName("cultistRecipes")] - public List CultistRecipes { get; set; } + public List? CultistRecipes { get; set; } } public class HideoutProduction { [JsonPropertyName("_id")] - public string Id { get; set; } + public string? Id { get; set; } [JsonPropertyName("areaType")] - public int AreaType { get; set; } + public int? AreaType { get; set; } [JsonPropertyName("requirements")] - public List Requirements { get; set; } + public List? Requirements { get; set; } [JsonPropertyName("productionTime")] - public int ProductionTime { get; set; } + public int? ProductionTime { get; set; } /** Tpl of item being crafted */ [JsonPropertyName("endProduct")] - public string EndProduct { get; set; } + public string? EndProduct { get; set; } [JsonPropertyName("isEncoded")] - public bool IsEncoded { get; set; } + public bool? IsEncoded { get; set; } [JsonPropertyName("locked")] - public bool Locked { get; set; } + public bool? Locked { get; set; } [JsonPropertyName("needFuelForAllProductionTime")] - public bool NeedFuelForAllProductionTime { get; set; } + public bool? NeedFuelForAllProductionTime { get; set; } [JsonPropertyName("continuous")] - public bool Continuous { get; set; } + public bool? Continuous { get; set; } [JsonPropertyName("count")] - public int Count { get; set; } + public int? Count { get; set; } [JsonPropertyName("productionLimitCount")] - public int ProductionLimitCount { get; set; } + public int? ProductionLimitCount { get; set; } [JsonPropertyName("isCodeProduction")] - public bool IsCodeProduction { get; set; } + public bool? IsCodeProduction { get; set; } } public class Requirement : RequirementBase { [JsonPropertyName("templateId")] public string? TemplateId { get; set; } - + [JsonPropertyName("count")] public int? Count { get; set; } - + [JsonPropertyName("isEncoded")] public bool? IsEncoded { get; set; } - + [JsonPropertyName("isFunctional")] public bool? IsFunctional { get; set; } - + [JsonPropertyName("areaType")] public int? AreaType { get; set; } - + [JsonPropertyName("requiredLevel")] public int? RequiredLevel { get; set; } - + [JsonPropertyName("resource")] public int? Resource { get; set; } - + [JsonPropertyName("questId")] public string? QuestId { get; set; } - + [JsonPropertyName("isSpawnedInSession")] public bool? IsSpawnedInSession { get; set; } - + [JsonPropertyName("gameVersions")] public List? GameVersions { get; set; } } @@ -91,38 +91,38 @@ public class Requirement : RequirementBase public class RequirementBase { [JsonPropertyName("type")] - public string Type { get; set; } + public string? Type { get; set; } } public class ScavRecipe { [JsonPropertyName("_id")] - public string Id { get; set; } - + public string? Id { get; set; } + [JsonPropertyName("requirements")] - public List Requirements { get; set; } - + public List? Requirements { get; set; } + [JsonPropertyName("productionTime")] - public int ProductionTime { get; set; } - + public int? ProductionTime { get; set; } + [JsonPropertyName("endProducts")] - public EndProducts EndProducts { get; set; } + public EndProducts? EndProducts { get; set; } } public class EndProducts { [JsonPropertyName("Common")] - public MinMax Common { get; set; } - + public MinMax? Common { get; set; } + [JsonPropertyName("Rare")] - public MinMax Rare { get; set; } - + public MinMax? Rare { get; set; } + [JsonPropertyName("Superrare")] - public MinMax Superrare { get; set; } + public MinMax? Superrare { get; set; } } public class CultistRecipe { [JsonPropertyName("_id")] - public string Id { get; set; } + public string? Id { get; set; } } \ No newline at end of file diff --git a/Core/Models/Eft/Hideout/QteData.cs b/Core/Models/Eft/Hideout/QteData.cs index 0c1734e0..db2a3c17 100644 --- a/Core/Models/Eft/Hideout/QteData.cs +++ b/Core/Models/Eft/Hideout/QteData.cs @@ -5,25 +5,25 @@ using Core.Models.Enums.Hideout; namespace Core.Models.Eft.Hideout; -public class QteData +public class QteData { [JsonPropertyName("id")] - public string Id { get; set; } + public string? Id { get; set; } [JsonPropertyName("type")] - public QteActivityType Type { get; set; } + public QteActivityType? Type { get; set; } [JsonPropertyName("area")] - public HideoutAreas Area { get; set; } + public HideoutAreas? Area { get; set; } [JsonPropertyName("areaLevel")] - public int AreaLevel { get; set; } + public int? AreaLevel { get; set; } [JsonPropertyName("quickTimeEvents")] - public List QuickTimeEvents { get; set; } + public List? QuickTimeEvents { get; set; } [JsonPropertyName("requirements")] - public List Requirements { get; set; } + public List? Requirements { get; set; } /* TODO: Could be an array of any of these: | IAreaRequirement @@ -39,218 +39,219 @@ public class QteData */ [JsonPropertyName("results")] - public Dictionary Results { get; set; } + public Dictionary? Results { get; set; } } public class QuickTimeEvent { [JsonPropertyName("type")] [JsonConverter(typeof(JsonStringEnumConverter))] - public QteType EventType { get; set; } - + public QteType? EventType { get; set; } + [JsonPropertyName("position")] - public Position Coordinates { get; set; } - + public Position? Coordinates { get; set; } + [JsonPropertyName("startDelay")] - public double StartDelay { get; set; } - + public double? StartDelay { get; set; } + [JsonPropertyName("endDelay")] - public double EndDelay { get; set; } - + public double? EndDelay { get; set; } + [JsonPropertyName("speed")] - public float MovementSpeed { get; set; } - + public float? MovementSpeed { get; set; } + [JsonPropertyName("successRange")] - public Position SuccessCoordinates { get; set; } - + public Position? SuccessCoordinates { get; set; } + [JsonPropertyName("key")] - public string UniqueKey { get; set; } + public string? UniqueKey { get; set; } } public class QteRequirement { [JsonPropertyName("type")] - public RequirementType RequirementType { get; set; } + public RequirementType? RequirementType { get; set; } } public class QteResult { [JsonPropertyName("energy")] - public int Energy { get; set; } - + public int? Energy { get; set; } + [JsonPropertyName("hydration")] - public int Hydration { get; set; } - + public int? Hydration { get; set; } + [JsonPropertyName("rewardsRange")] - public List RewardEffects { get; set; } + public List? RewardEffects { get; set; } } public class QteEffect { [JsonPropertyName("type")] [JsonConverter(typeof(JsonStringEnumConverter))] - public QteRewardType EffectType { get; set; } - + public QteRewardType? EffectType { get; set; } + [JsonPropertyName("skillId")] [JsonConverter(typeof(JsonStringEnumConverter))] - public SkillTypes SkillIdentifier { get; set; } - + public SkillTypes? SkillIdentifier { get; set; } + [JsonPropertyName("levelMultipliers")] - public List LevelMultipliers { get; set; } - + public List? LevelMultipliers { get; set; } + [JsonPropertyName("time")] - public int DurationInMilliseconds { get; set; } - + public int? DurationInMilliseconds { get; set; } + [JsonPropertyName("weight")] - public float EffectWeight { get; set; } - + public float? EffectWeight { get; set; } + [JsonPropertyName("result")] [JsonConverter(typeof(JsonStringEnumConverter))] - public QteResultType ResultType { get; set; } + public QteResultType? ResultType { get; set; } } public class SkillLevelMultiplier { [JsonPropertyName("level")] - public int Level { get; set; } - + public int? Level { get; set; } + [JsonPropertyName("multiplier")] - public float MultiplierValue { get; set; } + public float? MultiplierValue { get; set; } } public class Position { [JsonPropertyName("x")] - public float X { get; set; } + public float? X { get; set; } + [JsonPropertyName("y")] - public float Y { get; set; } + public float? Y { get; set; } } public class AreaRequirement : QteRequirement { [JsonPropertyName("type")] - public RequirementType Type { get; set; } = RequirementType.Area; + public RequirementType? Type { get; set; } = RequirementType.Area; [JsonPropertyName("areaType")] - public HideoutAreas AreaType { get; set; } + public HideoutAreas? AreaType { get; set; } [JsonPropertyName("requiredLevel")] - public int RequiredLevel { get; set; } + public int? RequiredLevel { get; set; } } public class TraderUnlockRequirement : QteRequirement { [JsonPropertyName("type")] - public RequirementType Type { get; set; } = RequirementType.TraderUnlock; + public RequirementType? Type { get; set; } = RequirementType.TraderUnlock; [JsonPropertyName("traderId")] - public string TraderId { get; set; } + public string? TraderId { get; set; } } public class TraderLoyaltyRequirement : QteRequirement { [JsonPropertyName("type")] - public RequirementType Type { get; set; } = RequirementType.TraderLoyalty; + public RequirementType? Type { get; set; } = RequirementType.TraderLoyalty; [JsonPropertyName("traderId")] - public string TraderId { get; set; } + public string? TraderId { get; set; } [JsonPropertyName("loyaltyLevel")] - public int LoyaltyLevel { get; set; } + public int? LoyaltyLevel { get; set; } } public class SkillRequirement : QteRequirement { [JsonPropertyName("type")] - public RequirementType Type { get; set; } = RequirementType.Skill; + public RequirementType? Type { get; set; } = RequirementType.Skill; [JsonPropertyName("skillName")] - public SkillTypes SkillName { get; set; } + public SkillTypes? SkillName { get; set; } [JsonPropertyName("skillLevel")] - public int SkillLevel { get; set; } + public int? SkillLevel { get; set; } } public class ResourceRequirement : QteRequirement { [JsonPropertyName("type")] - public RequirementType Type { get; set; } = RequirementType.Resource; + public RequirementType? Type { get; set; } = RequirementType.Resource; [JsonPropertyName("templateId")] - public string TemplateId { get; set; } + public string? TemplateId { get; set; } [JsonPropertyName("resource")] - public int Resource { get; set; } + public int? Resource { get; set; } } public class ItemRequirement : QteRequirement { [JsonPropertyName("type")] - public RequirementType Type { get; set; } = RequirementType.Item; + public RequirementType? Type { get; set; } = RequirementType.Item; [JsonPropertyName("templateId")] - public string TemplateId { get; set; } + public string? TemplateId { get; set; } [JsonPropertyName("count")] - public int Count { get; set; } + public int? Count { get; set; } [JsonPropertyName("isFunctional")] - public bool IsFunctional { get; set; } + public bool? IsFunctional { get; set; } [JsonPropertyName("isEncoded")] - public bool IsEncoded { get; set; } + public bool? IsEncoded { get; set; } } public class ToolRequirement : QteRequirement { [JsonPropertyName("type")] - public RequirementType Type { get; set; } = RequirementType.Tool; + public RequirementType? Type { get; set; } = RequirementType.Tool; [JsonPropertyName("templateId")] - public string TemplateId { get; set; } + public string? TemplateId { get; set; } [JsonPropertyName("count")] - public int Count { get; set; } + public int? Count { get; set; } [JsonPropertyName("isFunctional")] - public bool IsFunctional { get; set; } + public bool? IsFunctional { get; set; } [JsonPropertyName("isEncoded")] - public bool IsEncoded { get; set; } + public bool? IsEncoded { get; set; } } public class QuestRequirement : QteRequirement { [JsonPropertyName("type")] - public RequirementType Type { get; set; } = RequirementType.QuestComplete; + public RequirementType? Type { get; set; } = RequirementType.QuestComplete; [JsonPropertyName("questId")] - public string QuestId { get; set; } + public string? QuestId { get; set; } } public class HealthRequirement : QteRequirement { [JsonPropertyName("type")] - public RequirementType Type { get; set; } = RequirementType.Health; + public RequirementType? Type { get; set; } = RequirementType.Health; [JsonPropertyName("energy")] - public int Energy { get; set; } + public int? Energy { get; set; } [JsonPropertyName("hydration")] - public int Hydration { get; set; } + public int? Hydration { get; set; } } public class BodyPartBuffRequirement : QteRequirement { [JsonPropertyName("type")] - public RequirementType Type { get; set; } = RequirementType.BodyPartBuff; + public RequirementType? Type { get; set; } = RequirementType.BodyPartBuff; [JsonPropertyName("effectName")] - public Effect EffectName { get; set; } + public Effect? EffectName { get; set; } [JsonPropertyName("bodyPart")] - public BodyPart BodyPart { get; set; } + public BodyPart? BodyPart { get; set; } [JsonPropertyName("excluded")] - public bool Excluded { get; set; } + public bool? Excluded { get; set; } } \ No newline at end of file