aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellHandler.cpp
diff options
context:
space:
mode:
authorgvcoman <none@none>2008-11-08 23:32:15 -0600
committergvcoman <none@none>2008-11-08 23:32:15 -0600
commitc014d6667c71f1d618fe195b21e2dd86e5407825 (patch)
tree1fb039873fd6206d2829adc9e9b31e4a679d76a9 /src/game/SpellHandler.cpp
parent35a284df7ea832a3c4beaa873af39441b67cb581 (diff)
[svn] * Disabled the move and stay commands while pet is possessed
* Make pet come back to its owner after possession ends if it's not currently in combat * Allow the possessed unit to properly change attack targets * Also remove charm effects from charmed target on owner aura cancel --HG-- branch : trunk
Diffstat (limited to 'src/game/SpellHandler.cpp')
-rw-r--r--src/game/SpellHandler.cpp8
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);