diff --git a/Libraries/Core/Controllers/QuestController.cs b/Libraries/Core/Controllers/QuestController.cs index 93ec446e..d925b49f 100644 --- a/Libraries/Core/Controllers/QuestController.cs +++ b/Libraries/Core/Controllers/QuestController.cs @@ -384,20 +384,23 @@ public class QuestController( private void UpdateProfileTaskConditionCounterValue(PmcData pmcData, string conditionId, string questId, double counterValue) { - if (pmcData.TaskConditionCounters[conditionId] != null) + if (pmcData.TaskConditionCounters.GetValueOrDefault(conditionId) != null) { pmcData.TaskConditionCounters[conditionId].Value += counterValue; return; } - pmcData.TaskConditionCounters[conditionId] = new TaskConditionCounter + if (!pmcData.TaskConditionCounters.TryAdd(conditionId, new TaskConditionCounter + { + Id = conditionId, + SourceId = questId, + Type = "HandoverItem", + Value = counterValue + })) { - Id = conditionId, - SourceId = questId, - Type = "HandoverItem", - Value = counterValue - }; + _logger.Warning($"Unable to add task condition counter for condition {conditionId}"); + } } public ItemEventRouterResponse FailQuest(PmcData pmcData, FailQuestRequestData request, string sessionID, ItemEventRouterResponse output) diff --git a/Libraries/Core/Services/InsuranceService.cs b/Libraries/Core/Services/InsuranceService.cs index 3c0c517f..18033de1 100644 --- a/Libraries/Core/Services/InsuranceService.cs +++ b/Libraries/Core/Services/InsuranceService.cs @@ -325,7 +325,7 @@ public class InsuranceService( /// True if exists protected bool InsuranceTraderArrayExists(string sessionId, string traderId) { - return _insured[sessionId][traderId] is not null; + return _insured[sessionId].GetValueOrDefault(traderId) is not null; } ///