From 051b3832543dd4a2243378172653c432506ef3a2 Mon Sep 17 00:00:00 2001 From: megamage Date: Wed, 19 Aug 2009 16:55:35 -0500 Subject: [PATCH] [8383] Implement WorldSession::HandleCancelChanneling. Author: VladimirMangos --HG-- branch : trunk --- src/game/SpellHandler.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp index e1e816635a..b41a2a0bf4 100644 --- a/src/game/SpellHandler.cpp +++ b/src/game/SpellHandler.cpp @@ -443,13 +443,16 @@ void WorldSession::HandleCancelAutoRepeatSpellOpcode( WorldPacket& /*recvPacket* _player->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)