diff options
| -rwxr-xr-x | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 87cc2ce0771..fa37ad9daad 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -2814,6 +2814,21 @@ void AuraEffect::HandleModInvisibility(AuraApplication const * aurApp, uint8 mod target->m_invisibility.DelFlag(type); } + else + { + bool found = false; + Unit::AuraEffectList const& invisAuras = target->GetAuraEffectsByType(SPELL_AURA_MOD_INVISIBILITY); + for (Unit::AuraEffectList::const_iterator i = invisAuras.begin(); i != invisAuras.end(); ++i) + { + if (GetMiscValue() == (*i)->GetMiscValue()) + { + found = true; + break; + } + } + if (!found) + target->m_invisibility.DelFlag(type); + } target->m_invisibility.AddValue(type, -GetAmount()); } |
