TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Spell.h File Reference
#include "GridDefines.h"
#include "SharedDefines.h"
#include "ObjectMgr.h"
#include "SpellInfo.h"
#include "PathGenerator.h"
+ Include dependency graph for Spell.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SpellDestination
 
struct  SpellLogEffectPowerDrainParams
 
struct  SpellLogEffectExtraAttacksParams
 
struct  SpellLogEffectDurabilityDamageParams
 
struct  SpellLogEffectGenericVictimParams
 
struct  SpellLogEffectTradeSkillItemParams
 
struct  SpellLogEffectFeedPetParams
 
class  SpellCastTargets
 
struct  SpellValue
 
class  Spell
 
struct  Spell::TargetInfo
 
struct  Spell::GOTargetInfo
 
struct  Spell::ItemTargetInfo
 
struct  Spell::HitTriggerSpell
 
struct  Trinity::WorldObjectSpellTargetCheck
 
struct  Trinity::WorldObjectSpellNearbyTargetCheck
 
struct  Trinity::WorldObjectSpellAreaTargetCheck
 
struct  Trinity::WorldObjectSpellConeTargetCheck
 
struct  Trinity::WorldObjectSpellTrajTargetCheck
 
class  SpellEvent
 

Namespaces

 WorldPackets
 
 WorldPackets::Spells
 
 Trinity
 

Macros

#define SPELL_CHANNEL_UPDATE_INTERVAL   (1 * IN_MILLISECONDS)
 

Typedefs

typedef std::list< std::pair
< uint32, ObjectGuid > > 
DispelList
 
typedef void(Spell::* pEffect )(SpellEffIndex effIndex)
 

Enumerations

enum  SpellCastFlags {
  CAST_FLAG_NONE = 0x00000000, CAST_FLAG_PENDING = 0x00000001, CAST_FLAG_HAS_TRAJECTORY = 0x00000002, CAST_FLAG_UNKNOWN_3 = 0x00000004,
  CAST_FLAG_UNKNOWN_4 = 0x00000008, 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,
  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
}
 
enum  SpellCastFlagsEx {
  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_UNKNOWN_10 = 0x00200, 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, 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  SpellRangeFlag { SPELL_RANGE_DEFAULT = 0, SPELL_RANGE_MELEE = 1, SPELL_RANGE_RANGED = 2 }
 
enum  SpellState {
  SPELL_STATE_NULL = 0, SPELL_STATE_PREPARING = 1, SPELL_STATE_CASTING = 2, SPELL_STATE_FINISHED = 3,
  SPELL_STATE_IDLE = 4, SPELL_STATE_DELAYED = 5
}
 
enum  SpellEffectHandleMode { SPELL_EFFECT_HANDLE_LAUNCH, SPELL_EFFECT_HANDLE_LAUNCH_TARGET, SPELL_EFFECT_HANDLE_HIT, SPELL_EFFECT_HANDLE_HIT_TARGET }
 

Macro Definition Documentation

#define SPELL_CHANNEL_UPDATE_INTERVAL   (1 * IN_MILLISECONDS)

Typedef Documentation

typedef std::list<std::pair<uint32, ObjectGuid> > DispelList
typedef void(Spell::* pEffect)(SpellEffIndex effIndex)

Enumeration Type Documentation

Enumerator
CAST_FLAG_NONE 
CAST_FLAG_PENDING 
CAST_FLAG_HAS_TRAJECTORY 
CAST_FLAG_UNKNOWN_3 
CAST_FLAG_UNKNOWN_4 
CAST_FLAG_UNKNOWN_5 
CAST_FLAG_PROJECTILE 
CAST_FLAG_UNKNOWN_7 
CAST_FLAG_UNKNOWN_8 
CAST_FLAG_UNKNOWN_9 
CAST_FLAG_UNKNOWN_10 
CAST_FLAG_UNKNOWN_11 
CAST_FLAG_POWER_LEFT_SELF 
CAST_FLAG_UNKNOWN_13 
CAST_FLAG_UNKNOWN_14 
CAST_FLAG_UNKNOWN_15 
CAST_FLAG_UNKNOWN_16 
CAST_FLAG_UNKNOWN_17 
CAST_FLAG_ADJUST_MISSILE 
CAST_FLAG_NO_GCD 
CAST_FLAG_VISUAL_CHAIN 
CAST_FLAG_UNKNOWN_21 
CAST_FLAG_RUNE_LIST 
CAST_FLAG_UNKNOWN_23 
CAST_FLAG_UNKNOWN_24 
CAST_FLAG_UNKNOWN_25 
CAST_FLAG_UNKNOWN_26 
CAST_FLAG_IMMUNITY 
CAST_FLAG_UNKNOWN_28 
CAST_FLAG_UNKNOWN_29 
CAST_FLAG_UNKNOWN_30 
CAST_FLAG_HEAL_PREDICTION 
CAST_FLAG_UNKNOWN_32 
50 {
51  CAST_FLAG_NONE = 0x00000000,
52  CAST_FLAG_PENDING = 0x00000001, // aoe combat log?
53  CAST_FLAG_HAS_TRAJECTORY = 0x00000002,
54  CAST_FLAG_UNKNOWN_3 = 0x00000004,
55  CAST_FLAG_UNKNOWN_4 = 0x00000008, // ignore AOE visual
56  CAST_FLAG_UNKNOWN_5 = 0x00000010,
57  CAST_FLAG_PROJECTILE = 0x00000020,
58  CAST_FLAG_UNKNOWN_7 = 0x00000040,
59  CAST_FLAG_UNKNOWN_8 = 0x00000080,
60  CAST_FLAG_UNKNOWN_9 = 0x00000100,
61  CAST_FLAG_UNKNOWN_10 = 0x00000200,
62  CAST_FLAG_UNKNOWN_11 = 0x00000400,
63  CAST_FLAG_POWER_LEFT_SELF = 0x00000800,
64  CAST_FLAG_UNKNOWN_13 = 0x00001000,
65  CAST_FLAG_UNKNOWN_14 = 0x00002000,
66  CAST_FLAG_UNKNOWN_15 = 0x00004000,
67  CAST_FLAG_UNKNOWN_16 = 0x00008000,
68  CAST_FLAG_UNKNOWN_17 = 0x00010000,
69  CAST_FLAG_ADJUST_MISSILE = 0x00020000,
70  CAST_FLAG_NO_GCD = 0x00040000, // no GCD for spell casts from charm/summon (vehicle spells is an example)
71  CAST_FLAG_VISUAL_CHAIN = 0x00080000,
72  CAST_FLAG_UNKNOWN_21 = 0x00100000,
73  CAST_FLAG_RUNE_LIST = 0x00200000,
74  CAST_FLAG_UNKNOWN_23 = 0x00400000,
75  CAST_FLAG_UNKNOWN_24 = 0x00800000,
76  CAST_FLAG_UNKNOWN_25 = 0x01000000,
77  CAST_FLAG_UNKNOWN_26 = 0x02000000,
78  CAST_FLAG_IMMUNITY = 0x04000000,
79  CAST_FLAG_UNKNOWN_28 = 0x08000000,
80  CAST_FLAG_UNKNOWN_29 = 0x10000000,
81  CAST_FLAG_UNKNOWN_30 = 0x20000000,
82  CAST_FLAG_HEAL_PREDICTION = 0x40000000,
83  CAST_FLAG_UNKNOWN_32 = 0x80000000
84 };
Definition: Spell.h:60
Definition: Spell.h:71
Definition: Spell.h:67
Definition: Spell.h:54
Definition: Spell.h:70
Definition: Spell.h:55
Definition: Spell.h:59
Definition: Spell.h:63
Definition: Spell.h:58
Definition: Spell.h:56
Definition: Spell.h:75
Definition: Spell.h:69
Definition: Spell.h:53
Definition: Spell.h:72
Definition: Spell.h:77
Definition: Spell.h:78
Definition: Spell.h:68
Definition: Spell.h:79
Definition: Spell.h:65
Definition: Spell.h:83
Definition: Spell.h:52
Definition: Spell.h:74
Definition: Spell.h:64
Definition: Spell.h:51
Definition: Spell.h:62
Definition: Spell.h:81
Definition: Spell.h:76
Definition: Spell.h:80
Definition: Spell.h:66
Definition: Spell.h:82
Definition: Spell.h:73
Definition: Spell.h:57
Definition: Spell.h:61
Enumerator
CAST_FLAG_EX_NONE 
CAST_FLAG_EX_UNKNOWN_1 
CAST_FLAG_EX_UNKNOWN_2 
CAST_FLAG_EX_UNKNOWN_3 
CAST_FLAG_EX_UNKNOWN_4 
CAST_FLAG_EX_UNKNOWN_5 
CAST_FLAG_EX_UNKNOWN_6 
CAST_FLAG_EX_UNKNOWN_7 
CAST_FLAG_EX_UNKNOWN_8 
CAST_FLAG_EX_UNKNOWN_9 
CAST_FLAG_EX_UNKNOWN_10 
CAST_FLAG_EX_UNKNOWN_11 
CAST_FLAG_EX_UNKNOWN_12 
CAST_FLAG_EX_UNKNOWN_13 
CAST_FLAG_EX_UNKNOWN_14 
CAST_FLAG_EX_UNKNOWN_15 
CAST_FLAG_EX_USE_TOY_SPELL 
CAST_FLAG_EX_UNKNOWN_17 
CAST_FLAG_EX_UNKNOWN_18 
CAST_FLAG_EX_UNKNOWN_19 
CAST_FLAG_EX_UNKNOWN_20 
87 {
88  CAST_FLAG_EX_NONE = 0x00000,
89  CAST_FLAG_EX_UNKNOWN_1 = 0x00001,
90  CAST_FLAG_EX_UNKNOWN_2 = 0x00002,
91  CAST_FLAG_EX_UNKNOWN_3 = 0x00004,
92  CAST_FLAG_EX_UNKNOWN_4 = 0x00008,
93  CAST_FLAG_EX_UNKNOWN_5 = 0x00010,
94  CAST_FLAG_EX_UNKNOWN_6 = 0x00020,
95  CAST_FLAG_EX_UNKNOWN_7 = 0x00040,
96  CAST_FLAG_EX_UNKNOWN_8 = 0x00080,
97  CAST_FLAG_EX_UNKNOWN_9 = 0x00100,
98  CAST_FLAG_EX_UNKNOWN_10 = 0x00200,
99  CAST_FLAG_EX_UNKNOWN_11 = 0x00400,
100  CAST_FLAG_EX_UNKNOWN_12 = 0x00800,
101  CAST_FLAG_EX_UNKNOWN_13 = 0x01000,
102  CAST_FLAG_EX_UNKNOWN_14 = 0x02000,
103  CAST_FLAG_EX_UNKNOWN_15 = 0x04000,
104  CAST_FLAG_EX_USE_TOY_SPELL = 0x08000, // Starts cooldown on toy
105  CAST_FLAG_EX_UNKNOWN_17 = 0x10000,
106  CAST_FLAG_EX_UNKNOWN_18 = 0x20000,
107  CAST_FLAG_EX_UNKNOWN_19 = 0x40000,
108  CAST_FLAG_EX_UNKNOWN_20 = 0x80000
109 };
Definition: Spell.h:99
Definition: Spell.h:93
Definition: Spell.h:108
Definition: Spell.h:104
Definition: Spell.h:90
Definition: Spell.h:96
Definition: Spell.h:88
Definition: Spell.h:92
Definition: Spell.h:103
Definition: Spell.h:106
Definition: Spell.h:101
Definition: Spell.h:105
Definition: Spell.h:102
Definition: Spell.h:94
Definition: Spell.h:98
Definition: Spell.h:100
Definition: Spell.h:107
Definition: Spell.h:97
Definition: Spell.h:89
Definition: Spell.h:91
Definition: Spell.h:95
Enumerator
SPELL_EFFECT_HANDLE_LAUNCH 
SPELL_EFFECT_HANDLE_LAUNCH_TARGET 
SPELL_EFFECT_HANDLE_HIT 
SPELL_EFFECT_HANDLE_HIT_TARGET 
Enumerator
SPELL_RANGE_DEFAULT 
SPELL_RANGE_MELEE 
SPELL_RANGE_RANGED 
112 {
114  SPELL_RANGE_MELEE = 1, //melee
115  SPELL_RANGE_RANGED = 2 //hunter range and ranged weapon
116 };
Definition: Spell.h:114
Definition: Spell.h:113
Definition: Spell.h:115
enum SpellState
Enumerator
SPELL_STATE_NULL 
SPELL_STATE_PREPARING 
SPELL_STATE_CASTING 
SPELL_STATE_FINISHED 
SPELL_STATE_IDLE 
SPELL_STATE_DELAYED 
275 {
276  SPELL_STATE_NULL = 0,
280  SPELL_STATE_IDLE = 4,
282 };
Definition: Spell.h:276
Definition: Spell.h:280
Definition: Spell.h:281
Definition: Spell.h:278
Definition: Spell.h:277
Definition: Spell.h:279