diff options
| -rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 16 | ||||
| -rwxr-xr-x | src/server/game/Spells/Auras/SpellAuraDefines.h | 2 | 
2 files changed, 17 insertions, 1 deletions
| diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 777a3a47f44..a97343f204e 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -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)      { diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h index 65f394052d8..43c0f5d5ac2 100755 --- a/src/server/game/Spells/Auras/SpellAuraDefines.h +++ b/src/server/game/Spells/Auras/SpellAuraDefines.h @@ -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 | 
