Check item success rewards sub-items match

This commit is contained in:
Chomp 2021-09-08 20:14:39 +01:00
parent 91d66f3b51
commit 5bdb09c754

View File

@ -122,6 +122,22 @@ namespace QuestValidator
{ {
CheckValuesMatch(questSuccessRewardItem.items[0].upd.StackObjectsCount, questSuccessRewardItem.items[0].upd.StackObjectsCount, "mismatch for success item StackObjectsCount", questSuccessRewardItem.items[0]._id); CheckValuesMatch(questSuccessRewardItem.items[0].upd.StackObjectsCount, questSuccessRewardItem.items[0].upd.StackObjectsCount, "mismatch for success item StackObjectsCount", questSuccessRewardItem.items[0]._id);
} }
// check sub items match
foreach (var subItem in questSuccessRewardItem.items.Where(x=> !string.IsNullOrEmpty(x.slotId)))
{
// find matching live counterpart
var liveCounterpart = relatedLiveRewardItem.items.FirstOrDefault(x=> x.slotId == subItem.slotId);
if (liveCounterpart == null)
{
LoggingHelpers.LogWarning($"a live counterpart for the subItem {subItem.slotId} could not be found, skipping subItem check");
continue;
}
CheckValuesMatch(subItem._tpl, liveCounterpart._tpl, $"mismatch for success subItem({subItem.slotId}) reward templateId", subItem._id);
}
} }
foreach (var questSuccessRewardItem in quest.rewards.Success.Where(x => x.type == "Experience")) foreach (var questSuccessRewardItem in quest.rewards.Success.Where(x => x.type == "Experience"))
@ -266,6 +282,9 @@ namespace QuestValidator
// check AvailableForFinish target // check AvailableForFinish target
CheckValuesMatch(Convert.ToString(availableForFinishItem._props.target), Convert.ToString(liveFinishItem._props.target), "AvailableForFinish target value mismatch", availableForFinishItem._props.id); CheckValuesMatch(Convert.ToString(availableForFinishItem._props.target), Convert.ToString(liveFinishItem._props.target), "AvailableForFinish target value mismatch", availableForFinishItem._props.id);
// check weapons allowed match
//CheckValuesMatch(availableForFinishItem._props.weapon.Count, liveFinishItem._props.counter.conditions), "AvailableForFinish target value mismatch", availableForFinishItem._props.id);
} }
} }