mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 10:37:02 +00:00
[8881] Fixed aura SPELL_AURA_MOD_MECHANIC_DAMAGE_TAKEN_PERCENT(255) apply.
Function use wrong base at fact that spell misc values for this aura store single value instead mask. Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
980a0d6a64
commit
a744ffc4c0
2 changed files with 11 additions and 2 deletions
|
|
@ -9355,7 +9355,16 @@ uint32 Unit::MeleeDamageBonus(Unit *pVictim, uint32 pdamage,WeaponAttackType att
|
||||||
TakenPercent *= pVictim->GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, schoolMask);
|
TakenPercent *= pVictim->GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, schoolMask);
|
||||||
|
|
||||||
// ..taken pct (by mechanic mask)
|
// ..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)
|
// ..taken pct (melee/ranged)
|
||||||
if(attType == RANGED_ATTACK)
|
if(attType == RANGED_ATTACK)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "8880"
|
#define REVISION_NR "8881"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue