aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormaximius <none@none>2009-11-20 19:34:39 -0800
committermaximius <none@none>2009-11-20 19:34:39 -0800
commitb3a25b247a07c49538f523e1138bcdf9ec5b75bd (patch)
treeef11aae43d95f02c67ef8ef1f4efeb0c5a864742
parent6296dda84e5b73c12e48b09652e84d2e37051585 (diff)
*Little tweak that might make no difference, or might make a signifigant difference in removing talent spell chains..
--HG-- branch : trunk
-rw-r--r--src/game/Player.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index e1630151473..c97d6c8d69c 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -22013,6 +22013,7 @@ void Player::ActivateSpec(uint8 spec)
for (PlayerTalentMap::iterator itr = m_talents[m_activeSpec]->begin(); itr != m_talents[m_activeSpec]->end(); ++itr)
{
removeSpell(itr->first, !IsPassiveSpell(itr->first), false);
+ uint32 itrFirstId = spellmgr.GetFirstSpellInChain(itr->first);
for (PlayerSpellMap::iterator itr2 = GetSpellMap().begin(); itr2 != GetSpellMap().end();)
{
if (itr2->second->state == PLAYERSPELL_REMOVED || itr2->second->disabled)
@@ -22022,10 +22023,10 @@ void Player::ActivateSpec(uint8 spec)
}
// remove learned spells (all ranks)
- uint32 itrFirstId = spellmgr.GetFirstSpellInChain(itr2->first);
+ uint32 itr2FirstId = spellmgr.GetFirstSpellInChain(itr2->first);
// unlearn if first rank is talent or learned by talent
- if (itrFirstId == itr->first)
+ if (itrFirstId == itr2FirstId)
{
removeSpell(itr2->first, !IsPassiveSpell(itr2->first), false);
itr2 = GetSpellMap().begin();