diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 86b5ffc32..43ab7ed29 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -397,7 +397,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS] = &Aura::HandleNULL, //341 2 spells in 4.3.4 modifies cooldown of hearthstone and cast time of archaeology mining &Aura::HandleNULL, //342 SPELL_AURA_MOD_ATTACKSPEED_2 17 spells in 4.3.4 &Aura::HandleNULL, //343 SPELL_AURA_MOD_ALL_DAMAGE_FROM_CASTER 2 spells in 4.3.4 - &Aura::HandleNULL, //344 SPELL_AURA_MOD_AUTOATTACK_DAMAGE 6 spells in 4.3.4 + &Aura::HandleNoImmediateEffect, //344 SPELL_AURA_MOD_AUTOATTACK_DAMAGE 6 spells in 4.3.4 &Aura::HandleNULL, //345 SPELL_AURA_MOD_IGNORE_ARMOR_PCT 3 spells in 4.3.4 &Aura::HandleNULL, //346 32 spells in 4.3.4 shows progressbar-like ui? &Aura::HandleNULL, //347 SPELL_AURA_MOD_CD_FROM_HASTE 2 spells in 4.3.4 diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 0832bf9cc..fb170d59d 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -7774,6 +7774,20 @@ uint32 Unit::MeleeDamageBonusDone(Unit* pVictim, uint32 pdamage, WeaponAttackTyp DonePercent *= GetModifierValue(UNIT_MOD_DAMAGE_OFFHAND, TOTAL_PCT); // no school check required } + if (!spellProto) + { + // apply SPELL_AURA_MOD_AUTOATTACK_DAMAGE for white damage + AuraList const& mModAutoAttackDamageAuras = GetAurasByType(SPELL_AURA_MOD_AUTOATTACK_DAMAGE); + for (AuraList::const_iterator i = mModAutoAttackDamageAuras.begin(); i != mModAutoAttackDamageAuras.end(); ++i) + { + if ((*i)->GetSpellProto()->GetEquippedItemClass() == -1 || // general, weapon independent + pWeapon && pWeapon->IsFitToSpellRequirements((*i)->GetSpellProto())) // OR used weapon fits aura requirements + { + DonePercent *= ((*i)->GetModifier()->m_amount + 100.0f) / 100.0f; + } + } + } + // ..done pct (by creature type mask) DonePercent *= GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_DONE_VERSUS, creatureTypeMask); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 20ada842e..fce50a416 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "12637" + #define REVISION_NR "12638" #endif // __REVISION_NR_H__