aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSeyden <saiifii@live.de>2022-02-07 21:25:27 +0100
committerGitHub <noreply@github.com>2022-02-07 21:25:27 +0100
commit66509502f4a5065d74cb3da501558f7eff6ea1ec (patch)
tree1349e276cf235eb7f623bb65ad8092ee7893b386 /src
parentd22d4616339a966ce5e5fe959dca622fc21b7988 (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.cpp3
-rw-r--r--src/server/game/Spells/Spell.h2
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,