From ab0333aa710264d7f1fb6dcf1373090334a81359 Mon Sep 17 00:00:00 2001 From: Hondacrx Date: Sat, 24 Aug 2024 21:23:55 -0400 Subject: [PATCH] Core/Criteria: Implemented AnyArtifactPowerRankPurchased criteria type Port From (https://github.com/TrinityCore/TrinityCore/commit/a0c1ed975a5f9b0c0cdd66be386bdf7609d40c1d) --- Source/Framework/Constants/AchievementConst.cs | 2 +- Source/Game/Achievements/CriteriaHandler.cs | 5 +++-- Source/Game/Handlers/ArtifactHandler.cs | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Source/Framework/Constants/AchievementConst.cs b/Source/Framework/Constants/AchievementConst.cs index e61f4d894..a4cd1b2c3 100644 --- a/Source/Framework/Constants/AchievementConst.cs +++ b/Source/Framework/Constants/AchievementConst.cs @@ -699,7 +699,7 @@ namespace Framework.Constants 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/Source/Game/Achievements/CriteriaHandler.cs b/Source/Game/Achievements/CriteriaHandler.cs index 7af4a6401..927e46b88 100644 --- a/Source/Game/Achievements/CriteriaHandler.cs +++ b/Source/Game/Achievements/CriteriaHandler.cs @@ -176,6 +176,7 @@ namespace Game.Achievements case CriteriaType.HighestDamageTaken: case CriteriaType.HighestHealCast: case CriteriaType.HighestHealReceived: + case CriteriaType.AnyArtifactPowerRankPurchased: case CriteriaType.AzeriteLevelReached: SetCriteriaProgress(criteria, miscValue1, referencePlayer, ProgressType.Highest); break; @@ -421,7 +422,6 @@ namespace Game.Achievements case CriteriaType.EnterAreaTriggerWithActionSet: case CriteriaType.StartGarrisonMission: case CriteriaType.QualityUpgradedForGarrisonFollower: - case CriteriaType.AnyArtifactPowerRankPurchased: case CriteriaType.CompleteResearchGarrisonTalent: case CriteriaType.RecruitAnyGarrisonTroop: case CriteriaType.CompleteAnyWorldQuest: @@ -795,6 +795,8 @@ namespace Game.Achievements case CriteriaType.DefeatDungeonEncounter: case CriteriaType.LearnHeirloom: case CriteriaType.LearnAnyHeirloom: + case CriteriaType.EarnArtifactXP: + case CriteriaType.AnyArtifactPowerRankPurchased: case CriteriaType.LearnAnyTransmogInSlot: case CriteriaType.ParagonLevelIncreaseWithFaction: case CriteriaType.PlayerHasEarnedHonor: @@ -806,7 +808,6 @@ namespace Game.Achievements 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/Source/Game/Handlers/ArtifactHandler.cs b/Source/Game/Handlers/ArtifactHandler.cs index f8d16abb9..3889b3b03 100644 --- a/Source/Game/Handlers/ArtifactHandler.cs +++ b/Source/Game/Handlers/ArtifactHandler.cs @@ -141,6 +141,7 @@ namespace Game artifact.InitArtifactPowers(artifact.GetTemplate().GetArtifactID(), (byte)i); artifact.SetModifier(ItemModifier.ArtifactTier, artifactTier); + _player.UpdateCriteria(CriteriaType.AnyArtifactPowerRankPurchased, totalPurchasedArtifactPower); } [WorldPacketHandler(ClientOpcodes.ArtifactSetAppearance, Processing = PacketProcessing.Inplace)]