From 66509502f4a5065d74cb3da501558f7eff6ea1ec Mon Sep 17 00:00:00 2001 From: Seyden Date: Mon, 7 Feb 2022 21:25:27 +0100 Subject: Core/Spells: Implement CAST_FLAG_EX_IGNORE_COOLDOWN - causes spells to not automatically trigger cooldown clientside (#27717) --- src/server/game/Spells/Spell.cpp | 3 +++ src/server/game/Spells/Spell.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 891b3b060aa..eaf53def8f4 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -570,6 +570,9 @@ m_spellValue(new SpellValue(m_spellInfo, caster)), _spellEvent(nullptr) m_castItemLevel = -1; m_castFlagsEx = 0; + if (IsIgnoringCooldowns()) + m_castFlagsEx |= CAST_FLAG_EX_IGNORE_COOLDOWN; + unitTarget = nullptr; itemTarget = nullptr; gameObjTarget = nullptr; diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h index 13185fe342f..a2702ccad4b 100644 --- a/src/server/game/Spells/Spell.h +++ b/src/server/game/Spells/Spell.h @@ -120,7 +120,7 @@ enum SpellCastFlagsEx CAST_FLAG_EX_UNKNOWN_7 = 0x00040, CAST_FLAG_EX_UNKNOWN_8 = 0x00080, CAST_FLAG_EX_UNKNOWN_9 = 0x00100, - CAST_FLAG_EX_UNKNOWN_10 = 0x00200, + CAST_FLAG_EX_IGNORE_COOLDOWN = 0x00200, // makes client not automatically start cooldown after SPELL_GO CAST_FLAG_EX_UNKNOWN_11 = 0x00400, CAST_FLAG_EX_UNKNOWN_12 = 0x00800, CAST_FLAG_EX_UNKNOWN_13 = 0x01000, -- cgit v1.2.3