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,
+ }
+ );
}
}