Core/Criteria: Implemented CriteriaType EarnArtifactXP (#29975)

This commit is contained in:
Antonio Martín Berti
2024-05-12 06:15:04 -03:00
committed by GitHub
parent 7b0d2eb39e
commit d1d8f907fe
3 changed files with 5 additions and 2 deletions

View File

@@ -575,6 +575,7 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0*
case CriteriaType::HealingDone:
case CriteriaType::EarnArtifactXPForAzeriteItem:
case CriteriaType::GainLevels:
case CriteriaType::EarnArtifactXP:
SetCriteriaProgress(criteria, miscValue1, referencePlayer, PROGRESS_ACCUMULATE);
break;
case CriteriaType::KillCreature:
@@ -834,7 +835,6 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0*
case CriteriaType::EnterAreaTriggerWithActionSet:
case CriteriaType::StartGarrisonMission:
case CriteriaType::QualityUpgradedForGarrisonFollower:
case CriteriaType::EarnArtifactXP:
case CriteriaType::AnyArtifactPowerRankPurchased:
case CriteriaType::CompleteResearchGarrisonTalent:
case CriteriaType::RecruitAnyGarrisonTroop:
@@ -1218,6 +1218,7 @@ bool CriteriaHandler::IsCompletedCriteria(Criteria const* criteria, uint64 requi
case CriteriaType::BuyItemsFromVendors:
case CriteriaType::SellItemsToVendors:
case CriteriaType::GainLevels:
case CriteriaType::EarnArtifactXP:
return progress->Counter >= requiredAmount;
case CriteriaType::EarnAchievement:
case CriteriaType::CompleteQuest:

View File

@@ -691,7 +691,7 @@ enum class CriteriaType : int16
QualityUpgradedForGarrisonFollower = 187, /*NYI*/ // Garrison Follower: Quality Upgraded
LearnHeirloom = 188, /*NYI*/ // Learn Heirloom "{Item}"
LearnAnyHeirloom = 189, /*NYI*/ // Learn Any Heirloom
EarnArtifactXP = 190, /*NYI*/ // Earn Artifact XP
EarnArtifactXP = 190, // Earn Artifact XP
AnyArtifactPowerRankPurchased = 191, /*NYI*/ // Artifact Power Ranks Purchased
LearnTransmog = 192, /*NYI*/ // Learn Transmog "{ItemModifiedAppearance}"
LearnAnyTransmog = 193, /*NYI*/ // Learn Any Transmog

View File

@@ -2756,6 +2756,8 @@ void Item::GiveArtifactXp(uint64 amount, Item* sourceItem, uint32 artifactCatego
owner->SendDirectMessage(artifactXpGain.Write());
SetState(ITEM_CHANGED, owner);
owner->UpdateCriteria(CriteriaType::EarnArtifactXP, amount);
}
void Item::SetFixedLevel(uint8 level)