[8030] Fixed spell 64901 work and related target selection code refactoring. Author: VladimirMangos

* Replace 64904 by 64901 in spellbook and action bars.
    * Implement proper max mana percent buff
    * Implement proper target selection.
    * Move group/raid targets seelction code to functions for reuse code.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-06-17 18:35:40 -05:00
parent 7e4fcb1793
commit a2f10c496f
8 changed files with 144 additions and 33 deletions
+13
View File
@@ -5137,6 +5137,19 @@ void AuraEffect::HandleAuraModIncreaseEnergy(bool apply, bool Real, bool /*chang
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + powerType);
// Special case with temporary increase max/current power (percent)
if (GetId()==64904) // Hymn of Hope
{
if(Real)
{
uint32 val = m_target->GetPower(powerType);
m_target->HandleStatModifier(unitMod, TOTAL_PCT, float(m_amount), apply);
m_target->SetPower(powerType, apply ? val*(100+m_amount)/100 : val*100/(100+m_amount));
}
return;
}
// generic flat case
m_target->HandleStatModifier(unitMod, TOTAL_VALUE, float(m_amount), apply);
}