diff options
-rw-r--r-- | src/game/Player.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 58749dc877d..381d8ec0748 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -22016,7 +22016,7 @@ void Player::ActivateSpec(uint8 spec) continue; PlayerTalentMap::iterator plrTalent = m_talents[m_activeSpec]->find(talentInfo->TalentID); - if (plrTalent != m_talents[m_activeSpec]->end()) + if (plrTalent != m_talents[m_activeSpec]->end() || m_talents[m_activeSpec]->empty()) { for (int8 rank = MAX_TALENT_RANK-1; rank >= 0; --rank) { @@ -22045,7 +22045,8 @@ void Player::ActivateSpec(uint8 spec) else ++itr; } - plrTalent->second->state = PLAYERSPELL_REMOVED; // mark the talent in the talent map as removed + if (!m_talents[m_activeSpec]->empty()) + plrTalent->second->state = PLAYERSPELL_REMOVED; // mark the talent in the talent map as removed } } } |