[9354] Add spell efffects for dual spec.

Actual dual spec still not implemented.

Credits to EnderGT for original patch.

Signed-off-by: hunuza <hunuza@gmail.com>
This commit is contained in:
hunuza 2010-02-10 20:47:23 +01:00
parent 0bd88dd55a
commit 0f7f7c5ada
9 changed files with 62 additions and 15 deletions

View file

@ -5634,7 +5634,7 @@ void Player::SendInitialActionButtons() const
sLog.outDetail( "Initializing Action Buttons for '%u'", GetGUIDLow() );
WorldPacket data(SMSG_ACTION_BUTTONS, 1+(MAX_ACTION_BUTTONS*4));
data << uint8(0); // can be 0, 1, 2 (talent spec)
data << uint8(1); // can be 0, 1, 2 (talent spec)
ActionButtonList const& currentActionButtonList = m_actionButtons[m_activeSpec];
for(int button = 0; button < MAX_ACTION_BUTTONS; ++button)
{
@ -21315,12 +21315,34 @@ void Player::DeleteEquipmentSet(uint64 setGuid)
}
}
void Player::ActivateSpec(uint32 specNum)
void Player::ActivateSpec(uint8 specNum)
{
if(GetActiveSpec() == specNum)
return;
resetTalents(true);
SetActiveSpec(specNum);
SendInitialActionButtons();
InitTalentForLevel();
}
void Player::UpdateSpecCount(uint8 count)
{
uint8 curCount = GetSpecsCount();
if(curCount == count)
return;
if(count > curCount)
{
//TODO: copy current action button set
}
SetSpecsCount(count);
SendTalentsInfoData(false);
}
void Player::RemoveAtLoginFlag( AtLoginFlags f, bool in_db_also /*= false*/ )