*Fix drain mana, judgement of widsom and viper sting damage amount. Patch by Maxxie.

*Add one more rank of Devour Magic.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-03-01 16:29:40 +01:00
parent ef500cc204
commit 44de012148
3 changed files with 18 additions and 4 deletions
+11
View File
@@ -5682,6 +5682,17 @@ void Aura::PeriodicTick()
int32 drain_amount = m_target->GetPower(power) > pdamage ? pdamage : m_target->GetPower(power);
//Viper sting and Drain Life take mana % amount from target, but not bigger than amount*2 of caster mana
if ((m_spellProto->SpellFamilyName==SPELLFAMILY_WARLOCK && m_spellProto->SpellFamilyFlags[0]&0x10)
|| (m_spellProto->SpellFamilyName==SPELLFAMILY_HUNTER && m_spellProto->SpellFamilyFlags[1]&0x80))
{
uint32 drain = m_target->GetMaxPower(power) * drain_amount /100;
if(drain > pCaster->GetMaxPower(power) * drain_amount / 50)
drain_amount = pCaster->GetMaxPower(power) * drain_amount / 50;
else
drain_amount = drain;
}
// resilience reduce mana draining effect at spell crit damage reduction (added in 2.4)
if (power == POWER_MANA && m_target->GetTypeId() == TYPEID_PLAYER)
drain_amount -= ((Player*)m_target)->GetSpellCritDamageReduction(drain_amount);