diff options
author | Ovahlord <dreadkiller@gmx.de> | 2025-04-16 12:12:31 +0200 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2025-04-16 12:12:31 +0200 |
commit | 6cbfd4a227ff148388146b883c3afa824cbd27e1 (patch) | |
tree | 327e91b9e3b5ce90c338b41f74f2f786310d373c /src | |
parent | 2e971321cf4648a5deceb73074967d48fc94c020 (diff) |
Core/Spells: skip over deprecated talents when generating their ranks
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 6 |
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) { |