aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2025-04-16 12:12:31 +0200
committerOvahlord <dreadkiller@gmx.de>2025-04-16 12:12:31 +0200
commit6cbfd4a227ff148388146b883c3afa824cbd27e1 (patch)
tree327e91b9e3b5ce90c338b41f74f2f786310d373c
parent2e971321cf4648a5deceb73074967d48fc94c020 (diff)
Core/Spells: skip over deprecated talents when generating their ranks
-rw-r--r--src/server/game/Spells/SpellMgr.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index d1378ff58e4..08c66eeffee 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -826,6 +826,12 @@ void SpellMgr::LoadSpellTalentRanks()
for (TalentEntry const* talentInfo : sTalentStore)
{
+ // In Classic, the Talent.db2 and TalentTab.db2 are polluted with deprecated data which can be
+ // identified by a negative order index. We just skip these.
+ TalentTabEntry const* talentTab = sTalentTabStore.LookupEntry(talentInfo->TabID);
+ if (!talentTab || talentTab->OrderIndex < 0)
+ continue;
+
SpellInfo const* lastSpell = nullptr;
for (size_t rank = talentInfo->SpellRank.size() - 1; rank > 0; --rank)
{