From 118a555b0627c2f9fe55bd414182a6e0f9c5056e Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Thu, 14 Oct 2021 20:32:30 +0200 Subject: [PATCH] fix(Core/Spells): Fix all cases of client crash when pressing ESC after a spell being cast (#8497) * cherry-pick commit (https://github.com/TrinityCore/TrinityCore/commit/f765e8eb73a7eea550d6059f63327ae2f4ac7a14) * closes https://github.com/azerothcore/azerothcore-wotlk/issues/8143 Co-Authored-By: Shauren Co-authored-by: Shauren --- src/server/game/Spells/Spell.cpp | 4 ++-- src/server/game/Spells/SpellMgr.cpp | 17 ----------------- 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index ccbf923c7..ec38f1192 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4338,7 +4338,7 @@ void Spell::SendSpellStart() uint32 castFlags = CAST_FLAG_HAS_TRAJECTORY; - if (((IsTriggered() && !m_spellInfo->IsAutoRepeatRangedSpell()) || m_triggeredByAuraSpell) && !m_spellInfo->IsChanneled()) + if (((IsTriggered() && !m_spellInfo->IsAutoRepeatRangedSpell()) || m_triggeredByAuraSpell) && !m_cast_count && !m_spellInfo->IsChanneled()) castFlags |= CAST_FLAG_PENDING; if (m_spellInfo->HasAttribute(SPELL_ATTR0_USES_RANGED_SLOT) || m_spellInfo->HasAttribute(SPELL_ATTR0_CU_NEEDS_AMMO_DATA)) @@ -4394,7 +4394,7 @@ void Spell::SendSpellGo() uint32 castFlags = CAST_FLAG_UNKNOWN_9; // triggered spells with spell visual != 0 - if (((IsTriggered() && !m_spellInfo->IsAutoRepeatRangedSpell()) || m_triggeredByAuraSpell) && !m_spellInfo->IsChanneled()) + if (((IsTriggered() && !m_spellInfo->IsAutoRepeatRangedSpell()) || m_triggeredByAuraSpell) && !m_cast_count && !m_spellInfo->IsChanneled()) castFlags |= CAST_FLAG_PENDING; if (m_spellInfo->HasAttribute(SPELL_ATTR0_USES_RANGED_SLOT) || m_spellInfo->HasAttribute(SPELL_ATTR0_CU_NEEDS_AMMO_DATA)) diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index b324b6b68..24392639d 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3454,16 +3454,6 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->EffectMiscValueB[0] = 64; }); - ApplySpellFix({ - 45257, // Using Steam Tonk Controller - 45440, // Steam Tonk Controller - 60256, // Collect Sample - 45634 // Neural Needle - }, [](SpellEntry* spellInfo) - { - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_ALLOW_CAST_WHILE_CASTING; // Crashes client on pressing ESC - }); - ApplySpellFix({ 40244, // Simon Game Visual 40245, // Simon Game Visual @@ -6782,7 +6772,6 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->Effect[1] = SPELL_EFFECT_DUMMY; spellInfo->EffectRadiusIndex[1] = spellInfo->EffectRadiusIndex[0]; spellInfo->EffectImplicitTargetA[1] = TARGET_UNIT_DEST_AREA_ENTRY; - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_ALLOW_CAST_WHILE_CASTING; }); // Still At It @@ -7030,12 +7019,6 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->AuraInterruptFlags &= ~AURA_INTERRUPT_FLAG_NOT_ABOVEWATER; }); - // Leading the Charge (13380), All Infra-Green bomber quests - ApplySpellFix({ 59059 }, [](SpellEntry* spellInfo) - { - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_ALLOW_CAST_WHILE_CASTING; - }); - // Dark Horizon (12664), Reunited (12663) ApplySpellFix({ 52190 }, [](SpellEntry* spellInfo) {