diff options
author | Seyden <saiifii@live.de> | 2022-02-07 21:25:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-07 21:25:27 +0100 |
commit | 66509502f4a5065d74cb3da501558f7eff6ea1ec (patch) | |
tree | 1349e276cf235eb7f623bb65ad8092ee7893b386 /src | |
parent | d22d4616339a966ce5e5fe959dca622fc21b7988 (diff) |
Core/Spells: Implement CAST_FLAG_EX_IGNORE_COOLDOWN - causes spells to not automatically trigger cooldown clientside (#27717)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.h | 2 |
2 files changed, 4 insertions, 1 deletions
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, |