aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorQAston <none@none>2009-01-21 20:24:21 +0100
committerQAston <none@none>2009-01-21 20:24:21 +0100
commite0b527be8ac4723a14b2cd5623aa511681f11775 (patch)
tree18b9d291a92158775deccc72c0acd395b99aeb78 /src
parent1f6bff8120bfbc0577960825d7c8389aaaa803a0 (diff)
*Fix rain of fire.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Unit.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 813d7783243..d46d77f8703 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -4660,8 +4660,13 @@ void Unit::RemoveAura(AuraMap::iterator &i, AuraRemoveMode mode)
//prevent recurential call
&& caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->getState() != SPELL_STATE_FINISHED)
{
- caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->cancel(false);
- channeled = true;
+ if (caster==this || !IsAreaOfEffectSpell(AurSpellInfo))
+ {
+ // remove auras only for non-aoe spells or when chanelled aura is removed
+ // because aoe spells don't require aura on target to continue
+ caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->cancel(false);
+ channeled = true;
+ }
}
}
}