Core/Criteria: Implemented LearnHeirloom and LearnAnyHeirloom criteria types (#29976)

This commit is contained in:
Antonio Martín Berti
2024-05-12 13:01:35 -03:00
committed by GitHub
parent e9b7137380
commit eaa76f0eb2
3 changed files with 10 additions and 3 deletions

View File

@@ -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:

View File

@@ -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}"

View File

@@ -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)