diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 2a50fdc54..2dd62f901 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1075,6 +1075,7 @@ void Aura::_RemoveAura() m_target->ModifyAuraState(AURA_STATE_ENRAGE, false); uint32 removeState = 0; + uint64 removeFamilyFlag = m_spellProto->SpellFamilyFlags; switch(m_spellProto->SpellFamilyName) { case SPELLFAMILY_PALADIN: @@ -1089,7 +1090,10 @@ void Aura::_RemoveAura() if(m_spellProto->SpellFamilyFlags & 0x0000000000000400LL) removeState = AURA_STATE_FAERIE_FIRE; // Faerie Fire (druid versions) else if(m_spellProto->SpellFamilyFlags & 0x50) + { + removeFamilyFlag = 0x50; removeState = AURA_STATE_SWIFTMEND; // Swiftmend aura state + } break; case SPELLFAMILY_WARRIOR: if(m_spellProto->SpellFamilyFlags & 0x0004000000000000LL) @@ -1113,7 +1117,7 @@ void Aura::_RemoveAura() { SpellEntry const *auraSpellInfo = (*i).second->GetSpellProto(); if(auraSpellInfo->SpellFamilyName == m_spellProto->SpellFamilyName && - auraSpellInfo->SpellFamilyFlags == m_spellProto->SpellFamilyFlags ) + auraSpellInfo->SpellFamilyFlags & removeFamilyFlag) { found = true; break; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index d0f13bcb4..23dd51992 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 "7848" + #define REVISION_NR "7849" #endif // __REVISION_NR_H__