TrinityCore
Loading...
Searching...
No Matches
SpellDefines.h File Reference
#include "Define.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
 

Namespaces

namespace  WorldPackets
 
namespace  WorldPackets::Spells
 

Enumerations

enum  SpellInterruptFlags : uint32 {
  SPELL_INTERRUPT_FLAG_MOVEMENT = 0x01 , SPELL_INTERRUPT_FLAG_PUSH_BACK = 0x02 , SPELL_INTERRUPT_FLAG_UNK3 = 0x04 , SPELL_INTERRUPT_FLAG_INTERRUPT = 0x08 ,
  SPELL_INTERRUPT_FLAG_ABORT_ON_DMG = 0x10
}
 
enum  SpellChannelInterruptFlags : uint32 { CHANNEL_INTERRUPT_FLAG_INTERRUPT = 0x0008 , CHANNEL_FLAG_DELAY = 0x4000 }
 
enum  SpellAuraInterruptFlags : uint32 {
  AURA_INTERRUPT_FLAG_HITBYSPELL = 0x00000001 , AURA_INTERRUPT_FLAG_TAKE_DAMAGE = 0x00000002 , AURA_INTERRUPT_FLAG_CAST = 0x00000004 , AURA_INTERRUPT_FLAG_MOVE = 0x00000008 ,
  AURA_INTERRUPT_FLAG_TURNING = 0x00000010 , AURA_INTERRUPT_FLAG_JUMP = 0x00000020 , AURA_INTERRUPT_FLAG_NOT_MOUNTED = 0x00000040 , AURA_INTERRUPT_FLAG_NOT_ABOVEWATER = 0x00000080 ,
  AURA_INTERRUPT_FLAG_NOT_UNDERWATER = 0x00000100 , AURA_INTERRUPT_FLAG_NOT_SHEATHED = 0x00000200 , AURA_INTERRUPT_FLAG_TALK = 0x00000400 , AURA_INTERRUPT_FLAG_LOOTING = 0x00000800 ,
  AURA_INTERRUPT_FLAG_MELEE_ATTACK = 0x00001000 , AURA_INTERRUPT_FLAG_SPELL_ATTACK = 0x00002000 , AURA_INTERRUPT_FLAG_UNK14 = 0x00004000 , AURA_INTERRUPT_FLAG_TRANSFORM = 0x00008000 ,
  AURA_INTERRUPT_FLAG_UNK16 = 0x00010000 , AURA_INTERRUPT_FLAG_MOUNT = 0x00020000 , AURA_INTERRUPT_FLAG_NOT_SEATED = 0x00040000 , AURA_INTERRUPT_FLAG_CHANGE_MAP = 0x00080000 ,
  AURA_INTERRUPT_FLAG_IMMUNE_OR_LOST_SELECTION = 0x00100000 , AURA_INTERRUPT_FLAG_UNK21 = 0x00200000 , AURA_INTERRUPT_FLAG_TELEPORTED = 0x00400000 , AURA_INTERRUPT_FLAG_ENTER_PVP_COMBAT = 0x00800000 ,
  AURA_INTERRUPT_FLAG_DIRECT_DAMAGE = 0x01000000 , AURA_INTERRUPT_FLAG_LANDING = 0x02000000 , AURA_INTERRUPT_FLAG_LEAVE_COMBAT = 0x80000000 , AURA_INTERRUPT_FLAG_NOT_VICTIM = (AURA_INTERRUPT_FLAG_HITBYSPELL | AURA_INTERRUPT_FLAG_TAKE_DAMAGE | AURA_INTERRUPT_FLAG_DIRECT_DAMAGE)
}
 
enum  SpellModOp : uint8 {
  SPELLMOD_DAMAGE = 0 , SPELLMOD_DURATION = 1 , SPELLMOD_THREAT = 2 , SPELLMOD_EFFECT1 = 3 ,
  SPELLMOD_CHARGES = 4 , SPELLMOD_RANGE = 5 , SPELLMOD_RADIUS = 6 , SPELLMOD_CRITICAL_CHANCE = 7 ,
  SPELLMOD_ALL_EFFECTS = 8 , SPELLMOD_NOT_LOSE_CASTING_TIME = 9 , SPELLMOD_CASTING_TIME = 10 , SPELLMOD_COOLDOWN = 11 ,
  SPELLMOD_EFFECT2 = 12 , SPELLMOD_IGNORE_ARMOR = 13 , SPELLMOD_COST = 14 , SPELLMOD_CRIT_DAMAGE_BONUS = 15 ,
  SPELLMOD_RESIST_MISS_CHANCE = 16 , SPELLMOD_JUMP_TARGETS = 17 , SPELLMOD_CHANCE_OF_SUCCESS = 18 , SPELLMOD_ACTIVATION_TIME = 19 ,
  SPELLMOD_DAMAGE_MULTIPLIER = 20 , SPELLMOD_GLOBAL_COOLDOWN = 21 , SPELLMOD_DOT = 22 , SPELLMOD_EFFECT3 = 23 ,
  SPELLMOD_BONUS_MULTIPLIER = 24 , SPELLMOD_PROC_PER_MINUTE = 26 , SPELLMOD_VALUE_MULTIPLIER = 27 , SPELLMOD_RESIST_DISPEL_CHANCE = 28 ,
  SPELLMOD_CRIT_DAMAGE_BONUS_2 = 29 , SPELLMOD_SPELL_COST_REFUND_ON_FAIL = 30 , MAX_SPELLMOD
}
 
enum  SpellValueMod : uint8 {
  SPELLVALUE_BASE_POINT0 , SPELLVALUE_BASE_POINT1 , SPELLVALUE_BASE_POINT2 , SPELLVALUE_RADIUS_MOD ,
  SPELLVALUE_MAX_TARGETS , SPELLVALUE_AURA_STACK , SPELLVALUE_CRIT_CHANCE
}
 
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_UNUSED20 = 0x00080000 , TARGET_FLAG_UNIT_PASSENGER = 0x00100000 , 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 (TriggerCastFlags)
 

Enumeration Type Documentation

◆ SpellAuraInterruptFlags

Enumerator
AURA_INTERRUPT_FLAG_HITBYSPELL 
AURA_INTERRUPT_FLAG_TAKE_DAMAGE 
AURA_INTERRUPT_FLAG_CAST 
AURA_INTERRUPT_FLAG_MOVE 
AURA_INTERRUPT_FLAG_TURNING 
AURA_INTERRUPT_FLAG_JUMP 
AURA_INTERRUPT_FLAG_NOT_MOUNTED 
AURA_INTERRUPT_FLAG_NOT_ABOVEWATER 
AURA_INTERRUPT_FLAG_NOT_UNDERWATER 
AURA_INTERRUPT_FLAG_NOT_SHEATHED 
AURA_INTERRUPT_FLAG_TALK 
AURA_INTERRUPT_FLAG_LOOTING 
AURA_INTERRUPT_FLAG_MELEE_ATTACK 
AURA_INTERRUPT_FLAG_SPELL_ATTACK 
AURA_INTERRUPT_FLAG_UNK14 
AURA_INTERRUPT_FLAG_TRANSFORM 
AURA_INTERRUPT_FLAG_UNK16 
AURA_INTERRUPT_FLAG_MOUNT 
AURA_INTERRUPT_FLAG_NOT_SEATED 
AURA_INTERRUPT_FLAG_CHANGE_MAP 
AURA_INTERRUPT_FLAG_IMMUNE_OR_LOST_SELECTION 
AURA_INTERRUPT_FLAG_UNK21 
AURA_INTERRUPT_FLAG_TELEPORTED 
AURA_INTERRUPT_FLAG_ENTER_PVP_COMBAT 
AURA_INTERRUPT_FLAG_DIRECT_DAMAGE 
AURA_INTERRUPT_FLAG_LANDING 
AURA_INTERRUPT_FLAG_LEAVE_COMBAT 
AURA_INTERRUPT_FLAG_NOT_VICTIM 

Definition at line 60 of file SpellDefines.h.

◆ 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_UNUSED20 
TARGET_FLAG_UNIT_PASSENGER 
TARGET_FLAG_UNIT_MASK 
TARGET_FLAG_GAMEOBJECT_MASK 
TARGET_FLAG_CORPSE_MASK 
TARGET_FLAG_ITEM_MASK 

Definition at line 178 of file SpellDefines.h.

◆ SpellChannelInterruptFlags

Enumerator
CHANNEL_INTERRUPT_FLAG_INTERRUPT 
CHANNEL_FLAG_DELAY 

Definition at line 54 of file SpellDefines.h.

◆ SpellFacingFlags

Enumerator
SPELL_FACING_FLAG_INFRONT 

Definition at line 141 of file SpellDefines.h.

◆ SpellInterruptFlags

Enumerator
SPELL_INTERRUPT_FLAG_MOVEMENT 
SPELL_INTERRUPT_FLAG_PUSH_BACK 
SPELL_INTERRUPT_FLAG_UNK3 
SPELL_INTERRUPT_FLAG_INTERRUPT 
SPELL_INTERRUPT_FLAG_ABORT_ON_DMG 

Definition at line 43 of file SpellDefines.h.

◆ SpellModOp

enum SpellModOp : uint8
Enumerator
SPELLMOD_DAMAGE 
SPELLMOD_DURATION 
SPELLMOD_THREAT 
SPELLMOD_EFFECT1 
SPELLMOD_CHARGES 
SPELLMOD_RANGE 
SPELLMOD_RADIUS 
SPELLMOD_CRITICAL_CHANCE 
SPELLMOD_ALL_EFFECTS 
SPELLMOD_NOT_LOSE_CASTING_TIME 
SPELLMOD_CASTING_TIME 
SPELLMOD_COOLDOWN 
SPELLMOD_EFFECT2 
SPELLMOD_IGNORE_ARMOR 
SPELLMOD_COST 
SPELLMOD_CRIT_DAMAGE_BONUS 
SPELLMOD_RESIST_MISS_CHANCE 
SPELLMOD_JUMP_TARGETS 
SPELLMOD_CHANCE_OF_SUCCESS 
SPELLMOD_ACTIVATION_TIME 
SPELLMOD_DAMAGE_MULTIPLIER 
SPELLMOD_GLOBAL_COOLDOWN 
SPELLMOD_DOT 
SPELLMOD_EFFECT3 
SPELLMOD_BONUS_MULTIPLIER 
SPELLMOD_PROC_PER_MINUTE 
SPELLMOD_VALUE_MULTIPLIER 
SPELLMOD_RESIST_DISPEL_CHANCE 
SPELLMOD_CRIT_DAMAGE_BONUS_2 
SPELLMOD_SPELL_COST_REFUND_ON_FAIL 
MAX_SPELLMOD 

Definition at line 93 of file SpellDefines.h.

◆ SpellValueMod

Enumerator
SPELLVALUE_BASE_POINT0 
SPELLVALUE_BASE_POINT1 
SPELLVALUE_BASE_POINT2 
SPELLVALUE_RADIUS_MOD 
SPELLVALUE_MAX_TARGETS 
SPELLVALUE_AURA_STACK 
SPELLVALUE_CRIT_CHANCE 

Definition at line 130 of file SpellDefines.h.

◆ 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)

Definition at line 146 of file SpellDefines.h.

Function Documentation

◆ DEFINE_ENUM_FLAG()

DEFINE_ENUM_FLAG ( TriggerCastFlags  )