diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index c45f8cbff..3fd9a67e9 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -9355,7 +9355,16 @@ uint32 Unit::MeleeDamageBonus(Unit *pVictim, uint32 pdamage,WeaponAttackType att TakenPercent *= pVictim->GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, schoolMask); // ..taken pct (by mechanic mask) - TakenPercent *= pVictim->GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_MECHANIC_DAMAGE_TAKEN_PERCENT, mechanicMask); + if (mechanicMask) + { + AuraList const& mTotalAuraList = GetAurasByType(SPELL_AURA_MOD_MECHANIC_DAMAGE_TAKEN_PERCENT); + for(AuraList::const_iterator i = mTotalAuraList.begin(); i != mTotalAuraList.end(); ++i) + { + Modifier* mod = (*i)->GetModifier(); + if ((1<<(mod->m_miscvalue-1)) & mechanicMask) + TakenPercent *= (100.0f + mod->m_amount)/100.0f; + } + } // ..taken pct (melee/ranged) if(attType == RANGED_ATTACK) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 7209c4999..13b688be4 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 "8880" + #define REVISION_NR "8881" #endif // __REVISION_NR_H__