Core/Criteria: Implemented CriteriaType EarnArtifactXP
Port From (https://github.com/TrinityCore/TrinityCore/commit/d1d8f907fe0f1e42d9a8569ef2afdd89e2739b3a)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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; }
|
||||
|
||||
Reference in New Issue
Block a user