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
LootAnyItem = 90, // Loot 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
RollAnyGreed = 94, // Roll any number on greed
ReleasedSpirit = 95, /*NYI*/ // Released Spirit
@@ -742,7 +742,7 @@ namespace Framework.Constants
CompleteAnyReplayQuest = 218, // Complete Any Replay Quest
BuyItemsFromVendors = 219, // Buy items from vendors
SellItemsToVendors = 220, // Sell items to vendors
ReachMaxLevel = 221, /*NYI*/ // Reach Max Level
ReachMaxLevel = 221, // Reach Max Level
MemorizeSpell = 222, /*NYI*/ // Memorize Spell "{Spell}"
LearnTransmogIllusion = 223, /*NYI*/ // Learn Transmog Illusion
LearnAnyTransmogIllusion = 224, /*NYI*/ // Learn Any Transmog Illusion
@@ -31,8 +31,8 @@ namespace Game.Achievements
public void CheckAllAchievementCriteria(Player referencePlayer)
{
// suppress sending packets
for (CriteriaType i = 0; i < CriteriaType.Count; ++i)
UpdateCriteria(i, 0, 0, 0, null, referencePlayer);
foreach (CriteriaType criteriaType in CriteriaManager.GetRetroactivelyUpdateableCriteriaTypes())
UpdateCriteria(criteriaType, 0, 0, 0, null, referencePlayer);
}
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);
if (level > oldLevel)
UpdateCriteria(CriteriaType.GainLevels, level - oldLevel);
if (IsMaxLevel())
UpdateCriteria(CriteriaType.ReachMaxLevel);
PushQuests();
@@ -22,8 +22,8 @@ namespace Game
public void CheckAllQuestObjectiveCriteria(Player referencePlayer)
{
// suppress sending packets
for (CriteriaType i = 0; i < CriteriaType.Count; ++i)
UpdateCriteria(i, 0, 0, 0, null, referencePlayer);
foreach (CriteriaType criteriaType in CriteriaManager.GetRetroactivelyUpdateableCriteriaTypes())
UpdateCriteria(criteriaType, 0, 0, 0, null, referencePlayer);
}
public override void Reset()