[10743] Add AP/RAP bonus data to spell_bonus_data.

Also remove related hardcoded cases.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
insider42 2010-11-19 05:48:19 +03:00 committed by VladimirMangos
parent f27741460f
commit 355f172fc6
8 changed files with 116 additions and 78 deletions

View file

@ -654,37 +654,12 @@ void Spell::EffectSchoolDMG(SpellEffectIndex effect_idx)
if (m_caster->HasAura(57627)) // Charge 6 sec post-affect
damage *= 2;
}
// Mongoose Bite
else if ((m_spellInfo->SpellFamilyFlags & UI64LIT(0x000000002)) && m_spellInfo->SpellVisual[0]==342)
{
damage += int32(m_caster->GetTotalAttackPowerValue(BASE_ATTACK)*0.2f);
}
// Counterattack
else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0008000000000000))
{
damage += int32(m_caster->GetTotalAttackPowerValue(BASE_ATTACK)*0.2f);
}
// Arcane Shot
else if ((m_spellInfo->SpellFamilyFlags & UI64LIT(0x00000800)) && m_spellInfo->maxLevel > 0)
{
damage += int32(m_caster->GetTotalAttackPowerValue(RANGED_ATTACK)*0.15f);
}
// Steady Shot
else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x100000000))
{
int32 base = irand((int32)m_caster->GetWeaponDamageRange(RANGED_ATTACK, MINDAMAGE),(int32)m_caster->GetWeaponDamageRange(RANGED_ATTACK, MAXDAMAGE));
damage += int32(float(base)/m_caster->GetAttackTime(RANGED_ATTACK)*2800 + m_caster->GetTotalAttackPowerValue(RANGED_ATTACK)*0.1f);
}
// Explosive Trap Effect
else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x00000004))
{
damage += int32(m_caster->GetTotalAttackPowerValue(RANGED_ATTACK)*0.1f);
}
// Volley
else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x00002000))
{
damage += int32(m_caster->GetTotalAttackPowerValue(RANGED_ATTACK)*0.0837f);
}
break;
}
case SPELLFAMILY_PALADIN: