[8341] Update hardcoded coefficients for Aura::HandleSchoolAbsorb.

Also update spell family masks.

Thanks to raftom for pointing to problem.
This commit is contained in:
VladimirMangos 2009-08-09 16:03:03 +04:00
parent 3c297ac8c4
commit 9c387ec9fd
2 changed files with 16 additions and 22 deletions

View file

@ -5853,32 +5853,26 @@ void Aura::HandleSchoolAbsorb(bool apply, bool Real)
switch(m_spellProto->SpellFamilyName) switch(m_spellProto->SpellFamilyName)
{ {
case SPELLFAMILY_PRIEST: case SPELLFAMILY_PRIEST:
if(m_spellProto->SpellFamilyFlags == 0x1) //PW:S // Power Word: Shield
{ if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000001))
//+30% from +healing bonus //+80.68% from +spell bonus
DoneActualBenefit = caster->SpellBaseHealingBonus(GetSpellSchoolMask(m_spellProto)) * 0.3f; DoneActualBenefit = caster->SpellBaseHealingBonus(GetSpellSchoolMask(m_spellProto)) * 0.8068f;
break;
}
break; break;
case SPELLFAMILY_MAGE: case SPELLFAMILY_MAGE:
if (m_spellProto->SpellFamilyFlags == UI64LIT(0x80100) || // Frost Ward, Fire Ward
m_spellProto->SpellFamilyFlags == UI64LIT(0x8) || if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000108))
m_spellProto->SpellFamilyFlags == UI64LIT(0x100000000)) //+10% from +spell bonus
{
//frost ward, fire ward, ice barrier
//+10% from +spd bonus
DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f; DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f;
break; // Ice Barrier
} else if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000100000000))
//+80.67% from +spell bonus
DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.8067f;
break; break;
case SPELLFAMILY_WARLOCK: case SPELLFAMILY_WARLOCK:
if(m_spellProto->SpellFamilyFlags == 0x00) // Shadow Ward
{ if (m_spellProto->SpellFamilyFlags2 & 0x00000040)
//shadow ward //+30% from +spell bonus
//+10% from +spd bonus DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.30f;
DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f;
break;
}
break; break;
default: default:
break; break;

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "8340" #define REVISION_NR "8341"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__