diff --git a/src/game/Player.cpp b/src/game/Player.cpp index db9ed39fa..841496f4c 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -3659,35 +3659,8 @@ bool Player::resetTalents(bool no_cost) continue; for (int j = 0; j < MAX_TALENT_RANK; ++j) - { - for(PlayerSpellMap::iterator itr = GetSpellMap().begin(); itr != GetSpellMap().end();) - { - if (itr->second.state == PLAYERSPELL_REMOVED || itr->second.disabled) - { - ++itr; - continue; - } - - // remove learned spells (all ranks) - uint32 itrFirstId = sSpellMgr.GetFirstSpellInChain(itr->first); - - // unlearn if first rank is talent or learned by talent - if (itrFirstId == talentInfo->RankID[j]) - { - removeSpell(itr->first,!IsPassiveSpell(itr->first),false); - itr = GetSpellMap().begin(); - continue; - } - else if (sSpellMgr.IsSpellLearnToSpell(talentInfo->RankID[j],itrFirstId)) - { - removeSpell(itr->first,!IsPassiveSpell(itr->first)); - itr = GetSpellMap().begin(); - continue; - } - else - ++itr; - } - } + if (talentInfo->RankID[j]) + removeSpell(talentInfo->RankID[j],!IsPassiveSpell(talentInfo->RankID[j]),false); } UpdateFreeTalentPoints(false); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index deefa4b7a..f940ee49d 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9658" + #define REVISION_NR "9659" #endif // __REVISION_NR_H__