From ca16d0800c281e87b309c3b695f67c40d5b1d0f8 Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 28 Aug 2023 10:12:09 +0200 Subject: Core/Spells: Merge TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS functionality into TRIGGERED_IGNORE_CAST_IN_PROGRESS as they are always used together (and missing one of them in scripts is a common enough mistake) * Also fixes Ray of Frost being interrupted by casting Shimmer --- src/server/game/Spells/Spell.cpp | 4 ++-- src/server/game/Spells/SpellDefines.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index ff2c0128e07..6e5fc130645 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3538,7 +3538,7 @@ SpellCastResult Spell::prepare(SpellCastTargets const& targets, AuraEffect const { // stealth must be removed at cast starting (at show channel bar) // skip triggered spell (item equip spell casting and other not explicit character casts/item uses) - if (!(_triggeredCastFlags & TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS) && !m_spellInfo->HasAttribute(SPELL_ATTR2_NOT_AN_ACTION)) + if (!(_triggeredCastFlags & TRIGGERED_IGNORE_CAST_IN_PROGRESS) && !m_spellInfo->HasAttribute(SPELL_ATTR2_NOT_AN_ACTION)) unitCaster->RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags::Action, m_spellInfo); // Do not register as current spell when requested to ignore cast in progress @@ -3917,7 +3917,7 @@ void Spell::_cast(bool skipCheck) if (!(hitMask & PROC_HIT_CRITICAL)) hitMask |= PROC_HIT_NORMAL; - if (!(_triggeredCastFlags & TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS) && !m_spellInfo->HasAttribute(SPELL_ATTR2_NOT_AN_ACTION)) + if (!(_triggeredCastFlags & TRIGGERED_IGNORE_CAST_IN_PROGRESS) && !m_spellInfo->HasAttribute(SPELL_ATTR2_NOT_AN_ACTION)) m_originalCaster->RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags::ActionDelayed, m_spellInfo); if (!m_spellInfo->HasAttribute(SPELL_ATTR3_SUPPRESS_CASTER_PROCS)) diff --git a/src/server/game/Spells/SpellDefines.h b/src/server/game/Spells/SpellDefines.h index 2e209838c9f..caa2ef5ddd3 100644 --- a/src/server/game/Spells/SpellDefines.h +++ b/src/server/game/Spells/SpellDefines.h @@ -249,10 +249,10 @@ enum TriggerCastFlags : uint32 TRIGGERED_IGNORE_CAST_IN_PROGRESS = 0x00000020, //!< Will not check if a current cast is in progress // reuse = 0x00000040, TRIGGERED_CAST_DIRECTLY = 0x00000080, //!< In Spell::prepare, will be cast directly without setting containers for executed spell - TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS = 0x00000100, //!< Will ignore interruptible aura's at cast + // reuse = 0x00000100, TRIGGERED_IGNORE_SET_FACING = 0x00000200, //!< Will not adjust facing to target (if any) TRIGGERED_IGNORE_SHAPESHIFT = 0x00000400, //!< Will ignore shapeshift checks - // reuse + // reuse = 0x00000800, TRIGGERED_DISALLOW_PROC_EVENTS = 0x00001000, //!< Disallows proc events from triggered spell (default) TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE = 0x00002000, //!< Will ignore mounted/on vehicle restrictions // reuse = 0x00004000, -- cgit v1.2.3