diff options
Diffstat (limited to 'src/game/SpellHandler.cpp')
-rw-r--r-- | src/game/SpellHandler.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp index 051e1adbc30..190134c7b02 100644 --- a/src/game/SpellHandler.cpp +++ b/src/game/SpellHandler.cpp @@ -352,13 +352,15 @@ void WorldSession::HandleCancelAuraOpcode( WorldPacket& recvPacket) if (!spellInfo) return; - // Remove possess aura from the possessed as well - if(_player->isPossessing()) + // Remove possess/charm aura from the possessed/charmed as well + // TODO: Remove this once the ability to cancel aura sets at once is implemented + if(_player->GetCharm()) { for (int i = 0; i < 3; ++i) { if (spellInfo->EffectApplyAuraName[i] == SPELL_AURA_MOD_POSSESS || - spellInfo->EffectApplyAuraName[i] == SPELL_AURA_MOD_POSSESS_PET) + spellInfo->EffectApplyAuraName[i] == SPELL_AURA_MOD_POSSESS_PET || + spellInfo->EffectApplyAuraName[i] == SPELL_AURA_MOD_CHARM) { _player->RemoveAurasDueToSpellByCancel(spellId); _player->GetCharm()->RemoveAurasDueToSpellByCancel(spellId); |