diff --git a/Libraries/SPTarkov.Server.Core/Controllers/DialogueController.cs b/Libraries/SPTarkov.Server.Core/Controllers/DialogueController.cs index 46d6f79f..265841a7 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/DialogueController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/DialogueController.cs @@ -554,7 +554,7 @@ public class DialogueController( /// /// Session id /// Dialog id - protected void RemoveExpiredItemsFromMessage(MongoId sessionId, string dialogueId) + protected void RemoveExpiredItemsFromMessage(MongoId sessionId, MongoId dialogueId) { var dialogs = dialogueHelper.GetDialogsForProfile(sessionId); if (!dialogs.TryGetValue(dialogueId, out var dialog)) @@ -562,12 +562,15 @@ public class DialogueController( return; } - foreach (var message in dialog.Messages ?? []) + if (dialog.Messages is null) { - if (MessageHasExpired(message)) - { - message.Items = new MessageItems(); - } + return; + } + + foreach (var message in dialog.Messages.Where(MessageHasExpired)) + { + // Reset expired message items data + message.Items = new(); } }