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;
}
///