From 2ea969592bba067669ee310e099d5a3d1e1d6aa3 Mon Sep 17 00:00:00 2001 From: Chomp Date: Thu, 24 Jul 2025 14:17:48 +0100 Subject: [PATCH] Cleaned up `AddTaskConditionCountersToProfile` --- .../Controllers/QuestController.cs | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Controllers/QuestController.cs b/Libraries/SPTarkov.Server.Core/Controllers/QuestController.cs index 06c24d3a..5a57183d 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/QuestController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/QuestController.cs @@ -136,38 +136,42 @@ public class QuestController( } /// - /// Add a quests condition counters to chosen profile + /// Add a quest condition counters to chosen profile + /// Currently only used to add `SellItemToTrader` conditions /// - /// Conditions to iterate over and possibly add to profile + /// Conditions to iterate over and possibly add to profile /// Players PMC profile /// Quest where conditions originated protected void AddTaskConditionCountersToProfile( - List questConditions, + IEnumerable questConditionsToAdd, PmcData pmcData, MongoId questId ) { - foreach (var condition in questConditions) + foreach ( + var condition in questConditionsToAdd.Where(condition => + condition.ConditionType == "SellItemToTrader" + ) + ) { if (pmcData.TaskConditionCounters.TryGetValue(condition.Id, out _)) { - logger.Warning( - $"Unable to add new task condition counter: {condition.ConditionType} for quest: {questId} to profile: {pmcData.SessionId} as it already exists" + logger.Debug( + $"Condition counter: {condition.ConditionType} already exists for quest: {questId} in profile: {pmcData.SessionId}, skipping" ); + continue; } - switch (condition.ConditionType) - { - case "SellItemToTrader": - pmcData.TaskConditionCounters[condition.Id] = new TaskConditionCounter - { - Id = condition.Id, - SourceId = questId, - Type = condition.ConditionType, - Value = 0, - }; - break; - } + pmcData.TaskConditionCounters.Add( + condition.Id, + new TaskConditionCounter + { + Id = condition.Id, + SourceId = questId, + Type = condition.ConditionType, + Value = 0, + } + ); } }