Core/Spells: Implement SPELL_AURA_MOD_AUTOATTACK_DAMAGE
This commit is contained in:
@@ -11617,6 +11617,22 @@ void Unit::MeleeDamageBonus(Unit* victim, uint32 *pdamage, WeaponAttackType attT
|
||||
float TakenTotalMod = 1.0f;
|
||||
|
||||
// ..done
|
||||
// SPELL_AURA_MOD_AUTOATTACK_DAMAGE
|
||||
if (!spellProto)
|
||||
{
|
||||
AuraEffectList const & autoattackDamage = GetAuraEffectsByType(SPELL_AURA_MOD_AUTOATTACK_DAMAGE);
|
||||
for (AuraEffectList::const_iterator i = autoattackDamage.begin(); i != autoattackDamage.end(); ++i)
|
||||
{
|
||||
int32 amount = (*i)->GetAmount();
|
||||
if ((*i)->GetSpellInfo()->EquippedItemClass == -1)
|
||||
AddPctN(DoneTotalMod, amount);
|
||||
else if (!((*i)->GetSpellInfo()->AttributesEx5 & SPELL_ATTR5_SPECIAL_ITEM_CLASS_CHECK) && ((*i)->GetSpellInfo()->EquippedItemSubClassMask == 0))
|
||||
AddPctN(DoneTotalMod, amount);
|
||||
else if (ToPlayer() && ToPlayer()->HasItemFitToSpellRequirements((*i)->GetSpellInfo()))
|
||||
AddPctN(DoneTotalMod, amount);
|
||||
}
|
||||
}
|
||||
|
||||
AuraEffectList const& mModDamagePercentDone = GetAuraEffectsByType(SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
|
||||
for (AuraEffectList::const_iterator i = mModDamagePercentDone.begin(); i != mModDamagePercentDone.end(); ++i)
|
||||
{
|
||||
|
||||
@@ -403,7 +403,7 @@ enum AuraType
|
||||
SPELL_AURA_341 = 341, // cooldown decrease
|
||||
SPELL_AURA_MOD_TIME_BETWEEN_ATTACKS = 342, // (attack speed) NYI
|
||||
SPELL_AURA_343 = 343,
|
||||
SPELL_AURA_MOD_AUTOATTACK_DAMAGE = 344, // (white damage) NYI
|
||||
SPELL_AURA_MOD_AUTOATTACK_DAMAGE = 344,
|
||||
SPELL_AURA_BYPASS_ARMOR_FOR_CASTER = 345,
|
||||
SPELL_AURA_PROGRESS_BAR = 346, // NYI
|
||||
SPELL_AURA_MOD_SPELL_COOLDOWN_BY_HASTE = 347, // NYI
|
||||
|
||||
Reference in New Issue
Block a user