mirror of
https://github.com/mangosfour/server.git
synced 2025-12-17 07:37:03 +00:00
[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:
parent
f27741460f
commit
355f172fc6
8 changed files with 116 additions and 78 deletions
|
|
@ -4788,14 +4788,6 @@ void Aura::HandlePeriodicDamage(bool apply, bool Real)
|
|||
|
||||
switch (spellProto->SpellFamilyName)
|
||||
{
|
||||
case SPELLFAMILY_GENERIC:
|
||||
{
|
||||
// Pounce Bleed
|
||||
if (spellProto->SpellIconID == 147 && spellProto->SpellVisual[0] == 0)
|
||||
// $AP*0.18/6 bonus per tick
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 3 / 100);
|
||||
break;
|
||||
}
|
||||
case SPELLFAMILY_WARRIOR:
|
||||
{
|
||||
// Rend
|
||||
|
|
@ -4816,14 +4808,6 @@ void Aura::HandlePeriodicDamage(bool apply, bool Real)
|
|||
}
|
||||
case SPELLFAMILY_DRUID:
|
||||
{
|
||||
// Rake
|
||||
if (spellProto->SpellFamilyFlags & UI64LIT(0x0000000000001000) && spellProto->Effect[EFFECT_INDEX_2] == SPELL_EFFECT_ADD_COMBO_POINTS)
|
||||
// $AP*0.18/3 bonus per tick
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 6 / 100);
|
||||
// Lacerate
|
||||
if (spellProto->SpellFamilyFlags & UI64LIT(0x000000010000000000))
|
||||
// $AP*0.05/5 bonus per tick
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) / 100);
|
||||
// Rip
|
||||
if (spellProto->SpellFamilyFlags & UI64LIT(0x000000000000800000))
|
||||
{
|
||||
|
|
@ -4845,10 +4829,6 @@ void Aura::HandlePeriodicDamage(bool apply, bool Real)
|
|||
}
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * cp / 100);
|
||||
}
|
||||
// Lock Jaw
|
||||
if (spellProto->SpellFamilyFlags & UI64LIT(0x1000000000000000))
|
||||
// 0.15*$AP
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 15 / 100);
|
||||
break;
|
||||
}
|
||||
case SPELLFAMILY_ROGUE:
|
||||
|
|
@ -4868,26 +4848,6 @@ void Aura::HandlePeriodicDamage(bool apply, bool Real)
|
|||
if (cp > 5) cp = 5;
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * AP_per_combo[cp]);
|
||||
}
|
||||
// Garrote
|
||||
if (spellProto->SpellFamilyFlags & UI64LIT(0x000000000000000100))
|
||||
// $AP*0.07 bonus per tick
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 7 / 100);
|
||||
// Deadly Poison
|
||||
if (spellProto->SpellFamilyFlags & UI64LIT(0x0000000000010000))
|
||||
// 0.12*$AP / 4 * amount of stack
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 3 * GetStackAmount() / 100);
|
||||
break;
|
||||
}
|
||||
case SPELLFAMILY_HUNTER:
|
||||
{
|
||||
// Serpent Sting
|
||||
if (spellProto->SpellFamilyFlags & UI64LIT(0x0000000000004000))
|
||||
// $RAP*0.2/5 bonus per tick
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(RANGED_ATTACK) * 0.2 / 5);
|
||||
// Immolation Trap
|
||||
if ((spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000004)) && spellProto->SpellIconID == 678)
|
||||
// $RAP*0.1/5 bonus per tick
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(RANGED_ATTACK) * 10 / 500);
|
||||
break;
|
||||
}
|
||||
case SPELLFAMILY_PALADIN:
|
||||
|
|
@ -4904,15 +4864,6 @@ void Aura::HandlePeriodicDamage(bool apply, bool Real)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case SPELLFAMILY_DEATHKNIGHT:
|
||||
{
|
||||
//Frost Fever and Blood Plague AP scale
|
||||
if (spellProto->SpellFamilyFlags & UI64LIT(0x400080000000000))
|
||||
{
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 0.055f * 1.15f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue