From 2565cafc27ecd7539156cf836ffcd237384f3dc2 Mon Sep 17 00:00:00 2001 From: Archangel Date: Mon, 22 Dec 2025 14:41:30 +0100 Subject: [PATCH] Always force a ChangeRequirement dict to exist --- .../Controllers/RepeatableQuestController.cs | 3 ++- .../Models/Eft/Common/Tables/RepeatableQuests.cs | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Controllers/RepeatableQuestController.cs b/Libraries/SPTarkov.Server.Core/Controllers/RepeatableQuestController.cs index 0b183704..a48e1288 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/RepeatableQuestController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/RepeatableQuestController.cs @@ -607,7 +607,7 @@ public class RepeatableQuestController( fullProfile.SptData.FreeRepeatableRefreshUsedCount[repeatableTypeLower] = 0; // Create stupid redundant change requirements from quest data - generatedRepeatables.ChangeRequirement = new Dictionary(); + generatedRepeatables.ChangeRequirement = []; foreach (var quest in generatedRepeatables.ActiveQuests) { generatedRepeatables.ChangeRequirement.TryAdd( @@ -707,6 +707,7 @@ public class RepeatableQuestController( EndTime = 0, FreeChanges = hasAccess ? repeatableConfig.FreeChanges : 0, FreeChangesAvailable = hasAccess ? repeatableConfig.FreeChangesAvailable : 0, + ChangeRequirement = [], }; // Add base object that holds repeatable data to profile diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/RepeatableQuests.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/RepeatableQuests.cs index 101530bb..02535964 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/RepeatableQuests.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/RepeatableQuests.cs @@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common.Tables; public record RepeatableQuest : Quest { [JsonPropertyName("changeCost")] - public List? ChangeCost { get; set; } + public required List ChangeCost { get; set; } [JsonPropertyName("changeStandingCost")] public int? ChangeStandingCost { get; set; } @@ -94,7 +94,7 @@ public record PmcDataRepeatableQuest /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] [JsonPropertyName("changeRequirement")] - public Dictionary? ChangeRequirement { get; set; } + public required Dictionary ChangeRequirement { get; set; } = []; [JsonPropertyName("freeChanges")] public int? FreeChanges { get; set; } @@ -106,10 +106,10 @@ public record PmcDataRepeatableQuest public record ChangeRequirement { [JsonPropertyName("changeCost")] - public List? ChangeCost { get; set; } + public required List ChangeCost { get; set; } = []; [JsonPropertyName("changeStandingCost")] - public double? ChangeStandingCost { get; set; } + public required double ChangeStandingCost { get; set; } } public record ChangeCost