Core/Spells: Define new cast flags

This commit is contained in:
Shauren
2023-08-28 13:21:10 +02:00
parent ca16d0800c
commit ac43e68b53

View File

@@ -75,66 +75,66 @@ enum WeaponAttackType : uint8;
#define TRAJECTORY_MISSILE_SIZE 3.0f
#define AOE_DAMAGE_TARGET_CAP SI64LIT(20)
enum SpellCastFlags
enum SpellCastFlags : uint32
{
CAST_FLAG_NONE = 0x00000000,
CAST_FLAG_PENDING = 0x00000001, // aoe combat log?
CAST_FLAG_HAS_TRAJECTORY = 0x00000002,
CAST_FLAG_UNKNOWN_3 = 0x00000004,
CAST_FLAG_UNKNOWN_4 = 0x00000008, // ignore AOE visual
CAST_FLAG_UNKNOWN_5 = 0x00000010,
CAST_FLAG_PROJECTILE = 0x00000020,
CAST_FLAG_UNKNOWN_7 = 0x00000040,
CAST_FLAG_UNKNOWN_8 = 0x00000080,
CAST_FLAG_UNKNOWN_9 = 0x00000100,
CAST_FLAG_UNKNOWN_10 = 0x00000200,
CAST_FLAG_UNKNOWN_11 = 0x00000400,
CAST_FLAG_POWER_LEFT_SELF = 0x00000800,
CAST_FLAG_UNKNOWN_13 = 0x00001000,
CAST_FLAG_UNKNOWN_14 = 0x00002000,
CAST_FLAG_UNKNOWN_15 = 0x00004000,
CAST_FLAG_UNKNOWN_16 = 0x00008000,
CAST_FLAG_UNKNOWN_17 = 0x00010000,
CAST_FLAG_ADJUST_MISSILE = 0x00020000,
CAST_FLAG_NO_GCD = 0x00040000, // no GCD for spell casts from charm/summon (vehicle spells is an example)
CAST_FLAG_VISUAL_CHAIN = 0x00080000,
CAST_FLAG_UNKNOWN_21 = 0x00100000,
CAST_FLAG_RUNE_LIST = 0x00200000,
CAST_FLAG_UNKNOWN_23 = 0x00400000,
CAST_FLAG_UNKNOWN_24 = 0x00800000,
CAST_FLAG_UNKNOWN_25 = 0x01000000,
CAST_FLAG_UNKNOWN_26 = 0x02000000,
CAST_FLAG_IMMUNITY = 0x04000000,
CAST_FLAG_UNKNOWN_28 = 0x08000000,
CAST_FLAG_UNKNOWN_29 = 0x10000000,
CAST_FLAG_UNKNOWN_30 = 0x20000000,
CAST_FLAG_HEAL_PREDICTION = 0x40000000,
CAST_FLAG_UNKNOWN_32 = 0x80000000
CAST_FLAG_NONE = 0x00000000,
CAST_FLAG_PENDING = 0x00000001, // aoe combat log?
CAST_FLAG_HAS_TRAJECTORY = 0x00000002,
CAST_FLAG_UNKNOWN_3 = 0x00000004,
CAST_FLAG_UNKNOWN_4 = 0x00000008, // ignore AOE visual
CAST_FLAG_UNKNOWN_5 = 0x00000010,
CAST_FLAG_PROJECTILE = 0x00000020,
CAST_FLAG_UNKNOWN_7 = 0x00000040,
CAST_FLAG_UNKNOWN_8 = 0x00000080,
CAST_FLAG_UNKNOWN_9 = 0x00000100,
CAST_FLAG_UNKNOWN_10 = 0x00000200,
CAST_FLAG_UNKNOWN_11 = 0x00000400,
CAST_FLAG_POWER_LEFT_SELF = 0x00000800,
CAST_FLAG_UNKNOWN_13 = 0x00001000,
CAST_FLAG_UNKNOWN_14 = 0x00002000,
CAST_FLAG_UNKNOWN_15 = 0x00004000,
CAST_FLAG_UNKNOWN_16 = 0x00008000,
CAST_FLAG_UNKNOWN_17 = 0x00010000,
CAST_FLAG_ADJUST_MISSILE = 0x00020000,
CAST_FLAG_NO_GCD = 0x00040000, // no GCD for spell casts from charm/summon (vehicle spells is an example)
CAST_FLAG_VISUAL_CHAIN = 0x00080000,
CAST_FLAG_UNKNOWN_21 = 0x00100000,
CAST_FLAG_RUNE_LIST = 0x00200000,
CAST_FLAG_UNKNOWN_23 = 0x00400000,
CAST_FLAG_UNKNOWN_24 = 0x00800000,
CAST_FLAG_UNKNOWN_25 = 0x01000000,
CAST_FLAG_UNKNOWN_26 = 0x02000000,
CAST_FLAG_IMMUNITY = 0x04000000,
CAST_FLAG_UNKNOWN_28 = 0x08000000,
CAST_FLAG_UNKNOWN_29 = 0x10000000,
CAST_FLAG_UNKNOWN_30 = 0x20000000,
CAST_FLAG_HEAL_PREDICTION = 0x40000000,
CAST_FLAG_TRIGGER_PET_COOLDOWN = 0x80000000 // causes the cooldown to be stored in pets SpellHistory on client
};
enum SpellCastFlagsEx
enum SpellCastFlagsEx : uint32
{
CAST_FLAG_EX_NONE = 0x00000,
CAST_FLAG_EX_UNKNOWN_1 = 0x00001,
CAST_FLAG_EX_UNKNOWN_2 = 0x00002,
CAST_FLAG_EX_UNKNOWN_3 = 0x00004,
CAST_FLAG_EX_UNKNOWN_4 = 0x00008,
CAST_FLAG_EX_UNKNOWN_5 = 0x00010,
CAST_FLAG_EX_UNKNOWN_6 = 0x00020,
CAST_FLAG_EX_UNKNOWN_7 = 0x00040,
CAST_FLAG_EX_UNKNOWN_8 = 0x00080,
CAST_FLAG_EX_UNKNOWN_9 = 0x00100,
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,
CAST_FLAG_EX_UNKNOWN_14 = 0x02000,
CAST_FLAG_EX_UNKNOWN_15 = 0x04000,
CAST_FLAG_EX_USE_TOY_SPELL = 0x08000, // Starts cooldown on toy
CAST_FLAG_EX_UNKNOWN_17 = 0x10000,
CAST_FLAG_EX_UNKNOWN_18 = 0x20000,
CAST_FLAG_EX_UNKNOWN_19 = 0x40000,
CAST_FLAG_EX_UNKNOWN_20 = 0x80000
CAST_FLAG_EX_NONE = 0x00000,
CAST_FLAG_EX_TRIGGER_COOLDOWN_ON_SPELL_START = 0x00001,
CAST_FLAG_EX_UNKNOWN_2 = 0x00002,
CAST_FLAG_EX_DONT_CONSUME_CHARGES = 0x00004,
CAST_FLAG_EX_UNKNOWN_4 = 0x00008,
CAST_FLAG_EX_DELAY_STARTING_COOLDOWNS = 0x00010, // makes client start cooldown after precalculated delay instead of immediately after SPELL_GO (used by empower spells)
CAST_FLAG_EX_UNKNOWN_6 = 0x00020,
CAST_FLAG_EX_UNKNOWN_7 = 0x00040,
CAST_FLAG_EX_UNKNOWN_8 = 0x00080,
CAST_FLAG_EX_IGNORE_PET_COOLDOWN = 0x00100, // makes client not automatically start cooldown for pets after SPELL_GO
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,
CAST_FLAG_EX_UNKNOWN_14 = 0x02000,
CAST_FLAG_EX_UNKNOWN_15 = 0x04000,
CAST_FLAG_EX_USE_TOY_SPELL = 0x08000, // Starts cooldown on toy
CAST_FLAG_EX_UNKNOWN_17 = 0x10000,
CAST_FLAG_EX_UNKNOWN_18 = 0x20000,
CAST_FLAG_EX_UNKNOWN_19 = 0x40000,
CAST_FLAG_EX_UNKNOWN_20 = 0x80000
};
enum SpellCastSource : uint8