mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-27 15:46:24 +00:00
fix(Core/Loot): Fixed loading conditioned item loot. (#6337)
- Fixes #6326
This commit is contained in:
@@ -1380,7 +1380,7 @@ void LootTemplate::CopyConditions(ConditionList conditions)
|
||||
group->CopyConditions(conditions);
|
||||
}
|
||||
|
||||
bool LootTemplate::CopyConditions(LootItem* li) const
|
||||
bool LootTemplate::CopyConditions(LootItem* li, uint32 conditionLootId) const
|
||||
{
|
||||
for (LootStoreItemList::const_iterator _iter = Entries.begin(); _iter != Entries.end(); ++_iter)
|
||||
{
|
||||
@@ -1389,7 +1389,7 @@ bool LootTemplate::CopyConditions(LootItem* li) const
|
||||
{
|
||||
if (LootTemplate const* Referenced = LootTemplates_Reference.GetLootFor(item->reference))
|
||||
{
|
||||
if (Referenced->CopyConditions(li))
|
||||
if (Referenced->CopyConditions(li, conditionLootId))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -1402,6 +1402,11 @@ bool LootTemplate::CopyConditions(LootItem* li) const
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!item->conditions.empty() && conditionLootId && conditionLootId != item->conditions.front()->SourceGroup)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
li->conditions = item->conditions;
|
||||
return true;
|
||||
}
|
||||
@@ -1421,7 +1426,7 @@ bool LootTemplate::CopyConditions(LootItem* li) const
|
||||
{
|
||||
if (LootTemplate const* Referenced = LootTemplates_Reference.GetLootFor(item->reference))
|
||||
{
|
||||
if (Referenced->CopyConditions(li))
|
||||
if (Referenced->CopyConditions(li, conditionLootId))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -1434,6 +1439,11 @@ bool LootTemplate::CopyConditions(LootItem* li) const
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!item->conditions.empty() && conditionLootId && conditionLootId != item->conditions.front()->SourceGroup)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
li->conditions = item->conditions;
|
||||
return true;
|
||||
}
|
||||
@@ -1447,7 +1457,7 @@ bool LootTemplate::CopyConditions(LootItem* li) const
|
||||
{
|
||||
if (LootTemplate const* Referenced = LootTemplates_Reference.GetLootFor(item->reference))
|
||||
{
|
||||
if (Referenced->CopyConditions(li))
|
||||
if (Referenced->CopyConditions(li, conditionLootId))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -1460,6 +1470,11 @@ bool LootTemplate::CopyConditions(LootItem* li) const
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!item->conditions.empty() && conditionLootId && conditionLootId != item->conditions.front()->SourceGroup)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
li->conditions = item->conditions;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user