diff options
| author | Machiavelli <none@none> | 2009-08-19 22:38:08 +0200 |
|---|---|---|
| committer | Machiavelli <none@none> | 2009-08-19 22:38:08 +0200 |
| commit | c9eee8e524c70329c4f896e0d2712244475d8ef8 (patch) | |
| tree | 80e862056584af975da0a45258cafdb251a5777c /src | |
| parent | 4ac7a2d0720d0e7597724f2cafefbe224b5cbab7 (diff) | |
*Use the pre-dual spec way of unlearning talents on top of the current one, to ensure that talents don't end up in the spell storage causing unexpected behaviour in game when trying to learn a talent.
Note: If your players have trouble learning specific talents, or they have an abnormal amount of talent points, force a talent reset on them after this rev and it should be resolved.
--HG--
branch : trunk
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/Player.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 1fc04b4051f..dd22c49c720 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -3774,8 +3774,9 @@ bool Player::resetTalents(bool no_cost) // to prevent unexpected lost normal learned spell skip another class talents if( (getClassMask() & talentTabInfo->ClassMask) == 0 ) continue; - - /* for (int j = 0; j < MAX_TALENT_RANK; j++) + + // Re-use pre-dual talent way of resetting talents, to ensure talents aren't being stored in spell storage. + for (int j = 0; j < MAX_TALENT_RANK; j++) { for(PlayerSpellMap::iterator itr = GetSpellMap().begin(); itr != GetSpellMap().end();) { @@ -3804,7 +3805,8 @@ bool Player::resetTalents(bool no_cost) else ++itr; } - } */ + } + PlayerTalentMap::iterator itr2 = m_talents[m_activeSpec]->begin(); for (; itr2 != m_talents[m_activeSpec]->end(); ++itr2) { |
