forked from chomp/ChompQuestVerifier
extra check for multiple mod items that would throw off the data returned
This commit is contained in:
parent
bb40918722
commit
5620468e0f
@ -5,7 +5,6 @@ using QuestValidator.Helpers;
|
|||||||
using QuestValidator.Models;
|
using QuestValidator.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace QuestValidator
|
namespace QuestValidator
|
||||||
@ -187,14 +186,20 @@ namespace QuestValidator
|
|||||||
foreach (var subItem in questSuccessRewardItem.items.Where(x => !string.IsNullOrEmpty(x.slotId)))
|
foreach (var subItem in questSuccessRewardItem.items.Where(x => !string.IsNullOrEmpty(x.slotId)))
|
||||||
{
|
{
|
||||||
// find matching live counterpart by slotid
|
// find matching live counterpart by slotid
|
||||||
var liveCounterpart = relatedLiveRewardItem.items.FirstOrDefault(x => x.slotId == subItem.slotId);
|
var liveCounterpart = relatedLiveRewardItem.items.Where(x => x.slotId == subItem.slotId);
|
||||||
if (liveCounterpart == null)
|
if (liveCounterpart == null || liveCounterpart.Count() == 0)
|
||||||
{
|
{
|
||||||
LoggingHelpers.LogWarning($"a live counterpart for the subItem {subItem.slotId} could not be found, skipping subItem check");
|
LoggingHelpers.LogWarning($"a live counterpart for the subItem {subItem.slotId} could not be found, skipping subItem check");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (liveCounterpart.Count() > 1)
|
||||||
|
{
|
||||||
|
LoggingHelpers.LogWarning($"Multiple live counterparts for the subItem {subItem.slotId} found, skipping subItem check");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
CheckValuesMatch(subItem._tpl, liveCounterpart._tpl, $"mismatch for success subItem({subItem.slotId}) reward templateId", subItem._id);
|
var firstLiveItem = liveCounterpart.FirstOrDefault();
|
||||||
|
CheckValuesMatch(subItem._tpl, firstLiveItem._tpl, $"mismatch for success subItem({subItem.slotId}) reward templateId", subItem._id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -271,7 +276,7 @@ namespace QuestValidator
|
|||||||
// Check template ids match
|
// Check template ids match
|
||||||
CheckValuesMatch(questStartedRewardItem.items[0]._tpl, relatedLiveRewardItem.items[0]._tpl, "mismatch for template id", questStartedRewardItem.items[0]._id, true);
|
CheckValuesMatch(questStartedRewardItem.items[0]._tpl, relatedLiveRewardItem.items[0]._tpl, "mismatch for template id", questStartedRewardItem.items[0]._id, true);
|
||||||
|
|
||||||
// Check value values match
|
// Check 'value' values match
|
||||||
CheckValuesMatch(questStartedRewardItem.value, relatedLiveRewardItem.value, "mismatch for success item reward value", questStartedRewardItem.id);
|
CheckValuesMatch(questStartedRewardItem.value, relatedLiveRewardItem.value, "mismatch for success item reward value", questStartedRewardItem.id);
|
||||||
|
|
||||||
// Check item stack count
|
// Check item stack count
|
||||||
|
Loading…
x
Reference in New Issue
Block a user