diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp index 4e408ca32..f4edc6bae 100644 --- a/src/game/Pet.cpp +++ b/src/game/Pet.cpp @@ -1595,28 +1595,8 @@ bool Pet::resetTalents(bool no_cost) continue; for (int j = 0; j < MAX_TALENT_RANK; j++) - { - for(PetSpellMap::const_iterator itr = m_spells.begin(); itr != m_spells.end();) - { - if(itr->second.state == PETSPELL_REMOVED) - { - ++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] || sSpellMgr.IsSpellLearnToSpell(talentInfo->RankID[j],itrFirstId)) - { - removeSpell(itr->first,false); - itr = m_spells.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 f940ee49d..67546f67c 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 "9659" + #define REVISION_NR "9660" #endif // __REVISION_NR_H__