aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellDefines.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-03-24 23:36:53 +0100
committerShauren <shauren.trinity@gmail.com>2021-03-24 23:36:53 +0100
commit07a47947e2e189649e48a093b66c8c3de8872ac0 (patch)
treeb9aea76dbb04b26ed97b0a45df436a4f997eb4f6 /src/server/game/Spells/SpellDefines.h
parentabaeb12ba3993a636d8385fe06b3a5ceb0f66f63 (diff)
Core/Spells: Defined and implemented new spell interrupt flags
Diffstat (limited to 'src/server/game/Spells/SpellDefines.h')
-rw-r--r--src/server/game/Spells/SpellDefines.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/server/game/Spells/SpellDefines.h b/src/server/game/Spells/SpellDefines.h
index cf26e4a7c05..c330b2b1aa8 100644
--- a/src/server/game/Spells/SpellDefines.h
+++ b/src/server/game/Spells/SpellDefines.h
@@ -34,16 +34,24 @@ namespace WorldPackets
}
}
-enum SpellInterruptFlags : uint32
+enum class SpellInterruptFlags : uint32
{
- SPELL_INTERRUPT_FLAG_MOVEMENT = 0x01, // why need this for instant?
- SPELL_INTERRUPT_FLAG_PUSH_BACK = 0x02, // push back
- SPELL_INTERRUPT_FLAG_UNK3 = 0x04, // any info?
- SPELL_INTERRUPT_FLAG_INTERRUPT = 0x08, // interrupt
- SPELL_INTERRUPT_FLAG_ABORT_ON_DMG = 0x10 // _complete_ interrupt on direct damage
- //SPELL_INTERRUPT_UNK = 0x20 // unk, 564 of 727 spells having this spell start with "Glyph"
+ None = 0,
+ Movement = 0x00000001,
+ DamagePushbackPlayerOnly = 0x00000002,
+ Stun = 0x00000004, // useless, even spells without it get interrupted
+ Combat = 0x00000008,
+ DamageCancelsPlayerOnly = 0x00000010,
+ MeleeCombat = 0x00000020, // NYI
+ Immunity = 0x00000040, // NYI
+ DamageAbsorb = 0x00000080,
+ ZeroDamageCancels = 0x00000100,
+ DamagePushback = 0x00000200,
+ DamageCancels = 0x00000400
};
+DEFINE_ENUM_FLAG(SpellInterruptFlags);
+
enum class SpellAuraInterruptFlags : uint32
{
None = 0,