diff options
| author | megamage <none@none> | 2009-08-19 16:55:35 -0500 |
|---|---|---|
| committer | megamage <none@none> | 2009-08-19 16:55:35 -0500 |
| commit | 051b3832543dd4a2243378172653c432506ef3a2 (patch) | |
| tree | 74dfbaa0370e36dc90157527b491a3c5c52245ef /src | |
| parent | edc05f2c19b320ea28536ea963c16266a152d1b4 (diff) | |
[8383] Implement WorldSession::HandleCancelChanneling. Author: VladimirMangos
--HG--
branch : trunk
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/SpellHandler.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp index e1e816635aa..b41a2a0bf46 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<uint32>(); // 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) |
