From b3a25b247a07c49538f523e1138bcdf9ec5b75bd Mon Sep 17 00:00:00 2001 From: maximius Date: Fri, 20 Nov 2009 19:34:39 -0800 Subject: [PATCH] *Little tweak that might make no difference, or might make a signifigant difference in removing talent spell chains.. --HG-- branch : trunk --- src/game/Player.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index e163015147..c97d6c8d69 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();