TrinityCore
Loading...
Searching...
No Matches
UnitDefines.h File Reference
#include "Define.h"
#include "EnumFlag.h"
#include <string>
+ Include dependency graph for UnitDefines.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  DeclinedName
 

Macros

#define BASE_MINDAMAGE   1.0f
 
#define BASE_MAXDAMAGE   2.0f
 
#define BASE_ATTACK_TIME   2000
 
#define MAX_EQUIPMENT_ITEMS   3
 
#define MAX_MOVE_TYPE   9
 
#define MAX_DECLINED_NAME_CASES   5
 

Enumerations

enum  UnitStandStateType : uint8 {
  UNIT_STAND_STATE_STAND = 0 , UNIT_STAND_STATE_SIT = 1 , UNIT_STAND_STATE_SIT_CHAIR = 2 , UNIT_STAND_STATE_SLEEP = 3 ,
  UNIT_STAND_STATE_SIT_LOW_CHAIR = 4 , UNIT_STAND_STATE_SIT_MEDIUM_CHAIR = 5 , UNIT_STAND_STATE_SIT_HIGH_CHAIR = 6 , UNIT_STAND_STATE_DEAD = 7 ,
  UNIT_STAND_STATE_KNEEL = 8 , UNIT_STAND_STATE_SUBMERGED = 9 , MAX_UNIT_STAND_STATE
}
 
enum  UnitVisFlags : uint8 {
  UNIT_VIS_FLAGS_UNK1 = 0x01 , UNIT_VIS_FLAGS_CREEP = 0x02 , UNIT_VIS_FLAGS_UNTRACKABLE = 0x04 , UNIT_VIS_FLAGS_UNK4 = 0x08 ,
  UNIT_VIS_FLAGS_UNK5 = 0x10 , UNIT_VIS_FLAGS_ALL = 0xFF
}
 
enum  UnitBytes0Offsets : uint8 { UNIT_BYTES_0_OFFSET_RACE = 0 , UNIT_BYTES_0_OFFSET_CLASS = 1 , UNIT_BYTES_0_OFFSET_GENDER = 2 , UNIT_BYTES_0_OFFSET_POWER_TYPE = 3 }
 
enum  UnitBytes1Offsets : uint8 { UNIT_BYTES_1_OFFSET_STAND_STATE = 0 , UNIT_BYTES_1_OFFSET_PET_TALENTS = 1 , UNIT_BYTES_1_OFFSET_VIS_FLAG = 2 , UNIT_BYTES_1_OFFSET_ANIM_TIER = 3 }
 
enum  UnitBytes2Offsets : uint8 { UNIT_BYTES_2_OFFSET_SHEATH_STATE = 0 , UNIT_BYTES_2_OFFSET_PVP_FLAG = 1 , UNIT_BYTES_2_OFFSET_PET_FLAGS = 2 , UNIT_BYTES_2_OFFSET_SHAPESHIFT_FORM = 3 }
 
enum class  AnimTier : uint8 {
  Ground = 0 , Swim = 1 , Hover = 2 , Fly = 3 ,
  Submerged = 4 , Max
}
 
enum  SheathState : uint8 { SHEATH_STATE_UNARMED = 0 , SHEATH_STATE_MELEE = 1 , SHEATH_STATE_RANGED = 2 , MAX_SHEATH_STATE }
 
enum  UnitPVPStateFlags : uint8 {
  UNIT_BYTE2_FLAG_NONE = 0x00 , UNIT_BYTE2_FLAG_PVP = 0x01 , UNIT_BYTE2_FLAG_UNK1 = 0x02 , UNIT_BYTE2_FLAG_FFA_PVP = 0x04 ,
  UNIT_BYTE2_FLAG_SANCTUARY = 0x08 , UNIT_BYTE2_FLAG_UNK4 = 0x10 , UNIT_BYTE2_FLAG_UNK5 = 0x20 , UNIT_BYTE2_FLAG_UNK6 = 0x40 ,
  UNIT_BYTE2_FLAG_UNK7 = 0x80
}
 
enum  UnitPetFlag : uint8 { UNIT_PET_FLAG_NONE = 0x0 , UNIT_PET_FLAG_CAN_BE_RENAMED = 0x01 , UNIT_PET_FLAG_CAN_BE_ABANDONED = 0x02 }
 
enum  UnitFlags : uint32 {
  UNIT_FLAG_SERVER_CONTROLLED = 0x00000001 , UNIT_FLAG_NON_ATTACKABLE = 0x00000002 , UNIT_FLAG_REMOVE_CLIENT_CONTROL = 0x00000004 , UNIT_FLAG_PLAYER_CONTROLLED = 0x00000008 ,
  UNIT_FLAG_RENAME = 0x00000010 , UNIT_FLAG_PREPARATION = 0x00000020 , UNIT_FLAG_UNK_6 = 0x00000040 , UNIT_FLAG_NOT_ATTACKABLE_1 = 0x00000080 ,
  UNIT_FLAG_IMMUNE_TO_PC = 0x00000100 , UNIT_FLAG_IMMUNE_TO_NPC = 0x00000200 , UNIT_FLAG_LOOTING = 0x00000400 , UNIT_FLAG_PET_IN_COMBAT = 0x00000800 ,
  UNIT_FLAG_PVP_ENABLING = 0x00001000 , UNIT_FLAG_SILENCED = 0x00002000 , UNIT_FLAG_CANNOT_SWIM = 0x00004000 , UNIT_FLAG_CAN_SWIM = 0x00008000 ,
  UNIT_FLAG_NON_ATTACKABLE_2 = 0x00010000 , UNIT_FLAG_PACIFIED = 0x00020000 , UNIT_FLAG_STUNNED = 0x00040000 , UNIT_FLAG_IN_COMBAT = 0x00080000 ,
  UNIT_FLAG_ON_TAXI = 0x00100000 , UNIT_FLAG_DISARMED = 0x00200000 , UNIT_FLAG_CONFUSED = 0x00400000 , UNIT_FLAG_FLEEING = 0x00800000 ,
  UNIT_FLAG_POSSESSED = 0x01000000 , UNIT_FLAG_UNINTERACTIBLE = 0x02000000 , UNIT_FLAG_SKINNABLE = 0x04000000 , UNIT_FLAG_MOUNT = 0x08000000 ,
  UNIT_FLAG_UNK_28 = 0x10000000 , UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT = 0x20000000 , UNIT_FLAG_SHEATHE = 0x40000000 , UNIT_FLAG_IMMUNE = 0x80000000 ,
  UNIT_FLAG_DISALLOWED , UNIT_FLAG_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG_DISALLOWED)
}
 
enum  UnitFlags2 : uint32 {
  UNIT_FLAG2_FEIGN_DEATH = 0x00000001 , UNIT_FLAG2_HIDE_BODY = 0x00000002 , UNIT_FLAG2_IGNORE_REPUTATION = 0x00000004 , UNIT_FLAG2_COMPREHEND_LANG = 0x00000008 ,
  UNIT_FLAG2_MIRROR_IMAGE = 0x00000010 , UNIT_FLAG2_DO_NOT_FADE_IN = 0x00000020 , UNIT_FLAG2_FORCE_MOVEMENT = 0x00000040 , UNIT_FLAG2_DISARM_OFFHAND = 0x00000080 ,
  UNIT_FLAG2_DISABLE_PRED_STATS = 0x00000100 , UNIT_FLAG2_UNK_1 = 0x00000200 , UNIT_FLAG2_DISARM_RANGED = 0x00000400 , UNIT_FLAG2_REGENERATE_POWER = 0x00000800 ,
  UNIT_FLAG2_RESTRICT_PARTY_INTERACTION = 0x00001000 , UNIT_FLAG2_PREVENT_SPELL_CLICK = 0x00002000 , UNIT_FLAG2_ALLOW_ENEMY_INTERACT = 0x00004000 , UNIT_FLAG2_CANNOT_TURN = 0x00008000 ,
  UNIT_FLAG2_UNK2 = 0x00010000 , UNIT_FLAG2_PLAY_DEATH_ANIM = 0x00020000 , UNIT_FLAG2_ALLOW_CHEAT_SPELLS = 0x00040000 , UNIT_FLAG2_UNUSED_1 = 0x00080000 ,
  UNIT_FLAG2_UNUSED_2 = 0x00100000 , UNIT_FLAG2_UNUSED_3 = 0x00200000 , UNIT_FLAG2_UNUSED_4 = 0x00400000 , UNIT_FLAG2_UNUSED_5 = 0x00800000 ,
  UNIT_FLAG2_UNUSED_6 = 0x01000000 , UNIT_FLAG2_UNUSED_7 = 0x02000000 , UNIT_FLAG2_UNUSED_8 = 0x04000000 , UNIT_FLAG2_UNUSED_9 = 0x08000000 ,
  UNIT_FLAG2_UNUSED_10 = 0x10000000 , UNIT_FLAG2_UNUSED_11 = 0x20000000 , UNIT_FLAG2_UNUSED_12 = 0x40000000 , UNIT_FLAG2_UNUSED_13 = 0x80000000 ,
  UNIT_FLAG2_DISALLOWED , UNIT_FLAG2_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG2_DISALLOWED)
}
 
enum  NPCFlags : uint32 {
  UNIT_NPC_FLAG_NONE = 0x00000000 , UNIT_NPC_FLAG_GOSSIP = 0x00000001 , UNIT_NPC_FLAG_QUESTGIVER = 0x00000002 , UNIT_NPC_FLAG_UNK1 = 0x00000004 ,
  UNIT_NPC_FLAG_UNK2 = 0x00000008 , UNIT_NPC_FLAG_TRAINER = 0x00000010 , UNIT_NPC_FLAG_TRAINER_CLASS = 0x00000020 , UNIT_NPC_FLAG_TRAINER_PROFESSION = 0x00000040 ,
  UNIT_NPC_FLAG_VENDOR = 0x00000080 , UNIT_NPC_FLAG_VENDOR_AMMO = 0x00000100 , UNIT_NPC_FLAG_VENDOR_FOOD = 0x00000200 , UNIT_NPC_FLAG_VENDOR_POISON = 0x00000400 ,
  UNIT_NPC_FLAG_VENDOR_REAGENT = 0x00000800 , UNIT_NPC_FLAG_REPAIR = 0x00001000 , UNIT_NPC_FLAG_FLIGHTMASTER = 0x00002000 , UNIT_NPC_FLAG_SPIRITHEALER = 0x00004000 ,
  UNIT_NPC_FLAG_SPIRITGUIDE = 0x00008000 , UNIT_NPC_FLAG_INNKEEPER = 0x00010000 , UNIT_NPC_FLAG_BANKER = 0x00020000 , UNIT_NPC_FLAG_PETITIONER = 0x00040000 ,
  UNIT_NPC_FLAG_TABARDDESIGNER = 0x00080000 , UNIT_NPC_FLAG_BATTLEMASTER = 0x00100000 , UNIT_NPC_FLAG_AUCTIONEER = 0x00200000 , UNIT_NPC_FLAG_STABLEMASTER = 0x00400000 ,
  UNIT_NPC_FLAG_GUILD_BANKER = 0x00800000 , UNIT_NPC_FLAG_SPELLCLICK = 0x01000000 , UNIT_NPC_FLAG_PLAYER_VEHICLE = 0x02000000 , UNIT_NPC_FLAG_MAILBOX = 0x04000000
}
 Non Player Character flags. More...
 
enum  MovementFlags : uint32 {
  MOVEMENTFLAG_NONE = 0x00000000 , MOVEMENTFLAG_FORWARD = 0x00000001 , MOVEMENTFLAG_BACKWARD = 0x00000002 , MOVEMENTFLAG_STRAFE_LEFT = 0x00000004 ,
  MOVEMENTFLAG_STRAFE_RIGHT = 0x00000008 , MOVEMENTFLAG_LEFT = 0x00000010 , MOVEMENTFLAG_RIGHT = 0x00000020 , MOVEMENTFLAG_PITCH_UP = 0x00000040 ,
  MOVEMENTFLAG_PITCH_DOWN = 0x00000080 , MOVEMENTFLAG_WALKING = 0x00000100 , MOVEMENTFLAG_ONTRANSPORT = 0x00000200 , MOVEMENTFLAG_DISABLE_GRAVITY = 0x00000400 ,
  MOVEMENTFLAG_ROOT = 0x00000800 , MOVEMENTFLAG_FALLING = 0x00001000 , MOVEMENTFLAG_FALLING_FAR = 0x00002000 , MOVEMENTFLAG_PENDING_STOP = 0x00004000 ,
  MOVEMENTFLAG_PENDING_STRAFE_STOP = 0x00008000 , MOVEMENTFLAG_PENDING_FORWARD = 0x00010000 , MOVEMENTFLAG_PENDING_BACKWARD = 0x00020000 , MOVEMENTFLAG_PENDING_STRAFE_LEFT = 0x00040000 ,
  MOVEMENTFLAG_PENDING_STRAFE_RIGHT = 0x00080000 , MOVEMENTFLAG_PENDING_ROOT = 0x00100000 , MOVEMENTFLAG_SWIMMING = 0x00200000 , MOVEMENTFLAG_ASCENDING = 0x00400000 ,
  MOVEMENTFLAG_DESCENDING = 0x00800000 , MOVEMENTFLAG_CAN_FLY = 0x01000000 , MOVEMENTFLAG_FLYING = 0x02000000 , MOVEMENTFLAG_SPLINE_ELEVATION = 0x04000000 ,
  MOVEMENTFLAG_SPLINE_ENABLED = 0x08000000 , MOVEMENTFLAG_WATERWALKING = 0x10000000 , MOVEMENTFLAG_FALLING_SLOW = 0x20000000 , MOVEMENTFLAG_HOVER = 0x40000000 ,
  MOVEMENTFLAG_MASK_MOVING , MOVEMENTFLAG_MASK_TURNING , MOVEMENTFLAG_MASK_MOVING_FLY , MOVEMENTFLAG_MASK_PLAYER_ONLY ,
  MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE
}
 
enum  MovementFlags2 : uint32 {
  MOVEMENTFLAG2_NONE = 0x00000000 , MOVEMENTFLAG2_NO_STRAFE = 0x00000001 , MOVEMENTFLAG2_NO_JUMPING = 0x00000002 , MOVEMENTFLAG2_UNK3 = 0x00000004 ,
  MOVEMENTFLAG2_FULL_SPEED_TURNING = 0x00000008 , MOVEMENTFLAG2_FULL_SPEED_PITCHING = 0x00000010 , MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING = 0x00000020 , MOVEMENTFLAG2_UNK7 = 0x00000040 ,
  MOVEMENTFLAG2_UNK8 = 0x00000080 , MOVEMENTFLAG2_UNK9 = 0x00000100 , MOVEMENTFLAG2_UNK10 = 0x00000200 , MOVEMENTFLAG2_INTERPOLATED_MOVEMENT = 0x00000400 ,
  MOVEMENTFLAG2_INTERPOLATED_TURNING = 0x00000800 , MOVEMENTFLAG2_INTERPOLATED_PITCHING = 0x00001000 , MOVEMENTFLAG2_UNK14 = 0x00002000 , MOVEMENTFLAG2_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x00004000 ,
  MOVEMENTFLAG2_UNK16 = 0x00008000
}
 
enum  UnitMoveType {
  MOVE_WALK = 0 , MOVE_RUN = 1 , MOVE_RUN_BACK = 2 , MOVE_SWIM = 3 ,
  MOVE_SWIM_BACK = 4 , MOVE_TURN_RATE = 5 , MOVE_FLIGHT = 6 , MOVE_FLIGHT_BACK = 7 ,
  MOVE_PITCH_RATE = 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  ActiveStates : uint8 {
  ACT_PASSIVE = 0x01 , ACT_DISABLED = 0x81 , ACT_ENABLED = 0xC1 , ACT_COMMAND = 0x07 ,
  ACT_REACTION = 0x06 , ACT_DECIDE = 0x00
}
 
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 }
 

Functions

 DEFINE_ENUM_FLAG (UnitPVPStateFlags)
 
 DEFINE_ENUM_FLAG (UnitPetFlag)
 
 DEFINE_ENUM_FLAG (UnitFlags)
 
 DEFINE_ENUM_FLAG (UnitFlags2)
 
 DEFINE_ENUM_FLAG (NPCFlags)
 
char const * DescribeReactState (ReactStates state)
 

Macro Definition Documentation

◆ BASE_ATTACK_TIME

#define BASE_ATTACK_TIME   2000

Definition at line 27 of file UnitDefines.h.

◆ BASE_MAXDAMAGE

#define BASE_MAXDAMAGE   2.0f

Definition at line 26 of file UnitDefines.h.

◆ BASE_MINDAMAGE

#define BASE_MINDAMAGE   1.0f

Definition at line 25 of file UnitDefines.h.

◆ MAX_DECLINED_NAME_CASES

#define MAX_DECLINED_NAME_CASES   5

Definition at line 389 of file UnitDefines.h.

◆ MAX_EQUIPMENT_ITEMS

#define MAX_EQUIPMENT_ITEMS   3

Definition at line 29 of file UnitDefines.h.

◆ MAX_MOVE_TYPE

#define MAX_MOVE_TYPE   9

Definition at line 357 of file UnitDefines.h.

Enumeration Type Documentation

◆ ActiveStates

Enumerator
ACT_PASSIVE 
ACT_DISABLED 
ACT_ENABLED 
ACT_COMMAND 
ACT_REACTION 
ACT_DECIDE 

Definition at line 396 of file UnitDefines.h.

◆ AnimTier

enum class AnimTier : uint8
strong
Enumerator
Ground 
Swim 
Hover 
Fly 
Submerged 
Max 

Definition at line 84 of file UnitDefines.h.

◆ CommandStates

Enumerator
COMMAND_STAY 
COMMAND_FOLLOW 
COMMAND_ATTACK 
COMMAND_ABANDON 

Definition at line 424 of file UnitDefines.h.

◆ 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 

Definition at line 359 of file UnitDefines.h.

◆ MovementFlags

Enumerator
MOVEMENTFLAG_NONE 
MOVEMENTFLAG_FORWARD 
MOVEMENTFLAG_BACKWARD 
MOVEMENTFLAG_STRAFE_LEFT 
MOVEMENTFLAG_STRAFE_RIGHT 
MOVEMENTFLAG_LEFT 
MOVEMENTFLAG_RIGHT 
MOVEMENTFLAG_PITCH_UP 
MOVEMENTFLAG_PITCH_DOWN 
MOVEMENTFLAG_WALKING 
MOVEMENTFLAG_ONTRANSPORT 
MOVEMENTFLAG_DISABLE_GRAVITY 
MOVEMENTFLAG_ROOT 
MOVEMENTFLAG_FALLING 
MOVEMENTFLAG_FALLING_FAR 
MOVEMENTFLAG_PENDING_STOP 
MOVEMENTFLAG_PENDING_STRAFE_STOP 
MOVEMENTFLAG_PENDING_FORWARD 
MOVEMENTFLAG_PENDING_BACKWARD 
MOVEMENTFLAG_PENDING_STRAFE_LEFT 
MOVEMENTFLAG_PENDING_STRAFE_RIGHT 
MOVEMENTFLAG_PENDING_ROOT 
MOVEMENTFLAG_SWIMMING 
MOVEMENTFLAG_ASCENDING 
MOVEMENTFLAG_DESCENDING 
MOVEMENTFLAG_CAN_FLY 
MOVEMENTFLAG_FLYING 
MOVEMENTFLAG_SPLINE_ELEVATION 
MOVEMENTFLAG_SPLINE_ENABLED 
MOVEMENTFLAG_WATERWALKING 
MOVEMENTFLAG_FALLING_SLOW 
MOVEMENTFLAG_HOVER 
MOVEMENTFLAG_MASK_MOVING 
MOVEMENTFLAG_MASK_TURNING 
MOVEMENTFLAG_MASK_MOVING_FLY 
MOVEMENTFLAG_MASK_PLAYER_ONLY 
Todo:
if needed: add more flags to this masks that are exclusive to players
MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE 

Movement flags that have change status opcodes associated for players.

Definition at line 268 of file UnitDefines.h.

◆ MovementFlags2

Enumerator
MOVEMENTFLAG2_NONE 
MOVEMENTFLAG2_NO_STRAFE 
MOVEMENTFLAG2_NO_JUMPING 
MOVEMENTFLAG2_UNK3 
MOVEMENTFLAG2_FULL_SPEED_TURNING 
MOVEMENTFLAG2_FULL_SPEED_PITCHING 
MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING 
MOVEMENTFLAG2_UNK7 
MOVEMENTFLAG2_UNK8 
MOVEMENTFLAG2_UNK9 
MOVEMENTFLAG2_UNK10 
MOVEMENTFLAG2_INTERPOLATED_MOVEMENT 
MOVEMENTFLAG2_INTERPOLATED_TURNING 
MOVEMENTFLAG2_INTERPOLATED_PITCHING 
MOVEMENTFLAG2_UNK14 
MOVEMENTFLAG2_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY 
MOVEMENTFLAG2_UNK16 

Definition at line 323 of file UnitDefines.h.

◆ NPCFlags

enum NPCFlags : uint32

Non Player Character flags.

Enumerator
UNIT_NPC_FLAG_NONE 
UNIT_NPC_FLAG_GOSSIP 
UNIT_NPC_FLAG_QUESTGIVER 
UNIT_NPC_FLAG_UNK1 
UNIT_NPC_FLAG_UNK2 
UNIT_NPC_FLAG_TRAINER 
UNIT_NPC_FLAG_TRAINER_CLASS 
UNIT_NPC_FLAG_TRAINER_PROFESSION 
UNIT_NPC_FLAG_VENDOR 
UNIT_NPC_FLAG_VENDOR_AMMO 
UNIT_NPC_FLAG_VENDOR_FOOD 
UNIT_NPC_FLAG_VENDOR_POISON 
UNIT_NPC_FLAG_VENDOR_REAGENT 
UNIT_NPC_FLAG_REPAIR 
UNIT_NPC_FLAG_FLIGHTMASTER 
UNIT_NPC_FLAG_SPIRITHEALER 
UNIT_NPC_FLAG_SPIRITGUIDE 
UNIT_NPC_FLAG_INNKEEPER 
UNIT_NPC_FLAG_BANKER 
UNIT_NPC_FLAG_PETITIONER 
UNIT_NPC_FLAG_TABARDDESIGNER 
UNIT_NPC_FLAG_BATTLEMASTER 
UNIT_NPC_FLAG_AUCTIONEER 
UNIT_NPC_FLAG_STABLEMASTER 
UNIT_NPC_FLAG_GUILD_BANKER 
UNIT_NPC_FLAG_SPELLCLICK 
UNIT_NPC_FLAG_PLAYER_VEHICLE 
UNIT_NPC_FLAG_MAILBOX 

Definition at line 234 of file UnitDefines.h.

◆ ReactStates

Enumerator
REACT_PASSIVE 
REACT_DEFENSIVE 
REACT_AGGRESSIVE 

Definition at line 406 of file UnitDefines.h.

◆ SheathState

Enumerator
SHEATH_STATE_UNARMED 
SHEATH_STATE_MELEE 
SHEATH_STATE_RANGED 
MAX_SHEATH_STATE 

Definition at line 96 of file UnitDefines.h.

◆ UnitBytes0Offsets

Enumerator
UNIT_BYTES_0_OFFSET_RACE 
UNIT_BYTES_0_OFFSET_CLASS 
UNIT_BYTES_0_OFFSET_GENDER 
UNIT_BYTES_0_OFFSET_POWER_TYPE 

Definition at line 59 of file UnitDefines.h.

◆ UnitBytes1Offsets

Enumerator
UNIT_BYTES_1_OFFSET_STAND_STATE 
UNIT_BYTES_1_OFFSET_PET_TALENTS 
UNIT_BYTES_1_OFFSET_VIS_FLAG 
UNIT_BYTES_1_OFFSET_ANIM_TIER 

Definition at line 67 of file UnitDefines.h.

◆ UnitBytes2Offsets

Enumerator
UNIT_BYTES_2_OFFSET_SHEATH_STATE 
UNIT_BYTES_2_OFFSET_PVP_FLAG 
UNIT_BYTES_2_OFFSET_PET_FLAGS 
UNIT_BYTES_2_OFFSET_SHAPESHIFT_FORM 

Definition at line 75 of file UnitDefines.h.

◆ UnitFlags

enum UnitFlags : uint32
Enumerator
UNIT_FLAG_SERVER_CONTROLLED 
UNIT_FLAG_NON_ATTACKABLE 
UNIT_FLAG_REMOVE_CLIENT_CONTROL 
UNIT_FLAG_PLAYER_CONTROLLED 
UNIT_FLAG_RENAME 
UNIT_FLAG_PREPARATION 
UNIT_FLAG_UNK_6 
UNIT_FLAG_NOT_ATTACKABLE_1 
UNIT_FLAG_IMMUNE_TO_PC 
UNIT_FLAG_IMMUNE_TO_NPC 
UNIT_FLAG_LOOTING 
UNIT_FLAG_PET_IN_COMBAT 
UNIT_FLAG_PVP_ENABLING 
UNIT_FLAG_SILENCED 
UNIT_FLAG_CANNOT_SWIM 
UNIT_FLAG_CAN_SWIM 
UNIT_FLAG_NON_ATTACKABLE_2 
UNIT_FLAG_PACIFIED 
UNIT_FLAG_STUNNED 
UNIT_FLAG_IN_COMBAT 
UNIT_FLAG_ON_TAXI 
UNIT_FLAG_DISARMED 
UNIT_FLAG_CONFUSED 
UNIT_FLAG_FLEEING 
UNIT_FLAG_POSSESSED 
UNIT_FLAG_UNINTERACTIBLE 
UNIT_FLAG_SKINNABLE 
UNIT_FLAG_MOUNT 
UNIT_FLAG_UNK_28 
UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT 
UNIT_FLAG_SHEATHE 
UNIT_FLAG_IMMUNE 
UNIT_FLAG_DISALLOWED 
UNIT_FLAG_ALLOWED 

Definition at line 133 of file UnitDefines.h.

◆ UnitFlags2

Enumerator
UNIT_FLAG2_FEIGN_DEATH 
UNIT_FLAG2_HIDE_BODY 
UNIT_FLAG2_IGNORE_REPUTATION 
UNIT_FLAG2_COMPREHEND_LANG 
UNIT_FLAG2_MIRROR_IMAGE 
UNIT_FLAG2_DO_NOT_FADE_IN 
UNIT_FLAG2_FORCE_MOVEMENT 
UNIT_FLAG2_DISARM_OFFHAND 
UNIT_FLAG2_DISABLE_PRED_STATS 
UNIT_FLAG2_UNK_1 
UNIT_FLAG2_DISARM_RANGED 
UNIT_FLAG2_REGENERATE_POWER 
UNIT_FLAG2_RESTRICT_PARTY_INTERACTION 
UNIT_FLAG2_PREVENT_SPELL_CLICK 
UNIT_FLAG2_ALLOW_ENEMY_INTERACT 
UNIT_FLAG2_CANNOT_TURN 
UNIT_FLAG2_UNK2 
UNIT_FLAG2_PLAY_DEATH_ANIM 
UNIT_FLAG2_ALLOW_CHEAT_SPELLS 
UNIT_FLAG2_UNUSED_1 
UNIT_FLAG2_UNUSED_2 
UNIT_FLAG2_UNUSED_3 
UNIT_FLAG2_UNUSED_4 
UNIT_FLAG2_UNUSED_5 
UNIT_FLAG2_UNUSED_6 
UNIT_FLAG2_UNUSED_7 
UNIT_FLAG2_UNUSED_8 
UNIT_FLAG2_UNUSED_9 
UNIT_FLAG2_UNUSED_10 
UNIT_FLAG2_UNUSED_11 
UNIT_FLAG2_UNUSED_12 
UNIT_FLAG2_UNUSED_13 
UNIT_FLAG2_DISALLOWED 
UNIT_FLAG2_ALLOWED 

Definition at line 182 of file UnitDefines.h.

◆ UnitMoveType

Enumerator
MOVE_WALK 
MOVE_RUN 
MOVE_RUN_BACK 
MOVE_SWIM 
MOVE_SWIM_BACK 
MOVE_TURN_RATE 
MOVE_FLIGHT 
MOVE_FLIGHT_BACK 
MOVE_PITCH_RATE 

Definition at line 344 of file UnitDefines.h.

◆ UnitPetFlag

Enumerator
UNIT_PET_FLAG_NONE 
UNIT_PET_FLAG_CAN_BE_RENAMED 
UNIT_PET_FLAG_CAN_BE_ABANDONED 

Definition at line 122 of file UnitDefines.h.

◆ UnitPVPStateFlags

Enumerator
UNIT_BYTE2_FLAG_NONE 
UNIT_BYTE2_FLAG_PVP 
UNIT_BYTE2_FLAG_UNK1 
UNIT_BYTE2_FLAG_FFA_PVP 
UNIT_BYTE2_FLAG_SANCTUARY 
UNIT_BYTE2_FLAG_UNK4 
UNIT_BYTE2_FLAG_UNK5 
UNIT_BYTE2_FLAG_UNK6 
UNIT_BYTE2_FLAG_UNK7 

Definition at line 106 of file UnitDefines.h.

◆ UnitStandStateType

Enumerator
UNIT_STAND_STATE_STAND 
UNIT_STAND_STATE_SIT 
UNIT_STAND_STATE_SIT_CHAIR 
UNIT_STAND_STATE_SLEEP 
UNIT_STAND_STATE_SIT_LOW_CHAIR 
UNIT_STAND_STATE_SIT_MEDIUM_CHAIR 
UNIT_STAND_STATE_SIT_HIGH_CHAIR 
UNIT_STAND_STATE_DEAD 
UNIT_STAND_STATE_KNEEL 
UNIT_STAND_STATE_SUBMERGED 
MAX_UNIT_STAND_STATE 

Definition at line 32 of file UnitDefines.h.

◆ UnitVisFlags

Enumerator
UNIT_VIS_FLAGS_UNK1 
UNIT_VIS_FLAGS_CREEP 
UNIT_VIS_FLAGS_UNTRACKABLE 
UNIT_VIS_FLAGS_UNK4 
UNIT_VIS_FLAGS_UNK5 
UNIT_VIS_FLAGS_ALL 

Definition at line 49 of file UnitDefines.h.

Function Documentation

◆ DEFINE_ENUM_FLAG() [1/5]

DEFINE_ENUM_FLAG ( NPCFlags  )

◆ DEFINE_ENUM_FLAG() [2/5]

DEFINE_ENUM_FLAG ( UnitFlags  )

◆ DEFINE_ENUM_FLAG() [3/5]

DEFINE_ENUM_FLAG ( UnitFlags2  )

◆ DEFINE_ENUM_FLAG() [4/5]

DEFINE_ENUM_FLAG ( UnitPetFlag  )

◆ DEFINE_ENUM_FLAG() [5/5]

DEFINE_ENUM_FLAG ( UnitPVPStateFlags  )

◆ DescribeReactState()

char const * DescribeReactState ( ReactStates  state)
inline

Definition at line 413 of file UnitDefines.h.

+ Here is the caller graph for this function: