TrinityCore
SpellDefines.h File Reference
#include "Define.h"
#include "EnumFlag.h"
#include "ObjectGuid.h"
#include "Optional.h"
#include "Position.h"
#include <vector>
+ Include dependency graph for SpellDefines.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SpellDestination
 
class  SpellCastTargets
 
struct  CastSpellTargetArg
 
struct  CastSpellExtraArgs
 
struct  SpellCastVisual
 

Namespaces

 UF
 
 WorldPackets
 
 WorldPackets::Spells
 

Macros

#define MAX_SPELLMOD   40
 

Enumerations

enum  SpellInterruptFlags : uint32 {
  SpellInterruptFlags::None = 0, SpellInterruptFlags::Movement = 0x00000001, SpellInterruptFlags::DamagePushbackPlayerOnly = 0x00000002, SpellInterruptFlags::Stun = 0x00000004,
  SpellInterruptFlags::Combat = 0x00000008, SpellInterruptFlags::DamageCancelsPlayerOnly = 0x00000010, SpellInterruptFlags::MeleeCombat = 0x00000020, SpellInterruptFlags::Immunity = 0x00000040,
  SpellInterruptFlags::DamageAbsorb = 0x00000080, SpellInterruptFlags::ZeroDamageCancels = 0x00000100, SpellInterruptFlags::DamagePushback = 0x00000200, SpellInterruptFlags::DamageCancels = 0x00000400
}
 
enum  SpellAuraInterruptFlags : uint32 {
  SpellAuraInterruptFlags::None = 0, SpellAuraInterruptFlags::HostileActionReceived = 0x00000001, SpellAuraInterruptFlags::Damage = 0x00000002, SpellAuraInterruptFlags::Action = 0x00000004,
  SpellAuraInterruptFlags::Moving = 0x00000008, SpellAuraInterruptFlags::Turning = 0x00000010, SpellAuraInterruptFlags::Anim = 0x00000020, SpellAuraInterruptFlags::Dismount = 0x00000040,
  SpellAuraInterruptFlags::UnderWater = 0x00000080, SpellAuraInterruptFlags::AboveWater = 0x00000100, SpellAuraInterruptFlags::Sheathing = 0x00000200, SpellAuraInterruptFlags::Interacting = 0x00000400,
  SpellAuraInterruptFlags::Looting = 0x00000800, SpellAuraInterruptFlags::Attacking = 0x00001000, SpellAuraInterruptFlags::ItemUse = 0x00002000, SpellAuraInterruptFlags::DamageChannelDuration = 0x00004000,
  SpellAuraInterruptFlags::Shapeshifting = 0x00008000, SpellAuraInterruptFlags::ActionDelayed = 0x00010000, SpellAuraInterruptFlags::Mount = 0x00020000, SpellAuraInterruptFlags::Standing = 0x00040000,
  SpellAuraInterruptFlags::LeaveWorld = 0x00080000, SpellAuraInterruptFlags::StealthOrInvis = 0x00100000, SpellAuraInterruptFlags::InvulnerabilityBuff = 0x00200000, SpellAuraInterruptFlags::EnterWorld = 0x00400000,
  SpellAuraInterruptFlags::PvPActive = 0x00800000, SpellAuraInterruptFlags::NonPeriodicDamage = 0x01000000, SpellAuraInterruptFlags::LandingOrFlight = 0x02000000, SpellAuraInterruptFlags::Release = 0x04000000,
  SpellAuraInterruptFlags::DamageCancelsScript = 0x08000000, SpellAuraInterruptFlags::EnteringCombat = 0x10000000, SpellAuraInterruptFlags::Login = 0x20000000, SpellAuraInterruptFlags::Summon = 0x40000000,
  SpellAuraInterruptFlags::LeavingCombat = 0x80000000, SpellAuraInterruptFlags::NOT_VICTIM = (HostileActionReceived | Damage | NonPeriodicDamage)
}
 
enum  SpellAuraInterruptFlags2 : uint32 {
  SpellAuraInterruptFlags2::None = 0, SpellAuraInterruptFlags2::Falling = 0x00000001, SpellAuraInterruptFlags2::Swimming = 0x00000002, SpellAuraInterruptFlags2::NotMoving = 0x00000004,
  SpellAuraInterruptFlags2::Ground = 0x00000008, SpellAuraInterruptFlags2::Transform = 0x00000010, SpellAuraInterruptFlags2::Jump = 0x00000020, SpellAuraInterruptFlags2::ChangeSpec = 0x00000040,
  SpellAuraInterruptFlags2::AbandonVehicle = 0x00000080, SpellAuraInterruptFlags2::StartOfEncounter = 0x00000100, SpellAuraInterruptFlags2::EndOfEncounter = 0x00000200, SpellAuraInterruptFlags2::Disconnect = 0x00000400,
  SpellAuraInterruptFlags2::EnteringInstance = 0x00000800, SpellAuraInterruptFlags2::DuelEnd = 0x00001000, SpellAuraInterruptFlags2::LeaveArenaOrBattleground = 0x00002000, SpellAuraInterruptFlags2::ChangeTalent = 0x00004000,
  SpellAuraInterruptFlags2::ChangeGlyph = 0x00008000, SpellAuraInterruptFlags2::SeamlessTransfer = 0x00010000, SpellAuraInterruptFlags2::WarModeLeave = 0x00020000, SpellAuraInterruptFlags2::TouchingGround = 0x00040000,
  SpellAuraInterruptFlags2::ChromieTime = 0x00080000, SpellAuraInterruptFlags2::SplineFlightOrFreeFlight = 0x00100000, SpellAuraInterruptFlags2::ProcOrPeriodicAttacking = 0x00200000
}
 
enum  SpellModOp : uint8 {
  SpellModOp::HealingAndDamage = 0, SpellModOp::Duration = 1, SpellModOp::Hate = 2, SpellModOp::PointsIndex0 = 3,
  SpellModOp::ProcCharges = 4, SpellModOp::Range = 5, SpellModOp::Radius = 6, SpellModOp::CritChance = 7,
  SpellModOp::Points = 8, SpellModOp::ResistPushback = 9, SpellModOp::ChangeCastTime = 10, SpellModOp::Cooldown = 11,
  SpellModOp::PointsIndex1 = 12, SpellModOp::TargetResistance = 13, SpellModOp::PowerCost0 = 14, SpellModOp::CritDamageAndHealing = 15,
  SpellModOp::HitChance = 16, SpellModOp::ChainTargets = 17, SpellModOp::ProcChance = 18, SpellModOp::Period = 19,
  SpellModOp::ChainAmplitude = 20, SpellModOp::StartCooldown = 21, SpellModOp::PeriodicHealingAndDamage = 22, SpellModOp::PointsIndex2 = 23,
  SpellModOp::BonusCoefficient = 24, SpellModOp::TriggerDamage = 25, SpellModOp::ProcFrequency = 26, SpellModOp::Amplitude = 27,
  SpellModOp::DispelResistance = 28, SpellModOp::CrowdDamage = 29, SpellModOp::PowerCostOnMiss = 30, SpellModOp::Doses = 31,
  SpellModOp::PointsIndex3 = 32, SpellModOp::PointsIndex4 = 33, SpellModOp::PowerCost1 = 34, SpellModOp::ChainJumpDistance = 35,
  SpellModOp::AreaTriggerMaxSummons = 36, SpellModOp::MaxAuraStacks = 37, SpellModOp::ProcCooldown = 38, SpellModOp::PowerCost2 = 39
}
 
enum  SpellValueMod : uint8 {
  SPELLVALUE_BASE_POINT0, SPELLVALUE_BASE_POINT1, SPELLVALUE_BASE_POINT2, SPELLVALUE_BASE_POINT3,
  SPELLVALUE_BASE_POINT4, SPELLVALUE_BASE_POINT5, SPELLVALUE_BASE_POINT6, SPELLVALUE_BASE_POINT7,
  SPELLVALUE_BASE_POINT8, SPELLVALUE_BASE_POINT9, SPELLVALUE_BASE_POINT10, SPELLVALUE_BASE_POINT11,
  SPELLVALUE_BASE_POINT12, SPELLVALUE_BASE_POINT13, SPELLVALUE_BASE_POINT14, SPELLVALUE_BASE_POINT15,
  SPELLVALUE_BASE_POINT16, SPELLVALUE_BASE_POINT17, SPELLVALUE_BASE_POINT18, SPELLVALUE_BASE_POINT19,
  SPELLVALUE_BASE_POINT20, SPELLVALUE_BASE_POINT21, SPELLVALUE_BASE_POINT22, SPELLVALUE_BASE_POINT23,
  SPELLVALUE_BASE_POINT24, SPELLVALUE_BASE_POINT25, SPELLVALUE_BASE_POINT26, SPELLVALUE_BASE_POINT27,
  SPELLVALUE_BASE_POINT28, SPELLVALUE_BASE_POINT29, SPELLVALUE_BASE_POINT30, SPELLVALUE_BASE_POINT31,
  SPELLVALUE_BASE_POINT_END, SPELLVALUE_RADIUS_MOD, SPELLVALUE_MAX_TARGETS, SPELLVALUE_AURA_STACK,
  SPELLVALUE_CRIT_CHANCE, SPELLVALUE_DURATION_PCT, SPELLVALUE_DURATION
}
 
enum  SpellFacingFlags { SPELL_FACING_FLAG_INFRONT = 0x0001 }
 
enum  TriggerCastFlags : uint32 {
  TRIGGERED_NONE = 0x00000000, TRIGGERED_IGNORE_GCD = 0x00000001, TRIGGERED_IGNORE_SPELL_AND_CATEGORY_CD = 0x00000002, TRIGGERED_IGNORE_POWER_AND_REAGENT_COST = 0x00000004,
  TRIGGERED_IGNORE_CAST_ITEM = 0x00000008, TRIGGERED_IGNORE_AURA_SCALING = 0x00000010, TRIGGERED_IGNORE_CAST_IN_PROGRESS = 0x00000020, TRIGGERED_IGNORE_COMBO_POINTS = 0x00000040,
  TRIGGERED_CAST_DIRECTLY = 0x00000080, TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS = 0x00000100, TRIGGERED_IGNORE_SET_FACING = 0x00000200, TRIGGERED_IGNORE_SHAPESHIFT = 0x00000400,
  TRIGGERED_IGNORE_CASTER_AURASTATE = 0x00000800, TRIGGERED_DISALLOW_PROC_EVENTS = 0x00001000, TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE = 0x00002000, TRIGGERED_IGNORE_CASTER_AURAS = 0x00010000,
  TRIGGERED_DONT_RESET_PERIODIC_TIMER = 0x00020000, TRIGGERED_DONT_REPORT_CAST_ERROR = 0x00040000, TRIGGERED_FULL_MASK = 0x0007FFFF, TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT = 0x00080000,
  TRIGGERED_IGNORE_TARGET_CHECK = 0x00100000, TRIGGERED_FULL_DEBUG_MASK = 0xFFFFFFFF
}
 
enum  SpellCastTargetFlags : uint32 {
  TARGET_FLAG_NONE = 0x00000000, TARGET_FLAG_UNUSED_1 = 0x00000001, TARGET_FLAG_UNIT = 0x00000002, TARGET_FLAG_UNIT_RAID = 0x00000004,
  TARGET_FLAG_UNIT_PARTY = 0x00000008, TARGET_FLAG_ITEM = 0x00000010, TARGET_FLAG_SOURCE_LOCATION = 0x00000020, TARGET_FLAG_DEST_LOCATION = 0x00000040,
  TARGET_FLAG_UNIT_ENEMY = 0x00000080, TARGET_FLAG_UNIT_ALLY = 0x00000100, TARGET_FLAG_CORPSE_ENEMY = 0x00000200, TARGET_FLAG_UNIT_DEAD = 0x00000400,
  TARGET_FLAG_GAMEOBJECT = 0x00000800, TARGET_FLAG_TRADE_ITEM = 0x00001000, TARGET_FLAG_STRING = 0x00002000, TARGET_FLAG_GAMEOBJECT_ITEM = 0x00004000,
  TARGET_FLAG_CORPSE_ALLY = 0x00008000, TARGET_FLAG_UNIT_MINIPET = 0x00010000, TARGET_FLAG_GLYPH_SLOT = 0x00020000, TARGET_FLAG_DEST_TARGET = 0x00040000,
  TARGET_FLAG_EXTRA_TARGETS = 0x00080000, TARGET_FLAG_UNIT_PASSENGER = 0x00100000, TARGET_FLAG_UNK400000 = 0X00400000, TARGET_FLAG_UNK1000000 = 0X01000000,
  TARGET_FLAG_UNK4000000 = 0X04000000, TARGET_FLAG_UNK10000000 = 0X10000000, TARGET_FLAG_UNK40000000 = 0X40000000, TARGET_FLAG_UNIT_MASK,
  TARGET_FLAG_GAMEOBJECT_MASK = TARGET_FLAG_GAMEOBJECT | TARGET_FLAG_GAMEOBJECT_ITEM, TARGET_FLAG_CORPSE_MASK = TARGET_FLAG_CORPSE_ALLY | TARGET_FLAG_CORPSE_ENEMY, TARGET_FLAG_ITEM_MASK = TARGET_FLAG_TRADE_ITEM | TARGET_FLAG_ITEM | TARGET_FLAG_GAMEOBJECT_ITEM
}
 

Functions

 DEFINE_ENUM_FLAG (SpellInterruptFlags)
 
 DEFINE_ENUM_FLAG (SpellAuraInterruptFlags)
 
 DEFINE_ENUM_FLAG (SpellAuraInterruptFlags2)
 

Macro Definition Documentation

◆ MAX_SPELLMOD

#define MAX_SPELLMOD   40

Enumeration Type Documentation

◆ SpellAuraInterruptFlags

Enumerator
None 
HostileActionReceived 
Damage 
Action 
Moving 
Turning 
Anim 
Dismount 
UnderWater 
AboveWater 
Sheathing 
Interacting 
Looting 
Attacking 
ItemUse 
DamageChannelDuration 
Shapeshifting 
ActionDelayed 
Mount 
Standing 
LeaveWorld 
StealthOrInvis 
InvulnerabilityBuff 
EnterWorld 
PvPActive 
NonPeriodicDamage 
LandingOrFlight 
Release 
DamageCancelsScript 
EnteringCombat 
Login 
Summon 
LeavingCombat 
NOT_VICTIM 
70  : uint32
71 {
72  None = 0,
73  HostileActionReceived = 0x00000001,
74  Damage = 0x00000002,
75  Action = 0x00000004,
76  Moving = 0x00000008,
77  Turning = 0x00000010,
78  Anim = 0x00000020,
79  Dismount = 0x00000040,
80  UnderWater = 0x00000080, // TODO: disallow casting when swimming (SPELL_FAILED_ONLY_ABOVEWATER)
81  AboveWater = 0x00000100, // TODO: disallow casting when not swimming (SPELL_FAILED_ONLY_UNDERWATER)
82  Sheathing = 0x00000200,
83  Interacting = 0x00000400, // TODO: more than gossip, replace all the feign death removals by aura type
84  Looting = 0x00000800,
85  Attacking = 0x00001000,
86  ItemUse = 0x00002000,
87  DamageChannelDuration = 0x00004000,
88  Shapeshifting = 0x00008000,
89  ActionDelayed = 0x00010000,
90  Mount = 0x00020000,
91  Standing = 0x00040000,
92  LeaveWorld = 0x00080000,
93  StealthOrInvis = 0x00100000,
94  InvulnerabilityBuff = 0x00200000,
95  EnterWorld = 0x00400000,
96  PvPActive = 0x00800000,
97  NonPeriodicDamage = 0x01000000,
98  LandingOrFlight = 0x02000000,
99  Release = 0x04000000,
100  DamageCancelsScript = 0x08000000, // NYI dedicated aura script hook
101  EnteringCombat = 0x10000000,
102  Login = 0x20000000,
103  Summon = 0x40000000,
104  LeavingCombat = 0x80000000,
105 
107 };
Action
Definition: boss_balinda.cpp:39
Anim
Definition: SharedDefines.h:3411
uint32_t uint32
Definition: Define.h:152

◆ SpellAuraInterruptFlags2

Enumerator
None 
Falling 
Swimming 
NotMoving 
Ground 
Transform 
Jump 
ChangeSpec 
AbandonVehicle 
StartOfEncounter 
EndOfEncounter 
Disconnect 
EnteringInstance 
DuelEnd 
LeaveArenaOrBattleground 
ChangeTalent 
ChangeGlyph 
SeamlessTransfer 
WarModeLeave 
TouchingGround 
ChromieTime 
SplineFlightOrFreeFlight 
ProcOrPeriodicAttacking 
111  : uint32
112 {
113  None = 0,
114  Falling = 0x00000001, // NYI
115  Swimming = 0x00000002, // NYI
116  NotMoving = 0x00000004, // NYI
117  Ground = 0x00000008, // NYI
118  Transform = 0x00000010, // NYI
119  Jump = 0x00000020,
120  ChangeSpec = 0x00000040, // NYI
121  AbandonVehicle = 0x00000080, // NYI
122  StartOfEncounter = 0x00000100, // NYI
123  EndOfEncounter = 0x00000200, // NYI
124  Disconnect = 0x00000400, // NYI
125  EnteringInstance = 0x00000800, // NYI
126  DuelEnd = 0x00001000, // NYI
127  LeaveArenaOrBattleground = 0x00002000, // NYI
128  ChangeTalent = 0x00004000, // NYI
129  ChangeGlyph = 0x00008000, // NYI
130  SeamlessTransfer = 0x00010000, // NYI
131  WarModeLeave = 0x00020000, // NYI
132  TouchingGround = 0x00040000, // NYI
133  ChromieTime = 0x00080000, // NYI
134  SplineFlightOrFreeFlight = 0x00100000, // NYI
135  ProcOrPeriodicAttacking = 0x00200000 // NYI
136 };
uint32_t uint32
Definition: Define.h:152

◆ SpellCastTargetFlags

Enumerator
TARGET_FLAG_NONE 
TARGET_FLAG_UNUSED_1 
TARGET_FLAG_UNIT 
TARGET_FLAG_UNIT_RAID 
TARGET_FLAG_UNIT_PARTY 
TARGET_FLAG_ITEM 
TARGET_FLAG_SOURCE_LOCATION 
TARGET_FLAG_DEST_LOCATION 
TARGET_FLAG_UNIT_ENEMY 
TARGET_FLAG_UNIT_ALLY 
TARGET_FLAG_CORPSE_ENEMY 
TARGET_FLAG_UNIT_DEAD 
TARGET_FLAG_GAMEOBJECT 
TARGET_FLAG_TRADE_ITEM 
TARGET_FLAG_STRING 
TARGET_FLAG_GAMEOBJECT_ITEM 
TARGET_FLAG_CORPSE_ALLY 
TARGET_FLAG_UNIT_MINIPET 
TARGET_FLAG_GLYPH_SLOT 
TARGET_FLAG_DEST_TARGET 
TARGET_FLAG_EXTRA_TARGETS 
TARGET_FLAG_UNIT_PASSENGER 
TARGET_FLAG_UNK400000 
TARGET_FLAG_UNK1000000 
TARGET_FLAG_UNK4000000 
TARGET_FLAG_UNK10000000 
TARGET_FLAG_UNK40000000 
TARGET_FLAG_UNIT_MASK 
TARGET_FLAG_GAMEOBJECT_MASK 
TARGET_FLAG_CORPSE_MASK 
TARGET_FLAG_ITEM_MASK 
264  : uint32
265 {
266  TARGET_FLAG_NONE = 0x00000000,
267  TARGET_FLAG_UNUSED_1 = 0x00000001, // not used
268  TARGET_FLAG_UNIT = 0x00000002, // pguid
269  TARGET_FLAG_UNIT_RAID = 0x00000004, // not sent, used to validate target (if raid member)
270  TARGET_FLAG_UNIT_PARTY = 0x00000008, // not sent, used to validate target (if party member)
271  TARGET_FLAG_ITEM = 0x00000010, // pguid
272  TARGET_FLAG_SOURCE_LOCATION = 0x00000020, // pguid, 3 float
273  TARGET_FLAG_DEST_LOCATION = 0x00000040, // pguid, 3 float
274  TARGET_FLAG_UNIT_ENEMY = 0x00000080, // not sent, used to validate target (if enemy)
275  TARGET_FLAG_UNIT_ALLY = 0x00000100, // not sent, used to validate target (if ally)
276  TARGET_FLAG_CORPSE_ENEMY = 0x00000200, // pguid
277  TARGET_FLAG_UNIT_DEAD = 0x00000400, // not sent, used to validate target (if dead creature)
278  TARGET_FLAG_GAMEOBJECT = 0x00000800, // pguid, used with TARGET_GAMEOBJECT_TARGET
279  TARGET_FLAG_TRADE_ITEM = 0x00001000, // pguid
280  TARGET_FLAG_STRING = 0x00002000, // string
281  TARGET_FLAG_GAMEOBJECT_ITEM = 0x00004000, // not sent, used with TARGET_GAMEOBJECT_ITEM_TARGET
282  TARGET_FLAG_CORPSE_ALLY = 0x00008000, // pguid
283  TARGET_FLAG_UNIT_MINIPET = 0x00010000, // pguid, used to validate target (if non combat pet)
284  TARGET_FLAG_GLYPH_SLOT = 0x00020000, // used in glyph spells
285  TARGET_FLAG_DEST_TARGET = 0x00040000, // sometimes appears with DEST_TARGET spells (may appear or not for a given spell)
286  TARGET_FLAG_EXTRA_TARGETS = 0x00080000, // uint32 counter, loop { vec3 - screen position (?), guid }, not used so far
287  TARGET_FLAG_UNIT_PASSENGER = 0x00100000, // guessed, used to validate target (if vehicle passenger)
288  TARGET_FLAG_UNK400000 = 0X00400000,
289  TARGET_FLAG_UNK1000000 = 0X01000000,
290  TARGET_FLAG_UNK4000000 = 0X04000000,
291  TARGET_FLAG_UNK10000000 = 0X10000000,
292  TARGET_FLAG_UNK40000000 = 0X40000000,
293 
299 };
Definition: SpellDefines.h:277
Definition: SpellDefines.h:283
Definition: SpellDefines.h:279
Definition: SpellDefines.h:268
Definition: SpellDefines.h:274
Definition: SpellDefines.h:291
Definition: SpellDefines.h:292
Definition: SpellDefines.h:266
Definition: SpellDefines.h:290
Definition: SpellDefines.h:298
Definition: SpellDefines.h:267
Definition: SpellDefines.h:287
Definition: SpellDefines.h:289
Definition: SpellDefines.h:278
Definition: SpellDefines.h:281
Definition: SpellDefines.h:297
Definition: SpellDefines.h:288
Definition: SpellDefines.h:282
Definition: SpellDefines.h:294
uint32_t uint32
Definition: Define.h:152
Definition: SpellDefines.h:270
Definition: SpellDefines.h:296
Definition: SpellDefines.h:276
Definition: SpellDefines.h:285
Definition: SpellDefines.h:269
Definition: SpellDefines.h:286
Definition: SpellDefines.h:275
Definition: SpellDefines.h:273
Definition: SpellDefines.h:280
Definition: SpellDefines.h:271
Definition: SpellDefines.h:284
Definition: SpellDefines.h:272

◆ SpellFacingFlags

Enumerator
SPELL_FACING_FLAG_INFRONT 
230 {
232 };
Definition: SpellDefines.h:231

◆ SpellInterruptFlags

enum SpellInterruptFlags : uint32
strong
Enumerator
None 
Movement 
DamagePushbackPlayerOnly 
Stun 
Combat 
DamageCancelsPlayerOnly 
MeleeCombat 
Immunity 
DamageAbsorb 
ZeroDamageCancels 
DamagePushback 
DamageCancels 
52  : uint32
53 {
54  None = 0,
55  Movement = 0x00000001,
56  DamagePushbackPlayerOnly = 0x00000002,
57  Stun = 0x00000004, // useless, even spells without it get interrupted
58  Combat = 0x00000008,
59  DamageCancelsPlayerOnly = 0x00000010,
60  MeleeCombat = 0x00000020, // NYI
61  Immunity = 0x00000040, // NYI
62  DamageAbsorb = 0x00000080,
63  ZeroDamageCancels = 0x00000100,
64  DamagePushback = 0x00000200,
65  DamageCancels = 0x00000400
66 };
Definition: AreaTrigger.h:35
uint32_t uint32
Definition: Define.h:152

◆ SpellModOp

enum SpellModOp : uint8
strong
Enumerator
HealingAndDamage 
Duration 
Hate 
PointsIndex0 
ProcCharges 
Range 
Radius 
CritChance 
Points 
ResistPushback 
ChangeCastTime 
Cooldown 
PointsIndex1 
TargetResistance 
PowerCost0 
CritDamageAndHealing 
HitChance 
ChainTargets 
ProcChance 
Period 
ChainAmplitude 
StartCooldown 
PeriodicHealingAndDamage 
PointsIndex2 
BonusCoefficient 
TriggerDamage 
ProcFrequency 
Amplitude 
DispelResistance 
CrowdDamage 
PowerCostOnMiss 
Doses 
PointsIndex3 
PointsIndex4 
PowerCost1 
ChainJumpDistance 
AreaTriggerMaxSummons 
MaxAuraStacks 
ProcCooldown 
PowerCost2 
140  : uint8
141 {
142  HealingAndDamage = 0,
143  Duration = 1,
144  Hate = 2,
145  PointsIndex0 = 3,
146  ProcCharges = 4,
147  Range = 5,
148  Radius = 6,
149  CritChance = 7,
150  Points = 8,
151  ResistPushback = 9,
152  ChangeCastTime = 10,
153  Cooldown = 11,
154  PointsIndex1 = 12,
155  TargetResistance = 13,
156  PowerCost0 = 14, // Used when SpellPowerEntry::PowerIndex == 0
158  HitChance = 16,
159  ChainTargets = 17,
160  ProcChance = 18,
161  Period = 19,
162  ChainAmplitude = 20,
163  StartCooldown = 21,
165  PointsIndex2 = 23,
166  BonusCoefficient = 24,
167  TriggerDamage = 25, // NYI
168  ProcFrequency = 26,
169  Amplitude = 27,
170  DispelResistance = 28,
171  CrowdDamage = 29, // NYI
172  PowerCostOnMiss = 30,
173  Doses = 31,
174  PointsIndex3 = 32,
175  PointsIndex4 = 33,
176  PowerCost1 = 34, // Used when SpellPowerEntry::PowerIndex == 1
177  ChainJumpDistance = 35,
178  AreaTriggerMaxSummons = 36, // NYI
179  MaxAuraStacks = 37,
180  ProcCooldown = 38,
181  PowerCost2 = 39, // Used when SpellPowerEntry::PowerIndex == 2
182 };
Points
Definition: ScriptedEscortAI.cpp:30
uint8_t uint8
Definition: Define.h:154

◆ SpellValueMod

Enumerator
SPELLVALUE_BASE_POINT0 
SPELLVALUE_BASE_POINT1 
SPELLVALUE_BASE_POINT2 
SPELLVALUE_BASE_POINT3 
SPELLVALUE_BASE_POINT4 
SPELLVALUE_BASE_POINT5 
SPELLVALUE_BASE_POINT6 
SPELLVALUE_BASE_POINT7 
SPELLVALUE_BASE_POINT8 
SPELLVALUE_BASE_POINT9 
SPELLVALUE_BASE_POINT10 
SPELLVALUE_BASE_POINT11 
SPELLVALUE_BASE_POINT12 
SPELLVALUE_BASE_POINT13 
SPELLVALUE_BASE_POINT14 
SPELLVALUE_BASE_POINT15 
SPELLVALUE_BASE_POINT16 
SPELLVALUE_BASE_POINT17 
SPELLVALUE_BASE_POINT18 
SPELLVALUE_BASE_POINT19 
SPELLVALUE_BASE_POINT20 
SPELLVALUE_BASE_POINT21 
SPELLVALUE_BASE_POINT22 
SPELLVALUE_BASE_POINT23 
SPELLVALUE_BASE_POINT24 
SPELLVALUE_BASE_POINT25 
SPELLVALUE_BASE_POINT26 
SPELLVALUE_BASE_POINT27 
SPELLVALUE_BASE_POINT28 
SPELLVALUE_BASE_POINT29 
SPELLVALUE_BASE_POINT30 
SPELLVALUE_BASE_POINT31 
SPELLVALUE_BASE_POINT_END 
SPELLVALUE_RADIUS_MOD 
SPELLVALUE_MAX_TARGETS 
SPELLVALUE_AURA_STACK 
SPELLVALUE_CRIT_CHANCE 
SPELLVALUE_DURATION_PCT 
SPELLVALUE_DURATION 
186  : uint8
187 {
227 };
Definition: SpellDefines.h:205
Definition: SpellDefines.h:226
Definition: SpellDefines.h:213
Definition: SpellDefines.h:192
Definition: SpellDefines.h:218
Definition: SpellDefines.h:215
Definition: SpellDefines.h:224
Definition: SpellDefines.h:199
Definition: SpellDefines.h:202
Definition: SpellDefines.h:219
Definition: SpellDefines.h:217
Definition: SpellDefines.h:207
Definition: SpellDefines.h:206
Definition: SpellDefines.h:194
Definition: SpellDefines.h:216
Definition: SpellDefines.h:222
Definition: SpellDefines.h:210
Definition: SpellDefines.h:200
Definition: SpellDefines.h:191
Definition: SpellDefines.h:196
Definition: SpellDefines.h:208
Definition: SpellDefines.h:189
Definition: SpellDefines.h:209
Definition: SpellDefines.h:197
Definition: SpellDefines.h:225
Definition: SpellDefines.h:198
Definition: SpellDefines.h:204
Definition: SpellDefines.h:190
Definition: SpellDefines.h:220
Definition: SpellDefines.h:193
Definition: SpellDefines.h:221
Definition: SpellDefines.h:201
uint8_t uint8
Definition: Define.h:154
Definition: SpellDefines.h:188
Definition: SpellDefines.h:211
Definition: SpellDefines.h:203
Definition: SpellDefines.h:195
Definition: SpellDefines.h:223
Definition: SpellDefines.h:212
Definition: SpellDefines.h:214

◆ TriggerCastFlags

Enumerator
TRIGGERED_NONE 
TRIGGERED_IGNORE_GCD 

Not triggered.

TRIGGERED_IGNORE_SPELL_AND_CATEGORY_CD 

Will ignore GCD.

TRIGGERED_IGNORE_POWER_AND_REAGENT_COST 

Will ignore Spell and Category cooldowns.

TRIGGERED_IGNORE_CAST_ITEM 

Will ignore power and reagent cost.

TRIGGERED_IGNORE_AURA_SCALING 

Will not take away cast item or update related achievement criteria.

TRIGGERED_IGNORE_CAST_IN_PROGRESS 

Will ignore aura scaling.

TRIGGERED_IGNORE_COMBO_POINTS 

Will not check if a current cast is in progress.

TRIGGERED_CAST_DIRECTLY 

Will ignore combo point requirement.

TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS 

In Spell::prepare, will be cast directly without setting containers for executed spell.

TRIGGERED_IGNORE_SET_FACING 

Will ignore interruptible aura's at cast.

TRIGGERED_IGNORE_SHAPESHIFT 

Will not adjust facing to target (if any)

TRIGGERED_IGNORE_CASTER_AURASTATE 

Will ignore shapeshift checks.

TRIGGERED_DISALLOW_PROC_EVENTS 

Will ignore caster aura states including combat requirements and death state.

TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE 

Disallows proc events from triggered spell (default)

TRIGGERED_IGNORE_CASTER_AURAS 

Will ignore mounted/on vehicle restrictions.

TRIGGERED_DONT_RESET_PERIODIC_TIMER 

Will ignore caster aura restrictions or requirements.

TRIGGERED_DONT_REPORT_CAST_ERROR 

Will allow periodic aura timers to keep ticking (instead of resetting)

TRIGGERED_FULL_MASK 

Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.

TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT 

Used when doing CastSpell with triggered == true.

TRIGGERED_IGNORE_TARGET_CHECK 

Will ignore equipped item requirements.

TRIGGERED_FULL_DEBUG_MASK 

Will ignore most target checks (mostly DBC target checks)

234  : uint32
235 {
236  TRIGGERED_NONE = 0x00000000,
237  TRIGGERED_IGNORE_GCD = 0x00000001,
240  TRIGGERED_IGNORE_CAST_ITEM = 0x00000008,
241  TRIGGERED_IGNORE_AURA_SCALING = 0x00000010,
242  TRIGGERED_IGNORE_CAST_IN_PROGRESS = 0x00000020,
243  TRIGGERED_IGNORE_COMBO_POINTS = 0x00000040,
244  TRIGGERED_CAST_DIRECTLY = 0x00000080,
246  TRIGGERED_IGNORE_SET_FACING = 0x00000200,
247  TRIGGERED_IGNORE_SHAPESHIFT = 0x00000400,
248  TRIGGERED_IGNORE_CASTER_AURASTATE = 0x00000800,
249  TRIGGERED_DISALLOW_PROC_EVENTS = 0x00001000,
251  // reuse = 0x00004000,
252  // reuse = 0x00008000,
253  TRIGGERED_IGNORE_CASTER_AURAS = 0x00010000,
255  TRIGGERED_DONT_REPORT_CAST_ERROR = 0x00040000,
256  TRIGGERED_FULL_MASK = 0x0007FFFF,
257 
258  // debug flags (used with .cast triggered commands)
260  TRIGGERED_IGNORE_TARGET_CHECK = 0x00100000,
261  TRIGGERED_FULL_DEBUG_MASK = 0xFFFFFFFF
262 };
Will allow periodic aura timers to keep ticking (instead of resetting)
Definition: SpellDefines.h:255
Will not check if a current cast is in progress.
Definition: SpellDefines.h:243
Will ignore most target checks (mostly DBC target checks)
Definition: SpellDefines.h:261
In Spell::prepare, will be cast directly without setting containers for executed spell.
Definition: SpellDefines.h:245
Will ignore combo point requirement.
Definition: SpellDefines.h:244
Definition: SpellDefines.h:236
Will not adjust facing to target (if any)
Definition: SpellDefines.h:247
uint32_t uint32
Definition: Define.h:152
Will ignore shapeshift checks.
Definition: SpellDefines.h:248
Will ignore power and reagent cost.
Definition: SpellDefines.h:240
Will ignore caster aura states including combat requirements and death state.
Definition: SpellDefines.h:249
Will ignore Spell and Category cooldowns.
Definition: SpellDefines.h:239
Used when doing CastSpell with triggered == true.
Definition: SpellDefines.h:259
Will ignore caster aura restrictions or requirements.
Definition: SpellDefines.h:254
Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.
Definition: SpellDefines.h:256
Not triggered.
Definition: SpellDefines.h:237
Disallows proc events from triggered spell (default)
Definition: SpellDefines.h:250
Will ignore mounted/on vehicle restrictions.
Definition: SpellDefines.h:253
Will ignore equipped item requirements.
Definition: SpellDefines.h:260
Will ignore interruptible aura&#39;s at cast.
Definition: SpellDefines.h:246
Will ignore GCD.
Definition: SpellDefines.h:238
Will not take away cast item or update related achievement criteria.
Definition: SpellDefines.h:241
Will ignore aura scaling.
Definition: SpellDefines.h:242

Function Documentation

◆ DEFINE_ENUM_FLAG() [1/3]

DEFINE_ENUM_FLAG ( SpellInterruptFlags  )

◆ DEFINE_ENUM_FLAG() [2/3]

DEFINE_ENUM_FLAG ( SpellAuraInterruptFlags  )

◆ DEFINE_ENUM_FLAG() [3/3]

DEFINE_ENUM_FLAG ( SpellAuraInterruptFlags2  )