Core/Criteria: Implemented CriteriaType EarnArtifactXP

Port From (https://github.com/TrinityCore/TrinityCore/commit/d1d8f907fe0f1e42d9a8569ef2afdd89e2739b3a)
This commit is contained in:
Hondacrx
2024-08-24 21:07:37 -04:00
parent 507b69771e
commit 77be3fd94b
3 changed files with 7 additions and 3 deletions
@@ -581,7 +581,7 @@ namespace Framework.Constants
KillPlayer = 70, // Kill a player (no honor check)
CompleteChallengeMode = 71, /*NYI*/ // Complete a challenge mode on map "{Map}"
CatchFishInFishingHole = 72, // Catch fish in the "{GameObjects}" fishing hole
PlayerTriggerGameEvent = 73, /*NYI*/ // Player will Trigger game event "{GameEvents}"
PlayerTriggerGameEvent = 73, // Player will Trigger game event "{GameEvents}"
Login = 74, // Login (USE SPARINGLY!)
LearnSpellFromSkillLine = 75, // Learn spell from the "{SkillLine}" skill line
WinDuel = 76, // Win a duel
@@ -698,7 +698,7 @@ namespace Framework.Constants
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
+2 -1
View File
@@ -156,6 +156,7 @@ namespace Game.Achievements
case CriteriaType.HealingDone:
case CriteriaType.EarnArtifactXPForAzeriteItem:
case CriteriaType.GainLevels:
case CriteriaType.EarnArtifactXP:
SetCriteriaProgress(criteria, miscValue1, referencePlayer, ProgressType.Accumulate);
break;
case CriteriaType.KillCreature:
@@ -419,7 +420,6 @@ namespace Game.Achievements
case CriteriaType.EnterAreaTriggerWithActionSet:
case CriteriaType.StartGarrisonMission:
case CriteriaType.QualityUpgradedForGarrisonFollower:
case CriteriaType.EarnArtifactXP:
case CriteriaType.AnyArtifactPowerRankPurchased:
case CriteriaType.CompleteResearchGarrisonTalent:
case CriteriaType.RecruitAnyGarrisonTroop:
@@ -803,6 +803,7 @@ 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:
+3
View File
@@ -2304,6 +2304,7 @@ namespace Game.Entities
}
public void SetArtifactXP(ulong xp) { SetUpdateFieldValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.ArtifactXP), xp); }
public void GiveArtifactXp(ulong amount, Item sourceItem, ArtifactCategory artifactCategoryId)
{
Player owner = GetOwner();
@@ -2336,6 +2337,8 @@ namespace Game.Entities
owner.SendPacket(artifactXpGain);
SetState(ItemUpdateState.Changed, owner);
owner.UpdateCriteria(CriteriaType.EarnArtifactXP, amount);
}
public ItemContext GetContext() { return (ItemContext)(int)m_itemData.Context; }