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__