diff options
Diffstat (limited to 'src/server/game/Achievements/CriteriaHandler.cpp')
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 202da5744a7..4eda890f135 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -32,6 +32,7 @@ #include "Group.h" #include "InstanceScript.h" #include "Item.h" +#include "ItemBonusMgr.h" #include "LanguageMgr.h" #include "Log.h" #include "Map.h" @@ -3089,7 +3090,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 } case ModifierTreeType::PlayerHasItemWithBonusListFromTreeAndQuality: // 222 { - std::set<uint32> bonusListIDs = sDB2Manager.GetAllItemBonusTreeBonuses(reqValue); + std::vector<int32> bonusListIDs = ItemBonusMgr::GetAllBonusListsForTree(reqValue); if (bonusListIDs.empty()) return false; @@ -3097,7 +3098,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 { bool hasBonus = std::any_of(item->GetBonusListIDs().begin(), item->GetBonusListIDs().end(), [&bonusListIDs](int32 bonusListID) { - return bonusListIDs.find(bonusListID) != bonusListIDs.end(); + return std::find(bonusListIDs.begin(), bonusListIDs.end(), bonusListID) != bonusListIDs.end(); }); return hasBonus ? ItemSearchCallbackResult::Stop : ItemSearchCallbackResult::Continue; }); |