*Fix the spell power coefficient and the SpellFamilyFlags in Power Word: Shield, Ice Barrier and Shadow Ward.

--HG--
branch : trunk
This commit is contained in:
Anubisss
2009-05-05 03:54:15 +02:00
parent 92e393deb8
commit 59d14fceb2
+19 -9
View File
@@ -5630,26 +5630,36 @@ void AuraEffect::HandleSchoolAbsorb(bool apply, bool Real)
switch(m_spellProto->SpellFamilyName) switch(m_spellProto->SpellFamilyName)
{ {
case SPELLFAMILY_PRIEST: case SPELLFAMILY_PRIEST:
if(m_spellProto->SpellFamilyFlags.IsEqual(0x1)) //PW:S // PW: S
if(m_spellProto->SpellFamilyFlags.IsEqual(0x1, 0, 0x400))
{ {
//+30% from +healing bonus // +80.68% from sp bonus
DoneActualBenefit = caster->SpellBaseHealingBonus(GetSpellSchoolMask(m_spellProto)) * 0.3f; DoneActualBenefit = caster->SpellBaseHealingBonus(GetSpellSchoolMask(m_spellProto)) * 0.8068f;
} }
break; break;
case SPELLFAMILY_MAGE: case SPELLFAMILY_MAGE:
if(m_spellProto->SpellFamilyFlags.IsEqual(0x80100) || m_spellProto->SpellFamilyFlags.IsEqual(0x8) || m_spellProto->SpellFamilyFlags.IsEqual(0,0x1)) // ice barrier
if(m_spellProto->SpellFamilyFlags.IsEqual(0, 0x1, 0x8))
{
// +80.67% from sp bonus
DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.8067f;
}
/*
TODO: find the correct spell power coefficient for frost ward and fire ward (if has)
// frost ward, fire ward
else if(m_spellProto->SpellFamilyFlags.IsEqual(0x100, 0, 0x8) || m_spellProto->SpellFamilyFlags.IsEqual(0x8, 0, 0x8))
{ {
//frost ward, fire ward, ice barrier
//+10% from +spd bonus //+10% from +spd bonus
DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f; DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f;
} }
*/
break; break;
case SPELLFAMILY_WARLOCK: case SPELLFAMILY_WARLOCK:
if(m_spellProto->SpellFamilyFlags.IsEqual(0,0,0x40)) // shadow ward
if(m_spellProto->SpellFamilyFlags.IsEqual(0, 0, 0x40))
{ {
//shadow ward // +30% from sp bonus
//+10% from +spd bonus DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.3f;
DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f;
} }
break; break;
default: default: