Account for compound items in DialogHelper.GetMessageItemContents (#671)
Co-authored-by: Tyfon <29051038+tyfon7@users.noreply.github.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
using SPTarkov.DI.Annotations;
|
using SPTarkov.DI.Annotations;
|
||||||
|
using SPTarkov.Server.Core.Extensions;
|
||||||
using SPTarkov.Server.Core.Models.Common;
|
using SPTarkov.Server.Core.Models.Common;
|
||||||
using SPTarkov.Server.Core.Models.Eft.Common.Tables;
|
using SPTarkov.Server.Core.Models.Eft.Common.Tables;
|
||||||
using SPTarkov.Server.Core.Models.Eft.Profile;
|
using SPTarkov.Server.Core.Models.Eft.Profile;
|
||||||
@@ -67,9 +68,10 @@ public class DialogueHelper(ISptLogger<DialogueHelper> logger, ProfileHelper pro
|
|||||||
message.Items ??= new MessageItems();
|
message.Items ??= new MessageItems();
|
||||||
message.Items.Data ??= [];
|
message.Items.Data ??= [];
|
||||||
|
|
||||||
// Check reward count when item being moved isn't in reward list
|
// Check reward count when item being moved (and its children) isn't in reward list
|
||||||
// If count is 0, it means after this move occurs the reward array will be empty and all rewards collected
|
// If count is 0, it means after this move occurs the reward array will be empty and all rewards collected
|
||||||
var remainingItems = message.Items.Data.Where(x => x.Id != itemId);
|
var itemWithChildren = message.Items.Data.GetItemWithChildren(itemId);
|
||||||
|
var remainingItems = message.Items.Data.Except(itemWithChildren);
|
||||||
if (!remainingItems.Any())
|
if (!remainingItems.Any())
|
||||||
{
|
{
|
||||||
message.RewardCollected = true;
|
message.RewardCollected = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user