Merge pull request #10342 from joschiwald/spellinfo_corrections

Core/Spells: operate spell correction on SpellInfo store instead of dbc ...
This commit is contained in:
joschiwald
2013-07-24 15:18:24 -07:00
6 changed files with 173 additions and 162 deletions

View File

@@ -116,8 +116,7 @@ public:
else
targetPlayer->learnSpell(spell, false);
uint32 firstSpell = sSpellMgr->GetFirstSpellInChain(spell);
if (GetTalentSpellCost(firstSpell))
if (GetTalentSpellCost(spellInfo->GetFirstRankSpell()->Id))
targetPlayer->SendTalentsInfoData(false);
return true;
@@ -178,8 +177,7 @@ public:
continue;
// skip spells with first rank learned as talent (and all talents then also)
uint32 firstRank = sSpellMgr->GetFirstSpellInChain(spellInfo->Id);
if (GetTalentSpellCost(firstRank) > 0)
if (GetTalentSpellCost(spellInfo->GetFirstRankSpell()->Id) > 0)
continue;
// skip broken spells
@@ -493,7 +491,7 @@ public:
}
if (allRanks)
spellId = sSpellMgr->GetFirstSpellInChain (spellId);
spellId = sSpellMgr->GetFirstSpellInChain(spellId);
if (target->HasSpell(spellId))
target->removeSpell(spellId, false, !allRanks);