aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellAuras.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2008-11-29 14:04:20 -0600
committermegamage <none@none>2008-11-29 14:04:20 -0600
commit7af8633331dc5dd79061a5595e0bbdc871540a6d (patch)
tree5e4a83d62090cd85c5cda3a742131b379e369bc9 /src/game/SpellAuras.cpp
parent3d8d45c57a84538afbf716fc9304ea3207ea1948 (diff)
*Fix the bug that improved drain soul talent make caster cannot get soul shard.
--HG-- branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
-rw-r--r--src/game/SpellAuras.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index a54077573cf..ce2fec21fab 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -2798,7 +2798,12 @@ void Aura::HandleChannelDeathItem(bool apply, bool Real)
{
Unit* caster = GetCaster();
Unit* victim = GetTarget();
- if(!caster || caster->GetTypeId() != TYPEID_PLAYER || !victim || m_removeMode!=AURA_REMOVE_BY_DEATH)
+ if(!caster || caster->GetTypeId() != TYPEID_PLAYER || !victim)// || m_removeMode!=AURA_REMOVE_BY_DEATH)
+ return;
+
+ //we cannot check removemode = death
+ //talent will remove the caster's aura->interrupt channel->remove victim aura
+ if(victim->GetHealth() > 0)
return;
SpellEntry const *spellInfo = GetSpellProto();