Core/Criteria: Implemented LearnHeirloom and LearnAnyHeirloom criteria types

Port From (https://github.com/TrinityCore/TrinityCore/commit/eaa76f0eb2524e4c6c5be1a34d3cde392d35c3de)
This commit is contained in:
Hondacrx
2024-08-24 21:21:53 -04:00
parent 29aecf864e
commit 141b6e4a9a
3 changed files with 10 additions and 3 deletions
@@ -696,8 +696,8 @@ namespace Framework.Constants
LearnToy = 185, /*NYI*/ // Learn Toy "{Item}" LearnToy = 185, /*NYI*/ // Learn Toy "{Item}"
LearnAnyToy = 186, /*NYI*/ // Learn Any Toy LearnAnyToy = 186, /*NYI*/ // Learn Any Toy
QualityUpgradedForGarrisonFollower = 187, /*NYI*/ // Garrison Follower: Quality Upgraded QualityUpgradedForGarrisonFollower = 187, /*NYI*/ // Garrison Follower: Quality Upgraded
LearnHeirloom = 188, /*NYI*/ // Learn Heirloom "{Item}" LearnHeirloom = 188, // Learn Heirloom "{Item}"
LearnAnyHeirloom = 189, /*NYI*/ // Learn Any Heirloom LearnAnyHeirloom = 189, // Learn Any Heirloom
EarnArtifactXP = 190, // Earn Artifact XP EarnArtifactXP = 190, // Earn Artifact XP
AnyArtifactPowerRankPurchased = 191, /*NYI*/ // Artifact Power Ranks Purchased AnyArtifactPowerRankPurchased = 191, /*NYI*/ // Artifact Power Ranks Purchased
LearnTransmog = 192, /*NYI*/ // Learn Transmog "{ItemModifiedAppearance}" LearnTransmog = 192, /*NYI*/ // Learn Transmog "{ItemModifiedAppearance}"
+4 -1
View File
@@ -133,6 +133,7 @@ namespace Game.Achievements
case CriteriaType.DefeatDungeonEncounter: case CriteriaType.DefeatDungeonEncounter:
case CriteriaType.PlaceGarrisonBuilding: case CriteriaType.PlaceGarrisonBuilding:
case CriteriaType.ActivateAnyGarrisonBuilding: case CriteriaType.ActivateAnyGarrisonBuilding:
case CriteriaType.LearnAnyHeirloom:
case CriteriaType.HonorLevelIncrease: case CriteriaType.HonorLevelIncrease:
case CriteriaType.PrestigeLevelIncrease: case CriteriaType.PrestigeLevelIncrease:
case CriteriaType.LearnAnyTransmogInSlot: case CriteriaType.LearnAnyTransmogInSlot:
@@ -260,6 +261,7 @@ namespace Game.Achievements
case CriteriaType.EnterArea: case CriteriaType.EnterArea:
case CriteriaType.LeaveArea: case CriteriaType.LeaveArea:
case CriteriaType.RecruitGarrisonFollower: case CriteriaType.RecruitGarrisonFollower:
case CriteriaType.LearnHeirloom:
case CriteriaType.ActivelyReachLevel: case CriteriaType.ActivelyReachLevel:
case CriteriaType.CollectTransmogSetFromGroup: case CriteriaType.CollectTransmogSetFromGroup:
case CriteriaType.EnterTopLevelArea: case CriteriaType.EnterTopLevelArea:
@@ -400,7 +402,6 @@ namespace Game.Achievements
case CriteriaType.LevelChangedForGarrisonFollower: case CriteriaType.LevelChangedForGarrisonFollower:
case CriteriaType.LearnToy: case CriteriaType.LearnToy:
case CriteriaType.LearnAnyToy: case CriteriaType.LearnAnyToy:
case CriteriaType.LearnAnyHeirloom:
case CriteriaType.FindResearchObject: case CriteriaType.FindResearchObject:
case CriteriaType.ExhaustAnyResearchSite: case CriteriaType.ExhaustAnyResearchSite:
case CriteriaType.CompleteInternalCriteria: case CriteriaType.CompleteInternalCriteria:
@@ -792,6 +793,8 @@ namespace Game.Achievements
case CriteriaType.BattlePetReachLevel: case CriteriaType.BattlePetReachLevel:
case CriteriaType.ActivelyEarnPetLevel: case CriteriaType.ActivelyEarnPetLevel:
case CriteriaType.DefeatDungeonEncounter: case CriteriaType.DefeatDungeonEncounter:
case CriteriaType.LearnHeirloom:
case CriteriaType.LearnAnyHeirloom:
case CriteriaType.LearnAnyTransmogInSlot: case CriteriaType.LearnAnyTransmogInSlot:
case CriteriaType.ParagonLevelIncreaseWithFaction: case CriteriaType.ParagonLevelIncreaseWithFaction:
case CriteriaType.PlayerHasEarnedHonor: case CriteriaType.PlayerHasEarnedHonor:
@@ -226,7 +226,11 @@ namespace Game.Entities
public void AddHeirloom(uint itemId, HeirloomPlayerFlags flags) public void AddHeirloom(uint itemId, HeirloomPlayerFlags flags)
{ {
if (UpdateAccountHeirlooms(itemId, flags)) if (UpdateAccountHeirlooms(itemId, flags))
{
_owner.GetPlayer().UpdateCriteria(CriteriaType.LearnHeirloom, itemId);
_owner.GetPlayer().UpdateCriteria(CriteriaType.LearnAnyHeirloom, 1);
_owner.GetPlayer().AddHeirloom(itemId, (uint)flags); _owner.GetPlayer().AddHeirloom(itemId, (uint)flags);
}
} }
public bool HasHeirloom(uint itemId) public bool HasHeirloom(uint itemId)