AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Unit.h File Reference
#include "EnumFlag.h"
#include "EventProcessor.h"
#include "FollowerRefMgr.h"
#include "FollowerReference.h"
#include "HostileRefMgr.h"
#include "ItemTemplate.h"
#include "MotionMaster.h"
#include "Object.h"
#include "SpellAuraDefines.h"
#include "SpellDefines.h"
#include "ThreatMgr.h"
#include "UnitDefines.h"
#include "UnitUtils.h"
#include <functional>
#include <utility>

Go to the source code of this file.

Classes

struct  DiminishingReturn
 
class  DispelInfo
 
struct  CleanDamage
 
class  DamageInfo
 
class  HealInfo
 
class  ProcEventInfo
 
struct  CalcDamageInfo
 
struct  SpellNonMeleeDamage
 
struct  SpellPeriodicAuraLogInfo
 
struct  DeclinedName
 
struct  AttackPosition
 
class  Unit
 
class  Acore::PowerPctOrderPred
 
class  Acore::HealthPctOrderPred
 
class  RedirectSpellEvent
 

Namespaces

namespace  Movement
 
namespace  Acore
 

Macros

#define WORLD_TRIGGER   12999
 
#define BASE_MINDAMAGE   1.0f
 
#define BASE_MAXDAMAGE   2.0f
 
#define BASE_ATTACK_TIME   2000
 
#define MAX_AGGRO_RADIUS   45.0f
 
#define MOD_END   (PCT_MOD+1)
 
#define MAX_COMBAT_RATING   25
 
#define MAX_DECLINED_NAME_CASES   5
 
#define CURRENT_FIRST_NON_MELEE_SPELL   1
 
#define CURRENT_MAX_SPELL   4
 
#define REACTIVE_TIMER_START   5000
 
#define SUMMON_SLOT_PET   0
 
#define SUMMON_SLOT_TOTEM   1
 
#define MAX_TOTEM_SLOT   5
 
#define SUMMON_SLOT_MINIPET   5
 
#define SUMMON_SLOT_QUEST   6
 
#define MAX_SUMMON_SLOT   7
 
#define MAX_GAMEOBJECT_SLOT   4
 
#define ATTACK_DISPLAY_DELAY   200
 
#define MAX_PLAYER_STEALTH_DETECT_RANGE   30.0f
 

Typedefs

typedef std::list< Unit * > UnitList
 
typedef std::list< std::pair< Aura *, uint8 > > DispelChargesList
 
typedef std::list< Player * > SharedVisionList
 
typedef std::unordered_map< uint32, uint32PacketCooldowns
 

Enumerations

enum  VictimState {
  VICTIMSTATE_INTACT = 0 ,
  VICTIMSTATE_HIT = 1 ,
  VICTIMSTATE_DODGE = 2 ,
  VICTIMSTATE_PARRY = 3 ,
  VICTIMSTATE_INTERRUPT = 4 ,
  VICTIMSTATE_BLOCKS = 5 ,
  VICTIMSTATE_EVADES = 6 ,
  VICTIMSTATE_IS_IMMUNE = 7 ,
  VICTIMSTATE_DEFLECTS = 8
}
 
enum  HitInfo {
  HITINFO_NORMALSWING = 0x00000000 ,
  HITINFO_UNK1 = 0x00000001 ,
  HITINFO_AFFECTS_VICTIM = 0x00000002 ,
  HITINFO_OFFHAND = 0x00000004 ,
  HITINFO_UNK2 = 0x00000008 ,
  HITINFO_MISS = 0x00000010 ,
  HITINFO_FULL_ABSORB = 0x00000020 ,
  HITINFO_PARTIAL_ABSORB = 0x00000040 ,
  HITINFO_FULL_RESIST = 0x00000080 ,
  HITINFO_PARTIAL_RESIST = 0x00000100 ,
  HITINFO_CRITICALHIT = 0x00000200 ,
  HITINFO_UNK10 = 0x00000400 ,
  HITINFO_UNK11 = 0x00000800 ,
  HITINFO_UNK12 = 0x00001000 ,
  HITINFO_BLOCK = 0x00002000 ,
  HITINFO_UNK14 = 0x00004000 ,
  HITINFO_UNK15 = 0x00008000 ,
  HITINFO_GLANCING = 0x00010000 ,
  HITINFO_CRUSHING = 0x00020000 ,
  HITINFO_NO_ANIMATION = 0x00040000 ,
  HITINFO_UNK19 = 0x00080000 ,
  HITINFO_UNK20 = 0x00100000 ,
  HITINFO_SWINGNOHITSOUND = 0x00200000 ,
  HITINFO_UNK22 = 0x00400000 ,
  HITINFO_RAGE_GAIN = 0x00800000 ,
  HITINFO_FAKE_DAMAGE = 0x01000000
}
 
enum  UnitModifierType {
  BASE_VALUE = 0 ,
  BASE_PCT = 1 ,
  TOTAL_VALUE = 2 ,
  TOTAL_PCT = 3 ,
  MODIFIER_TYPE_END = 4
}
 
enum  WeaponDamageRange {
  MINDAMAGE ,
  MAXDAMAGE ,
  MAX_WEAPON_DAMAGE_RANGE
}
 
enum  UnitMods {
  UNIT_MOD_STAT_STRENGTH ,
  UNIT_MOD_STAT_AGILITY ,
  UNIT_MOD_STAT_STAMINA ,
  UNIT_MOD_STAT_INTELLECT ,
  UNIT_MOD_STAT_SPIRIT ,
  UNIT_MOD_HEALTH ,
  UNIT_MOD_MANA ,
  UNIT_MOD_RAGE ,
  UNIT_MOD_FOCUS ,
  UNIT_MOD_ENERGY ,
  UNIT_MOD_HAPPINESS ,
  UNIT_MOD_RUNE ,
  UNIT_MOD_RUNIC_POWER ,
  UNIT_MOD_ARMOR ,
  UNIT_MOD_RESISTANCE_HOLY ,
  UNIT_MOD_RESISTANCE_FIRE ,
  UNIT_MOD_RESISTANCE_NATURE ,
  UNIT_MOD_RESISTANCE_FROST ,
  UNIT_MOD_RESISTANCE_SHADOW ,
  UNIT_MOD_RESISTANCE_ARCANE ,
  UNIT_MOD_ATTACK_POWER ,
  UNIT_MOD_ATTACK_POWER_RANGED ,
  UNIT_MOD_DAMAGE_MAINHAND ,
  UNIT_MOD_DAMAGE_OFFHAND ,
  UNIT_MOD_DAMAGE_RANGED ,
  UNIT_MOD_END ,
  UNIT_MOD_STAT_START = UNIT_MOD_STAT_STRENGTH ,
  UNIT_MOD_STAT_END = UNIT_MOD_STAT_SPIRIT + 1 ,
  UNIT_MOD_RESISTANCE_START = UNIT_MOD_ARMOR ,
  UNIT_MOD_RESISTANCE_END = UNIT_MOD_RESISTANCE_ARCANE + 1 ,
  UNIT_MOD_POWER_START = UNIT_MOD_MANA ,
  UNIT_MOD_POWER_END = UNIT_MOD_RUNIC_POWER + 1
}
 
enum  BaseModGroup {
  CRIT_PERCENTAGE ,
  RANGED_CRIT_PERCENTAGE ,
  OFFHAND_CRIT_PERCENTAGE ,
  SHIELD_BLOCK_VALUE ,
  BASEMOD_END
}
 
enum  BaseModType {
  FLAT_MOD ,
  PCT_MOD
}
 
enum class  DeathState : uint8 {
  Alive = 0 ,
  JustDied = 1 ,
  Corpse = 2 ,
  Dead = 3 ,
  JustRespawned = 4
}
 
enum  WeaponAttackType : uint8 {
  BASE_ATTACK = 0 ,
  OFF_ATTACK = 1 ,
  RANGED_ATTACK = 2 ,
  MAX_ATTACK
}
 
enum  CombatRating {
  CR_WEAPON_SKILL = 0 ,
  CR_DEFENSE_SKILL = 1 ,
  CR_DODGE = 2 ,
  CR_PARRY = 3 ,
  CR_BLOCK = 4 ,
  CR_HIT_MELEE = 5 ,
  CR_HIT_RANGED = 6 ,
  CR_HIT_SPELL = 7 ,
  CR_CRIT_MELEE = 8 ,
  CR_CRIT_RANGED = 9 ,
  CR_CRIT_SPELL = 10 ,
  CR_HIT_TAKEN_MELEE = 11 ,
  CR_HIT_TAKEN_RANGED = 12 ,
  CR_HIT_TAKEN_SPELL = 13 ,
  CR_CRIT_TAKEN_MELEE = 14 ,
  CR_CRIT_TAKEN_RANGED = 15 ,
  CR_CRIT_TAKEN_SPELL = 16 ,
  CR_HASTE_MELEE = 17 ,
  CR_HASTE_RANGED = 18 ,
  CR_HASTE_SPELL = 19 ,
  CR_WEAPON_SKILL_MAINHAND = 20 ,
  CR_WEAPON_SKILL_OFFHAND = 21 ,
  CR_WEAPON_SKILL_RANGED = 22 ,
  CR_EXPERTISE = 23 ,
  CR_ARMOR_PENETRATION = 24
}
 
enum  DamageEffectType : uint8 {
  DIRECT_DAMAGE = 0 ,
  SPELL_DIRECT_DAMAGE = 1 ,
  DOT = 2 ,
  HEAL = 3 ,
  NODAMAGE = 4 ,
  SELF_DAMAGE = 5
}
 
enum  DiminishingLevels {
  DIMINISHING_LEVEL_1 = 0 ,
  DIMINISHING_LEVEL_2 = 1 ,
  DIMINISHING_LEVEL_3 = 2 ,
  DIMINISHING_LEVEL_IMMUNE = 3 ,
  DIMINISHING_LEVEL_4 = 3 ,
  DIMINISHING_LEVEL_TAUNT_IMMUNE = 4
}
 
enum  MeleeHitOutcome {
  MELEE_HIT_EVADE ,
  MELEE_HIT_MISS ,
  MELEE_HIT_DODGE ,
  MELEE_HIT_BLOCK ,
  MELEE_HIT_PARRY ,
  MELEE_HIT_GLANCING ,
  MELEE_HIT_CRIT ,
  MELEE_HIT_CRUSHING ,
  MELEE_HIT_NORMAL
}
 
enum  ExtraAttackSpells {
  SPELL_SWORD_SPECIALIZATION = 16459 ,
  SPELL_HACK_AND_SLASH = 66923
}
 
enum  CurrentSpellTypes {
  CURRENT_MELEE_SPELL = 0 ,
  CURRENT_GENERIC_SPELL = 1 ,
  CURRENT_CHANNELED_SPELL = 2 ,
  CURRENT_AUTOREPEAT_SPELL = 3
}
 
enum  ReactStates : uint8 {
  REACT_PASSIVE = 0 ,
  REACT_DEFENSIVE = 1 ,
  REACT_AGGRESSIVE = 2
}
 
enum  CommandStates : uint8 {
  COMMAND_STAY = 0 ,
  COMMAND_FOLLOW = 1 ,
  COMMAND_ATTACK = 2 ,
  COMMAND_ABANDON = 3
}
 
enum  ReactiveType {
  REACTIVE_DEFENSE = 0 ,
  REACTIVE_HUNTER_PARRY = 1 ,
  REACTIVE_OVERPOWER = 2 ,
  REACTIVE_WOLVERINE_BITE = 3 ,
  MAX_REACTIVE
}
 
enum  PlayerTotemType {
  SUMMON_TYPE_TOTEM_FIRE = 63 ,
  SUMMON_TYPE_TOTEM_EARTH = 81 ,
  SUMMON_TYPE_TOTEM_WATER = 82 ,
  SUMMON_TYPE_TOTEM_AIR = 83
}
 
enum  SpellCooldownFlags {
  SPELL_COOLDOWN_FLAG_NONE = 0x0 ,
  SPELL_COOLDOWN_FLAG_INCLUDE_GCD = 0x1 ,
  SPELL_COOLDOWN_FLAG_INCLUDE_EVENT_COOLDOWNS = 0x2
}
 Spell cooldown flags sent in SMSG_SPELL_COOLDOWN. More...
 

Functions

void createProcFlags (SpellInfo const *spellInfo, WeaponAttackType attackType, bool positive, uint32 &procAttacker, uint32 &procVictim)
 
uint32 createProcExtendMask (SpellNonMeleeDamage *damageInfo, SpellMissInfo missCondition)
 

Variables

static constexpr uint32 MAX_CREATURE_SPELLS = 8
 
static constexpr uint32 infinityCooldownDelay = 0x9A7EC800
 
static constexpr uint32 infinityCooldownDelayCheck = 0x4D3F6400
 
float baseMoveSpeed [MAX_MOVE_TYPE]
 
float playerBaseMoveSpeed [MAX_MOVE_TYPE]
 

Macro Definition Documentation

◆ ATTACK_DISPLAY_DELAY

#define ATTACK_DISPLAY_DELAY   200

◆ BASE_ATTACK_TIME

#define BASE_ATTACK_TIME   2000

◆ BASE_MAXDAMAGE

#define BASE_MAXDAMAGE   2.0f

◆ BASE_MINDAMAGE

#define BASE_MINDAMAGE   1.0f

◆ CURRENT_FIRST_NON_MELEE_SPELL

#define CURRENT_FIRST_NON_MELEE_SPELL   1

◆ CURRENT_MAX_SPELL

#define CURRENT_MAX_SPELL   4

◆ MAX_AGGRO_RADIUS

#define MAX_AGGRO_RADIUS   45.0f

◆ MAX_COMBAT_RATING

#define MAX_COMBAT_RATING   25

◆ MAX_DECLINED_NAME_CASES

#define MAX_DECLINED_NAME_CASES   5

◆ MAX_GAMEOBJECT_SLOT

#define MAX_GAMEOBJECT_SLOT   4

◆ MAX_PLAYER_STEALTH_DETECT_RANGE

#define MAX_PLAYER_STEALTH_DETECT_RANGE   30.0f

◆ MAX_SUMMON_SLOT

#define MAX_SUMMON_SLOT   7

◆ MAX_TOTEM_SLOT

#define MAX_TOTEM_SLOT   5

◆ MOD_END

#define MOD_END   (PCT_MOD+1)

◆ REACTIVE_TIMER_START

#define REACTIVE_TIMER_START   5000

◆ SUMMON_SLOT_MINIPET

#define SUMMON_SLOT_MINIPET   5

◆ SUMMON_SLOT_PET

#define SUMMON_SLOT_PET   0

◆ SUMMON_SLOT_QUEST

#define SUMMON_SLOT_QUEST   6

◆ SUMMON_SLOT_TOTEM

#define SUMMON_SLOT_TOTEM   1

◆ WORLD_TRIGGER

#define WORLD_TRIGGER   12999

Typedef Documentation

◆ DispelChargesList

typedef std::list< std::pair<Aura*, uint8> > DispelChargesList

◆ PacketCooldowns

typedef std::unordered_map<uint32, uint32> PacketCooldowns

◆ SharedVisionList

typedef std::list<Player*> SharedVisionList

◆ UnitList

typedef std::list<Unit*> UnitList

Enumeration Type Documentation

◆ BaseModGroup

Enumerator
CRIT_PERCENTAGE 
RANGED_CRIT_PERCENTAGE 
OFFHAND_CRIT_PERCENTAGE 
SHIELD_BLOCK_VALUE 
BASEMOD_END 
179{
185};
@ OFFHAND_CRIT_PERCENTAGE
Definition: Unit.h:182
@ BASEMOD_END
Definition: Unit.h:184
@ SHIELD_BLOCK_VALUE
Definition: Unit.h:183
@ CRIT_PERCENTAGE
Definition: Unit.h:180
@ RANGED_CRIT_PERCENTAGE
Definition: Unit.h:181

◆ BaseModType

Enumerator
FLAT_MOD 
PCT_MOD 
188{
189 FLAT_MOD,
190 PCT_MOD
191};
@ FLAT_MOD
Definition: Unit.h:189
@ PCT_MOD
Definition: Unit.h:190

◆ CombatRating

Enumerator
CR_WEAPON_SKILL 
CR_DEFENSE_SKILL 
CR_DODGE 
CR_PARRY 
CR_BLOCK 
CR_HIT_MELEE 
CR_HIT_RANGED 
CR_HIT_SPELL 
CR_CRIT_MELEE 
CR_CRIT_RANGED 
CR_CRIT_SPELL 
CR_HIT_TAKEN_MELEE 
CR_HIT_TAKEN_RANGED 
CR_HIT_TAKEN_SPELL 
CR_CRIT_TAKEN_MELEE 
CR_CRIT_TAKEN_RANGED 
CR_CRIT_TAKEN_SPELL 
CR_HASTE_MELEE 
CR_HASTE_RANGED 
CR_HASTE_SPELL 
CR_WEAPON_SKILL_MAINHAND 
CR_WEAPON_SKILL_OFFHAND 
CR_WEAPON_SKILL_RANGED 
CR_EXPERTISE 
CR_ARMOR_PENETRATION 
216{
217 CR_WEAPON_SKILL = 0,
219 CR_DODGE = 2,
220 CR_PARRY = 3,
221 CR_BLOCK = 4,
222 CR_HIT_MELEE = 5,
223 CR_HIT_RANGED = 6,
224 CR_HIT_SPELL = 7,
225 CR_CRIT_MELEE = 8,
226 CR_CRIT_RANGED = 9,
227 CR_CRIT_SPELL = 10,
234 CR_HASTE_MELEE = 17,
235 CR_HASTE_RANGED = 18,
236 CR_HASTE_SPELL = 19,
240 CR_EXPERTISE = 23,
242};
@ CR_EXPERTISE
Definition: Unit.h:240
@ CR_HIT_TAKEN_MELEE
Definition: Unit.h:228
@ CR_WEAPON_SKILL_RANGED
Definition: Unit.h:239
@ CR_HASTE_RANGED
Definition: Unit.h:235
@ CR_HIT_MELEE
Definition: Unit.h:222
@ CR_CRIT_TAKEN_RANGED
Definition: Unit.h:232
@ CR_CRIT_TAKEN_SPELL
Definition: Unit.h:233
@ CR_ARMOR_PENETRATION
Definition: Unit.h:241
@ CR_CRIT_MELEE
Definition: Unit.h:225
@ CR_CRIT_RANGED
Definition: Unit.h:226
@ CR_HIT_TAKEN_SPELL
Definition: Unit.h:230
@ CR_WEAPON_SKILL
Definition: Unit.h:217
@ CR_PARRY
Definition: Unit.h:220
@ CR_WEAPON_SKILL_OFFHAND
Definition: Unit.h:238
@ CR_DODGE
Definition: Unit.h:219
@ CR_DEFENSE_SKILL
Definition: Unit.h:218
@ CR_HASTE_MELEE
Definition: Unit.h:234
@ CR_BLOCK
Definition: Unit.h:221
@ CR_WEAPON_SKILL_MAINHAND
Definition: Unit.h:237
@ CR_HASTE_SPELL
Definition: Unit.h:236
@ CR_HIT_SPELL
Definition: Unit.h:224
@ CR_HIT_TAKEN_RANGED
Definition: Unit.h:229
@ CR_CRIT_SPELL
Definition: Unit.h:227
@ CR_HIT_RANGED
Definition: Unit.h:223
@ CR_CRIT_TAKEN_MELEE
Definition: Unit.h:231

◆ CommandStates

Enumerator
COMMAND_STAY 
COMMAND_FOLLOW 
COMMAND_ATTACK 
COMMAND_ABANDON 
554{
555 COMMAND_STAY = 0,
556 COMMAND_FOLLOW = 1,
557 COMMAND_ATTACK = 2,
559};
@ COMMAND_ATTACK
Definition: Unit.h:557
@ COMMAND_ABANDON
Definition: Unit.h:558
@ COMMAND_STAY
Definition: Unit.h:555
@ COMMAND_FOLLOW
Definition: Unit.h:556

◆ CurrentSpellTypes

Enumerator
CURRENT_MELEE_SPELL 
CURRENT_GENERIC_SPELL 
CURRENT_CHANNELED_SPELL 
CURRENT_AUTOREPEAT_SPELL 
536{
541};
@ CURRENT_CHANNELED_SPELL
Definition: Unit.h:539
@ CURRENT_GENERIC_SPELL
Definition: Unit.h:538
@ CURRENT_MELEE_SPELL
Definition: Unit.h:537
@ CURRENT_AUTOREPEAT_SPELL
Definition: Unit.h:540

◆ DamageEffectType

Enumerator
DIRECT_DAMAGE 
SPELL_DIRECT_DAMAGE 
DOT 
HEAL 
NODAMAGE 
SELF_DAMAGE 
247{
248 DIRECT_DAMAGE = 0, // used for normal weapon damage (not for class abilities or spells)
249 SPELL_DIRECT_DAMAGE = 1, // spell/class abilities damage
250 DOT = 2,
251 HEAL = 3,
252 NODAMAGE = 4, // used also in case when damage applied to health but not applied to spell channelInterruptFlags/etc
253 SELF_DAMAGE = 5
254};
@ SELF_DAMAGE
Definition: Unit.h:253
@ DIRECT_DAMAGE
Definition: Unit.h:248
@ NODAMAGE
Definition: Unit.h:252
@ DOT
Definition: Unit.h:250
@ SPELL_DIRECT_DAMAGE
Definition: Unit.h:249
@ HEAL
Definition: Unit.h:251

◆ DeathState

enum class DeathState : uint8
strong
Enumerator
Alive 
JustDied 
Corpse 
Dead 
JustRespawned 
196{
197 Alive = 0,
198 JustDied = 1,
199 Corpse = 2,
200 Dead = 3,
201 JustRespawned = 4,
202};
Definition: Corpse.h:49

◆ DiminishingLevels

Enumerator
DIMINISHING_LEVEL_1 
DIMINISHING_LEVEL_2 
DIMINISHING_LEVEL_3 
DIMINISHING_LEVEL_IMMUNE 
DIMINISHING_LEVEL_4 
DIMINISHING_LEVEL_TAUNT_IMMUNE 
262{
269};
@ DIMINISHING_LEVEL_3
Definition: Unit.h:265
@ DIMINISHING_LEVEL_1
Definition: Unit.h:263
@ DIMINISHING_LEVEL_4
Definition: Unit.h:267
@ DIMINISHING_LEVEL_IMMUNE
Definition: Unit.h:266
@ DIMINISHING_LEVEL_TAUNT_IMMUNE
Definition: Unit.h:268
@ DIMINISHING_LEVEL_2
Definition: Unit.h:264

◆ ExtraAttackSpells

Enumerator
SPELL_SWORD_SPECIALIZATION 
SPELL_HACK_AND_SLASH 
290{
293};
@ SPELL_HACK_AND_SLASH
Definition: Unit.h:292
@ SPELL_SWORD_SPECIALIZATION
Definition: Unit.h:291

◆ HitInfo

enum HitInfo
Enumerator
HITINFO_NORMALSWING 
HITINFO_UNK1 
HITINFO_AFFECTS_VICTIM 
HITINFO_OFFHAND 
HITINFO_UNK2 
HITINFO_MISS 
HITINFO_FULL_ABSORB 
HITINFO_PARTIAL_ABSORB 
HITINFO_FULL_RESIST 
HITINFO_PARTIAL_RESIST 
HITINFO_CRITICALHIT 
HITINFO_UNK10 
HITINFO_UNK11 
HITINFO_UNK12 
HITINFO_BLOCK 
HITINFO_UNK14 
HITINFO_UNK15 
HITINFO_GLANCING 
HITINFO_CRUSHING 
HITINFO_NO_ANIMATION 
HITINFO_UNK19 
HITINFO_UNK20 
HITINFO_SWINGNOHITSOUND 
HITINFO_UNK22 
HITINFO_RAGE_GAIN 
HITINFO_FAKE_DAMAGE 
95{
96 HITINFO_NORMALSWING = 0x00000000,
97 HITINFO_UNK1 = 0x00000001, // req correct packet structure
98 HITINFO_AFFECTS_VICTIM = 0x00000002,
99 HITINFO_OFFHAND = 0x00000004,
100 HITINFO_UNK2 = 0x00000008,
101 HITINFO_MISS = 0x00000010,
102 HITINFO_FULL_ABSORB = 0x00000020,
103 HITINFO_PARTIAL_ABSORB = 0x00000040,
104 HITINFO_FULL_RESIST = 0x00000080,
105 HITINFO_PARTIAL_RESIST = 0x00000100,
106 HITINFO_CRITICALHIT = 0x00000200, // critical hit
107 HITINFO_UNK10 = 0x00000400,
108 HITINFO_UNK11 = 0x00000800,
109 HITINFO_UNK12 = 0x00001000,
110 HITINFO_BLOCK = 0x00002000, // blocked damage
111 HITINFO_UNK14 = 0x00004000, // set only if meleespellid is present// no world text when victim is hit for 0 dmg(HideWorldTextForNoDamage?)
112 HITINFO_UNK15 = 0x00008000, // player victim?// something related to blod sprut visual (BloodSpurtInBack?)
113 HITINFO_GLANCING = 0x00010000,
114 HITINFO_CRUSHING = 0x00020000,
115 HITINFO_NO_ANIMATION = 0x00040000,
116 HITINFO_UNK19 = 0x00080000,
117 HITINFO_UNK20 = 0x00100000,
118 HITINFO_SWINGNOHITSOUND = 0x00200000, // unused?
119 HITINFO_UNK22 = 0x00400000,
120 HITINFO_RAGE_GAIN = 0x00800000,
121 HITINFO_FAKE_DAMAGE = 0x01000000 // enables damage animation even if no damage done, set only if no damage
122};
@ HITINFO_PARTIAL_ABSORB
Definition: Unit.h:103
@ HITINFO_UNK2
Definition: Unit.h:100
@ HITINFO_FULL_RESIST
Definition: Unit.h:104
@ HITINFO_NORMALSWING
Definition: Unit.h:96
@ HITINFO_UNK22
Definition: Unit.h:119
@ HITINFO_BLOCK
Definition: Unit.h:110
@ HITINFO_UNK15
Definition: Unit.h:112
@ HITINFO_UNK19
Definition: Unit.h:116
@ HITINFO_CRUSHING
Definition: Unit.h:114
@ HITINFO_UNK20
Definition: Unit.h:117
@ HITINFO_FAKE_DAMAGE
Definition: Unit.h:121
@ HITINFO_SWINGNOHITSOUND
Definition: Unit.h:118
@ HITINFO_UNK12
Definition: Unit.h:109
@ HITINFO_MISS
Definition: Unit.h:101
@ HITINFO_RAGE_GAIN
Definition: Unit.h:120
@ HITINFO_FULL_ABSORB
Definition: Unit.h:102
@ HITINFO_NO_ANIMATION
Definition: Unit.h:115
@ HITINFO_OFFHAND
Definition: Unit.h:99
@ HITINFO_UNK1
Definition: Unit.h:97
@ HITINFO_GLANCING
Definition: Unit.h:113
@ HITINFO_UNK11
Definition: Unit.h:108
@ HITINFO_CRITICALHIT
Definition: Unit.h:106
@ HITINFO_PARTIAL_RESIST
Definition: Unit.h:105
@ HITINFO_AFFECTS_VICTIM
Definition: Unit.h:98
@ HITINFO_UNK14
Definition: Unit.h:111
@ HITINFO_UNK10
Definition: Unit.h:107

◆ MeleeHitOutcome

Enumerator
MELEE_HIT_EVADE 
MELEE_HIT_MISS 
MELEE_HIT_DODGE 
MELEE_HIT_BLOCK 
MELEE_HIT_PARRY 
MELEE_HIT_GLANCING 
MELEE_HIT_CRIT 
MELEE_HIT_CRUSHING 
MELEE_HIT_NORMAL 
284{
287};
@ MELEE_HIT_CRUSHING
Definition: Unit.h:286
@ MELEE_HIT_BLOCK
Definition: Unit.h:285
@ MELEE_HIT_CRIT
Definition: Unit.h:286
@ MELEE_HIT_NORMAL
Definition: Unit.h:286
@ MELEE_HIT_EVADE
Definition: Unit.h:285
@ MELEE_HIT_DODGE
Definition: Unit.h:285
@ MELEE_HIT_MISS
Definition: Unit.h:285
@ MELEE_HIT_PARRY
Definition: Unit.h:285
@ MELEE_HIT_GLANCING
Definition: Unit.h:286

◆ PlayerTotemType

Enumerator
SUMMON_TYPE_TOTEM_FIRE 
SUMMON_TYPE_TOTEM_EARTH 
SUMMON_TYPE_TOTEM_WATER 
SUMMON_TYPE_TOTEM_AIR 
606{
611};
@ SUMMON_TYPE_TOTEM_EARTH
Definition: Unit.h:608
@ SUMMON_TYPE_TOTEM_WATER
Definition: Unit.h:609
@ SUMMON_TYPE_TOTEM_FIRE
Definition: Unit.h:607
@ SUMMON_TYPE_TOTEM_AIR
Definition: Unit.h:610

◆ ReactiveType

Enumerator
REACTIVE_DEFENSE 
REACTIVE_HUNTER_PARRY 
REACTIVE_OVERPOWER 
REACTIVE_WOLVERINE_BITE 
MAX_REACTIVE 
587{
592
594};
@ MAX_REACTIVE
Definition: Unit.h:593
@ REACTIVE_OVERPOWER
Definition: Unit.h:590
@ REACTIVE_DEFENSE
Definition: Unit.h:588
@ REACTIVE_HUNTER_PARRY
Definition: Unit.h:589
@ REACTIVE_WOLVERINE_BITE
Definition: Unit.h:591

◆ ReactStates

Enumerator
REACT_PASSIVE 
REACT_DEFENSIVE 
REACT_AGGRESSIVE 
547{
548 REACT_PASSIVE = 0,
549 REACT_DEFENSIVE = 1,
551};
@ REACT_DEFENSIVE
Definition: Unit.h:549
@ REACT_PASSIVE
Definition: Unit.h:548
@ REACT_AGGRESSIVE
Definition: Unit.h:550

◆ SpellCooldownFlags

Spell cooldown flags sent in SMSG_SPELL_COOLDOWN.

Enumerator
SPELL_COOLDOWN_FLAG_NONE 
SPELL_COOLDOWN_FLAG_INCLUDE_GCD 

Starts GCD in addition to normal cooldown specified in the packet.

SPELL_COOLDOWN_FLAG_INCLUDE_EVENT_COOLDOWNS 

Starts GCD for spells that should start their cooldown on events, requires SPELL_COOLDOWN_FLAG_INCLUDE_GCD set.

615{
619};
@ SPELL_COOLDOWN_FLAG_INCLUDE_EVENT_COOLDOWNS
Starts GCD for spells that should start their cooldown on events, requires SPELL_COOLDOWN_FLAG_INCLUD...
Definition: Unit.h:618
@ SPELL_COOLDOWN_FLAG_INCLUDE_GCD
Starts GCD in addition to normal cooldown specified in the packet.
Definition: Unit.h:617
@ SPELL_COOLDOWN_FLAG_NONE
Definition: Unit.h:616

◆ UnitModifierType

Enumerator
BASE_VALUE 
BASE_PCT 
TOTAL_VALUE 
TOTAL_PCT 
MODIFIER_TYPE_END 
125{
126 BASE_VALUE = 0,
127 BASE_PCT = 1,
128 TOTAL_VALUE = 2,
129 TOTAL_PCT = 3,
131};
@ MODIFIER_TYPE_END
Definition: Unit.h:130
@ BASE_VALUE
Definition: Unit.h:126
@ TOTAL_VALUE
Definition: Unit.h:128
@ TOTAL_PCT
Definition: Unit.h:129
@ BASE_PCT
Definition: Unit.h:127

◆ UnitMods

enum UnitMods
Enumerator
UNIT_MOD_STAT_STRENGTH 
UNIT_MOD_STAT_AGILITY 
UNIT_MOD_STAT_STAMINA 
UNIT_MOD_STAT_INTELLECT 
UNIT_MOD_STAT_SPIRIT 
UNIT_MOD_HEALTH 
UNIT_MOD_MANA 
UNIT_MOD_RAGE 
UNIT_MOD_FOCUS 
UNIT_MOD_ENERGY 
UNIT_MOD_HAPPINESS 
UNIT_MOD_RUNE 
UNIT_MOD_RUNIC_POWER 
UNIT_MOD_ARMOR 
UNIT_MOD_RESISTANCE_HOLY 
UNIT_MOD_RESISTANCE_FIRE 
UNIT_MOD_RESISTANCE_NATURE 
UNIT_MOD_RESISTANCE_FROST 
UNIT_MOD_RESISTANCE_SHADOW 
UNIT_MOD_RESISTANCE_ARCANE 
UNIT_MOD_ATTACK_POWER 
UNIT_MOD_ATTACK_POWER_RANGED 
UNIT_MOD_DAMAGE_MAINHAND 
UNIT_MOD_DAMAGE_OFFHAND 
UNIT_MOD_DAMAGE_RANGED 
UNIT_MOD_END 
UNIT_MOD_STAT_START 
UNIT_MOD_STAT_END 
UNIT_MOD_RESISTANCE_START 
UNIT_MOD_RESISTANCE_END 
UNIT_MOD_POWER_START 
UNIT_MOD_POWER_END 
142{
143 UNIT_MOD_STAT_STRENGTH, // UNIT_MOD_STAT_STRENGTH..UNIT_MOD_STAT_SPIRIT must be in existed order, it's accessed by index values of Stats enum.
149 UNIT_MOD_MANA, // UNIT_MOD_MANA..UNIT_MOD_RUNIC_POWER must be in existed order, it's accessed by index values of Powers enum.
156 UNIT_MOD_ARMOR, // UNIT_MOD_ARMOR..UNIT_MOD_RESISTANCE_ARCANE must be in existed order, it's accessed by index values of SpellSchools enum.
169 // synonyms
176};
@ UNIT_MOD_DAMAGE_OFFHAND
Definition: Unit.h:166
@ UNIT_MOD_RUNE
Definition: Unit.h:154
@ UNIT_MOD_STAT_INTELLECT
Definition: Unit.h:146
@ UNIT_MOD_POWER_END
Definition: Unit.h:175
@ UNIT_MOD_STAT_SPIRIT
Definition: Unit.h:147
@ UNIT_MOD_ARMOR
Definition: Unit.h:156
@ UNIT_MOD_RESISTANCE_SHADOW
Definition: Unit.h:161
@ UNIT_MOD_RESISTANCE_FROST
Definition: Unit.h:160
@ UNIT_MOD_END
Definition: Unit.h:168
@ UNIT_MOD_ATTACK_POWER
Definition: Unit.h:163
@ UNIT_MOD_STAT_END
Definition: Unit.h:171
@ UNIT_MOD_RESISTANCE_HOLY
Definition: Unit.h:157
@ UNIT_MOD_RESISTANCE_START
Definition: Unit.h:172
@ UNIT_MOD_RESISTANCE_ARCANE
Definition: Unit.h:162
@ UNIT_MOD_ENERGY
Definition: Unit.h:152
@ UNIT_MOD_HEALTH
Definition: Unit.h:148
@ UNIT_MOD_DAMAGE_RANGED
Definition: Unit.h:167
@ UNIT_MOD_POWER_START
Definition: Unit.h:174
@ UNIT_MOD_RESISTANCE_FIRE
Definition: Unit.h:158
@ UNIT_MOD_STAT_STRENGTH
Definition: Unit.h:143
@ UNIT_MOD_RESISTANCE_NATURE
Definition: Unit.h:159
@ UNIT_MOD_STAT_AGILITY
Definition: Unit.h:144
@ UNIT_MOD_RESISTANCE_END
Definition: Unit.h:173
@ UNIT_MOD_FOCUS
Definition: Unit.h:151
@ UNIT_MOD_DAMAGE_MAINHAND
Definition: Unit.h:165
@ UNIT_MOD_HAPPINESS
Definition: Unit.h:153
@ UNIT_MOD_MANA
Definition: Unit.h:149
@ UNIT_MOD_STAT_START
Definition: Unit.h:170
@ UNIT_MOD_RAGE
Definition: Unit.h:150
@ UNIT_MOD_STAT_STAMINA
Definition: Unit.h:145
@ UNIT_MOD_RUNIC_POWER
Definition: Unit.h:155
@ UNIT_MOD_ATTACK_POWER_RANGED
Definition: Unit.h:164

◆ VictimState

Enumerator
VICTIMSTATE_INTACT 
VICTIMSTATE_HIT 
VICTIMSTATE_DODGE 
VICTIMSTATE_PARRY 
VICTIMSTATE_INTERRUPT 
VICTIMSTATE_BLOCKS 
VICTIMSTATE_EVADES 
VICTIMSTATE_IS_IMMUNE 
VICTIMSTATE_DEFLECTS 
82{
83 VICTIMSTATE_INTACT = 0, // set when attacker misses
84 VICTIMSTATE_HIT = 1, // victim got clear/blocked hit
88 VICTIMSTATE_BLOCKS = 5, // unused? not set when blocked, even on full block
92};
@ VICTIMSTATE_DEFLECTS
Definition: Unit.h:91
@ VICTIMSTATE_INTERRUPT
Definition: Unit.h:87
@ VICTIMSTATE_INTACT
Definition: Unit.h:83
@ VICTIMSTATE_HIT
Definition: Unit.h:84
@ VICTIMSTATE_DODGE
Definition: Unit.h:85
@ VICTIMSTATE_IS_IMMUNE
Definition: Unit.h:90
@ VICTIMSTATE_PARRY
Definition: Unit.h:86
@ VICTIMSTATE_BLOCKS
Definition: Unit.h:88
@ VICTIMSTATE_EVADES
Definition: Unit.h:89

◆ WeaponAttackType

Enumerator
BASE_ATTACK 
OFF_ATTACK 
RANGED_ATTACK 
MAX_ATTACK 
208{
209 BASE_ATTACK = 0,
210 OFF_ATTACK = 1,
211 RANGED_ATTACK = 2,
213};
@ OFF_ATTACK
Definition: Unit.h:210
@ MAX_ATTACK
Definition: Unit.h:212
@ BASE_ATTACK
Definition: Unit.h:209
@ RANGED_ATTACK
Definition: Unit.h:211

◆ WeaponDamageRange

Enumerator
MINDAMAGE 
MAXDAMAGE 
MAX_WEAPON_DAMAGE_RANGE 
134{
135 MINDAMAGE,
136 MAXDAMAGE,
137
139};
@ MAX_WEAPON_DAMAGE_RANGE
Definition: Unit.h:138
@ MINDAMAGE
Definition: Unit.h:135
@ MAXDAMAGE
Definition: Unit.h:136

Function Documentation

◆ createProcExtendMask()

uint32 createProcExtendMask ( SpellNonMeleeDamage damageInfo,
SpellMissInfo  missCondition 
)
15991{
15992 uint32 procEx = PROC_EX_NONE;
15993 // Check victim state
15994 if (missCondition != SPELL_MISS_NONE)
15995 switch (missCondition)
15996 {
15997 case SPELL_MISS_MISS:
15998 procEx |= PROC_EX_MISS;
15999 break;
16000 case SPELL_MISS_RESIST:
16001 procEx |= PROC_EX_RESIST;
16002 break;
16003 case SPELL_MISS_DODGE:
16004 procEx |= PROC_EX_DODGE;
16005 break;
16006 case SPELL_MISS_PARRY:
16007 procEx |= PROC_EX_PARRY;
16008 break;
16009 case SPELL_MISS_BLOCK:
16010 procEx |= PROC_EX_BLOCK;
16011 break;
16012 case SPELL_MISS_EVADE:
16013 procEx |= PROC_EX_EVADE;
16014 break;
16015 case SPELL_MISS_IMMUNE:
16016 procEx |= PROC_EX_IMMUNE;
16017 break;
16018 case SPELL_MISS_IMMUNE2:
16019 procEx |= PROC_EX_IMMUNE;
16020 break;
16021 case SPELL_MISS_DEFLECT:
16022 procEx |= PROC_EX_DEFLECT;
16023 break;
16024 case SPELL_MISS_ABSORB:
16025 procEx |= PROC_EX_ABSORB;
16026 break;
16027 case SPELL_MISS_REFLECT:
16028 procEx |= PROC_EX_REFLECT;
16029 break;
16030 default:
16031 break;
16032 }
16033 else
16034 {
16035 // On block
16036 if (damageInfo->blocked)
16037 procEx |= PROC_EX_BLOCK;
16038 // On absorb
16039 if (damageInfo->absorb)
16040 procEx |= PROC_EX_ABSORB;
16041 // On crit
16042 if (damageInfo->HitInfo & SPELL_HIT_TYPE_CRIT)
16043 procEx |= PROC_EX_CRITICAL_HIT;
16044 else
16045 procEx |= PROC_EX_NORMAL_HIT;
16046 }
16047 return procEx;
16048}
std::uint32_t uint32
Definition: Define.h:107
@ PROC_EX_NONE
Definition: SpellMgr.h:193
@ PROC_EX_DODGE
Definition: SpellMgr.h:198
@ PROC_EX_DEFLECT
Definition: SpellMgr.h:203
@ PROC_EX_BLOCK
Definition: SpellMgr.h:200
@ PROC_EX_CRITICAL_HIT
Definition: SpellMgr.h:195
@ PROC_EX_NORMAL_HIT
Definition: SpellMgr.h:194
@ PROC_EX_IMMUNE
Definition: SpellMgr.h:202
@ PROC_EX_MISS
Definition: SpellMgr.h:196
@ PROC_EX_RESIST
Definition: SpellMgr.h:197
@ PROC_EX_REFLECT
Definition: SpellMgr.h:205
@ PROC_EX_ABSORB
Definition: SpellMgr.h:204
@ PROC_EX_PARRY
Definition: SpellMgr.h:199
@ PROC_EX_EVADE
Definition: SpellMgr.h:201
@ SPELL_HIT_TYPE_CRIT
Definition: SharedDefines.h:1536
@ SPELL_MISS_PARRY
Definition: SharedDefines.h:1523
@ SPELL_MISS_IMMUNE
Definition: SharedDefines.h:1526
@ SPELL_MISS_ABSORB
Definition: SharedDefines.h:1529
@ SPELL_MISS_DODGE
Definition: SharedDefines.h:1522
@ SPELL_MISS_IMMUNE2
Definition: SharedDefines.h:1527
@ SPELL_MISS_NONE
Definition: SharedDefines.h:1519
@ SPELL_MISS_RESIST
Definition: SharedDefines.h:1521
@ SPELL_MISS_MISS
Definition: SharedDefines.h:1520
@ SPELL_MISS_EVADE
Definition: SharedDefines.h:1525
@ SPELL_MISS_REFLECT
Definition: SharedDefines.h:1530
@ SPELL_MISS_BLOCK
Definition: SharedDefines.h:1524
@ SPELL_MISS_DEFLECT
Definition: SharedDefines.h:1528
uint32 HitInfo
Definition: Unit.h:506
uint32 absorb
Definition: Unit.h:501
uint32 blocked
Definition: Unit.h:505

References SpellNonMeleeDamage::absorb, SpellNonMeleeDamage::blocked, SpellNonMeleeDamage::HitInfo, PROC_EX_ABSORB, PROC_EX_BLOCK, PROC_EX_CRITICAL_HIT, PROC_EX_DEFLECT, PROC_EX_DODGE, PROC_EX_EVADE, PROC_EX_IMMUNE, PROC_EX_MISS, PROC_EX_NONE, PROC_EX_NORMAL_HIT, PROC_EX_PARRY, PROC_EX_REFLECT, PROC_EX_RESIST, SPELL_HIT_TYPE_CRIT, SPELL_MISS_ABSORB, SPELL_MISS_BLOCK, SPELL_MISS_DEFLECT, SPELL_MISS_DODGE, SPELL_MISS_EVADE, SPELL_MISS_IMMUNE, SPELL_MISS_IMMUNE2, SPELL_MISS_MISS, SPELL_MISS_NONE, SPELL_MISS_PARRY, SPELL_MISS_REFLECT, and SPELL_MISS_RESIST.

Referenced by Spell::DoAllEffectOnTarget(), and AuraEffect::HandlePeriodicPowerBurnAuraTick().

◆ createProcFlags()

void createProcFlags ( SpellInfo const *  spellInfo,
WeaponAttackType  attackType,
bool  positive,
uint32 procAttacker,
uint32 procVictim 
)
15917{
15918 if (spellInfo)
15919 {
15920 switch (spellInfo->DmgClass)
15921 {
15923 if (positive)
15924 {
15927 }
15928 else
15929 {
15932 }
15933 break;
15935 if (positive)
15936 {
15939 }
15940 else
15941 {
15944 }
15945 break;
15948 if (attackType == OFF_ATTACK)
15949 procAttacker |= PROC_FLAG_DONE_OFFHAND_ATTACK;
15950 else
15951 procAttacker |= PROC_FLAG_DONE_MAINHAND_ATTACK;
15953 break;
15955 // Auto attack
15956 if (spellInfo->HasAttribute(SPELL_ATTR2_AUTO_REPEAT))
15957 {
15958 procAttacker = PROC_FLAG_DONE_RANGED_AUTO_ATTACK;
15960 }
15961 else // Ranged spell attack
15962 {
15965 }
15966 break;
15967 default:
15968 if (spellInfo->EquippedItemClass == ITEM_CLASS_WEAPON &&
15969 spellInfo->EquippedItemSubClassMask & (1 << ITEM_SUBCLASS_WEAPON_WAND)
15970 && spellInfo->HasAttribute(SPELL_ATTR2_AUTO_REPEAT)) // Wands auto attack
15971 {
15972 procAttacker = PROC_FLAG_DONE_RANGED_AUTO_ATTACK;
15974 }
15975 break;
15976 }
15977 }
15978 else if (attackType == BASE_ATTACK)
15979 {
15982 }
15983 else if (attackType == OFF_ATTACK)
15984 {
15987 }
15988}
@ PROC_FLAG_DONE_SPELL_RANGED_DMG_CLASS
Definition: SpellMgr.h:119
@ PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS
Definition: SpellMgr.h:128
@ PROC_FLAG_TAKEN_RANGED_AUTO_ATTACK
Definition: SpellMgr.h:117
@ PROC_FLAG_DONE_MELEE_AUTO_ATTACK
Definition: SpellMgr.h:110
@ PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_POS
Definition: SpellMgr.h:122
@ PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS
Definition: SpellMgr.h:113
@ PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG
Definition: SpellMgr.h:132
@ PROC_FLAG_TAKEN_SPELL_RANGED_DMG_CLASS
Definition: SpellMgr.h:120
@ PROC_FLAG_DONE_MAINHAND_ATTACK
Definition: SpellMgr.h:140
@ PROC_FLAG_DONE_RANGED_AUTO_ATTACK
Definition: SpellMgr.h:116
@ PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_NEG
Definition: SpellMgr.h:126
@ PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG
Definition: SpellMgr.h:125
@ PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS
Definition: SpellMgr.h:129
@ PROC_FLAG_TAKEN_MELEE_AUTO_ATTACK
Definition: SpellMgr.h:111
@ PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS
Definition: SpellMgr.h:123
@ PROC_FLAG_TAKEN_SPELL_MELEE_DMG_CLASS
Definition: SpellMgr.h:114
@ PROC_FLAG_DONE_OFFHAND_ATTACK
Definition: SpellMgr.h:141
@ PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG
Definition: SpellMgr.h:131
@ ITEM_SUBCLASS_WEAPON_WAND
Definition: ItemTemplate.h:363
@ ITEM_CLASS_WEAPON
Definition: ItemTemplate.h:293
@ SPELL_ATTR2_AUTO_REPEAT
Definition: SharedDefines.h:461
@ SPELL_DAMAGE_CLASS_RANGED
Definition: SharedDefines.h:1548
@ SPELL_DAMAGE_CLASS_MAGIC
Definition: SharedDefines.h:1546
@ SPELL_DAMAGE_CLASS_NONE
Definition: SharedDefines.h:1545
@ SPELL_DAMAGE_CLASS_MELEE
Definition: SharedDefines.h:1547

References BASE_ATTACK, SpellInfo::DmgClass, SpellInfo::EquippedItemClass, SpellInfo::EquippedItemSubClassMask, SpellInfo::HasAttribute(), ITEM_CLASS_WEAPON, ITEM_SUBCLASS_WEAPON_WAND, OFF_ATTACK, PROC_FLAG_DONE_MAINHAND_ATTACK, PROC_FLAG_DONE_MELEE_AUTO_ATTACK, PROC_FLAG_DONE_OFFHAND_ATTACK, PROC_FLAG_DONE_RANGED_AUTO_ATTACK, PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG, PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS, PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS, PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG, PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_POS, PROC_FLAG_DONE_SPELL_RANGED_DMG_CLASS, PROC_FLAG_TAKEN_MELEE_AUTO_ATTACK, PROC_FLAG_TAKEN_RANGED_AUTO_ATTACK, PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG, PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS, PROC_FLAG_TAKEN_SPELL_MELEE_DMG_CLASS, PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_NEG, PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS, PROC_FLAG_TAKEN_SPELL_RANGED_DMG_CLASS, SPELL_ATTR2_AUTO_REPEAT, SPELL_DAMAGE_CLASS_MAGIC, SPELL_DAMAGE_CLASS_MELEE, SPELL_DAMAGE_CLASS_NONE, and SPELL_DAMAGE_CLASS_RANGED.

Referenced by Unit::CalcAbsorbResist().

Variable Documentation

◆ baseMoveSpeed

float baseMoveSpeed[MAX_MOVE_TYPE]
extern

◆ infinityCooldownDelay

constexpr uint32 infinityCooldownDelay = 0x9A7EC800
staticconstexpr

◆ infinityCooldownDelayCheck

◆ MAX_CREATURE_SPELLS

◆ playerBaseMoveSpeed

float playerBaseMoveSpeed[MAX_MOVE_TYPE]
extern