[9362] Make specs work at least for action bars

* Propertly add/remove required for specs work spells at 63624/63651.
* Copy current spec action bars to new spec at specs count increase, and delete action bars data at spec count decrease.
* Avoid undexpected action button data test for not active spec at loading/copy, but test action buttons data at spec activation.
* Reset active spec to default if active spec removed.
* Remove talent reset at spec switch that useless at this moment.
  Also note that for future case this also can be not correct and batter unlearn/learn only talents that different in specs.

After this changes specs must fully work in action bar part without unexpected another effects.
This commit is contained in:
VladimirMangos 2010-02-12 07:38:40 +03:00
parent c579b7dfc1
commit 268bb3221b
6 changed files with 74 additions and 20 deletions

View file

@ -2314,6 +2314,16 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
// Reindeer Transformation
m_target->CastSpell(m_target, 25860, true, NULL, this);
return;
case 63624: // Learn a Second Talent Specialization
// Teach Learn Talent Specialization Switches, required for client triggered casts, allow after 30 sec delay
if (m_target->GetTypeId() == TYPEID_PLAYER)
((Player*)m_target)->learnSpell(63680, false);
return;
case 63651: // Revert to One Talent Specialization
// Teach Learn Talent Specialization Switches, remove
if (m_target->GetTypeId() == TYPEID_PLAYER)
((Player*)m_target)->removeSpell(63680);
return;
}
break;
case SPELLFAMILY_WARRIOR: