aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Martín Berti <15972392+BertiRean@users.noreply.github.com>2024-05-12 13:06:04 -0300
committerGitHub <noreply@github.com>2024-05-12 18:06:04 +0200
commita0c1ed975a5f9b0c0cdd66be386bdf7609d40c1d (patch)
tree5b7965797014cd16367be736f5596b144cdeed89
parenteaa76f0eb2524e4c6c5be1a34d3cde392d35c3de (diff)
Core/Criteria: Implemented AnyArtifactPowerRankPurchased criteria type (#29979)
-rw-r--r--src/server/game/Achievements/CriteriaHandler.cpp5
-rw-r--r--src/server/game/DataStores/DBCEnums.h2
-rw-r--r--src/server/game/Handlers/ArtifactHandler.cpp1
3 files changed, 5 insertions, 3 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp
index 726b3b4579c..dd3e015a241 100644
--- a/src/server/game/Achievements/CriteriaHandler.cpp
+++ b/src/server/game/Achievements/CriteriaHandler.cpp
@@ -595,6 +595,7 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0*
case CriteriaType::HighestDamageTaken:
case CriteriaType::HighestHealCast:
case CriteriaType::HighestHealReceived:
+ case CriteriaType::AnyArtifactPowerRankPurchased:
case CriteriaType::AzeriteLevelReached:
SetCriteriaProgress(criteria, miscValue1, referencePlayer, PROGRESS_HIGHEST);
break;
@@ -836,7 +837,6 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0*
case CriteriaType::EnterAreaTriggerWithActionSet:
case CriteriaType::StartGarrisonMission:
case CriteriaType::QualityUpgradedForGarrisonFollower:
- case CriteriaType::AnyArtifactPowerRankPurchased:
case CriteriaType::CompleteResearchGarrisonTalent:
case CriteriaType::RecruitAnyGarrisonTroop:
case CriteriaType::CompleteAnyWorldQuest:
@@ -1210,6 +1210,8 @@ bool CriteriaHandler::IsCompletedCriteria(Criteria const* criteria, uint64 requi
case CriteriaType::DefeatDungeonEncounter:
case CriteriaType::LearnHeirloom:
case CriteriaType::LearnAnyHeirloom:
+ case CriteriaType::EarnArtifactXP:
+ case CriteriaType::AnyArtifactPowerRankPurchased:
case CriteriaType::LearnAnyTransmogInSlot:
case CriteriaType::ParagonLevelIncreaseWithFaction:
case CriteriaType::PlayerHasEarnedHonor:
@@ -1221,7 +1223,6 @@ 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:
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 5d0e393a4a9..bb26966e88c 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -692,7 +692,7 @@ enum class CriteriaType : int16
LearnHeirloom = 188, // Learn Heirloom "{Item}"
LearnAnyHeirloom = 189, // Learn Any Heirloom
EarnArtifactXP = 190, // Earn Artifact XP
- AnyArtifactPowerRankPurchased = 191, /*NYI*/ // Artifact Power Ranks Purchased
+ AnyArtifactPowerRankPurchased = 191, // Artifact Power Ranks Purchased
LearnTransmog = 192, /*NYI*/ // Learn Transmog "{ItemModifiedAppearance}"
LearnAnyTransmog = 193, /*NYI*/ // Learn Any Transmog
HonorLevelIncrease = 194, // (Player) honor level increase
diff --git a/src/server/game/Handlers/ArtifactHandler.cpp b/src/server/game/Handlers/ArtifactHandler.cpp
index 225f8e1d257..774b86dbb72 100644
--- a/src/server/game/Handlers/ArtifactHandler.cpp
+++ b/src/server/game/Handlers/ArtifactHandler.cpp
@@ -152,6 +152,7 @@ void WorldSession::HandleArtifactAddPower(WorldPackets::Artifact::ArtifactAddPow
artifact->InitArtifactPowers(artifact->GetTemplate()->GetArtifactID(), uint8(i));
artifact->SetModifier(ITEM_MODIFIER_ARTIFACT_TIER, artifactTier);
+ _player->UpdateCriteria(CriteriaType::AnyArtifactPowerRankPurchased, totalPurchasedArtifactPower);
}
void WorldSession::HandleArtifactSetAppearance(WorldPackets::Artifact::ArtifactSetAppearance& artifactSetAppearance)