Fix Fishing's spell cast interruption.

This commit is contained in:
Kartselyanski
2018-06-16 17:47:52 +03:00
committed by Barbz
parent 0f744d660f
commit 90fdd10c3f

View File

@@ -1249,6 +1249,7 @@ void GameObject::Use(Unit* user)
Unit* spellCaster = user;
uint32 spellId = 0;
bool triggered = false;
bool tmpfish = false;
if (Player* playerUser = user->ToPlayer())
{
@@ -1461,7 +1462,8 @@ void GameObject::Use(Unit* user)
// cast this spell later if provided
spellId = info->goober.spellId;
spellCaster = user;
tmpfish = true;
break;
}
case GAMEOBJECT_TYPE_CAMERA: //13
@@ -1549,6 +1551,8 @@ void GameObject::Use(Unit* user)
}
else // else: junk
player->SendLoot(GetGUID(), LOOT_FISHING_JUNK);
tmpfish = true;
break;
}
case GO_JUST_DEACTIVATED: // nothing to do, will be deleted at next update
@@ -1563,7 +1567,10 @@ void GameObject::Use(Unit* user)
}
}
player->InterruptSpell(CURRENT_CHANNELED_SPELL, true, true, true);
if(tmpfish)
player->FinishSpell(CURRENT_CHANNELED_SPELL, true);
else
player->InterruptSpell(CURRENT_CHANNELED_SPELL, true, true, true);
return;
}