mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-09 08:17:56 +00:00
fix(Core/Spells): Restore sending SMSG_CAST_FAILED for spells in SPEL… (#19102)
* fix(Core/Spells): Restore sending SMSG_CAST_FAILED for spells in SPELL_STATE_PREPARING state (cast bar in progress) unintentionally removed https: //github.com/TrinityCore/TrinityCore/commit/844efbfca84580f7b2bd700f40209515f2aaa959 Co-Authored-By: Shauren <shauren.trinity@gmail.com> * ocd * correct animation and castbar staying --------- Co-authored-by: Shauren <shauren.trinity@gmail.com>
This commit is contained in:
@@ -3712,7 +3712,6 @@ void Spell::cancel(bool bySelf)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
uint32 oldState = m_spellState;
|
uint32 oldState = m_spellState;
|
||||||
bool autoRepeat = m_autoRepeat;
|
|
||||||
m_spellState = SPELL_STATE_FINISHED;
|
m_spellState = SPELL_STATE_FINISHED;
|
||||||
|
|
||||||
m_autoRepeat = false;
|
m_autoRepeat = false;
|
||||||
@@ -3720,6 +3719,8 @@ void Spell::cancel(bool bySelf)
|
|||||||
{
|
{
|
||||||
case SPELL_STATE_PREPARING:
|
case SPELL_STATE_PREPARING:
|
||||||
CancelGlobalCooldown();
|
CancelGlobalCooldown();
|
||||||
|
SendCastResult(SPELL_FAILED_INTERRUPTED);
|
||||||
|
|
||||||
if (m_caster->GetTypeId() == TYPEID_PLAYER)
|
if (m_caster->GetTypeId() == TYPEID_PLAYER)
|
||||||
{
|
{
|
||||||
if (m_caster->ToPlayer()->NeedSendSpectatorData())
|
if (m_caster->ToPlayer()->NeedSendSpectatorData())
|
||||||
@@ -3727,10 +3728,7 @@ void Spell::cancel(bool bySelf)
|
|||||||
}
|
}
|
||||||
[[fallthrough]];
|
[[fallthrough]];
|
||||||
case SPELL_STATE_DELAYED:
|
case SPELL_STATE_DELAYED:
|
||||||
SendInterrupted(0);
|
SendInterrupted(SPELL_FAILED_INTERRUPTED);
|
||||||
// xinef: fixes bugged gcd reset in some cases
|
|
||||||
if (!autoRepeat)
|
|
||||||
SendCastResult(SPELL_FAILED_INTERRUPTED);
|
|
||||||
break;
|
break;
|
||||||
case SPELL_STATE_CASTING:
|
case SPELL_STATE_CASTING:
|
||||||
if (!bySelf)
|
if (!bySelf)
|
||||||
|
|||||||
Reference in New Issue
Block a user