aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellHandler.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2008-11-21 19:49:54 -0600
committermegamage <none@none>2008-11-21 19:49:54 -0600
commit32485bc5d1bbde8f4b5e81d718f0fc0119442294 (patch)
treed2a8c99fdfe21d410ec2642831439fb0c3256ada /src/game/SpellHandler.cpp
parentfa667cf4507e5635d597b878119ce20f2836cc8c (diff)
parenta2c168155d2871aae22d1e4bccc3951525f6085d (diff)
Merge with 284 (54b0e67d97fe).
--HG-- branch : trunk
Diffstat (limited to 'src/game/SpellHandler.cpp')
-rw-r--r--src/game/SpellHandler.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp
index 07d8b18b543..6caab76e061 100644
--- a/src/game/SpellHandler.cpp
+++ b/src/game/SpellHandler.cpp
@@ -33,6 +33,7 @@
#include "MapManager.h"
#include "ScriptCalls.h"
#include "Totem.h"
+#include "TemporarySummon.h"
void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
{
@@ -376,6 +377,14 @@ void WorldSession::HandleCancelAuraOpcode( WorldPacket& recvPacket)
((Unit*)_player->GetFarsightTarget())->RemoveAurasDueToSpellByCancel(spellId);
return;
}
+ else if (spellInfo->Effect[i] == SPELL_EFFECT_SUMMON &&
+ (spellInfo->EffectMiscValueB[i] == SUMMON_TYPE_POSESSED ||
+ spellInfo->EffectMiscValueB[i] == SUMMON_TYPE_POSESSED2 ||
+ spellInfo->EffectMiscValueB[i] == SUMMON_TYPE_POSESSED3))
+ {
+ // Possession is removed in the UnSummon function
+ ((TemporarySummon*)_player->GetCharm())->UnSummon();
+ }
}
}