diff options
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 5 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 4 | ||||
-rw-r--r-- | src/server/game/Entities/Player/CollectionMgr.cpp | 4 |
3 files changed, 10 insertions, 3 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index eaae8708e29..726b3b4579c 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -552,6 +552,7 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0* case CriteriaType::DefeatDungeonEncounter: case CriteriaType::PlaceGarrisonBuilding: case CriteriaType::ActivateAnyGarrisonBuilding: + case CriteriaType::LearnAnyHeirloom: case CriteriaType::HonorLevelIncrease: case CriteriaType::PrestigeLevelIncrease: case CriteriaType::LearnAnyTransmogInSlot: @@ -677,6 +678,7 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0* case CriteriaType::EnterArea: case CriteriaType::LeaveArea: case CriteriaType::RecruitGarrisonFollower: + case CriteriaType::LearnHeirloom: case CriteriaType::ActivelyReachLevel: case CriteriaType::CollectTransmogSetFromGroup: case CriteriaType::EnterTopLevelArea: @@ -815,7 +817,6 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0* case CriteriaType::LevelChangedForGarrisonFollower: case CriteriaType::LearnToy: case CriteriaType::LearnAnyToy: - case CriteriaType::LearnAnyHeirloom: case CriteriaType::FindResearchObject: case CriteriaType::ExhaustAnyResearchSite: case CriteriaType::CompleteInternalCriteria: @@ -1207,6 +1208,8 @@ bool CriteriaHandler::IsCompletedCriteria(Criteria const* criteria, uint64 requi case CriteriaType::BattlePetReachLevel: case CriteriaType::ActivelyEarnPetLevel: case CriteriaType::DefeatDungeonEncounter: + case CriteriaType::LearnHeirloom: + case CriteriaType::LearnAnyHeirloom: case CriteriaType::LearnAnyTransmogInSlot: case CriteriaType::ParagonLevelIncreaseWithFaction: case CriteriaType::PlayerHasEarnedHonor: diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index d3053a993d8..5d0e393a4a9 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -689,8 +689,8 @@ enum class CriteriaType : int16 LearnToy = 185, /*NYI*/ // Learn Toy "{Item}" LearnAnyToy = 186, /*NYI*/ // Learn Any Toy QualityUpgradedForGarrisonFollower = 187, /*NYI*/ // Garrison Follower: Quality Upgraded - LearnHeirloom = 188, /*NYI*/ // Learn Heirloom "{Item}" - LearnAnyHeirloom = 189, /*NYI*/ // Learn Any Heirloom + LearnHeirloom = 188, // Learn Heirloom "{Item}" + LearnAnyHeirloom = 189, // Learn Any Heirloom EarnArtifactXP = 190, // Earn Artifact XP AnyArtifactPowerRankPurchased = 191, /*NYI*/ // Artifact Power Ranks Purchased LearnTransmog = 192, /*NYI*/ // Learn Transmog "{ItemModifiedAppearance}" diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp index 3160d99b27a..ba4fb42b5fc 100644 --- a/src/server/game/Entities/Player/CollectionMgr.cpp +++ b/src/server/game/Entities/Player/CollectionMgr.cpp @@ -237,7 +237,11 @@ void CollectionMgr::LoadHeirlooms() void CollectionMgr::AddHeirloom(uint32 itemId, uint32 flags) { if (UpdateAccountHeirlooms(itemId, flags)) + { + _owner->GetPlayer()->UpdateCriteria(CriteriaType::LearnHeirloom, itemId); + _owner->GetPlayer()->UpdateCriteria(CriteriaType::LearnAnyHeirloom, 1); _owner->GetPlayer()->AddHeirloom(itemId, flags); + } } void CollectionMgr::UpgradeHeirloom(uint32 itemId, int32 castItem) |