From 396ce3b71d93cd5b81ffcf6cf8b56e5226c1c959 Mon Sep 17 00:00:00 2001 From: Reamer Date: Mon, 12 Dec 2011 16:57:57 +0100 Subject: [PATCH] [11862] Do not overwrite channel spells with other channel spells. Close pull request #28 Signed-off-by: Schmoozerd --- src/game/Spell.cpp | 4 ++++ src/shared/revision_nr.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index c996c32bd..b953d8597 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -4122,6 +4122,10 @@ void Spell::SendChannelUpdate(uint32 time) if (Unit* target = ObjectAccessor::GetUnit(*m_caster, target_guid)) target->RemoveAurasByCasterSpell(m_spellInfo->Id, m_caster->GetObjectGuid()); + // Only finish channeling when latest channeled spell finishes + if (m_caster->GetUInt32Value(UNIT_CHANNEL_SPELL) != m_spellInfo->Id) + return; + m_caster->SetChannelObjectGuid(ObjectGuid()); m_caster->SetUInt32Value(UNIT_CHANNEL_SPELL, 0); } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 679636843..421c601cf 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11861" + #define REVISION_NR "11862" #endif // __REVISION_NR_H__