TrinityCore
SpellInfo.h File Reference
#include "SharedDefines.h"
#include "DB2Structure.h"
#include "Object.h"
#include "SpellAuraDefines.h"
#include "SpellDefines.h"
#include <bitset>
+ Include dependency graph for SpellInfo.h:

Go to the source code of this file.

Classes

class  SpellImplicitTargetInfo
 
struct  SpellImplicitTargetInfo::StaticData
 
class  SpellEffectInfo
 
struct  SpellEffectInfo::ScalingInfo
 
struct  SpellEffectInfo::StaticData
 
struct  SpellDiminishInfo
 
struct  SpellPowerCost
 
class  SpellInfo
 
struct  SpellInfo::ScalingInfo
 

Typedefs

typedef std::vector< SpellXSpellVisualEntry const * > SpellVisualVector
 
typedef std::unordered_map< uint32, SpellVisualVectorSpellVisualMap
 
typedef std::vector< AuraEffect * > AuraEffectVector
 

Enumerations

enum  SpellTargetSelectionCategories {
  TARGET_SELECT_CATEGORY_NYI , TARGET_SELECT_CATEGORY_DEFAULT , TARGET_SELECT_CATEGORY_CHANNEL , TARGET_SELECT_CATEGORY_NEARBY ,
  TARGET_SELECT_CATEGORY_CONE , TARGET_SELECT_CATEGORY_AREA , TARGET_SELECT_CATEGORY_TRAJ , TARGET_SELECT_CATEGORY_LINE
}
 
enum  SpellTargetReferenceTypes {
  TARGET_REFERENCE_TYPE_NONE , TARGET_REFERENCE_TYPE_CASTER , TARGET_REFERENCE_TYPE_TARGET , TARGET_REFERENCE_TYPE_LAST ,
  TARGET_REFERENCE_TYPE_SRC , TARGET_REFERENCE_TYPE_DEST
}
 
enum  SpellTargetObjectTypes : uint8 {
  TARGET_OBJECT_TYPE_NONE = 0 , TARGET_OBJECT_TYPE_SRC , TARGET_OBJECT_TYPE_DEST , TARGET_OBJECT_TYPE_UNIT ,
  TARGET_OBJECT_TYPE_UNIT_AND_DEST , TARGET_OBJECT_TYPE_GOBJ , TARGET_OBJECT_TYPE_GOBJ_ITEM , TARGET_OBJECT_TYPE_ITEM ,
  TARGET_OBJECT_TYPE_CORPSE , TARGET_OBJECT_TYPE_CORPSE_ENEMY , TARGET_OBJECT_TYPE_CORPSE_ALLY
}
 
enum  SpellTargetCheckTypes : uint8 {
  TARGET_CHECK_DEFAULT , TARGET_CHECK_ENTRY , TARGET_CHECK_ENEMY , TARGET_CHECK_ALLY ,
  TARGET_CHECK_PARTY , TARGET_CHECK_RAID , TARGET_CHECK_RAID_CLASS , TARGET_CHECK_PASSENGER ,
  TARGET_CHECK_SUMMONED , TARGET_CHECK_THREAT , TARGET_CHECK_TAP
}
 
enum  SpellTargetDirectionTypes {
  TARGET_DIR_NONE , TARGET_DIR_FRONT , TARGET_DIR_BACK , TARGET_DIR_RIGHT ,
  TARGET_DIR_LEFT , TARGET_DIR_FRONT_RIGHT , TARGET_DIR_BACK_RIGHT , TARGET_DIR_BACK_LEFT ,
  TARGET_DIR_FRONT_LEFT , TARGET_DIR_RANDOM , TARGET_DIR_ENTRY
}
 
enum  SpellEffectImplicitTargetTypes { EFFECT_IMPLICIT_TARGET_NONE = 0 , EFFECT_IMPLICIT_TARGET_EXPLICIT , EFFECT_IMPLICIT_TARGET_CASTER }
 
enum  SpellSpecificType {
  SPELL_SPECIFIC_NORMAL = 0 , SPELL_SPECIFIC_SEAL = 1 , SPELL_SPECIFIC_AURA = 3 , SPELL_SPECIFIC_STING = 4 ,
  SPELL_SPECIFIC_CURSE = 5 , SPELL_SPECIFIC_ASPECT = 6 , SPELL_SPECIFIC_TRACKER = 7 , SPELL_SPECIFIC_WARLOCK_ARMOR = 8 ,
  SPELL_SPECIFIC_MAGE_ARMOR = 9 , SPELL_SPECIFIC_ELEMENTAL_SHIELD = 10 , SPELL_SPECIFIC_MAGE_POLYMORPH = 11 , SPELL_SPECIFIC_WARLOCK_CORRUPTION = 17 ,
  SPELL_SPECIFIC_FOOD = 19 , SPELL_SPECIFIC_DRINK = 20 , SPELL_SPECIFIC_FOOD_AND_DRINK = 21 , SPELL_SPECIFIC_PRESENCE = 22 ,
  SPELL_SPECIFIC_CHARM = 23 , SPELL_SPECIFIC_SCROLL = 24 , SPELL_SPECIFIC_MAGE_ARCANE_BRILLANCE = 25 , SPELL_SPECIFIC_WARRIOR_ENRAGE = 26 ,
  SPELL_SPECIFIC_PRIEST_DIVINE_SPIRIT = 27 , SPELL_SPECIFIC_HAND = 28 , SPELL_SPECIFIC_PHASE = 29 , SPELL_SPECIFIC_BANE = 30
}
 
enum  SpellCustomAttributes {
  SPELL_ATTR0_CU_ENCHANT_PROC = 0x00000001 , SPELL_ATTR0_CU_CONE_BACK = 0x00000002 , SPELL_ATTR0_CU_CONE_LINE = 0x00000004 , SPELL_ATTR0_CU_SHARE_DAMAGE = 0x00000008 ,
  SPELL_ATTR0_CU_NO_INITIAL_THREAT = 0x00000010 , SPELL_ATTR0_CU_AURA_CC = 0x00000020 , SPELL_ATTR0_CU_DONT_BREAK_STEALTH = 0x00000040 , SPELL_ATTR0_CU_CAN_CRIT = 0x00000080 ,
  SPELL_ATTR0_CU_DIRECT_DAMAGE = 0x00000100 , SPELL_ATTR0_CU_CHARGE = 0x00000200 , SPELL_ATTR0_CU_PICKPOCKET = 0x00000400 , SPELL_ATTR0_CU_DEPRECATED_ROLLING_PERIODIC = 0x00000800 ,
  SPELL_ATTR0_CU_DEPRECATED_NEGATIVE_EFF0 = 0x00001000 , SPELL_ATTR0_CU_DEPRECATED_NEGATIVE_EFF1 = 0x00002000 , SPELL_ATTR0_CU_DEPRECATED_NEGATIVE_EFF2 = 0x00004000 , SPELL_ATTR0_CU_IGNORE_ARMOR = 0x00008000 ,
  SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER = 0x00010000 , SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET = 0x00020000 , SPELL_ATTR0_CU_ALLOW_INFLIGHT_TARGET = 0x00040000 , SPELL_ATTR0_CU_NEEDS_AMMO_DATA = 0x00080000 ,
  SPELL_ATTR0_CU_BINARY_SPELL = 0x00100000 , SPELL_ATTR0_CU_SCHOOLMASK_NORMAL_WITH_MAGIC = 0x00200000 , SPELL_ATTR0_CU_DEPRECATED_LIQUID_AURA = 0x00400000 , SPELL_ATTR0_CU_IS_TALENT = 0x00800000 ,
  SPELL_ATTR0_CU_AURA_CANNOT_BE_SAVED = 0x01000000
}
 

Functions

uint32 GetTargetFlagMask (SpellTargetObjectTypes objType)
 

Typedef Documentation

◆ AuraEffectVector

typedef std::vector<AuraEffect*> AuraEffectVector

Definition at line 302 of file SpellInfo.h.

◆ SpellVisualMap

typedef std::unordered_map<uint32, SpellVisualVector> SpellVisualMap

Definition at line 300 of file SpellInfo.h.

◆ SpellVisualVector

typedef std::vector<SpellXSpellVisualEntry const*> SpellVisualVector

Definition at line 299 of file SpellInfo.h.

Enumeration Type Documentation

◆ SpellCustomAttributes

Enumerator
SPELL_ATTR0_CU_ENCHANT_PROC 
SPELL_ATTR0_CU_CONE_BACK 
SPELL_ATTR0_CU_CONE_LINE 
SPELL_ATTR0_CU_SHARE_DAMAGE 
SPELL_ATTR0_CU_NO_INITIAL_THREAT 
SPELL_ATTR0_CU_AURA_CC 
SPELL_ATTR0_CU_DONT_BREAK_STEALTH 
SPELL_ATTR0_CU_CAN_CRIT 
SPELL_ATTR0_CU_DIRECT_DAMAGE 
SPELL_ATTR0_CU_CHARGE 
SPELL_ATTR0_CU_PICKPOCKET 
SPELL_ATTR0_CU_DEPRECATED_ROLLING_PERIODIC 
SPELL_ATTR0_CU_DEPRECATED_NEGATIVE_EFF0 
SPELL_ATTR0_CU_DEPRECATED_NEGATIVE_EFF1 
SPELL_ATTR0_CU_DEPRECATED_NEGATIVE_EFF2 
SPELL_ATTR0_CU_IGNORE_ARMOR 
SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER 
SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET 
SPELL_ATTR0_CU_ALLOW_INFLIGHT_TARGET 
SPELL_ATTR0_CU_NEEDS_AMMO_DATA 
SPELL_ATTR0_CU_BINARY_SPELL 
SPELL_ATTR0_CU_SCHOOLMASK_NORMAL_WITH_MAGIC 
SPELL_ATTR0_CU_DEPRECATED_LIQUID_AURA 
SPELL_ATTR0_CU_IS_TALENT 
SPELL_ATTR0_CU_AURA_CANNOT_BE_SAVED 

Definition at line 146 of file SpellInfo.h.

◆ SpellEffectImplicitTargetTypes

Enumerator
EFFECT_IMPLICIT_TARGET_NONE 
EFFECT_IMPLICIT_TARGET_EXPLICIT 
EFFECT_IMPLICIT_TARGET_CASTER 

Definition at line 110 of file SpellInfo.h.

◆ SpellSpecificType

Enumerator
SPELL_SPECIFIC_NORMAL 
SPELL_SPECIFIC_SEAL 
SPELL_SPECIFIC_AURA 
SPELL_SPECIFIC_STING 
SPELL_SPECIFIC_CURSE 
SPELL_SPECIFIC_ASPECT 
SPELL_SPECIFIC_TRACKER 
SPELL_SPECIFIC_WARLOCK_ARMOR 
SPELL_SPECIFIC_MAGE_ARMOR 
SPELL_SPECIFIC_ELEMENTAL_SHIELD 
SPELL_SPECIFIC_MAGE_POLYMORPH 
SPELL_SPECIFIC_WARLOCK_CORRUPTION 
SPELL_SPECIFIC_FOOD 
SPELL_SPECIFIC_DRINK 
SPELL_SPECIFIC_FOOD_AND_DRINK 
SPELL_SPECIFIC_PRESENCE 
SPELL_SPECIFIC_CHARM 
SPELL_SPECIFIC_SCROLL 
SPELL_SPECIFIC_MAGE_ARCANE_BRILLANCE 
SPELL_SPECIFIC_WARRIOR_ENRAGE 
SPELL_SPECIFIC_PRIEST_DIVINE_SPIRIT 
SPELL_SPECIFIC_HAND 
SPELL_SPECIFIC_PHASE 
SPELL_SPECIFIC_BANE 

Definition at line 118 of file SpellInfo.h.

◆ SpellTargetCheckTypes

Enumerator
TARGET_CHECK_DEFAULT 
TARGET_CHECK_ENTRY 
TARGET_CHECK_ENEMY 
TARGET_CHECK_ALLY 
TARGET_CHECK_PARTY 
TARGET_CHECK_RAID 
TARGET_CHECK_RAID_CLASS 
TARGET_CHECK_PASSENGER 
TARGET_CHECK_SUMMONED 
TARGET_CHECK_THREAT 
TARGET_CHECK_TAP 

Definition at line 80 of file SpellInfo.h.

◆ SpellTargetDirectionTypes

Enumerator
TARGET_DIR_NONE 
TARGET_DIR_FRONT 
TARGET_DIR_BACK 
TARGET_DIR_RIGHT 
TARGET_DIR_LEFT 
TARGET_DIR_FRONT_RIGHT 
TARGET_DIR_BACK_RIGHT 
TARGET_DIR_BACK_LEFT 
TARGET_DIR_FRONT_LEFT 
TARGET_DIR_RANDOM 
TARGET_DIR_ENTRY 

Definition at line 95 of file SpellInfo.h.

◆ SpellTargetObjectTypes

Enumerator
TARGET_OBJECT_TYPE_NONE 
TARGET_OBJECT_TYPE_SRC 
TARGET_OBJECT_TYPE_DEST 
TARGET_OBJECT_TYPE_UNIT 
TARGET_OBJECT_TYPE_UNIT_AND_DEST 
TARGET_OBJECT_TYPE_GOBJ 
TARGET_OBJECT_TYPE_GOBJ_ITEM 
TARGET_OBJECT_TYPE_ITEM 
TARGET_OBJECT_TYPE_CORPSE 
TARGET_OBJECT_TYPE_CORPSE_ENEMY 
TARGET_OBJECT_TYPE_CORPSE_ALLY 

Definition at line 64 of file SpellInfo.h.

◆ SpellTargetReferenceTypes

Enumerator
TARGET_REFERENCE_TYPE_NONE 
TARGET_REFERENCE_TYPE_CASTER 
TARGET_REFERENCE_TYPE_TARGET 
TARGET_REFERENCE_TYPE_LAST 
TARGET_REFERENCE_TYPE_SRC 
TARGET_REFERENCE_TYPE_DEST 

Definition at line 54 of file SpellInfo.h.

◆ SpellTargetSelectionCategories

Enumerator
TARGET_SELECT_CATEGORY_NYI 
TARGET_SELECT_CATEGORY_DEFAULT 
TARGET_SELECT_CATEGORY_CHANNEL 
TARGET_SELECT_CATEGORY_NEARBY 
TARGET_SELECT_CATEGORY_CONE 
TARGET_SELECT_CATEGORY_AREA 
TARGET_SELECT_CATEGORY_TRAJ 
TARGET_SELECT_CATEGORY_LINE 

Definition at line 42 of file SpellInfo.h.

Function Documentation

◆ GetTargetFlagMask()

uint32 GetTargetFlagMask ( SpellTargetObjectTypes  objType)

Definition at line 41 of file SpellInfo.cpp.

+ Here is the caller graph for this function: