diff options
Diffstat (limited to 'src/game/GameObject.cpp')
-rw-r--r-- | src/game/GameObject.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp index a7443d67e6b..e9f91fdb645 100644 --- a/src/game/GameObject.cpp +++ b/src/game/GameObject.cpp @@ -268,11 +268,7 @@ void GameObject::Update(uint32 /*p_time*/) Unit* caster = GetOwner(); if(caster && caster->GetTypeId()==TYPEID_PLAYER) { - if(caster->m_currentSpells[CURRENT_CHANNELED_SPELL]) - { - caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->SendChannelUpdate(0); - caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->finish(false); - } + caster->FinishSpell(CURRENT_CHANNELED_SPELL); WorldPacket data(SMSG_FISH_NOT_HOOKED,0); ((Player*)caster)->GetSession()->SendPacket(&data); @@ -1150,11 +1146,7 @@ void GameObject::Use(Unit* user) } } - if(player->m_currentSpells[CURRENT_CHANNELED_SPELL]) - { - player->m_currentSpells[CURRENT_CHANNELED_SPELL]->SendChannelUpdate(0); - player->m_currentSpells[CURRENT_CHANNELED_SPELL]->finish(); - } + player->FinishSpell(CURRENT_CHANNELED_SPELL); return; } @@ -1185,7 +1177,7 @@ void GameObject::Use(Unit* user) // in case summoning ritual caster is GO creator spellCaster = caster; - if(!caster->m_currentSpells[CURRENT_CHANNELED_SPELL]) + if(!caster->GetCurrentSpell(CURRENT_CHANNELED_SPELL)) return; spellId = info->summoningRitual.spellId; @@ -1198,8 +1190,7 @@ void GameObject::Use(Unit* user) } // finish spell - caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->SendChannelUpdate(0); - caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->finish(); + player->FinishSpell(CURRENT_CHANNELED_SPELL); // can be deleted now SetLootState(GO_JUST_DEACTIVATED); |