Core/Achievements: Reduce the list of criteria types updated on login

* Implemented CriteriaType::ReachMaxLevel
* Corrected implementations for CriteriaType::ReachRenownLevel and CriteriaType::LearnTaxiNode
Port From (https://github.com/TrinityCore/TrinityCore/commit/6da1679cbfdc56cd5f1cab7148f645916bccecc1)
This commit is contained in:
Hondacrx
2025-02-24 11:01:12 -05:00
parent 70998199c0
commit 0d5c0b572d
5 changed files with 676 additions and 606 deletions
@@ -613,7 +613,7 @@ namespace Framework.Constants
TotalFactionsEncountered = 89, // Total factions encountered TotalFactionsEncountered = 89, // Total factions encountered
LootAnyItem = 90, // Loot any item LootAnyItem = 90, // Loot any item
ObtainAnyItem = 91, // Obtain any item ObtainAnyItem = 91, // Obtain any item
AnyoneTriggerGameEventScenario = 92, /*NYI*/ // Anyone will Trigger game event "{GameEvents}" (Scenario Only) AnyoneTriggerGameEventScenario = 92, // Anyone will Trigger game event "{GameEvents}" (Scenario Only)
RollAnyNeed = 93, // Roll any number on need RollAnyNeed = 93, // Roll any number on need
RollAnyGreed = 94, // Roll any number on greed RollAnyGreed = 94, // Roll any number on greed
ReleasedSpirit = 95, /*NYI*/ // Released Spirit ReleasedSpirit = 95, /*NYI*/ // Released Spirit
@@ -742,7 +742,7 @@ namespace Framework.Constants
CompleteAnyReplayQuest = 218, // Complete Any Replay Quest CompleteAnyReplayQuest = 218, // Complete Any Replay Quest
BuyItemsFromVendors = 219, // Buy items from vendors BuyItemsFromVendors = 219, // Buy items from vendors
SellItemsToVendors = 220, // Sell items to vendors SellItemsToVendors = 220, // Sell items to vendors
ReachMaxLevel = 221, /*NYI*/ // Reach Max Level ReachMaxLevel = 221, // Reach Max Level
MemorizeSpell = 222, /*NYI*/ // Memorize Spell "{Spell}" MemorizeSpell = 222, /*NYI*/ // Memorize Spell "{Spell}"
LearnTransmogIllusion = 223, /*NYI*/ // Learn Transmog Illusion LearnTransmogIllusion = 223, /*NYI*/ // Learn Transmog Illusion
LearnAnyTransmogIllusion = 224, /*NYI*/ // Learn Any Transmog Illusion LearnAnyTransmogIllusion = 224, /*NYI*/ // Learn Any Transmog Illusion
@@ -31,8 +31,8 @@ namespace Game.Achievements
public void CheckAllAchievementCriteria(Player referencePlayer) public void CheckAllAchievementCriteria(Player referencePlayer)
{ {
// suppress sending packets // suppress sending packets
for (CriteriaType i = 0; i < CriteriaType.Count; ++i) foreach (CriteriaType criteriaType in CriteriaManager.GetRetroactivelyUpdateableCriteriaTypes())
UpdateCriteria(i, 0, 0, 0, null, referencePlayer); UpdateCriteria(criteriaType, 0, 0, 0, null, referencePlayer);
} }
public bool HasAchieved(uint achievementId) public bool HasAchieved(uint achievementId)
File diff suppressed because it is too large Load Diff
+2
View File
@@ -5453,6 +5453,8 @@ namespace Game.Entities
UpdateCriteria(CriteriaType.ActivelyReachLevel, level); UpdateCriteria(CriteriaType.ActivelyReachLevel, level);
if (level > oldLevel) if (level > oldLevel)
UpdateCriteria(CriteriaType.GainLevels, level - oldLevel); UpdateCriteria(CriteriaType.GainLevels, level - oldLevel);
if (IsMaxLevel())
UpdateCriteria(CriteriaType.ReachMaxLevel);
PushQuests(); PushQuests();
@@ -22,8 +22,8 @@ namespace Game
public void CheckAllQuestObjectiveCriteria(Player referencePlayer) public void CheckAllQuestObjectiveCriteria(Player referencePlayer)
{ {
// suppress sending packets // suppress sending packets
for (CriteriaType i = 0; i < CriteriaType.Count; ++i) foreach (CriteriaType criteriaType in CriteriaManager.GetRetroactivelyUpdateableCriteriaTypes())
UpdateCriteria(i, 0, 0, 0, null, referencePlayer); UpdateCriteria(criteriaType, 0, 0, 0, null, referencePlayer);
} }
public override void Reset() public override void Reset()