TrinityCore
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 MIN_MELEE_REACH   2.0f
 
#define NOMINAL_MELEE_RANGE   5.0f
 
#define MELEE_RANGE   (NOMINAL_MELEE_RANGE - MIN_MELEE_REACH * 2)
 
#define BASE_MINDAMAGE   1.0f
 
#define BASE_MAXDAMAGE   2.0f
 
#define BASE_ATTACK_TIME   2000
 
#define MAX_EQUIPMENT_ITEMS   3
 
#define MAX_SHEATH_STATE   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
}
 
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  AnimTier : uint8 {
  AnimTier::Ground = 0, AnimTier::Swim = 1, AnimTier::Hover = 2, AnimTier::Fly = 3,
  AnimTier::Submerged = 4
}
 
enum  SheathState : uint8 { SHEATH_STATE_UNARMED = 0, SHEATH_STATE_MELEE = 1, SHEATH_STATE_RANGED = 2 }
 
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  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  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_CANT_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_DONT_FADE_IN = 0x00000020, UNIT_FLAG2_FORCE_MOVEMENT = 0x00000040, UNIT_FLAG2_DISARM_OFFHAND = 0x00000080,
  UNIT_FLAG2_DISABLE_PRED_STATS = 0x00000100, UNIT_FLAG2_ALLOW_CHANGING_TALENTS = 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_INTERACT_WHILE_HOSTILE = 0x00004000, UNIT_FLAG2_CANNOT_TURN = 0x00008000,
  UNIT_FLAG2_UNK2 = 0x00010000, UNIT_FLAG2_PLAY_DEATH_ANIM = 0x00020000, UNIT_FLAG2_ALLOW_CHEAT_SPELLS = 0x00040000, UNIT_FLAG2_SUPPRESS_HIGHLIGHT_WHEN_TARGETED_OR_MOUSED_OVER = 0x00080000,
  UNIT_FLAG2_TREAT_AS_RAID_UNIT_FOR_HELPFUL_SPELLS = 0x00100000, UNIT_FLAG2_LARGE_AOI = 0x00200000, UNIT_FLAG2_GIGANTIC_AOI = 0x00400000, UNIT_FLAG2_NO_ACTIONS = 0x00800000,
  UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS = 0x01000000, UNIT_FLAG2_DONT_GENERATE_COMBAT_LOG_WHEN_ENGAGED_WITH_NPCS = 0x02000000, UNIT_FLAG2_UNTARGETABLE_BY_CLIENT = 0x04000000, UNIT_FLAG2_ATTACKER_IGNORES_MINIMUM_RANGES = 0x08000000,
  UNIT_FLAG2_UNINTERACTIBLE_IF_HOSTILE = 0x10000000, UNIT_FLAG2_UNUSED_11 = 0x20000000, UNIT_FLAG2_INFINITE_AOI = 0x40000000, UNIT_FLAG2_UNUSED_13 = 0x80000000,
  UNIT_FLAG2_DISALLOWED, UNIT_FLAG2_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG2_DISALLOWED)
}
 
enum  UnitFlags3 : uint32 {
  UNIT_FLAG3_UNK0 = 0x00000001, UNIT_FLAG3_UNCONSCIOUS_ON_DEATH = 0x00000002, UNIT_FLAG3_ALLOW_MOUNTED_COMBAT = 0x00000004, UNIT_FLAG3_GARRISON_PET = 0x00000008,
  UNIT_FLAG3_UI_CAN_GET_POSITION = 0x00000010, UNIT_FLAG3_AI_OBSTACLE = 0x00000020, UNIT_FLAG3_ALTERNATIVE_DEFAULT_LANGUAGE = 0x00000040, UNIT_FLAG3_SUPPRESS_ALL_NPC_FEEDBACK = 0x00000080,
  UNIT_FLAG3_IGNORE_COMBAT = 0x00000100, UNIT_FLAG3_SUPPRESS_NPC_FEEDBACK = 0x00000200, UNIT_FLAG3_UNK10 = 0x00000400, UNIT_FLAG3_UNK11 = 0x00000800,
  UNIT_FLAG3_UNK12 = 0x00001000, UNIT_FLAG3_FAKE_DEAD = 0x00002000, UNIT_FLAG3_NO_FACING_ON_INTERACT_AND_FAST_FACING_CHASE = 0x00004000, UNIT_FLAG3_UNTARGETABLE_FROM_UI = 0x00008000,
  UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD = 0x00010000, UNIT_FLAG3_ALREADY_SKINNED = 0x00020000, UNIT_FLAG3_SUPPRESS_ALL_NPC_SOUNDS = 0x00040000, UNIT_FLAG3_SUPPRESS_NPC_SOUNDS = 0x00080000,
  UNIT_FLAG3_UNK20 = 0x00100000, UNIT_FLAG3_UNK21 = 0x00200000, UNIT_FLAG3_DONT_FADE_OUT = 0x00400000, UNIT_FLAG3_UNK23 = 0x00800000,
  UNIT_FLAG3_UNK24 = 0x01000000, UNIT_FLAG3_UNK25 = 0x02000000, UNIT_FLAG3_UNK26 = 0x04000000, UNIT_FLAG3_UNK27 = 0x08000000,
  UNIT_FLAG3_UNK28 = 0x10000000, UNIT_FLAG3_UNK29 = 0x20000000, UNIT_FLAG3_UNK30 = 0x40000000, UNIT_FLAG3_UNK31 = 0x80000000,
  UNIT_FLAG3_DISALLOWED, UNIT_FLAG3_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG3_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,
  UNIT_NPC_FLAG_ARTIFACT_POWER_RESPEC = 0x08000000, UNIT_NPC_FLAG_TRANSMOGRIFIER = 0x10000000, UNIT_NPC_FLAG_VAULTKEEPER = 0x20000000, UNIT_NPC_FLAG_WILD_BATTLE_PET = 0x40000000,
  UNIT_NPC_FLAG_BLACK_MARKET = 0x80000000
}
 Non Player Character flags. More...
 
enum  NPCFlags2 : uint32 {
  UNIT_NPC_FLAG_2_NONE = 0x00000000, UNIT_NPC_FLAG_2_ITEM_UPGRADE_MASTER = 0x00000001, UNIT_NPC_FLAG_2_GARRISON_ARCHITECT = 0x00000002, UNIT_NPC_FLAG_2_STEERING = 0x00000004,
  UNIT_NPC_FLAG_2_SHIPMENT_CRAFTER = 0x00000010, UNIT_NPC_FLAG_2_GARRISON_MISSION_NPC = 0x00000020, UNIT_NPC_FLAG_2_TRADESKILL_NPC = 0x00000040, UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW = 0x00000080,
  UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC = 0x00000200, UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR = 0x00000400, UNIT_NPC_FLAG_2_AZERITE_RESPEC = 0x00004000, UNIT_NPC_FLAG_2_ISLANDS_QUEUE = 0x00008000,
  UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION = 0x00010000
}
 
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_DISABLE_GRAVITY = 0x00000200, MOVEMENTFLAG_ROOT = 0x00000400,
  MOVEMENTFLAG_FALLING = 0x00000800, MOVEMENTFLAG_FALLING_FAR = 0x00001000, MOVEMENTFLAG_PENDING_STOP = 0x00002000, MOVEMENTFLAG_PENDING_STRAFE_STOP = 0x00004000,
  MOVEMENTFLAG_PENDING_FORWARD = 0x00008000, MOVEMENTFLAG_PENDING_BACKWARD = 0x00010000, MOVEMENTFLAG_PENDING_STRAFE_LEFT = 0x00020000, MOVEMENTFLAG_PENDING_STRAFE_RIGHT = 0x00040000,
  MOVEMENTFLAG_PENDING_ROOT = 0x00080000, MOVEMENTFLAG_SWIMMING = 0x00100000, MOVEMENTFLAG_ASCENDING = 0x00200000, MOVEMENTFLAG_DESCENDING = 0x00400000,
  MOVEMENTFLAG_CAN_FLY = 0x00800000, MOVEMENTFLAG_FLYING = 0x01000000, MOVEMENTFLAG_SPLINE_ELEVATION = 0x02000000, MOVEMENTFLAG_WATERWALKING = 0x04000000,
  MOVEMENTFLAG_FALLING_SLOW = 0x08000000, MOVEMENTFLAG_HOVER = 0x10000000, MOVEMENTFLAG_DISABLE_COLLISION = 0x20000000, MOVEMENTFLAG_MASK_MOVING,
  MOVEMENTFLAG_MASK_TURNING, MOVEMENTFLAG_MASK_MOVING_FLY, MOVEMENTFLAG_MASK_CREATURE_ALLOWED, 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_FULL_SPEED_TURNING = 0x00000004,
  MOVEMENTFLAG2_FULL_SPEED_PITCHING = 0x00000008, MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING = 0x00000010, MOVEMENTFLAG2_IS_VEHICLE_EXIT_VOLUNTARY = 0x00000020, MOVEMENTFLAG2_WATERWALKING_FULL_PITCH = 0x00000040,
  MOVEMENTFLAG2_VEHICLE_PASSENGER_IS_TRANSITION_ALLOWED = 0x00000080, MOVEMENTFLAG2_CAN_SWIM_TO_FLY_TRANS = 0x00000100, MOVEMENTFLAG2_UNK9 = 0x00000200, MOVEMENTFLAG2_CAN_TURN_WHILE_FALLING = 0x00000400,
  MOVEMENTFLAG2_IGNORE_MOVEMENT_FORCES = 0x00000800, MOVEMENTFLAG2_CAN_DOUBLE_JUMP = 0x00001000, MOVEMENTFLAG2_DOUBLE_JUMP = 0x00002000, MOVEMENTFLAG2_AWAITING_LOAD = 0x00010000,
  MOVEMENTFLAG2_INTERPOLATED_MOVEMENT = 0x00020000, MOVEMENTFLAG2_INTERPOLATED_TURNING = 0x00040000, MOVEMENTFLAG2_INTERPOLATED_PITCHING = 0x00080000
}
 
enum  MovementFlags3 : uint32 { MOVEMENTFLAG3_NONE = 0x00000000, MOVEMENTFLAG3_DISABLE_INERTIA = 0x00000001 }
 
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, REACT_ASSIST = 3 }
 
enum  CommandStates : uint8 {
  COMMAND_STAY = 0, COMMAND_FOLLOW = 1, COMMAND_ATTACK = 2, COMMAND_ABANDON = 3,
  COMMAND_MOVE_TO = 4
}
 

Functions

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

Macro Definition Documentation

◆ BASE_ATTACK_TIME

#define BASE_ATTACK_TIME   2000

◆ BASE_MAXDAMAGE

#define BASE_MAXDAMAGE   2.0f

◆ BASE_MINDAMAGE

#define BASE_MINDAMAGE   1.0f

◆ MAX_DECLINED_NAME_CASES

#define MAX_DECLINED_NAME_CASES   5

◆ MAX_EQUIPMENT_ITEMS

#define MAX_EQUIPMENT_ITEMS   3

◆ MAX_MOVE_TYPE

#define MAX_MOVE_TYPE   9

◆ MAX_SHEATH_STATE

#define MAX_SHEATH_STATE   3

◆ MELEE_RANGE

#define MELEE_RANGE   (NOMINAL_MELEE_RANGE - MIN_MELEE_REACH * 2)

◆ MIN_MELEE_REACH

#define MIN_MELEE_REACH   2.0f

◆ NOMINAL_MELEE_RANGE

#define NOMINAL_MELEE_RANGE   5.0f

Enumeration Type Documentation

◆ ActiveStates

Enumerator
ACT_PASSIVE 
ACT_DISABLED 
ACT_ENABLED 
ACT_COMMAND 
ACT_REACTION 
ACT_DECIDE 
460  : uint8
461 {
462  ACT_PASSIVE = 0x01, // 0x01 - passive
463  ACT_DISABLED = 0x81, // 0x80 - castable
464  ACT_ENABLED = 0xC1, // 0x40 | 0x80 - auto cast + castable
465  ACT_COMMAND = 0x07, // 0x01 | 0x02 | 0x04
466  ACT_REACTION = 0x06, // 0x02 | 0x04
467  ACT_DECIDE = 0x00 // custom
468 };
Definition: UnitDefines.h:463
Definition: UnitDefines.h:466
Definition: UnitDefines.h:462
Definition: UnitDefines.h:467
uint8_t uint8
Definition: Define.h:145
Definition: UnitDefines.h:465
Definition: UnitDefines.h:464

◆ AnimTier

enum AnimTier : uint8
strong
Enumerator
Ground 
Swim 
Hover 
Fly 
Submerged 
61  : uint8
62 {
63  Ground = 0, // plays ground tier animations
64  Swim = 1, // falls back to ground tier animations, not handled by the client, should never appear in sniffs, will prevent tier change animations from playing correctly if used
65  Hover = 2, // plays flying tier animations or falls back to ground tier animations, automatically enables hover clientside when entering visibility with this value
66  Fly = 3, // plays flying tier animations
67  Submerged = 4
68 };
uint8_t uint8
Definition: Define.h:145

◆ CommandStates

Enumerator
COMMAND_STAY 
COMMAND_FOLLOW 
COMMAND_ATTACK 
COMMAND_ABANDON 
COMMAND_MOVE_TO 
490  : uint8
491 {
492  COMMAND_STAY = 0,
493  COMMAND_FOLLOW = 1,
494  COMMAND_ATTACK = 2,
495  COMMAND_ABANDON = 3,
496  COMMAND_MOVE_TO = 4
497 };
Definition: UnitDefines.h:492
Definition: UnitDefines.h:494
Definition: UnitDefines.h:493
Definition: UnitDefines.h:495
uint8_t uint8
Definition: Define.h:145
Definition: UnitDefines.h:496

◆ 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 
424 {
425  HITINFO_NORMALSWING = 0x00000000,
426  HITINFO_UNK1 = 0x00000001, // req correct packet structure
427  HITINFO_AFFECTS_VICTIM = 0x00000002,
428  HITINFO_OFFHAND = 0x00000004,
429  HITINFO_UNK2 = 0x00000008,
430  HITINFO_MISS = 0x00000010,
431  HITINFO_FULL_ABSORB = 0x00000020,
432  HITINFO_PARTIAL_ABSORB = 0x00000040,
433  HITINFO_FULL_RESIST = 0x00000080,
434  HITINFO_PARTIAL_RESIST = 0x00000100,
435  HITINFO_CRITICALHIT = 0x00000200, // critical hit
436  HITINFO_UNK10 = 0x00000400,
437  HITINFO_UNK11 = 0x00000800,
438  HITINFO_UNK12 = 0x00001000,
439  HITINFO_BLOCK = 0x00002000, // blocked damage
440  HITINFO_UNK14 = 0x00004000, // set only if meleespellid is present// no world text when victim is hit for 0 dmg(HideWorldTextForNoDamage?)
441  HITINFO_UNK15 = 0x00008000, // player victim?// something related to blod sprut visual (BloodSpurtInBack?)
442  HITINFO_GLANCING = 0x00010000,
443  HITINFO_CRUSHING = 0x00020000,
444  HITINFO_NO_ANIMATION = 0x00040000,
445  HITINFO_UNK19 = 0x00080000,
446  HITINFO_UNK20 = 0x00100000,
447  HITINFO_SWINGNOHITSOUND = 0x00200000, // unused?
448  HITINFO_UNK22 = 0x00400000,
449  HITINFO_RAGE_GAIN = 0x00800000,
450  HITINFO_FAKE_DAMAGE = 0x01000000 // enables damage animation even if no damage done, set only if no damage
451 };
Definition: UnitDefines.h:439
Definition: UnitDefines.h:435
Definition: UnitDefines.h:447
Definition: UnitDefines.h:436
Definition: UnitDefines.h:434
Definition: UnitDefines.h:450
Definition: UnitDefines.h:449
Definition: UnitDefines.h:432
Definition: UnitDefines.h:443
Definition: UnitDefines.h:425
Definition: UnitDefines.h:426
Definition: UnitDefines.h:427
Definition: UnitDefines.h:441
Definition: UnitDefines.h:442
Definition: UnitDefines.h:448
Definition: UnitDefines.h:444
Definition: UnitDefines.h:438
Definition: UnitDefines.h:428
Definition: UnitDefines.h:431
Definition: UnitDefines.h:437
Definition: UnitDefines.h:446
Definition: UnitDefines.h:433
Definition: UnitDefines.h:430
Definition: UnitDefines.h:440
Definition: UnitDefines.h:429
Definition: UnitDefines.h:445

◆ 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_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_WATERWALKING 
MOVEMENTFLAG_FALLING_SLOW 
MOVEMENTFLAG_HOVER 
MOVEMENTFLAG_DISABLE_COLLISION 
MOVEMENTFLAG_MASK_MOVING 
MOVEMENTFLAG_MASK_TURNING 
MOVEMENTFLAG_MASK_MOVING_FLY 
MOVEMENTFLAG_MASK_CREATURE_ALLOWED 
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.

334  : uint32
335 {
336  MOVEMENTFLAG_NONE = 0x00000000,
337  MOVEMENTFLAG_FORWARD = 0x00000001,
338  MOVEMENTFLAG_BACKWARD = 0x00000002,
339  MOVEMENTFLAG_STRAFE_LEFT = 0x00000004,
340  MOVEMENTFLAG_STRAFE_RIGHT = 0x00000008,
341  MOVEMENTFLAG_LEFT = 0x00000010,
342  MOVEMENTFLAG_RIGHT = 0x00000020,
343  MOVEMENTFLAG_PITCH_UP = 0x00000040,
344  MOVEMENTFLAG_PITCH_DOWN = 0x00000080,
345  MOVEMENTFLAG_WALKING = 0x00000100, // Walking
346  MOVEMENTFLAG_DISABLE_GRAVITY = 0x00000200, // Former MOVEMENTFLAG_LEVITATING. This is used when walking is not possible.
347  MOVEMENTFLAG_ROOT = 0x00000400, // Must not be set along with MOVEMENTFLAG_MASK_MOVING
348  MOVEMENTFLAG_FALLING = 0x00000800, // damage dealt on that type of falling
349  MOVEMENTFLAG_FALLING_FAR = 0x00001000,
350  MOVEMENTFLAG_PENDING_STOP = 0x00002000,
352  MOVEMENTFLAG_PENDING_FORWARD = 0x00008000,
353  MOVEMENTFLAG_PENDING_BACKWARD = 0x00010000,
356  MOVEMENTFLAG_PENDING_ROOT = 0x00080000,
357  MOVEMENTFLAG_SWIMMING = 0x00100000, // appears with fly flag also
358  MOVEMENTFLAG_ASCENDING = 0x00200000, // press "space" when flying
359  MOVEMENTFLAG_DESCENDING = 0x00400000,
360  MOVEMENTFLAG_CAN_FLY = 0x00800000, // Appears when unit can fly. For example, appears when a player sits on a mount.
361  MOVEMENTFLAG_FLYING = 0x01000000, // unit is actually flying. pretty sure this is only used for players. creatures use disable_gravity
362  MOVEMENTFLAG_SPLINE_ELEVATION = 0x02000000, // used for flight paths
363  MOVEMENTFLAG_WATERWALKING = 0x04000000, // prevent unit from falling through water
364  MOVEMENTFLAG_FALLING_SLOW = 0x08000000, // active rogue safe fall spell (passive)
365  MOVEMENTFLAG_HOVER = 0x10000000, // hover, cannot jump
366  MOVEMENTFLAG_DISABLE_COLLISION = 0x20000000,
367 
371 
374 
377 
378  // Movement flags allowed for creature in CreateObject - we need to keep all other enabled serverside
379  // to properly calculate all movement
383 
387 
391 };
Definition: UnitDefines.h:356
Definition: UnitDefines.h:350
Definition: UnitDefines.h:349
Definition: UnitDefines.h:359
Definition: UnitDefines.h:365
Definition: UnitDefines.h:347
Definition: UnitDefines.h:364
Definition: UnitDefines.h:385
Definition: UnitDefines.h:358
Definition: UnitDefines.h:343
Definition: UnitDefines.h:344
Definition: UnitDefines.h:355
Definition: UnitDefines.h:353
Definition: UnitDefines.h:340
Definition: UnitDefines.h:338
Definition: UnitDefines.h:337
Definition: UnitDefines.h:348
Definition: UnitDefines.h:357
Movement flags that have change status opcodes associated for players.
Definition: UnitDefines.h:389
Definition: UnitDefines.h:351
uint32_t uint32
Definition: Define.h:143
Definition: UnitDefines.h:372
Definition: UnitDefines.h:354
Definition: UnitDefines.h:345
Definition: UnitDefines.h:375
Definition: UnitDefines.h:362
Definition: UnitDefines.h:352
Definition: UnitDefines.h:363
Definition: UnitDefines.h:368
Definition: UnitDefines.h:336
Definition: UnitDefines.h:342
Definition: UnitDefines.h:341
Definition: UnitDefines.h:366
Definition: UnitDefines.h:346
Definition: UnitDefines.h:380
Definition: UnitDefines.h:360
Definition: UnitDefines.h:339
Definition: UnitDefines.h:361

◆ MovementFlags2

Enumerator
MOVEMENTFLAG2_NONE 
MOVEMENTFLAG2_NO_STRAFE 
MOVEMENTFLAG2_NO_JUMPING 
MOVEMENTFLAG2_FULL_SPEED_TURNING 
MOVEMENTFLAG2_FULL_SPEED_PITCHING 
MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING 
MOVEMENTFLAG2_IS_VEHICLE_EXIT_VOLUNTARY 
MOVEMENTFLAG2_WATERWALKING_FULL_PITCH 
MOVEMENTFLAG2_VEHICLE_PASSENGER_IS_TRANSITION_ALLOWED 
MOVEMENTFLAG2_CAN_SWIM_TO_FLY_TRANS 
MOVEMENTFLAG2_UNK9 
MOVEMENTFLAG2_CAN_TURN_WHILE_FALLING 
MOVEMENTFLAG2_IGNORE_MOVEMENT_FORCES 
MOVEMENTFLAG2_CAN_DOUBLE_JUMP 
MOVEMENTFLAG2_DOUBLE_JUMP 
MOVEMENTFLAG2_AWAITING_LOAD 
MOVEMENTFLAG2_INTERPOLATED_MOVEMENT 
MOVEMENTFLAG2_INTERPOLATED_TURNING 
MOVEMENTFLAG2_INTERPOLATED_PITCHING 
393  : uint32
394 {
395  MOVEMENTFLAG2_NONE = 0x00000000,
396  MOVEMENTFLAG2_NO_STRAFE = 0x00000001,
397  MOVEMENTFLAG2_NO_JUMPING = 0x00000002,
402  MOVEMENTFLAG2_WATERWALKING_FULL_PITCH = 0x00000040, // will always waterwalk, even if facing the camera directly down
405  MOVEMENTFLAG2_UNK9 = 0x00000200, // terrain normal calculation is disabled if this flag is not present, client automatically handles setting this flag
408  MOVEMENTFLAG2_CAN_DOUBLE_JUMP = 0x00001000,
409  MOVEMENTFLAG2_DOUBLE_JUMP = 0x00002000,
410  // these flags are not sent
411  MOVEMENTFLAG2_AWAITING_LOAD = 0x00010000,
415 };
Definition: UnitDefines.h:409
Definition: UnitDefines.h:398
Definition: UnitDefines.h:414
Definition: UnitDefines.h:400
Definition: UnitDefines.h:401
Definition: UnitDefines.h:411
Definition: UnitDefines.h:397
Definition: UnitDefines.h:399
Definition: UnitDefines.h:395
Definition: UnitDefines.h:412
Definition: UnitDefines.h:413
uint32_t uint32
Definition: Define.h:143
Definition: UnitDefines.h:406
Definition: UnitDefines.h:405
Definition: UnitDefines.h:408
Definition: UnitDefines.h:407
Definition: UnitDefines.h:402
Definition: UnitDefines.h:396
Definition: UnitDefines.h:404

◆ MovementFlags3

Enumerator
MOVEMENTFLAG3_NONE 
MOVEMENTFLAG3_DISABLE_INERTIA 
417  : uint32
418 {
419  MOVEMENTFLAG3_NONE = 0x00000000,
420  MOVEMENTFLAG3_DISABLE_INERTIA = 0x00000001,
421 };
Definition: UnitDefines.h:419
uint32_t uint32
Definition: Define.h:143
Definition: UnitDefines.h:420

◆ 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 
UNIT_NPC_FLAG_ARTIFACT_POWER_RESPEC 
UNIT_NPC_FLAG_TRANSMOGRIFIER 
UNIT_NPC_FLAG_VAULTKEEPER 
UNIT_NPC_FLAG_WILD_BATTLE_PET 
UNIT_NPC_FLAG_BLACK_MARKET 
275  : uint32
276 {
277  UNIT_NPC_FLAG_NONE = 0x00000000,
278  UNIT_NPC_FLAG_GOSSIP = 0x00000001, // TITLE has gossip menu DESCRIPTION 100%
279  UNIT_NPC_FLAG_QUESTGIVER = 0x00000002, // TITLE is quest giver DESCRIPTION 100%
280  UNIT_NPC_FLAG_UNK1 = 0x00000004,
281  UNIT_NPC_FLAG_UNK2 = 0x00000008,
282  UNIT_NPC_FLAG_TRAINER = 0x00000010, // TITLE is trainer DESCRIPTION 100%
283  UNIT_NPC_FLAG_TRAINER_CLASS = 0x00000020, // TITLE is class trainer DESCRIPTION 100%
284  UNIT_NPC_FLAG_TRAINER_PROFESSION = 0x00000040, // TITLE is profession trainer DESCRIPTION 100%
285  UNIT_NPC_FLAG_VENDOR = 0x00000080, // TITLE is vendor (generic) DESCRIPTION 100%
286  UNIT_NPC_FLAG_VENDOR_AMMO = 0x00000100, // TITLE is vendor (ammo) DESCRIPTION 100%, general goods vendor
287  UNIT_NPC_FLAG_VENDOR_FOOD = 0x00000200, // TITLE is vendor (food) DESCRIPTION 100%
288  UNIT_NPC_FLAG_VENDOR_POISON = 0x00000400, // TITLE is vendor (poison) DESCRIPTION guessed
289  UNIT_NPC_FLAG_VENDOR_REAGENT = 0x00000800, // TITLE is vendor (reagents) DESCRIPTION 100%
290  UNIT_NPC_FLAG_REPAIR = 0x00001000, // TITLE can repair DESCRIPTION 100%
291  UNIT_NPC_FLAG_FLIGHTMASTER = 0x00002000, // TITLE is flight master DESCRIPTION 100%
292  UNIT_NPC_FLAG_SPIRITHEALER = 0x00004000, // TITLE is spirit healer DESCRIPTION guessed
293  UNIT_NPC_FLAG_SPIRITGUIDE = 0x00008000, // TITLE is spirit guide DESCRIPTION guessed
294  UNIT_NPC_FLAG_INNKEEPER = 0x00010000, // TITLE is innkeeper
295  UNIT_NPC_FLAG_BANKER = 0x00020000, // TITLE is banker DESCRIPTION 100%
296  UNIT_NPC_FLAG_PETITIONER = 0x00040000, // TITLE handles guild/arena petitions DESCRIPTION 100% 0xC0000 = guild petitions, 0x40000 = arena team petitions
297  UNIT_NPC_FLAG_TABARDDESIGNER = 0x00080000, // TITLE is guild tabard designer DESCRIPTION 100%
298  UNIT_NPC_FLAG_BATTLEMASTER = 0x00100000, // TITLE is battlemaster DESCRIPTION 100%
299  UNIT_NPC_FLAG_AUCTIONEER = 0x00200000, // TITLE is auctioneer DESCRIPTION 100%
300  UNIT_NPC_FLAG_STABLEMASTER = 0x00400000, // TITLE is stable master DESCRIPTION 100%
301  UNIT_NPC_FLAG_GUILD_BANKER = 0x00800000, // TITLE is guild banker DESCRIPTION
302  UNIT_NPC_FLAG_SPELLCLICK = 0x01000000, // TITLE has spell click enabled
303  UNIT_NPC_FLAG_PLAYER_VEHICLE = 0x02000000, // TITLE is player vehicle DESCRIPTION players with mounts that have vehicle data should have it set
304  UNIT_NPC_FLAG_MAILBOX = 0x04000000, // TITLE is mailbox
305  UNIT_NPC_FLAG_ARTIFACT_POWER_RESPEC = 0x08000000, // TITLE can reset artifact powers
306  UNIT_NPC_FLAG_TRANSMOGRIFIER = 0x10000000, // TITLE transmogrification
307  UNIT_NPC_FLAG_VAULTKEEPER = 0x20000000, // TITLE is void storage
308  UNIT_NPC_FLAG_WILD_BATTLE_PET = 0x40000000, // TITLE is wild battle pet DESCRIPTION Pet that player can fight (Battle Pet)
309  UNIT_NPC_FLAG_BLACK_MARKET = 0x80000000 // TITLE is black market
310 };
Definition: UnitDefines.h:294
Definition: UnitDefines.h:305
Definition: UnitDefines.h:283
Definition: UnitDefines.h:301
Definition: UnitDefines.h:292
Definition: UnitDefines.h:307
Definition: UnitDefines.h:297
Definition: UnitDefines.h:288
Definition: UnitDefines.h:280
Definition: UnitDefines.h:285
Definition: UnitDefines.h:308
Definition: UnitDefines.h:303
Definition: UnitDefines.h:300
Definition: UnitDefines.h:295
Definition: UnitDefines.h:306
Definition: UnitDefines.h:298
Definition: UnitDefines.h:284
Definition: UnitDefines.h:304
Definition: UnitDefines.h:286
uint32_t uint32
Definition: Define.h:143
Definition: UnitDefines.h:279
Definition: UnitDefines.h:296
Definition: UnitDefines.h:290
Definition: UnitDefines.h:281
Definition: UnitDefines.h:299
Definition: UnitDefines.h:309
Definition: UnitDefines.h:291
Definition: UnitDefines.h:293
Definition: UnitDefines.h:278
Definition: UnitDefines.h:302
Definition: UnitDefines.h:289
Definition: UnitDefines.h:282
Definition: UnitDefines.h:277
Definition: UnitDefines.h:287

◆ NPCFlags2

enum NPCFlags2 : uint32
Enumerator
UNIT_NPC_FLAG_2_NONE 
UNIT_NPC_FLAG_2_ITEM_UPGRADE_MASTER 
UNIT_NPC_FLAG_2_GARRISON_ARCHITECT 
UNIT_NPC_FLAG_2_STEERING 
UNIT_NPC_FLAG_2_SHIPMENT_CRAFTER 
UNIT_NPC_FLAG_2_GARRISON_MISSION_NPC 
UNIT_NPC_FLAG_2_TRADESKILL_NPC 
UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW 
UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC 
UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR 
UNIT_NPC_FLAG_2_AZERITE_RESPEC 
UNIT_NPC_FLAG_2_ISLANDS_QUEUE 
UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION 
315  : uint32
316 {
317  UNIT_NPC_FLAG_2_NONE = 0x00000000,
318  UNIT_NPC_FLAG_2_ITEM_UPGRADE_MASTER = 0x00000001, // TITLE is item upgrade
319  UNIT_NPC_FLAG_2_GARRISON_ARCHITECT = 0x00000002, // TITLE is garrison architect DESCRIPTION garrison building placement UI
320  UNIT_NPC_FLAG_2_STEERING = 0x00000004, // TITLE is avoiding obstacles DESCRIPTION clientside pathfinding
321  UNIT_NPC_FLAG_2_SHIPMENT_CRAFTER = 0x00000010, // TITLE is shipment crafter DESCRIPTION garrison work orders
322  UNIT_NPC_FLAG_2_GARRISON_MISSION_NPC = 0x00000020, // TITLE is garrison mission
323  UNIT_NPC_FLAG_2_TRADESKILL_NPC = 0x00000040, // TITLE is tradeskill DESCRIPTION crafting at npc
324  UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW = 0x00000080, // TITLE is black market view DESCRIPTION only allows viewing black market auctions, no bidding
325  UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC = 0x00000200, // TITLE is garrrison talent
326  UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR = 0x00000400, // TITLE is contribution collector
327  UNIT_NPC_FLAG_2_AZERITE_RESPEC = 0x00004000, // TITLE is azerite respec
328  UNIT_NPC_FLAG_2_ISLANDS_QUEUE = 0x00008000, // TITLE is islands queue
330 };
Definition: UnitDefines.h:317
Definition: UnitDefines.h:328
Definition: UnitDefines.h:325
Definition: UnitDefines.h:321
Definition: UnitDefines.h:323
Definition: UnitDefines.h:320
uint32_t uint32
Definition: Define.h:143
Definition: UnitDefines.h:322
Definition: UnitDefines.h:318
Definition: UnitDefines.h:324
Definition: UnitDefines.h:326
Definition: UnitDefines.h:319
Definition: UnitDefines.h:327

◆ ReactStates

Enumerator
REACT_PASSIVE 
REACT_DEFENSIVE 
REACT_AGGRESSIVE 
REACT_ASSIST 
470  : uint8
471 {
472  REACT_PASSIVE = 0,
473  REACT_DEFENSIVE = 1,
474  REACT_AGGRESSIVE = 2,
475  REACT_ASSIST = 3
476 };
Definition: UnitDefines.h:472
Definition: UnitDefines.h:474
Definition: UnitDefines.h:475
uint8_t uint8
Definition: Define.h:145
Definition: UnitDefines.h:473

◆ SheathState

Enumerator
SHEATH_STATE_UNARMED 
SHEATH_STATE_MELEE 
SHEATH_STATE_RANGED 
71  : uint8
72 {
73  SHEATH_STATE_UNARMED = 0, // non prepared weapon
74  SHEATH_STATE_MELEE = 1, // prepared melee weapon
75  SHEATH_STATE_RANGED = 2 // prepared ranged weapon
76 };
Definition: UnitDefines.h:74
Definition: UnitDefines.h:73
Definition: UnitDefines.h:75
uint8_t uint8
Definition: Define.h:145

◆ 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_CANT_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 
123  : uint32
124 {
125  UNIT_FLAG_SERVER_CONTROLLED = 0x00000001, // set only when unit movement is controlled by server - by SPLINE/MONSTER_MOVE packets, together with UNIT_FLAG_STUNNED; only set to units controlled by client; client function CGUnit_C::IsClientControlled returns false when set for owner
126  UNIT_FLAG_NON_ATTACKABLE = 0x00000002, // not attackable, set when creature starts to cast spells with SPELL_EFFECT_SPAWN and cast time, removed when spell hits caster, original name is UNIT_FLAG_SPAWNING. Rename when it will be removed from all scripts
127  UNIT_FLAG_REMOVE_CLIENT_CONTROL = 0x00000004, // This is a legacy flag used to disable movement player's movement while controlling other units, SMSG_CLIENT_CONTROL replaces this functionality clientside now. CONFUSED and FLEEING flags have the same effect on client movement asDISABLE_MOVE_CONTROL in addition to preventing spell casts/autoattack (they all allow climbing steeper hills and emotes while moving)
128  UNIT_FLAG_PLAYER_CONTROLLED = 0x00000008, // controlled by player, use _IMMUNE_TO_PC instead of _IMMUNE_TO_NPC
129  UNIT_FLAG_RENAME = 0x00000010,
130  UNIT_FLAG_PREPARATION = 0x00000020, // don't take reagents for spells with SPELL_ATTR5_NO_REAGENT_WHILE_PREP
131  UNIT_FLAG_UNK_6 = 0x00000040,
132  UNIT_FLAG_NOT_ATTACKABLE_1 = 0x00000080, // ?? (UNIT_FLAG_PLAYER_CONTROLLED | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE
133  UNIT_FLAG_IMMUNE_TO_PC = 0x00000100, // disables combat/assistance with PlayerCharacters (PC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget
134  UNIT_FLAG_IMMUNE_TO_NPC = 0x00000200, // disables combat/assistance with NonPlayerCharacters (NPC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget
135  UNIT_FLAG_LOOTING = 0x00000400, // loot animation
136  UNIT_FLAG_PET_IN_COMBAT = 0x00000800, // on player pets: whether the pet is chasing a target to attack || on other units: whether any of the unit's minions is in combat
137  UNIT_FLAG_PVP_ENABLING = 0x00001000, // changed in 3.0.3, now UNIT_BYTES_2_OFFSET_PVP_FLAG from UNIT_FIELD_BYTES_2
138  UNIT_FLAG_SILENCED = 0x00002000, // silenced, 2.1.1
139  UNIT_FLAG_CANT_SWIM = 0x00004000, // TITLE Can't Swim
140  UNIT_FLAG_CAN_SWIM = 0x00008000, // TITLE Can Swim DESCRIPTION shows swim animation in water
141  UNIT_FLAG_NON_ATTACKABLE_2 = 0x00010000, // removes attackable icon, if on yourself, cannot assist self but can cast TARGET_SELF spells - added by SPELL_AURA_MOD_UNATTACKABLE
142  UNIT_FLAG_PACIFIED = 0x00020000, // 3.0.3 ok
143  UNIT_FLAG_STUNNED = 0x00040000, // 3.0.3 ok
144  UNIT_FLAG_IN_COMBAT = 0x00080000,
145  UNIT_FLAG_ON_TAXI = 0x00100000, // disable casting at client side spell not allowed by taxi flight (mounted?), probably used with 0x4 flag
146  UNIT_FLAG_DISARMED = 0x00200000, // 3.0.3, disable melee spells casting..., "Required melee weapon" added to melee spells tooltip.
147  UNIT_FLAG_CONFUSED = 0x00400000,
148  UNIT_FLAG_FLEEING = 0x00800000,
149  UNIT_FLAG_POSSESSED = 0x01000000, // under direct client control by a player (possess or vehicle)
150  UNIT_FLAG_UNINTERACTIBLE = 0x02000000,
151  UNIT_FLAG_SKINNABLE = 0x04000000,
152  UNIT_FLAG_MOUNT = 0x08000000,
153  UNIT_FLAG_UNK_28 = 0x10000000,
154  UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT = 0x20000000, // Prevent automatically playing emotes from parsing chat text, for example "lol" in /say, ending message with ? or !, or using /yell
155  UNIT_FLAG_SHEATHE = 0x40000000,
156  UNIT_FLAG_IMMUNE = 0x80000000, // Immune to damage
157 
165 
166  UNIT_FLAG_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG_DISALLOWED) // SKIP
167 };
Definition: UnitDefines.h:138
Definition: UnitDefines.h:130
Definition: UnitDefines.h:148
Definition: UnitDefines.h:150
Definition: UnitDefines.h:136
Definition: UnitDefines.h:139
Definition: UnitDefines.h:155
Definition: UnitDefines.h:144
Definition: UnitDefines.h:140
Definition: UnitDefines.h:134
Definition: UnitDefines.h:158
Definition: UnitDefines.h:126
Definition: UnitDefines.h:132
Definition: UnitDefines.h:156
Definition: UnitDefines.h:141
Definition: UnitDefines.h:154
Definition: UnitDefines.h:127
Definition: UnitDefines.h:145
uint32_t uint32
Definition: Define.h:143
Definition: UnitDefines.h:143
Definition: UnitDefines.h:131
Definition: UnitDefines.h:142
Definition: UnitDefines.h:153
Definition: UnitDefines.h:147
Definition: UnitDefines.h:133
Definition: UnitDefines.h:128
Definition: UnitDefines.h:152
Definition: UnitDefines.h:149
Definition: UnitDefines.h:135
Definition: UnitDefines.h:129
Definition: UnitDefines.h:146
Definition: UnitDefines.h:137
Definition: UnitDefines.h:166
Definition: UnitDefines.h:151
Definition: UnitDefines.h:125

◆ UnitFlags2

Enumerator
UNIT_FLAG2_FEIGN_DEATH 
UNIT_FLAG2_HIDE_BODY 
UNIT_FLAG2_IGNORE_REPUTATION 
UNIT_FLAG2_COMPREHEND_LANG 
UNIT_FLAG2_MIRROR_IMAGE 
UNIT_FLAG2_DONT_FADE_IN 
UNIT_FLAG2_FORCE_MOVEMENT 
UNIT_FLAG2_DISARM_OFFHAND 
UNIT_FLAG2_DISABLE_PRED_STATS 
UNIT_FLAG2_ALLOW_CHANGING_TALENTS 
UNIT_FLAG2_DISARM_RANGED 
UNIT_FLAG2_REGENERATE_POWER 
UNIT_FLAG2_RESTRICT_PARTY_INTERACTION 
UNIT_FLAG2_PREVENT_SPELL_CLICK 
UNIT_FLAG2_INTERACT_WHILE_HOSTILE 
UNIT_FLAG2_CANNOT_TURN 
UNIT_FLAG2_UNK2 
UNIT_FLAG2_PLAY_DEATH_ANIM 
UNIT_FLAG2_ALLOW_CHEAT_SPELLS 
UNIT_FLAG2_SUPPRESS_HIGHLIGHT_WHEN_TARGETED_OR_MOUSED_OVER 
UNIT_FLAG2_TREAT_AS_RAID_UNIT_FOR_HELPFUL_SPELLS 
UNIT_FLAG2_LARGE_AOI 
UNIT_FLAG2_GIGANTIC_AOI 
UNIT_FLAG2_NO_ACTIONS 
UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS 
UNIT_FLAG2_DONT_GENERATE_COMBAT_LOG_WHEN_ENGAGED_WITH_NPCS 
UNIT_FLAG2_UNTARGETABLE_BY_CLIENT 
UNIT_FLAG2_ATTACKER_IGNORES_MINIMUM_RANGES 
UNIT_FLAG2_UNINTERACTIBLE_IF_HOSTILE 
UNIT_FLAG2_UNUSED_11 
UNIT_FLAG2_INFINITE_AOI 
UNIT_FLAG2_UNUSED_13 
UNIT_FLAG2_DISALLOWED 
UNIT_FLAG2_ALLOWED 
173  : uint32
174 {
175  UNIT_FLAG2_FEIGN_DEATH = 0x00000001,
176  UNIT_FLAG2_HIDE_BODY = 0x00000002, // TITLE Hide Body DESCRIPTION Hide unit model (show only player equip)
177  UNIT_FLAG2_IGNORE_REPUTATION = 0x00000004,
178  UNIT_FLAG2_COMPREHEND_LANG = 0x00000008,
179  UNIT_FLAG2_MIRROR_IMAGE = 0x00000010,
180  UNIT_FLAG2_DONT_FADE_IN = 0x00000020, // TITLE Don't Fade In DESCRIPTION Unit model instantly appears when summoned (does not fade in)
181  UNIT_FLAG2_FORCE_MOVEMENT = 0x00000040,
182  UNIT_FLAG2_DISARM_OFFHAND = 0x00000080,
183  UNIT_FLAG2_DISABLE_PRED_STATS = 0x00000100, // Player has disabled predicted stats (Used by raid frames)
184  UNIT_FLAG2_ALLOW_CHANGING_TALENTS = 0x00000200, // Allows changing talents outside rest area
185  UNIT_FLAG2_DISARM_RANGED = 0x00000400, // this does not disable ranged weapon display (maybe additional flag needed?)
186  UNIT_FLAG2_REGENERATE_POWER = 0x00000800,
187  UNIT_FLAG2_RESTRICT_PARTY_INTERACTION = 0x00001000, // Restrict interaction to party or raid
188  UNIT_FLAG2_PREVENT_SPELL_CLICK = 0x00002000, // Prevent spellclick
189  UNIT_FLAG2_INTERACT_WHILE_HOSTILE = 0x00004000, // TITLE Interact while Hostile
190  UNIT_FLAG2_CANNOT_TURN = 0x00008000, // TITLE Cannot Turn
191  UNIT_FLAG2_UNK2 = 0x00010000,
192  UNIT_FLAG2_PLAY_DEATH_ANIM = 0x00020000, // Plays special death animation upon death
193  UNIT_FLAG2_ALLOW_CHEAT_SPELLS = 0x00040000, // Allows casting spells with AttributesEx7 & SPELL_ATTR7_IS_CHEAT_SPELL
194  UNIT_FLAG2_SUPPRESS_HIGHLIGHT_WHEN_TARGETED_OR_MOUSED_OVER = 0x00080000, // TITLE Suppress highlight when targeted or moused over
195  UNIT_FLAG2_TREAT_AS_RAID_UNIT_FOR_HELPFUL_SPELLS = 0x00100000, // TITLE Treat as Raid Unit For Helpful Spells (Instances ONLY)
196  UNIT_FLAG2_LARGE_AOI = 0x00200000, // TITLE Large (AOI)
197  UNIT_FLAG2_GIGANTIC_AOI = 0x00400000, // TITLE Gigantic (AOI)
198  UNIT_FLAG2_NO_ACTIONS = 0x00800000,
199  UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS = 0x01000000, // TITLE AI will only swim if target swims
200  UNIT_FLAG2_DONT_GENERATE_COMBAT_LOG_WHEN_ENGAGED_WITH_NPCS = 0x02000000, // TITLE Don't generate combat log when engaged with NPC's
201  UNIT_FLAG2_UNTARGETABLE_BY_CLIENT = 0x04000000, // TITLE Untargetable By Client
202  UNIT_FLAG2_ATTACKER_IGNORES_MINIMUM_RANGES = 0x08000000, // TITLE Attacker Ignores Minimum Ranges
203  UNIT_FLAG2_UNINTERACTIBLE_IF_HOSTILE = 0x10000000, // TITLE Uninteractible If Hostile
204  UNIT_FLAG2_UNUSED_11 = 0x20000000,
205  UNIT_FLAG2_INFINITE_AOI = 0x40000000, // TITLE Infinite (AOI)
206  UNIT_FLAG2_UNUSED_13 = 0x80000000,
207 
211  /* UNIT_FLAG2_REGENERATE_POWER | */ UNIT_FLAG2_RESTRICT_PARTY_INTERACTION |
212  UNIT_FLAG2_PREVENT_SPELL_CLICK | UNIT_FLAG2_INTERACT_WHILE_HOSTILE | /* UNIT_FLAG2_CANNOT_TURN | */
217 
218  UNIT_FLAG2_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG2_DISALLOWED) // SKIP
219 };
Definition: UnitDefines.h:206
Definition: UnitDefines.h:178
Definition: UnitDefines.h:197
Definition: UnitDefines.h:187
Definition: UnitDefines.h:188
Definition: UnitDefines.h:192
Definition: UnitDefines.h:218
Definition: UnitDefines.h:201
Definition: UnitDefines.h:182
Definition: UnitDefines.h:190
Definition: UnitDefines.h:186
Definition: UnitDefines.h:180
Definition: UnitDefines.h:183
Definition: UnitDefines.h:175
Definition: UnitDefines.h:204
Definition: UnitDefines.h:202
Definition: UnitDefines.h:176
Definition: UnitDefines.h:203
Definition: UnitDefines.h:205
Definition: UnitDefines.h:196
Definition: UnitDefines.h:193
Definition: UnitDefines.h:208
Definition: UnitDefines.h:184
uint32_t uint32
Definition: Define.h:143
Definition: UnitDefines.h:177
Definition: UnitDefines.h:185
Definition: UnitDefines.h:198
Definition: UnitDefines.h:179
Definition: UnitDefines.h:189
Definition: UnitDefines.h:181
Definition: UnitDefines.h:191

◆ UnitFlags3

Enumerator
UNIT_FLAG3_UNK0 
UNIT_FLAG3_UNCONSCIOUS_ON_DEATH 
UNIT_FLAG3_ALLOW_MOUNTED_COMBAT 
UNIT_FLAG3_GARRISON_PET 
UNIT_FLAG3_UI_CAN_GET_POSITION 
UNIT_FLAG3_AI_OBSTACLE 
UNIT_FLAG3_ALTERNATIVE_DEFAULT_LANGUAGE 
UNIT_FLAG3_SUPPRESS_ALL_NPC_FEEDBACK 
UNIT_FLAG3_IGNORE_COMBAT 
UNIT_FLAG3_SUPPRESS_NPC_FEEDBACK 
UNIT_FLAG3_UNK10 
UNIT_FLAG3_UNK11 
UNIT_FLAG3_UNK12 
UNIT_FLAG3_FAKE_DEAD 
UNIT_FLAG3_NO_FACING_ON_INTERACT_AND_FAST_FACING_CHASE 
UNIT_FLAG3_UNTARGETABLE_FROM_UI 
UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD 
UNIT_FLAG3_ALREADY_SKINNED 
UNIT_FLAG3_SUPPRESS_ALL_NPC_SOUNDS 
UNIT_FLAG3_SUPPRESS_NPC_SOUNDS 
UNIT_FLAG3_UNK20 
UNIT_FLAG3_UNK21 
UNIT_FLAG3_DONT_FADE_OUT 
UNIT_FLAG3_UNK23 
UNIT_FLAG3_UNK24 
UNIT_FLAG3_UNK25 
UNIT_FLAG3_UNK26 
UNIT_FLAG3_UNK27 
UNIT_FLAG3_UNK28 
UNIT_FLAG3_UNK29 
UNIT_FLAG3_UNK30 
UNIT_FLAG3_UNK31 
UNIT_FLAG3_DISALLOWED 
UNIT_FLAG3_ALLOWED 
225  : uint32
226 {
227  UNIT_FLAG3_UNK0 = 0x00000001,
228  UNIT_FLAG3_UNCONSCIOUS_ON_DEATH = 0x00000002, // TITLE Unconscious on Death DESCRIPTION Shows "Unconscious" in unit tooltip instead of "Dead"
229  UNIT_FLAG3_ALLOW_MOUNTED_COMBAT = 0x00000004, // TITLE Allow mounted combat
230  UNIT_FLAG3_GARRISON_PET = 0x00000008, // TITLE Garrison pet DESCRIPTION Special garrison pet creatures that display one of favorite player battle pets - this flag allows querying name and turns off default battle pet behavior
231  UNIT_FLAG3_UI_CAN_GET_POSITION = 0x00000010, // TITLE UI Can Get Position DESCRIPTION Allows lua functions like UnitPosition to always get the position even for npcs or non-grouped players
232  UNIT_FLAG3_AI_OBSTACLE = 0x00000020,
234  UNIT_FLAG3_SUPPRESS_ALL_NPC_FEEDBACK = 0x00000080, // TITLE Suppress all NPC feedback DESCRIPTION Skips playing sounds on left clicking npc for all npcs as long as npc with this flag is visible
235  UNIT_FLAG3_IGNORE_COMBAT = 0x00000100, // TITLE Ignore Combat DESCRIPTION Same as SPELL_AURA_IGNORE_COMBAT
236  UNIT_FLAG3_SUPPRESS_NPC_FEEDBACK = 0x00000200, // TITLE Suppress NPC feedback DESCRIPTION Skips playing sounds on left clicking npc
237  UNIT_FLAG3_UNK10 = 0x00000400,
238  UNIT_FLAG3_UNK11 = 0x00000800,
239  UNIT_FLAG3_UNK12 = 0x00001000,
240  UNIT_FLAG3_FAKE_DEAD = 0x00002000, // TITLE Show as dead
241  UNIT_FLAG3_NO_FACING_ON_INTERACT_AND_FAST_FACING_CHASE = 0x00004000, // Causes the creature to both not change facing on interaction and speeds up smooth facing changes while attacking (clientside)
242  UNIT_FLAG3_UNTARGETABLE_FROM_UI = 0x00008000, // TITLE Untargetable from UI DESCRIPTION Cannot be targeted from lua functions StartAttack, TargetUnit, PetAttack
243  UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD = 0x00010000, // Prevents facing changes while interacting if creature has flag UNIT_FLAG3_FAKE_DEAD
244  UNIT_FLAG3_ALREADY_SKINNED = 0x00020000,
245  UNIT_FLAG3_SUPPRESS_ALL_NPC_SOUNDS = 0x00040000, // TITLE Suppress all NPC sounds DESCRIPTION Skips playing sounds on beginning and end of npc interaction for all npcs as long as npc with this flag is visible
246  UNIT_FLAG3_SUPPRESS_NPC_SOUNDS = 0x00080000, // TITLE Suppress NPC sounds DESCRIPTION Skips playing sounds on beginning and end of npc interaction
247  UNIT_FLAG3_UNK20 = 0x00100000,
248  UNIT_FLAG3_UNK21 = 0x00200000,
249  UNIT_FLAG3_DONT_FADE_OUT = 0x00400000,
250  UNIT_FLAG3_UNK23 = 0x00800000,
251  UNIT_FLAG3_UNK24 = 0x01000000,
252  UNIT_FLAG3_UNK25 = 0x02000000,
253  UNIT_FLAG3_UNK26 = 0x04000000,
254  UNIT_FLAG3_UNK27 = 0x08000000,
255  UNIT_FLAG3_UNK28 = 0x10000000,
256  UNIT_FLAG3_UNK29 = 0x20000000,
257  UNIT_FLAG3_UNK30 = 0x40000000,
258  UNIT_FLAG3_UNK31 = 0x80000000,
259 
260  UNIT_FLAG3_DISALLOWED = (UNIT_FLAG3_UNK0 | /* UNIT_FLAG3_UNCONSCIOUS_ON_DEATH | */ /* UNIT_FLAG3_ALLOW_MOUNTED_COMBAT | */ UNIT_FLAG3_GARRISON_PET |
261  /* UNIT_FLAG3_UI_CAN_GET_POSITION | */ /* UNIT_FLAG3_AI_OBSTACLE | */ UNIT_FLAG3_ALTERNATIVE_DEFAULT_LANGUAGE | /* UNIT_FLAG3_SUPPRESS_ALL_NPC_FEEDBACK | */
263  UNIT_FLAG3_UNK12 | /* UNIT_FLAG3_FAKE_DEAD | */ /* UNIT_FLAG3_NO_FACING_ON_INTERACT_AND_FAST_FACING_CHASE | */ /* UNIT_FLAG3_UNTARGETABLE_FROM_UI | */
264  /* UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD | */ UNIT_FLAG3_ALREADY_SKINNED | /* UNIT_FLAG3_SUPPRESS_ALL_NPC_SOUNDS | */ /* UNIT_FLAG3_SUPPRESS_NPC_SOUNDS | */
265  UNIT_FLAG3_UNK20 | UNIT_FLAG3_UNK21 | /* UNIT_FLAG3_DONT_FADE_OUT | */ UNIT_FLAG3_UNK23 |
268  UNIT_FLAG3_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG3_DISALLOWED) // SKIP
269 };
Definition: UnitDefines.h:260
Definition: UnitDefines.h:232
Definition: UnitDefines.h:250
Definition: UnitDefines.h:237
Definition: UnitDefines.h:249
Definition: UnitDefines.h:235
Definition: UnitDefines.h:239
Definition: UnitDefines.h:240
Definition: UnitDefines.h:248
Definition: UnitDefines.h:258
Definition: UnitDefines.h:242
Definition: UnitDefines.h:257
Definition: UnitDefines.h:228
Definition: UnitDefines.h:256
Definition: UnitDefines.h:230
uint32_t uint32
Definition: Define.h:143
Definition: UnitDefines.h:246
Definition: UnitDefines.h:252
Definition: UnitDefines.h:254
Definition: UnitDefines.h:238
Definition: UnitDefines.h:233
Definition: UnitDefines.h:231
Definition: UnitDefines.h:253
Definition: UnitDefines.h:229
Definition: UnitDefines.h:251
Definition: UnitDefines.h:245
Definition: UnitDefines.h:247
Definition: UnitDefines.h:234
Definition: UnitDefines.h:236
Definition: UnitDefines.h:227
Definition: UnitDefines.h:244
Definition: UnitDefines.h:268
Definition: UnitDefines.h:255

◆ 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 
107 {
108  MOVE_WALK = 0,
109  MOVE_RUN = 1,
110  MOVE_RUN_BACK = 2,
111  MOVE_SWIM = 3,
112  MOVE_SWIM_BACK = 4,
113  MOVE_TURN_RATE = 5,
114  MOVE_FLIGHT = 6,
115  MOVE_FLIGHT_BACK = 7,
116  MOVE_PITCH_RATE = 8
117 };
Definition: UnitDefines.h:108
Definition: UnitDefines.h:116
Definition: UnitDefines.h:114
Definition: UnitDefines.h:109
Definition: UnitDefines.h:111
Definition: UnitDefines.h:115
Definition: UnitDefines.h:113
Definition: UnitDefines.h:112
Definition: UnitDefines.h:110

◆ UnitPetFlag

Enumerator
UNIT_PET_FLAG_NONE 
UNIT_PET_FLAG_CAN_BE_RENAMED 
UNIT_PET_FLAG_CAN_BE_ABANDONED 
97  : uint8
98 {
99  UNIT_PET_FLAG_NONE = 0x0,
102 };
Definition: UnitDefines.h:99
Definition: UnitDefines.h:101
Definition: UnitDefines.h:100
uint8_t uint8
Definition: Define.h:145

◆ 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 
81  : uint8
82 {
83  UNIT_BYTE2_FLAG_NONE = 0x00,
84  UNIT_BYTE2_FLAG_PVP = 0x01,
85  UNIT_BYTE2_FLAG_UNK1 = 0x02,
88  UNIT_BYTE2_FLAG_UNK4 = 0x10,
89  UNIT_BYTE2_FLAG_UNK5 = 0x20,
90  UNIT_BYTE2_FLAG_UNK6 = 0x40,
92 };
Definition: UnitDefines.h:85
Definition: UnitDefines.h:83
Definition: UnitDefines.h:84
Definition: UnitDefines.h:88
Definition: UnitDefines.h:91
Definition: UnitDefines.h:87
Definition: UnitDefines.h:86
uint8_t uint8
Definition: Define.h:145
Definition: UnitDefines.h:89
Definition: UnitDefines.h:90

◆ 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 
35  : uint8
36 {
47 };
Definition: UnitDefines.h:38
Definition: UnitDefines.h:41
Definition: UnitDefines.h:44
Definition: UnitDefines.h:43
Definition: UnitDefines.h:42
Definition: UnitDefines.h:45
Definition: UnitDefines.h:40
Definition: UnitDefines.h:39
Definition: UnitDefines.h:46
uint8_t uint8
Definition: Define.h:145
Definition: UnitDefines.h:37

◆ 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 
50  : uint8
51 {
52  UNIT_VIS_FLAGS_UNK1 = 0x01,
53  UNIT_VIS_FLAGS_CREEP = 0x02,
55  UNIT_VIS_FLAGS_UNK4 = 0x08,
56  UNIT_VIS_FLAGS_UNK5 = 0x10,
57  UNIT_VIS_FLAGS_ALL = 0xFF
58 };
Definition: UnitDefines.h:55
Definition: UnitDefines.h:56
Definition: UnitDefines.h:52
Definition: UnitDefines.h:54
Definition: UnitDefines.h:53
Definition: UnitDefines.h:57
uint8_t uint8
Definition: Define.h:145

Function Documentation

◆ DEFINE_ENUM_FLAG() [1/7]

DEFINE_ENUM_FLAG ( UnitPVPStateFlags  )

◆ DEFINE_ENUM_FLAG() [2/7]

DEFINE_ENUM_FLAG ( UnitPetFlag  )

◆ DEFINE_ENUM_FLAG() [3/7]

DEFINE_ENUM_FLAG ( UnitFlags  )

◆ DEFINE_ENUM_FLAG() [4/7]

DEFINE_ENUM_FLAG ( UnitFlags2  )

◆ DEFINE_ENUM_FLAG() [5/7]

DEFINE_ENUM_FLAG ( UnitFlags3  )

◆ DEFINE_ENUM_FLAG() [6/7]

DEFINE_ENUM_FLAG ( NPCFlags  )

◆ DEFINE_ENUM_FLAG() [7/7]

DEFINE_ENUM_FLAG ( NPCFlags2  )

◆ DescribeReactState()

char const* DescribeReactState ( ReactStates  state)
inline
479 {
480  switch (state)
481  {
482  case REACT_PASSIVE: return "PASSIVE";
483  case REACT_DEFENSIVE: return "DEFENSIVE";
484  case REACT_AGGRESSIVE: return "AGGRESSIVE";
485  case REACT_ASSIST: return "ASSIST";
486  default: return "<Invalid react state>";
487  }
488 }
Definition: UnitDefines.h:472
Definition: UnitDefines.h:474
Definition: UnitDefines.h:475
Definition: UnitDefines.h:473
+ Here is the caller graph for this function: