diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/Unit.cpp | 17 | 
1 files changed, 11 insertions, 6 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 022fb462e28..43cd1d642ce 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -8701,14 +8701,19 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3      }      // Torment the weak -    AuraList const& mDumyAuras = GetAurasByType(SPELL_AURA_DUMMY); -    for(AuraList::const_iterator i = mDumyAuras.begin(); i != mDumyAuras.end(); ++i) +    if (spellProto->SpellFamilyName== SPELLFAMILY_MAGE && (spellProto->SpellFamilyFlags[0]&0x20200021 || spellProto->SpellFamilyFlags[1]& 0x9000))      { -        if ((*i)->GetSpellProto()->SpellIconID == 3263 && (*i)->isAffectedOnSpell(spellProto)) +        if(pVictim->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED))          { -            if(pVictim->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED)) -                DoneTotalMod *=float((*i)->GetModifier()->m_amount + 100.f) / 100.f; -            break; +            AuraList const& mDumyAuras = GetAurasByType(SPELL_AURA_DUMMY); +            for(AuraList::const_iterator i = mDumyAuras.begin(); i != mDumyAuras.end(); ++i) +            { +                if ((*i)->GetSpellProto()->SpellIconID == 3263) +                { +                    DoneTotalMod *=float((*i)->GetModifier()->m_amount + 100.f) / 100.f; +                    break; +                } +            }          }      }  | 
