From 55a56ad71eafe9431ac89416907537698889a5ab Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Tue, 18 Aug 2009 04:12:31 +0400 Subject: [PATCH] [8383] Implement WorldSession::HandleCancelChanneling. --- src/game/SpellHandler.cpp | 15 +++++++++------ src/shared/revision_nr.h | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp index a8e66e8ff..41d752315 100644 --- a/src/game/SpellHandler.cpp +++ b/src/game/SpellHandler.cpp @@ -467,13 +467,16 @@ void WorldSession::HandleCancelAutoRepeatSpellOpcode( WorldPacket& /*recvPacket* _player->m_mover->InterruptSpell(CURRENT_AUTOREPEAT_SPELL); } -/// \todo Complete HandleCancelChanneling function -void WorldSession::HandleCancelChanneling( WorldPacket & /*recv_data */) +void WorldSession::HandleCancelChanneling( WorldPacket & recv_data) { - /* - uint32 spellid; - recv_data >> spellid; - */ + recv_data.read_skip(); // spellid, not used + + // ignore for remote control state (for player case) + Unit* mover = _player->m_mover; + if(mover != _player && mover->GetTypeId()==TYPEID_PLAYER) + return; + + mover->InterruptSpell(CURRENT_CHANNELED_SPELL); } void WorldSession::HandleTotemDestroyed( WorldPacket& recvPacket) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index a0e86162a..1f3737b85 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 "8382" + #define REVISION_NR "8383" #endif // __REVISION_NR_H__