AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
UnitDefines.h File Reference
#include "Define.h"
#include "EnumFlag.h"

Go to the source code of this file.

Macros

#define MAX_SHEATH_STATE   3
 
#define MAX_MOVE_TYPE   9
 

Enumerations

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  UnitStandStateType {
  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  UnitStandFlags {
  UNIT_STAND_FLAGS_UNK1 = 0x01 ,
  UNIT_STAND_FLAGS_CREEP = 0x02 ,
  UNIT_STAND_FLAGS_UNTRACKABLE = 0x04 ,
  UNIT_STAND_FLAGS_UNK4 = 0x08 ,
  UNIT_STAND_FLAGS_UNK5 = 0x10 ,
  UNIT_STAND_FLAGS_ALL = 0xFF
}
 
enum  UnitBytes1_Flags {
  UNIT_BYTE1_FLAG_GROUND = 0x00 ,
  UNIT_BYTE1_FLAG_ALWAYS_STAND = 0x01 ,
  UNIT_BYTE1_FLAG_HOVER = 0x02 ,
  UNIT_BYTE1_FLAG_FLY = 0x03 ,
  UNIT_BYTE1_FLAG_SUBMERGED = 0x04 ,
  UNIT_BYTE1_FLAG_ALL = 0xFF
}
 
enum  ShapeshiftForm {
  FORM_NONE = 0x00 ,
  FORM_CAT = 0x01 ,
  FORM_TREE = 0x02 ,
  FORM_TRAVEL = 0x03 ,
  FORM_AQUA = 0x04 ,
  FORM_BEAR = 0x05 ,
  FORM_AMBIENT = 0x06 ,
  FORM_GHOUL = 0x07 ,
  FORM_DIREBEAR = 0x08 ,
  FORM_STEVES_GHOUL = 0x09 ,
  FORM_THARONJA_SKELETON = 0x0A ,
  FORM_TEST_OF_STRENGTH = 0x0B ,
  FORM_BLB_PLAYER = 0x0C ,
  FORM_SHADOW_DANCE = 0x0D ,
  FORM_CREATUREBEAR = 0x0E ,
  FORM_CREATURECAT = 0x0F ,
  FORM_GHOSTWOLF = 0x10 ,
  FORM_BATTLESTANCE = 0x11 ,
  FORM_DEFENSIVESTANCE = 0x12 ,
  FORM_BERSERKERSTANCE = 0x13 ,
  FORM_TEST = 0x14 ,
  FORM_ZOMBIE = 0x15 ,
  FORM_METAMORPHOSIS = 0x16 ,
  FORM_UNDEAD = 0x19 ,
  FORM_MASTER_ANGLER = 0x1A ,
  FORM_FLIGHT_EPIC = 0x1B ,
  FORM_SHADOW = 0x1C ,
  FORM_FLIGHT = 0x1D ,
  FORM_STEALTH = 0x1E ,
  FORM_MOONKIN = 0x1F ,
  FORM_SPIRITOFREDEMPTION = 0x20
}
 
enum  SheathState {
  SHEATH_STATE_UNARMED = 0 ,
  SHEATH_STATE_MELEE = 1 ,
  SHEATH_STATE_RANGED = 2
}
 
enum  UnitPVPStateFlags {
  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  UnitRename {
  UNIT_CAN_BE_RENAMED = 0x01 ,
  UNIT_CAN_BE_ABANDONED = 0x02
}
 
enum  UnitTypeMask {
  UNIT_MASK_NONE = 0x00000000 ,
  UNIT_MASK_SUMMON = 0x00000001 ,
  UNIT_MASK_MINION = 0x00000002 ,
  UNIT_MASK_GUARDIAN = 0x00000004 ,
  UNIT_MASK_TOTEM = 0x00000008 ,
  UNIT_MASK_PET = 0x00000010 ,
  UNIT_MASK_VEHICLE = 0x00000020 ,
  UNIT_MASK_PUPPET = 0x00000040 ,
  UNIT_MASK_HUNTER_PET = 0x00000080 ,
  UNIT_MASK_CONTROLABLE_GUARDIAN = 0x00000100 ,
  UNIT_MASK_ACCESSORY = 0x00000200
}
 
enum  UnitState {
  UNIT_STATE_DIED = 0x00000001 ,
  UNIT_STATE_MELEE_ATTACKING = 0x00000002 ,
  UNIT_STATE_STUNNED = 0x00000008 ,
  UNIT_STATE_ROAMING = 0x00000010 ,
  UNIT_STATE_CHASE = 0x00000020 ,
  UNIT_STATE_FLEEING = 0x00000080 ,
  UNIT_STATE_IN_FLIGHT = 0x00000100 ,
  UNIT_STATE_FOLLOW = 0x00000200 ,
  UNIT_STATE_ROOT = 0x00000400 ,
  UNIT_STATE_CONFUSED = 0x00000800 ,
  UNIT_STATE_DISTRACTED = 0x00001000 ,
  UNIT_STATE_ISOLATED = 0x00002000 ,
  UNIT_STATE_ATTACK_PLAYER = 0x00004000 ,
  UNIT_STATE_CASTING = 0x00008000 ,
  UNIT_STATE_POSSESSED = 0x00010000 ,
  UNIT_STATE_CHARGING = 0x00020000 ,
  UNIT_STATE_JUMPING = 0x00040000 ,
  UNIT_STATE_MOVE = 0x00100000 ,
  UNIT_STATE_ROTATING = 0x00200000 ,
  UNIT_STATE_EVADE = 0x00400000 ,
  UNIT_STATE_ROAMING_MOVE = 0x00800000 ,
  UNIT_STATE_CONFUSED_MOVE = 0x01000000 ,
  UNIT_STATE_FLEEING_MOVE = 0x02000000 ,
  UNIT_STATE_CHASE_MOVE = 0x04000000 ,
  UNIT_STATE_FOLLOW_MOVE = 0x08000000 ,
  UNIT_STATE_IGNORE_PATHFINDING = 0x10000000 ,
  UNIT_STATE_NO_ENVIRONMENT_UPD = 0x20000000 ,
  UNIT_STATE_ALL_STATE_SUPPORTED ,
  UNIT_STATE_UNATTACKABLE = UNIT_STATE_IN_FLIGHT ,
  UNIT_STATE_MOVING = UNIT_STATE_ROAMING_MOVE | UNIT_STATE_CONFUSED_MOVE | UNIT_STATE_FLEEING_MOVE | UNIT_STATE_CHASE_MOVE | UNIT_STATE_FOLLOW_MOVE ,
  UNIT_STATE_CONTROLLED = (UNIT_STATE_CONFUSED | UNIT_STATE_STUNNED | UNIT_STATE_FLEEING) ,
  UNIT_STATE_LOST_CONTROL = (UNIT_STATE_CONTROLLED | UNIT_STATE_JUMPING | UNIT_STATE_CHARGING) ,
  UNIT_STATE_SIGHTLESS = (UNIT_STATE_LOST_CONTROL | UNIT_STATE_EVADE) ,
  UNIT_STATE_CANNOT_AUTOATTACK = (UNIT_STATE_LOST_CONTROL | UNIT_STATE_CASTING) ,
  UNIT_STATE_CANNOT_TURN = (UNIT_STATE_LOST_CONTROL | UNIT_STATE_ROTATING | UNIT_STATE_ROOT) ,
  UNIT_STATE_NOT_MOVE = UNIT_STATE_ROOT | UNIT_STATE_STUNNED | UNIT_STATE_DIED | UNIT_STATE_DISTRACTED ,
  UNIT_STATE_IGNORE_ANTISPEEDHACK = UNIT_STATE_FLEEING | UNIT_STATE_CONFUSED | UNIT_STATE_CHARGING | UNIT_STATE_DISTRACTED | UNIT_STATE_POSSESSED ,
  UNIT_STATE_ALL_STATE = 0xffffffff
}
 
enum  ClassContext : uint8 {
  CLASS_CONTEXT_NONE = 0 ,
  CLASS_CONTEXT_INIT = 1 ,
  CLASS_CONTEXT_TELEPORT = 2 ,
  CLASS_CONTEXT_QUEST = 3 ,
  CLASS_CONTEXT_STATS = 4 ,
  CLASS_CONTEXT_TAXI = 5 ,
  CLASS_CONTEXT_SKILL = 6 ,
  CLASS_CONTEXT_TALENT_POINT_CALC = 7 ,
  CLASS_CONTEXT_ABILITY = 8 ,
  CLASS_CONTEXT_ABILITY_REACTIVE = 9 ,
  CLASS_CONTEXT_PET = 10 ,
  CLASS_CONTEXT_PET_CHARM = 11 ,
  CLASS_CONTEXT_EQUIP_RELIC = 12 ,
  CLASS_CONTEXT_EQUIP_SHIELDS = 13 ,
  CLASS_CONTEXT_EQUIP_ARMOR_CLASS = 14 ,
  CLASS_CONTEXT_WEAPON_SWAP = 15 ,
  CLASS_CONTEXT_GRAVEYARD = 16 ,
  CLASS_CONTEXT_CLASS_TRAINER = 17
}
 
enum  UnitFlags : uint32 {
  UNIT_FLAG_NONE = 0x00000000 ,
  UNIT_FLAG_SERVER_CONTROLLED = 0x00000001 ,
  UNIT_FLAG_NON_ATTACKABLE = 0x00000002 ,
  UNIT_FLAG_DISABLE_MOVE = 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 = 0x00001000 ,
  UNIT_FLAG_SILENCED = 0x00002000 ,
  UNIT_FLAG_CANNOT_SWIM = 0x00004000 ,
  UNIT_FLAG_SWIMMING = 0x00008000 ,
  UNIT_FLAG_NON_ATTACKABLE_2 = 0x00010000 ,
  UNIT_FLAG_PACIFIED = 0x00020000 ,
  UNIT_FLAG_STUNNED = 0x00040000 ,
  UNIT_FLAG_IN_COMBAT = 0x00080000 ,
  UNIT_FLAG_TAXI_FLIGHT = 0x00100000 ,
  UNIT_FLAG_DISARMED = 0x00200000 ,
  UNIT_FLAG_CONFUSED = 0x00400000 ,
  UNIT_FLAG_FLEEING = 0x00800000 ,
  UNIT_FLAG_POSSESSED = 0x01000000 ,
  UNIT_FLAG_NOT_SELECTABLE = 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
}
 
enum  UnitFlags2 : uint32 {
  UNIT_FLAG2_NONE = 0x00000000 ,
  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_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_6 = 0x01000000
}
 
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_VENDOR_MASK = UNIT_NPC_FLAG_VENDOR | UNIT_NPC_FLAG_VENDOR_AMMO | UNIT_NPC_FLAG_VENDOR_POISON | UNIT_NPC_FLAG_VENDOR_REAGENT
}
 Non Player Character flags. More...
 
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  MovementFlags {
  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 {
  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_UNK15 = 0x00004000 ,
  MOVEMENTFLAG2_UNK16 = 0x00008000
}
 
enum  SplineFlags {
  SPLINEFLAG_NONE = 0x00000000 ,
  SPLINEFLAG_FORWARD = 0x00000001 ,
  SPLINEFLAG_BACKWARD = 0x00000002 ,
  SPLINEFLAG_STRAFE_LEFT = 0x00000004 ,
  SPLINEFLAG_STRAFE_RIGHT = 0x00000008 ,
  SPLINEFLAG_TURN_LEFT = 0x00000010 ,
  SPLINEFLAG_TURN_RIGHT = 0x00000020 ,
  SPLINEFLAG_PITCH_UP = 0x00000040 ,
  SPLINEFLAG_PITCH_DOWN = 0x00000080 ,
  SPLINEFLAG_DONE = 0x00000100 ,
  SPLINEFLAG_FALLING = 0x00000200 ,
  SPLINEFLAG_NO_SPLINE = 0x00000400 ,
  SPLINEFLAG_TRAJECTORY = 0x00000800 ,
  SPLINEFLAG_WALK_MODE = 0x00001000 ,
  SPLINEFLAG_FLYING = 0x00002000 ,
  SPLINEFLAG_KNOCKBACK = 0x00004000 ,
  SPLINEFLAG_FINAL_POINT = 0x00008000 ,
  SPLINEFLAG_FINAL_TARGET = 0x00010000 ,
  SPLINEFLAG_FINAL_FACING = 0x00020000 ,
  SPLINEFLAG_CATMULL_ROM = 0x00040000 ,
  SPLINEFLAG_CYCLIC = 0x00080000 ,
  SPLINEFLAG_ENTER_CYCLE = 0x00100000 ,
  SPLINEFLAG_ANIMATION_TIER = 0x00200000 ,
  SPLINEFLAG_FROZEN = 0x00400000 ,
  SPLINEFLAG_TRANSPORT = 0x00800000 ,
  SPLINEFLAG_TRANSPORT_EXIT = 0x01000000 ,
  SPLINEFLAG_UNKNOWN7 = 0x02000000 ,
  SPLINEFLAG_UNKNOWN8 = 0x04000000 ,
  SPLINEFLAG_ORIENTATION_INVERTED = 0x08000000 ,
  SPLINEFLAG_USE_PATH_SMOOTHING = 0x10000000 ,
  SPLINEFLAG_ANIMATION = 0x20000000 ,
  SPLINEFLAG_UNCOMPRESSED_PATH = 0x40000000 ,
  SPLINEFLAG_UNKNOWN10 = 0x80000000
}
 
enum  SplineType {
  SPLINETYPE_NORMAL = 0 ,
  SPLINETYPE_STOP = 1 ,
  SPLINETYPE_FACING_SPOT = 2 ,
  SPLINETYPE_FACING_TARGET = 3 ,
  SPLINETYPE_FACING_ANGLE = 4
}
 

Functions

 DEFINE_ENUM_FLAG (UnitFlags)
 
 DEFINE_ENUM_FLAG (UnitFlags2)
 
 DEFINE_ENUM_FLAG (NPCFlags)
 

Macro Definition Documentation

◆ MAX_MOVE_TYPE

#define MAX_MOVE_TYPE   9

◆ MAX_SHEATH_STATE

#define MAX_SHEATH_STATE   3

Enumeration Type Documentation

◆ ClassContext

Enumerator
CLASS_CONTEXT_NONE 
CLASS_CONTEXT_INIT 
CLASS_CONTEXT_TELEPORT 
CLASS_CONTEXT_QUEST 
CLASS_CONTEXT_STATS 
CLASS_CONTEXT_TAXI 
CLASS_CONTEXT_SKILL 
CLASS_CONTEXT_TALENT_POINT_CALC 
CLASS_CONTEXT_ABILITY 
CLASS_CONTEXT_ABILITY_REACTIVE 
CLASS_CONTEXT_PET 
CLASS_CONTEXT_PET_CHARM 
CLASS_CONTEXT_EQUIP_RELIC 
CLASS_CONTEXT_EQUIP_SHIELDS 
CLASS_CONTEXT_EQUIP_ARMOR_CLASS 
CLASS_CONTEXT_WEAPON_SWAP 
CLASS_CONTEXT_GRAVEYARD 
CLASS_CONTEXT_CLASS_TRAINER 
204{
205 CLASS_CONTEXT_NONE = 0, // Default
223};
@ CLASS_CONTEXT_GRAVEYARD
Definition: UnitDefines.h:221
@ CLASS_CONTEXT_ABILITY
Definition: UnitDefines.h:213
@ CLASS_CONTEXT_NONE
Definition: UnitDefines.h:205
@ CLASS_CONTEXT_CLASS_TRAINER
Definition: UnitDefines.h:222
@ CLASS_CONTEXT_PET_CHARM
Definition: UnitDefines.h:216
@ CLASS_CONTEXT_WEAPON_SWAP
Definition: UnitDefines.h:220
@ CLASS_CONTEXT_PET
Definition: UnitDefines.h:215
@ CLASS_CONTEXT_TELEPORT
Definition: UnitDefines.h:207
@ CLASS_CONTEXT_INIT
Definition: UnitDefines.h:206
@ CLASS_CONTEXT_ABILITY_REACTIVE
Definition: UnitDefines.h:214
@ CLASS_CONTEXT_STATS
Definition: UnitDefines.h:209
@ CLASS_CONTEXT_EQUIP_SHIELDS
Definition: UnitDefines.h:218
@ CLASS_CONTEXT_SKILL
Definition: UnitDefines.h:211
@ CLASS_CONTEXT_EQUIP_RELIC
Definition: UnitDefines.h:217
@ CLASS_CONTEXT_TALENT_POINT_CALC
Definition: UnitDefines.h:212
@ CLASS_CONTEXT_TAXI
Definition: UnitDefines.h:210
@ CLASS_CONTEXT_EQUIP_ARMOR_CLASS
Definition: UnitDefines.h:219
@ CLASS_CONTEXT_QUEST
Definition: UnitDefines.h:208

◆ 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 
Todo:
: Check if PITCH_UP and PITCH_DOWN really belong here..
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.

342{
343 MOVEMENTFLAG_NONE = 0x00000000,
344 MOVEMENTFLAG_FORWARD = 0x00000001,
345 MOVEMENTFLAG_BACKWARD = 0x00000002,
346 MOVEMENTFLAG_STRAFE_LEFT = 0x00000004,
347 MOVEMENTFLAG_STRAFE_RIGHT = 0x00000008,
348 MOVEMENTFLAG_LEFT = 0x00000010,
349 MOVEMENTFLAG_RIGHT = 0x00000020,
350 MOVEMENTFLAG_PITCH_UP = 0x00000040,
351 MOVEMENTFLAG_PITCH_DOWN = 0x00000080,
352 MOVEMENTFLAG_WALKING = 0x00000100, // Walking
353 MOVEMENTFLAG_ONTRANSPORT = 0x00000200, // Used for flying on some creatures
354 MOVEMENTFLAG_DISABLE_GRAVITY = 0x00000400, // Former MOVEMENTFLAG_LEVITATING. This is used when walking is not possible.
355 MOVEMENTFLAG_ROOT = 0x00000800, // Must not be set along with MOVEMENTFLAG_MASK_MOVING
356 MOVEMENTFLAG_FALLING = 0x00001000, // damage dealt on that type of falling
357 MOVEMENTFLAG_FALLING_FAR = 0x00002000,
358 MOVEMENTFLAG_PENDING_STOP = 0x00004000,
360 MOVEMENTFLAG_PENDING_FORWARD = 0x00010000,
364 MOVEMENTFLAG_PENDING_ROOT = 0x00100000,
365 MOVEMENTFLAG_SWIMMING = 0x00200000, // appears with fly flag also
366 MOVEMENTFLAG_ASCENDING = 0x00400000, // press "space" when flying
367 MOVEMENTFLAG_DESCENDING = 0x00800000,
368 MOVEMENTFLAG_CAN_FLY = 0x01000000, // Appears when unit can fly AND also walk
369 MOVEMENTFLAG_FLYING = 0x02000000, // unit is actually flying. pretty sure this is only used for players. creatures use disable_gravity
370 MOVEMENTFLAG_SPLINE_ELEVATION = 0x04000000, // used for flight paths
371 MOVEMENTFLAG_SPLINE_ENABLED = 0x08000000, // used for flight paths
372 MOVEMENTFLAG_WATERWALKING = 0x10000000, // prevent unit from falling through water
373 MOVEMENTFLAG_FALLING_SLOW = 0x20000000, // active rogue safe fall spell (passive)
374 MOVEMENTFLAG_HOVER = 0x40000000, // hover, cannot jump
375
381
384
387
391
395};
@ MOVEMENTFLAG_MASK_PLAYER_ONLY
Definition: UnitDefines.h:389
@ MOVEMENTFLAG_DESCENDING
Definition: UnitDefines.h:367
@ MOVEMENTFLAG_PITCH_DOWN
Definition: UnitDefines.h:351
@ MOVEMENTFLAG_PENDING_STRAFE_STOP
Definition: UnitDefines.h:359
@ MOVEMENTFLAG_PITCH_UP
Definition: UnitDefines.h:350
@ MOVEMENTFLAG_RIGHT
Definition: UnitDefines.h:349
@ MOVEMENTFLAG_PENDING_STOP
Definition: UnitDefines.h:358
@ MOVEMENTFLAG_SPLINE_ENABLED
Definition: UnitDefines.h:371
@ MOVEMENTFLAG_FORWARD
Definition: UnitDefines.h:344
@ MOVEMENTFLAG_PENDING_STRAFE_LEFT
Definition: UnitDefines.h:362
@ MOVEMENTFLAG_NONE
Definition: UnitDefines.h:343
@ MOVEMENTFLAG_STRAFE_LEFT
Definition: UnitDefines.h:346
@ MOVEMENTFLAG_ONTRANSPORT
Definition: UnitDefines.h:353
@ MOVEMENTFLAG_BACKWARD
Definition: UnitDefines.h:345
@ MOVEMENTFLAG_WATERWALKING
Definition: UnitDefines.h:372
@ MOVEMENTFLAG_MASK_MOVING
Definition: UnitDefines.h:377
@ MOVEMENTFLAG_DISABLE_GRAVITY
Definition: UnitDefines.h:354
@ MOVEMENTFLAG_PENDING_BACKWARD
Definition: UnitDefines.h:361
@ MOVEMENTFLAG_FLYING
Definition: UnitDefines.h:369
@ MOVEMENTFLAG_FALLING_SLOW
Definition: UnitDefines.h:373
@ MOVEMENTFLAG_PENDING_STRAFE_RIGHT
Definition: UnitDefines.h:363
@ MOVEMENTFLAG_CAN_FLY
Definition: UnitDefines.h:368
@ MOVEMENTFLAG_ROOT
Definition: UnitDefines.h:355
@ MOVEMENTFLAG_MASK_TURNING
Definition: UnitDefines.h:382
@ MOVEMENTFLAG_FALLING
Definition: UnitDefines.h:356
@ MOVEMENTFLAG_LEFT
Definition: UnitDefines.h:348
@ MOVEMENTFLAG_MASK_MOVING_FLY
Definition: UnitDefines.h:385
@ MOVEMENTFLAG_STRAFE_RIGHT
Definition: UnitDefines.h:347
@ MOVEMENTFLAG_FALLING_FAR
Definition: UnitDefines.h:357
@ MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE
Movement flags that have change status opcodes associated for players.
Definition: UnitDefines.h:393
@ MOVEMENTFLAG_SWIMMING
Definition: UnitDefines.h:365
@ MOVEMENTFLAG_ASCENDING
Definition: UnitDefines.h:366
@ MOVEMENTFLAG_PENDING_FORWARD
Definition: UnitDefines.h:360
@ MOVEMENTFLAG_HOVER
Definition: UnitDefines.h:374
@ MOVEMENTFLAG_SPLINE_ELEVATION
Definition: UnitDefines.h:370
@ MOVEMENTFLAG_PENDING_ROOT
Definition: UnitDefines.h:364
@ MOVEMENTFLAG_WALKING
Definition: UnitDefines.h:352

◆ 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_UNK15 
MOVEMENTFLAG2_UNK16 
398{
399 MOVEMENTFLAG2_NONE = 0x00000000,
400 MOVEMENTFLAG2_NO_STRAFE = 0x00000001,
401 MOVEMENTFLAG2_NO_JUMPING = 0x00000002,
402 MOVEMENTFLAG2_UNK3 = 0x00000004, // Overrides various clientside checks
406 MOVEMENTFLAG2_UNK7 = 0x00000040,
407 MOVEMENTFLAG2_UNK8 = 0x00000080,
408 MOVEMENTFLAG2_UNK9 = 0x00000100,
409 MOVEMENTFLAG2_UNK10 = 0x00000200,
413 MOVEMENTFLAG2_UNK14 = 0x00002000,
414 MOVEMENTFLAG2_UNK15 = 0x00004000,
415 MOVEMENTFLAG2_UNK16 = 0x00008000
416};
@ MOVEMENTFLAG2_UNK3
Definition: UnitDefines.h:402
@ MOVEMENTFLAG2_UNK8
Definition: UnitDefines.h:407
@ MOVEMENTFLAG2_UNK9
Definition: UnitDefines.h:408
@ MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING
Definition: UnitDefines.h:405
@ MOVEMENTFLAG2_INTERPOLATED_PITCHING
Definition: UnitDefines.h:412
@ MOVEMENTFLAG2_UNK7
Definition: UnitDefines.h:406
@ MOVEMENTFLAG2_INTERPOLATED_MOVEMENT
Definition: UnitDefines.h:410
@ MOVEMENTFLAG2_UNK15
Definition: UnitDefines.h:414
@ MOVEMENTFLAG2_NO_STRAFE
Definition: UnitDefines.h:400
@ MOVEMENTFLAG2_UNK16
Definition: UnitDefines.h:415
@ MOVEMENTFLAG2_UNK14
Definition: UnitDefines.h:413
@ MOVEMENTFLAG2_INTERPOLATED_TURNING
Definition: UnitDefines.h:411
@ MOVEMENTFLAG2_FULL_SPEED_PITCHING
Definition: UnitDefines.h:404
@ MOVEMENTFLAG2_UNK10
Definition: UnitDefines.h:409
@ MOVEMENTFLAG2_NONE
Definition: UnitDefines.h:399
@ MOVEMENTFLAG2_FULL_SPEED_TURNING
Definition: UnitDefines.h:403
@ MOVEMENTFLAG2_NO_JUMPING
Definition: UnitDefines.h:401

◆ 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_VENDOR_MASK 
292{
293 UNIT_NPC_FLAG_NONE = 0x00000000, // SKIP
294 UNIT_NPC_FLAG_GOSSIP = 0x00000001, // TITLE has gossip menu DESCRIPTION 100%
295 UNIT_NPC_FLAG_QUESTGIVER = 0x00000002, // TITLE is quest giver DESCRIPTION guessed, probably ok
296 UNIT_NPC_FLAG_UNK1 = 0x00000004,
297 UNIT_NPC_FLAG_UNK2 = 0x00000008,
298 UNIT_NPC_FLAG_TRAINER = 0x00000010, // TITLE is trainer DESCRIPTION 100%
299 UNIT_NPC_FLAG_TRAINER_CLASS = 0x00000020, // TITLE is class trainer DESCRIPTION 100%
300 UNIT_NPC_FLAG_TRAINER_PROFESSION = 0x00000040, // TITLE is profession trainer DESCRIPTION 100%
301 UNIT_NPC_FLAG_VENDOR = 0x00000080, // TITLE is vendor (generic) DESCRIPTION 100%
302 UNIT_NPC_FLAG_VENDOR_AMMO = 0x00000100, // TITLE is vendor (ammo) DESCRIPTION 100%, general goods vendor
303 UNIT_NPC_FLAG_VENDOR_FOOD = 0x00000200, // TITLE is vendor (food) DESCRIPTION 100%
304 UNIT_NPC_FLAG_VENDOR_POISON = 0x00000400, // TITLE is vendor (poison) DESCRIPTION guessed
305 UNIT_NPC_FLAG_VENDOR_REAGENT = 0x00000800, // TITLE is vendor (reagents) DESCRIPTION 100%
306 UNIT_NPC_FLAG_REPAIR = 0x00001000, // TITLE can repair DESCRIPTION 100%
307 UNIT_NPC_FLAG_FLIGHTMASTER = 0x00002000, // TITLE is flight master DESCRIPTION 100%
308 UNIT_NPC_FLAG_SPIRITHEALER = 0x00004000, // TITLE is spirit healer DESCRIPTION guessed
309 UNIT_NPC_FLAG_SPIRITGUIDE = 0x00008000, // TITLE is spirit guide DESCRIPTION guessed
310 UNIT_NPC_FLAG_INNKEEPER = 0x00010000, // TITLE is innkeeper
311 UNIT_NPC_FLAG_BANKER = 0x00020000, // TITLE is banker DESCRIPTION 100%
312 UNIT_NPC_FLAG_PETITIONER = 0x00040000, // TITLE handles guild/arena petitions DESCRIPTION 100% 0xC0000 = guild petitions, 0x40000 = arena team petitions
313 UNIT_NPC_FLAG_TABARDDESIGNER = 0x00080000, // TITLE is guild tabard designer DESCRIPTION 100%
314 UNIT_NPC_FLAG_BATTLEMASTER = 0x00100000, // TITLE is battlemaster DESCRIPTION 100%
315 UNIT_NPC_FLAG_AUCTIONEER = 0x00200000, // TITLE is auctioneer DESCRIPTION 100%
316 UNIT_NPC_FLAG_STABLEMASTER = 0x00400000, // TITLE is stable master DESCRIPTION 100%
317 UNIT_NPC_FLAG_GUILD_BANKER = 0x00800000, // TITLE is guild banker DESCRIPTION cause client to send 997 opcode
318 UNIT_NPC_FLAG_SPELLCLICK = 0x01000000, // TITLE has spell click enabled DESCRIPTION cause client to send 1015 opcode (spell click)
319 UNIT_NPC_FLAG_PLAYER_VEHICLE = 0x02000000, // TITLE is player vehicle DESCRIPTION players with mounts that have vehicle data should have it set
320 UNIT_NPC_FLAG_MAILBOX = 0x04000000, // TITLE is mailbox
321
323};
@ UNIT_NPC_FLAG_VENDOR_AMMO
Definition: UnitDefines.h:302
@ UNIT_NPC_FLAG_TABARDDESIGNER
Definition: UnitDefines.h:313
@ UNIT_NPC_FLAG_BANKER
Definition: UnitDefines.h:311
@ UNIT_NPC_FLAG_AUCTIONEER
Definition: UnitDefines.h:315
@ UNIT_NPC_FLAG_UNK2
Definition: UnitDefines.h:297
@ UNIT_NPC_FLAG_VENDOR_POISON
Definition: UnitDefines.h:304
@ UNIT_NPC_FLAG_GUILD_BANKER
Definition: UnitDefines.h:317
@ UNIT_NPC_FLAG_VENDOR
Definition: UnitDefines.h:301
@ UNIT_NPC_FLAG_STABLEMASTER
Definition: UnitDefines.h:316
@ UNIT_NPC_FLAG_VENDOR_REAGENT
Definition: UnitDefines.h:305
@ UNIT_NPC_FLAG_GOSSIP
Definition: UnitDefines.h:294
@ UNIT_NPC_FLAG_NONE
Definition: UnitDefines.h:293
@ UNIT_NPC_FLAG_BATTLEMASTER
Definition: UnitDefines.h:314
@ UNIT_NPC_FLAG_VENDOR_FOOD
Definition: UnitDefines.h:303
@ UNIT_NPC_FLAG_QUESTGIVER
Definition: UnitDefines.h:295
@ UNIT_NPC_FLAG_INNKEEPER
Definition: UnitDefines.h:310
@ UNIT_NPC_FLAG_SPELLCLICK
Definition: UnitDefines.h:318
@ UNIT_NPC_FLAG_UNK1
Definition: UnitDefines.h:296
@ UNIT_NPC_FLAG_VENDOR_MASK
Definition: UnitDefines.h:322
@ UNIT_NPC_FLAG_MAILBOX
Definition: UnitDefines.h:320
@ UNIT_NPC_FLAG_PLAYER_VEHICLE
Definition: UnitDefines.h:319
@ UNIT_NPC_FLAG_FLIGHTMASTER
Definition: UnitDefines.h:307
@ UNIT_NPC_FLAG_TRAINER_CLASS
Definition: UnitDefines.h:299
@ UNIT_NPC_FLAG_TRAINER_PROFESSION
Definition: UnitDefines.h:300
@ UNIT_NPC_FLAG_REPAIR
Definition: UnitDefines.h:306
@ UNIT_NPC_FLAG_TRAINER
Definition: UnitDefines.h:298
@ UNIT_NPC_FLAG_PETITIONER
Definition: UnitDefines.h:312
@ UNIT_NPC_FLAG_SPIRITGUIDE
Definition: UnitDefines.h:309
@ UNIT_NPC_FLAG_SPIRITHEALER
Definition: UnitDefines.h:308

◆ ShapeshiftForm

Enumerator
FORM_NONE 
FORM_CAT 
FORM_TREE 
FORM_TRAVEL 
FORM_AQUA 
FORM_BEAR 
FORM_AMBIENT 
FORM_GHOUL 
FORM_DIREBEAR 
FORM_STEVES_GHOUL 
FORM_THARONJA_SKELETON 
FORM_TEST_OF_STRENGTH 
FORM_BLB_PLAYER 
FORM_SHADOW_DANCE 
FORM_CREATUREBEAR 
FORM_CREATURECAT 
FORM_GHOSTWOLF 
FORM_BATTLESTANCE 
FORM_DEFENSIVESTANCE 
FORM_BERSERKERSTANCE 
FORM_TEST 
FORM_ZOMBIE 
FORM_METAMORPHOSIS 
FORM_UNDEAD 
FORM_MASTER_ANGLER 
FORM_FLIGHT_EPIC 
FORM_SHADOW 
FORM_FLIGHT 
FORM_STEALTH 
FORM_MOONKIN 
FORM_SPIRITOFREDEMPTION 
68{
69 FORM_NONE = 0x00,
70 FORM_CAT = 0x01,
71 FORM_TREE = 0x02,
72 FORM_TRAVEL = 0x03,
73 FORM_AQUA = 0x04,
74 FORM_BEAR = 0x05,
75 FORM_AMBIENT = 0x06,
76 FORM_GHOUL = 0x07,
77 FORM_DIREBEAR = 0x08,
78 FORM_STEVES_GHOUL = 0x09,
81 FORM_BLB_PLAYER = 0x0C,
82 FORM_SHADOW_DANCE = 0x0D,
83 FORM_CREATUREBEAR = 0x0E,
84 FORM_CREATURECAT = 0x0F,
85 FORM_GHOSTWOLF = 0x10,
86 FORM_BATTLESTANCE = 0x11,
89 FORM_TEST = 0x14,
90 FORM_ZOMBIE = 0x15,
91 FORM_METAMORPHOSIS = 0x16,
92 FORM_UNDEAD = 0x19,
93 FORM_MASTER_ANGLER = 0x1A,
94 FORM_FLIGHT_EPIC = 0x1B,
95 FORM_SHADOW = 0x1C,
96 FORM_FLIGHT = 0x1D,
97 FORM_STEALTH = 0x1E,
98 FORM_MOONKIN = 0x1F,
100};
@ FORM_DIREBEAR
Definition: UnitDefines.h:77
@ FORM_UNDEAD
Definition: UnitDefines.h:92
@ FORM_TEST
Definition: UnitDefines.h:89
@ FORM_TRAVEL
Definition: UnitDefines.h:72
@ FORM_CREATUREBEAR
Definition: UnitDefines.h:83
@ FORM_SHADOW
Definition: UnitDefines.h:95
@ FORM_SHADOW_DANCE
Definition: UnitDefines.h:82
@ FORM_SPIRITOFREDEMPTION
Definition: UnitDefines.h:99
@ FORM_BERSERKERSTANCE
Definition: UnitDefines.h:88
@ FORM_MASTER_ANGLER
Definition: UnitDefines.h:93
@ FORM_DEFENSIVESTANCE
Definition: UnitDefines.h:87
@ FORM_THARONJA_SKELETON
Definition: UnitDefines.h:79
@ FORM_FLIGHT_EPIC
Definition: UnitDefines.h:94
@ FORM_STEVES_GHOUL
Definition: UnitDefines.h:78
@ FORM_MOONKIN
Definition: UnitDefines.h:98
@ FORM_NONE
Definition: UnitDefines.h:69
@ FORM_CREATURECAT
Definition: UnitDefines.h:84
@ FORM_CAT
Definition: UnitDefines.h:70
@ FORM_FLIGHT
Definition: UnitDefines.h:96
@ FORM_ZOMBIE
Definition: UnitDefines.h:90
@ FORM_GHOSTWOLF
Definition: UnitDefines.h:85
@ FORM_AMBIENT
Definition: UnitDefines.h:75
@ FORM_AQUA
Definition: UnitDefines.h:73
@ FORM_STEALTH
Definition: UnitDefines.h:97
@ FORM_BATTLESTANCE
Definition: UnitDefines.h:86
@ FORM_BLB_PLAYER
Definition: UnitDefines.h:81
@ FORM_METAMORPHOSIS
Definition: UnitDefines.h:91
@ FORM_GHOUL
Definition: UnitDefines.h:76
@ FORM_TREE
Definition: UnitDefines.h:71
@ FORM_TEST_OF_STRENGTH
Definition: UnitDefines.h:80
@ FORM_BEAR
Definition: UnitDefines.h:74

◆ SheathState

Enumerator
SHEATH_STATE_UNARMED 
SHEATH_STATE_MELEE 
SHEATH_STATE_RANGED 
104{
105 SHEATH_STATE_UNARMED = 0, // non prepared weapon
106 SHEATH_STATE_MELEE = 1, // prepared melee weapon
107 SHEATH_STATE_RANGED = 2 // prepared ranged weapon
108};
@ SHEATH_STATE_UNARMED
Definition: UnitDefines.h:105
@ SHEATH_STATE_MELEE
Definition: UnitDefines.h:106
@ SHEATH_STATE_RANGED
Definition: UnitDefines.h:107

◆ SplineFlags

Enumerator
SPLINEFLAG_NONE 
SPLINEFLAG_FORWARD 
SPLINEFLAG_BACKWARD 
SPLINEFLAG_STRAFE_LEFT 
SPLINEFLAG_STRAFE_RIGHT 
SPLINEFLAG_TURN_LEFT 
SPLINEFLAG_TURN_RIGHT 
SPLINEFLAG_PITCH_UP 
SPLINEFLAG_PITCH_DOWN 
SPLINEFLAG_DONE 
SPLINEFLAG_FALLING 
SPLINEFLAG_NO_SPLINE 
SPLINEFLAG_TRAJECTORY 
SPLINEFLAG_WALK_MODE 
SPLINEFLAG_FLYING 
SPLINEFLAG_KNOCKBACK 
SPLINEFLAG_FINAL_POINT 
SPLINEFLAG_FINAL_TARGET 
SPLINEFLAG_FINAL_FACING 
SPLINEFLAG_CATMULL_ROM 
SPLINEFLAG_CYCLIC 
SPLINEFLAG_ENTER_CYCLE 
SPLINEFLAG_ANIMATION_TIER 
SPLINEFLAG_FROZEN 
SPLINEFLAG_TRANSPORT 
SPLINEFLAG_TRANSPORT_EXIT 
SPLINEFLAG_UNKNOWN7 
SPLINEFLAG_UNKNOWN8 
SPLINEFLAG_ORIENTATION_INVERTED 
SPLINEFLAG_USE_PATH_SMOOTHING 
SPLINEFLAG_ANIMATION 
SPLINEFLAG_UNCOMPRESSED_PATH 
SPLINEFLAG_UNKNOWN10 
419{
420 SPLINEFLAG_NONE = 0x00000000,
421 SPLINEFLAG_FORWARD = 0x00000001,
422 SPLINEFLAG_BACKWARD = 0x00000002,
423 SPLINEFLAG_STRAFE_LEFT = 0x00000004,
424 SPLINEFLAG_STRAFE_RIGHT = 0x00000008,
425 SPLINEFLAG_TURN_LEFT = 0x00000010,
426 SPLINEFLAG_TURN_RIGHT = 0x00000020,
427 SPLINEFLAG_PITCH_UP = 0x00000040,
428 SPLINEFLAG_PITCH_DOWN = 0x00000080,
429 SPLINEFLAG_DONE = 0x00000100,
430 SPLINEFLAG_FALLING = 0x00000200,
431 SPLINEFLAG_NO_SPLINE = 0x00000400,
432 SPLINEFLAG_TRAJECTORY = 0x00000800,
433 SPLINEFLAG_WALK_MODE = 0x00001000,
434 SPLINEFLAG_FLYING = 0x00002000,
435 SPLINEFLAG_KNOCKBACK = 0x00004000,
436 SPLINEFLAG_FINAL_POINT = 0x00008000,
437 SPLINEFLAG_FINAL_TARGET = 0x00010000,
438 SPLINEFLAG_FINAL_FACING = 0x00020000,
439 SPLINEFLAG_CATMULL_ROM = 0x00040000,
440 SPLINEFLAG_CYCLIC = 0x00080000,
441 SPLINEFLAG_ENTER_CYCLE = 0x00100000,
442 SPLINEFLAG_ANIMATION_TIER = 0x00200000,
443 SPLINEFLAG_FROZEN = 0x00400000,
444 SPLINEFLAG_TRANSPORT = 0x00800000,
445 SPLINEFLAG_TRANSPORT_EXIT = 0x01000000,
446 SPLINEFLAG_UNKNOWN7 = 0x02000000,
447 SPLINEFLAG_UNKNOWN8 = 0x04000000,
450 SPLINEFLAG_ANIMATION = 0x20000000,
451 SPLINEFLAG_UNCOMPRESSED_PATH = 0x40000000,
452 SPLINEFLAG_UNKNOWN10 = 0x80000000
453};
@ SPLINEFLAG_CYCLIC
Definition: UnitDefines.h:440
@ SPLINEFLAG_FINAL_TARGET
Definition: UnitDefines.h:437
@ SPLINEFLAG_UNKNOWN7
Definition: UnitDefines.h:446
@ SPLINEFLAG_UNCOMPRESSED_PATH
Definition: UnitDefines.h:451
@ SPLINEFLAG_DONE
Definition: UnitDefines.h:429
@ SPLINEFLAG_TRANSPORT_EXIT
Definition: UnitDefines.h:445
@ SPLINEFLAG_PITCH_DOWN
Definition: UnitDefines.h:428
@ SPLINEFLAG_NO_SPLINE
Definition: UnitDefines.h:431
@ SPLINEFLAG_TRANSPORT
Definition: UnitDefines.h:444
@ SPLINEFLAG_STRAFE_LEFT
Definition: UnitDefines.h:423
@ SPLINEFLAG_TURN_RIGHT
Definition: UnitDefines.h:426
@ SPLINEFLAG_ANIMATION_TIER
Definition: UnitDefines.h:442
@ SPLINEFLAG_KNOCKBACK
Definition: UnitDefines.h:435
@ SPLINEFLAG_CATMULL_ROM
Definition: UnitDefines.h:439
@ SPLINEFLAG_ORIENTATION_INVERTED
Definition: UnitDefines.h:448
@ SPLINEFLAG_BACKWARD
Definition: UnitDefines.h:422
@ SPLINEFLAG_FALLING
Definition: UnitDefines.h:430
@ SPLINEFLAG_WALK_MODE
Definition: UnitDefines.h:433
@ SPLINEFLAG_ANIMATION
Definition: UnitDefines.h:450
@ SPLINEFLAG_NONE
Definition: UnitDefines.h:420
@ SPLINEFLAG_PITCH_UP
Definition: UnitDefines.h:427
@ SPLINEFLAG_USE_PATH_SMOOTHING
Definition: UnitDefines.h:449
@ SPLINEFLAG_TURN_LEFT
Definition: UnitDefines.h:425
@ SPLINEFLAG_ENTER_CYCLE
Definition: UnitDefines.h:441
@ SPLINEFLAG_FROZEN
Definition: UnitDefines.h:443
@ SPLINEFLAG_STRAFE_RIGHT
Definition: UnitDefines.h:424
@ SPLINEFLAG_FORWARD
Definition: UnitDefines.h:421
@ SPLINEFLAG_UNKNOWN10
Definition: UnitDefines.h:452
@ SPLINEFLAG_UNKNOWN8
Definition: UnitDefines.h:447
@ SPLINEFLAG_FINAL_POINT
Definition: UnitDefines.h:436
@ SPLINEFLAG_FINAL_FACING
Definition: UnitDefines.h:438
@ SPLINEFLAG_TRAJECTORY
Definition: UnitDefines.h:432
@ SPLINEFLAG_FLYING
Definition: UnitDefines.h:434

◆ SplineType

enum SplineType
Enumerator
SPLINETYPE_NORMAL 
SPLINETYPE_STOP 
SPLINETYPE_FACING_SPOT 
SPLINETYPE_FACING_TARGET 
SPLINETYPE_FACING_ANGLE 
456{
458 SPLINETYPE_STOP = 1,
462};
@ SPLINETYPE_NORMAL
Definition: UnitDefines.h:457
@ SPLINETYPE_FACING_SPOT
Definition: UnitDefines.h:459
@ SPLINETYPE_STOP
Definition: UnitDefines.h:458
@ SPLINETYPE_FACING_ANGLE
Definition: UnitDefines.h:461
@ SPLINETYPE_FACING_TARGET
Definition: UnitDefines.h:460

◆ UnitBytes1_Flags

Enumerator
UNIT_BYTE1_FLAG_GROUND 
UNIT_BYTE1_FLAG_ALWAYS_STAND 
UNIT_BYTE1_FLAG_HOVER 
UNIT_BYTE1_FLAG_FLY 
UNIT_BYTE1_FLAG_SUBMERGED 
UNIT_BYTE1_FLAG_ALL 
57{
64};
@ UNIT_BYTE1_FLAG_FLY
Definition: UnitDefines.h:61
@ UNIT_BYTE1_FLAG_GROUND
Definition: UnitDefines.h:58
@ UNIT_BYTE1_FLAG_HOVER
Definition: UnitDefines.h:60
@ UNIT_BYTE1_FLAG_ALL
Definition: UnitDefines.h:63
@ UNIT_BYTE1_FLAG_ALWAYS_STAND
Definition: UnitDefines.h:59
@ UNIT_BYTE1_FLAG_SUBMERGED
Definition: UnitDefines.h:62

◆ 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 
22{
27};
@ UNIT_BYTES_1_OFFSET_ANIM_TIER
Definition: UnitDefines.h:26
@ UNIT_BYTES_1_OFFSET_PET_TALENTS
Definition: UnitDefines.h:24
@ UNIT_BYTES_1_OFFSET_STAND_STATE
Definition: UnitDefines.h:23
@ UNIT_BYTES_1_OFFSET_VIS_FLAG
Definition: UnitDefines.h:25

◆ UnitFlags

enum UnitFlags : uint32
Enumerator
UNIT_FLAG_NONE 
UNIT_FLAG_SERVER_CONTROLLED 
UNIT_FLAG_NON_ATTACKABLE 
UNIT_FLAG_DISABLE_MOVE 
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 
UNIT_FLAG_SILENCED 
UNIT_FLAG_CANNOT_SWIM 
UNIT_FLAG_SWIMMING 
UNIT_FLAG_NON_ATTACKABLE_2 
UNIT_FLAG_PACIFIED 
UNIT_FLAG_STUNNED 
UNIT_FLAG_IN_COMBAT 
UNIT_FLAG_TAXI_FLIGHT 
UNIT_FLAG_DISARMED 
UNIT_FLAG_CONFUSED 
UNIT_FLAG_FLEEING 
UNIT_FLAG_POSSESSED 
UNIT_FLAG_NOT_SELECTABLE 
UNIT_FLAG_SKINNABLE 
UNIT_FLAG_MOUNT 
UNIT_FLAG_UNK_28 
UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT 
UNIT_FLAG_SHEATHE 
UNIT_FLAG_IMMUNE 
227{
228 UNIT_FLAG_NONE = 0x00000000,
229 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
230 UNIT_FLAG_NON_ATTACKABLE = 0x00000002, // not attackable
231 UNIT_FLAG_DISABLE_MOVE = 0x00000004,
232 UNIT_FLAG_PLAYER_CONTROLLED = 0x00000008, // controlled by player, use _IMMUNE_TO_PC instead of _IMMUNE_TO_NPC
233 UNIT_FLAG_RENAME = 0x00000010,
234 UNIT_FLAG_PREPARATION = 0x00000020, // don't take reagents for spells with SPELL_ATTR5_NO_REAGENT_COST_WITH_AURA
235 UNIT_FLAG_UNK_6 = 0x00000040,
236 UNIT_FLAG_NOT_ATTACKABLE_1 = 0x00000080, // ?? (UNIT_FLAG_PLAYER_CONTROLLED | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE
237 UNIT_FLAG_IMMUNE_TO_PC = 0x00000100, // disables combat/assistance with PlayerCharacters (PC) - see Unit::_IsValidAttackTarget, Unit::_IsValidAssistTarget
238 UNIT_FLAG_IMMUNE_TO_NPC = 0x00000200, // disables combat/assistance with NonPlayerCharacters (NPC) - see Unit::_IsValidAttackTarget, Unit::_IsValidAssistTarget
239 UNIT_FLAG_LOOTING = 0x00000400, // loot animation
240 UNIT_FLAG_PET_IN_COMBAT = 0x00000800, // in combat?, 2.0.8
241 UNIT_FLAG_PVP = 0x00001000, // changed in 3.0.3
242 UNIT_FLAG_SILENCED = 0x00002000, // silenced, 2.1.1
243 UNIT_FLAG_CANNOT_SWIM = 0x00004000, // 2.0.8
244 UNIT_FLAG_SWIMMING = 0x00008000, // shows swim animation in water
245 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
246 UNIT_FLAG_PACIFIED = 0x00020000, // 3.0.3 ok
247 UNIT_FLAG_STUNNED = 0x00040000, // 3.0.3 ok
248 UNIT_FLAG_IN_COMBAT = 0x00080000,
249 UNIT_FLAG_TAXI_FLIGHT = 0x00100000, // disable casting at client side spell not allowed by taxi flight (mounted?), probably used with 0x4 flag
250 UNIT_FLAG_DISARMED = 0x00200000, // 3.0.3, disable melee spells casting..., "Required melee weapon" added to melee spells tooltip.
251 UNIT_FLAG_CONFUSED = 0x00400000,
252 UNIT_FLAG_FLEEING = 0x00800000,
253 UNIT_FLAG_POSSESSED = 0x01000000, // under direct client control by a player (possess or vehicle)
254 UNIT_FLAG_NOT_SELECTABLE = 0x02000000,
255 UNIT_FLAG_SKINNABLE = 0x04000000,
256 UNIT_FLAG_MOUNT = 0x08000000,
257 UNIT_FLAG_UNK_28 = 0x10000000,
258 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
259 UNIT_FLAG_SHEATHE = 0x40000000,
260 UNIT_FLAG_IMMUNE = 0x80000000 // Immune to damage
261};
@ UNIT_FLAG_TAXI_FLIGHT
Definition: UnitDefines.h:249
@ UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT
Definition: UnitDefines.h:258
@ UNIT_FLAG_STUNNED
Definition: UnitDefines.h:247
@ UNIT_FLAG_CANNOT_SWIM
Definition: UnitDefines.h:243
@ UNIT_FLAG_NON_ATTACKABLE
Definition: UnitDefines.h:230
@ UNIT_FLAG_UNK_6
Definition: UnitDefines.h:235
@ UNIT_FLAG_IN_COMBAT
Definition: UnitDefines.h:248
@ UNIT_FLAG_PREPARATION
Definition: UnitDefines.h:234
@ UNIT_FLAG_NON_ATTACKABLE_2
Definition: UnitDefines.h:245
@ UNIT_FLAG_IMMUNE_TO_NPC
Definition: UnitDefines.h:238
@ UNIT_FLAG_PVP
Definition: UnitDefines.h:241
@ UNIT_FLAG_POSSESSED
Definition: UnitDefines.h:253
@ UNIT_FLAG_IMMUNE
Definition: UnitDefines.h:260
@ UNIT_FLAG_NONE
Definition: UnitDefines.h:228
@ UNIT_FLAG_SERVER_CONTROLLED
Definition: UnitDefines.h:229
@ UNIT_FLAG_DISARMED
Definition: UnitDefines.h:250
@ UNIT_FLAG_PACIFIED
Definition: UnitDefines.h:246
@ UNIT_FLAG_SWIMMING
Definition: UnitDefines.h:244
@ UNIT_FLAG_CONFUSED
Definition: UnitDefines.h:251
@ UNIT_FLAG_DISABLE_MOVE
Definition: UnitDefines.h:231
@ UNIT_FLAG_FLEEING
Definition: UnitDefines.h:252
@ UNIT_FLAG_NOT_SELECTABLE
Definition: UnitDefines.h:254
@ UNIT_FLAG_RENAME
Definition: UnitDefines.h:233
@ UNIT_FLAG_LOOTING
Definition: UnitDefines.h:239
@ UNIT_FLAG_IMMUNE_TO_PC
Definition: UnitDefines.h:237
@ UNIT_FLAG_NOT_ATTACKABLE_1
Definition: UnitDefines.h:236
@ UNIT_FLAG_SILENCED
Definition: UnitDefines.h:242
@ UNIT_FLAG_PLAYER_CONTROLLED
Definition: UnitDefines.h:232
@ UNIT_FLAG_SKINNABLE
Definition: UnitDefines.h:255
@ UNIT_FLAG_MOUNT
Definition: UnitDefines.h:256
@ UNIT_FLAG_PET_IN_COMBAT
Definition: UnitDefines.h:240
@ UNIT_FLAG_UNK_28
Definition: UnitDefines.h:257
@ UNIT_FLAG_SHEATHE
Definition: UnitDefines.h:259

◆ UnitFlags2

Enumerator
UNIT_FLAG2_NONE 
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_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_6 
266{
267 UNIT_FLAG2_NONE = 0x00000000,
268 UNIT_FLAG2_FEIGN_DEATH = 0x00000001,
269 UNIT_FLAG2_HIDE_BODY = 0x00000002, // Hide unit model (show only player equip)
270 UNIT_FLAG2_IGNORE_REPUTATION = 0x00000004,
271 UNIT_FLAG2_COMPREHEND_LANG = 0x00000008,
272 UNIT_FLAG2_MIRROR_IMAGE = 0x00000010,
273 UNIT_FLAG2_DO_NOT_FADE_IN = 0x00000020, // Unit model instantly appears when summoned (does not fade in)
274 UNIT_FLAG2_FORCE_MOVEMENT = 0x00000040,
275 UNIT_FLAG2_DISARM_OFFHAND = 0x00000080,
276 UNIT_FLAG2_DISABLE_PRED_STATS = 0x00000100, // Player has disabled predicted stats (Used by raid frames)
277 UNIT_FLAG2_DISARM_RANGED = 0x00000400, // this does not disable ranged weapon display (maybe additional flag needed?)
278 UNIT_FLAG2_REGENERATE_POWER = 0x00000800,
279 UNIT_FLAG2_RESTRICT_PARTY_INTERACTION = 0x00001000, // Restrict interaction to party or raid
280 UNIT_FLAG2_PREVENT_SPELL_CLICK = 0x00002000, // Prevent spellclick
282 UNIT_FLAG2_CANNOT_TURN = 0x00008000,
283 UNIT_FLAG2_UNK2 = 0x00010000,
284 UNIT_FLAG2_PLAY_DEATH_ANIM = 0x00020000, // Plays special death animation upon death
285 UNIT_FLAG2_ALLOW_CHEAT_SPELLS = 0x00040000, // Allows casting spells with AttributesEx7 & SPELL_ATTR7_DEBUG_SPELL
286 UNIT_FLAG2_UNUSED_6 = 0x01000000
287};
@ UNIT_FLAG2_UNK2
Definition: UnitDefines.h:283
@ UNIT_FLAG2_DO_NOT_FADE_IN
Definition: UnitDefines.h:273
@ UNIT_FLAG2_MIRROR_IMAGE
Definition: UnitDefines.h:272
@ UNIT_FLAG2_NONE
Definition: UnitDefines.h:267
@ UNIT_FLAG2_ALLOW_ENEMY_INTERACT
Definition: UnitDefines.h:281
@ UNIT_FLAG2_PLAY_DEATH_ANIM
Definition: UnitDefines.h:284
@ UNIT_FLAG2_HIDE_BODY
Definition: UnitDefines.h:269
@ UNIT_FLAG2_IGNORE_REPUTATION
Definition: UnitDefines.h:270
@ UNIT_FLAG2_PREVENT_SPELL_CLICK
Definition: UnitDefines.h:280
@ UNIT_FLAG2_RESTRICT_PARTY_INTERACTION
Definition: UnitDefines.h:279
@ UNIT_FLAG2_DISABLE_PRED_STATS
Definition: UnitDefines.h:276
@ UNIT_FLAG2_COMPREHEND_LANG
Definition: UnitDefines.h:271
@ UNIT_FLAG2_UNUSED_6
Definition: UnitDefines.h:286
@ UNIT_FLAG2_CANNOT_TURN
Definition: UnitDefines.h:282
@ UNIT_FLAG2_FORCE_MOVEMENT
Definition: UnitDefines.h:274
@ UNIT_FLAG2_ALLOW_CHEAT_SPELLS
Definition: UnitDefines.h:285
@ UNIT_FLAG2_FEIGN_DEATH
Definition: UnitDefines.h:268
@ UNIT_FLAG2_REGENERATE_POWER
Definition: UnitDefines.h:278
@ UNIT_FLAG2_DISARM_OFFHAND
Definition: UnitDefines.h:275
@ UNIT_FLAG2_DISARM_RANGED
Definition: UnitDefines.h:277

◆ 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 
327{
328 MOVE_WALK = 0,
329 MOVE_RUN = 1,
330 MOVE_RUN_BACK = 2,
331 MOVE_SWIM = 3,
332 MOVE_SWIM_BACK = 4,
333 MOVE_TURN_RATE = 5,
334 MOVE_FLIGHT = 6,
337};
@ MOVE_FLIGHT
Definition: UnitDefines.h:334
@ MOVE_SWIM
Definition: UnitDefines.h:331
@ MOVE_TURN_RATE
Definition: UnitDefines.h:333
@ MOVE_FLIGHT_BACK
Definition: UnitDefines.h:335
@ MOVE_SWIM_BACK
Definition: UnitDefines.h:332
@ MOVE_RUN
Definition: UnitDefines.h:329
@ MOVE_PITCH_RATE
Definition: UnitDefines.h:336
@ MOVE_RUN_BACK
Definition: UnitDefines.h:330
@ MOVE_WALK
Definition: UnitDefines.h:328

◆ UnitPVPStateFlags

Enumerator
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 
114{
115 UNIT_BYTE2_FLAG_PVP = 0x01,
123};
@ UNIT_BYTE2_FLAG_UNK1
Definition: UnitDefines.h:116
@ UNIT_BYTE2_FLAG_UNK6
Definition: UnitDefines.h:121
@ UNIT_BYTE2_FLAG_PVP
Definition: UnitDefines.h:115
@ UNIT_BYTE2_FLAG_FFA_PVP
Definition: UnitDefines.h:117
@ UNIT_BYTE2_FLAG_UNK4
Definition: UnitDefines.h:119
@ UNIT_BYTE2_FLAG_UNK5
Definition: UnitDefines.h:120
@ UNIT_BYTE2_FLAG_UNK7
Definition: UnitDefines.h:122
@ UNIT_BYTE2_FLAG_SANCTUARY
Definition: UnitDefines.h:118

◆ UnitRename

enum UnitRename
Enumerator
UNIT_CAN_BE_RENAMED 
UNIT_CAN_BE_ABANDONED 
127{
128 UNIT_CAN_BE_RENAMED = 0x01,
130};
@ UNIT_CAN_BE_RENAMED
Definition: UnitDefines.h:128
@ UNIT_CAN_BE_ABANDONED
Definition: UnitDefines.h:129

◆ UnitStandFlags

Enumerator
UNIT_STAND_FLAGS_UNK1 
UNIT_STAND_FLAGS_CREEP 
UNIT_STAND_FLAGS_UNTRACKABLE 
UNIT_STAND_FLAGS_UNK4 
UNIT_STAND_FLAGS_UNK5 
UNIT_STAND_FLAGS_ALL 
46{
53};
@ UNIT_STAND_FLAGS_UNK4
Definition: UnitDefines.h:50
@ UNIT_STAND_FLAGS_UNK5
Definition: UnitDefines.h:51
@ UNIT_STAND_FLAGS_ALL
Definition: UnitDefines.h:52
@ UNIT_STAND_FLAGS_UNK1
Definition: UnitDefines.h:47
@ UNIT_STAND_FLAGS_CREEP
Definition: UnitDefines.h:48
@ UNIT_STAND_FLAGS_UNTRACKABLE
Definition: UnitDefines.h:49

◆ 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 
31{
42};
@ UNIT_STAND_STATE_SLEEP
Definition: UnitDefines.h:35
@ UNIT_STAND_STATE_SIT_HIGH_CHAIR
Definition: UnitDefines.h:38
@ UNIT_STAND_STATE_SUBMERGED
Definition: UnitDefines.h:41
@ UNIT_STAND_STATE_SIT_MEDIUM_CHAIR
Definition: UnitDefines.h:37
@ UNIT_STAND_STATE_SIT_LOW_CHAIR
Definition: UnitDefines.h:36
@ UNIT_STAND_STATE_DEAD
Definition: UnitDefines.h:39
@ UNIT_STAND_STATE_KNEEL
Definition: UnitDefines.h:40
@ UNIT_STAND_STATE_SIT_CHAIR
Definition: UnitDefines.h:34
@ UNIT_STAND_STATE_STAND
Definition: UnitDefines.h:32
@ UNIT_STAND_STATE_SIT
Definition: UnitDefines.h:33

◆ UnitState

enum UnitState
Enumerator
UNIT_STATE_DIED 
UNIT_STATE_MELEE_ATTACKING 
UNIT_STATE_STUNNED 
UNIT_STATE_ROAMING 
UNIT_STATE_CHASE 
UNIT_STATE_FLEEING 
UNIT_STATE_IN_FLIGHT 
UNIT_STATE_FOLLOW 
UNIT_STATE_ROOT 
UNIT_STATE_CONFUSED 
UNIT_STATE_DISTRACTED 
UNIT_STATE_ISOLATED 
UNIT_STATE_ATTACK_PLAYER 
UNIT_STATE_CASTING 
UNIT_STATE_POSSESSED 
UNIT_STATE_CHARGING 
UNIT_STATE_JUMPING 
UNIT_STATE_MOVE 
UNIT_STATE_ROTATING 
UNIT_STATE_EVADE 
UNIT_STATE_ROAMING_MOVE 
UNIT_STATE_CONFUSED_MOVE 
UNIT_STATE_FLEEING_MOVE 
UNIT_STATE_CHASE_MOVE 
UNIT_STATE_FOLLOW_MOVE 
UNIT_STATE_IGNORE_PATHFINDING 
UNIT_STATE_NO_ENVIRONMENT_UPD 
UNIT_STATE_ALL_STATE_SUPPORTED 
UNIT_STATE_UNATTACKABLE 
UNIT_STATE_MOVING 
UNIT_STATE_CONTROLLED 
UNIT_STATE_LOST_CONTROL 
UNIT_STATE_SIGHTLESS 
UNIT_STATE_CANNOT_AUTOATTACK 
UNIT_STATE_CANNOT_TURN 
UNIT_STATE_NOT_MOVE 
UNIT_STATE_IGNORE_ANTISPEEDHACK 
UNIT_STATE_ALL_STATE 
148{
149 UNIT_STATE_DIED = 0x00000001, // player has fake death aura
150 UNIT_STATE_MELEE_ATTACKING = 0x00000002, // player is melee attacking someone
151 //UNIT_STATE_MELEE_ATTACK_BY = 0x00000004, // player is melee attack by someone
152 UNIT_STATE_STUNNED = 0x00000008,
153 UNIT_STATE_ROAMING = 0x00000010,
154 UNIT_STATE_CHASE = 0x00000020,
155 //UNIT_STATE_SEARCHING = 0x00000040,
156 UNIT_STATE_FLEEING = 0x00000080,
157 UNIT_STATE_IN_FLIGHT = 0x00000100, // player is in flight mode
158 UNIT_STATE_FOLLOW = 0x00000200,
159 UNIT_STATE_ROOT = 0x00000400,
160 UNIT_STATE_CONFUSED = 0x00000800,
161 UNIT_STATE_DISTRACTED = 0x00001000,
162 UNIT_STATE_ISOLATED = 0x00002000, // area auras do not affect other players
163 UNIT_STATE_ATTACK_PLAYER = 0x00004000,
164 UNIT_STATE_CASTING = 0x00008000,
165 UNIT_STATE_POSSESSED = 0x00010000,
166 UNIT_STATE_CHARGING = 0x00020000,
167 UNIT_STATE_JUMPING = 0x00040000,
168 UNIT_STATE_MOVE = 0x00100000,
169 UNIT_STATE_ROTATING = 0x00200000,
170 UNIT_STATE_EVADE = 0x00400000,
171 UNIT_STATE_ROAMING_MOVE = 0x00800000,
172 UNIT_STATE_CONFUSED_MOVE = 0x01000000,
173 UNIT_STATE_FLEEING_MOVE = 0x02000000,
174 UNIT_STATE_CHASE_MOVE = 0x04000000,
175 UNIT_STATE_FOLLOW_MOVE = 0x08000000,
176 UNIT_STATE_IGNORE_PATHFINDING = 0x10000000, // do not use pathfinding in any MovementGenerator
178
185
187
188 // for real move using movegen check and stop (except unstoppable flight)
195
196 // stay by different reasons
199 UNIT_STATE_ALL_STATE = 0xffffffff //(UNIT_STATE_STOPPED | UNIT_STATE_MOVING | UNIT_STATE_IN_COMBAT | UNIT_STATE_IN_FLIGHT)
200};
@ UNIT_STATE_DISTRACTED
Definition: UnitDefines.h:161
@ UNIT_STATE_NOT_MOVE
Definition: UnitDefines.h:197
@ UNIT_STATE_EVADE
Definition: UnitDefines.h:170
@ UNIT_STATE_DIED
Definition: UnitDefines.h:149
@ UNIT_STATE_ATTACK_PLAYER
Definition: UnitDefines.h:163
@ UNIT_STATE_POSSESSED
Definition: UnitDefines.h:165
@ UNIT_STATE_CHASE
Definition: UnitDefines.h:154
@ UNIT_STATE_ROAMING_MOVE
Definition: UnitDefines.h:171
@ UNIT_STATE_UNATTACKABLE
Definition: UnitDefines.h:186
@ UNIT_STATE_ALL_STATE
Definition: UnitDefines.h:199
@ UNIT_STATE_LOST_CONTROL
Definition: UnitDefines.h:191
@ UNIT_STATE_ALL_STATE_SUPPORTED
Definition: UnitDefines.h:179
@ UNIT_STATE_CANNOT_AUTOATTACK
Definition: UnitDefines.h:193
@ UNIT_STATE_CONFUSED
Definition: UnitDefines.h:160
@ UNIT_STATE_FLEEING_MOVE
Definition: UnitDefines.h:173
@ UNIT_STATE_IGNORE_ANTISPEEDHACK
Definition: UnitDefines.h:198
@ UNIT_STATE_ROOT
Definition: UnitDefines.h:159
@ UNIT_STATE_SIGHTLESS
Definition: UnitDefines.h:192
@ UNIT_STATE_CONFUSED_MOVE
Definition: UnitDefines.h:172
@ UNIT_STATE_CHASE_MOVE
Definition: UnitDefines.h:174
@ UNIT_STATE_ISOLATED
Definition: UnitDefines.h:162
@ UNIT_STATE_FOLLOW
Definition: UnitDefines.h:158
@ UNIT_STATE_CHARGING
Definition: UnitDefines.h:166
@ UNIT_STATE_IGNORE_PATHFINDING
Definition: UnitDefines.h:176
@ UNIT_STATE_ROAMING
Definition: UnitDefines.h:153
@ UNIT_STATE_CONTROLLED
Definition: UnitDefines.h:190
@ UNIT_STATE_FLEEING
Definition: UnitDefines.h:156
@ UNIT_STATE_NO_ENVIRONMENT_UPD
Definition: UnitDefines.h:177
@ UNIT_STATE_CANNOT_TURN
Definition: UnitDefines.h:194
@ UNIT_STATE_MOVING
Definition: UnitDefines.h:189
@ UNIT_STATE_FOLLOW_MOVE
Definition: UnitDefines.h:175
@ UNIT_STATE_MOVE
Definition: UnitDefines.h:168
@ UNIT_STATE_MELEE_ATTACKING
Definition: UnitDefines.h:150
@ UNIT_STATE_IN_FLIGHT
Definition: UnitDefines.h:157
@ UNIT_STATE_CASTING
Definition: UnitDefines.h:164
@ UNIT_STATE_ROTATING
Definition: UnitDefines.h:169
@ UNIT_STATE_STUNNED
Definition: UnitDefines.h:152
@ UNIT_STATE_JUMPING
Definition: UnitDefines.h:167

◆ UnitTypeMask

Enumerator
UNIT_MASK_NONE 
UNIT_MASK_SUMMON 
UNIT_MASK_MINION 
UNIT_MASK_GUARDIAN 
UNIT_MASK_TOTEM 
UNIT_MASK_PET 
UNIT_MASK_VEHICLE 
UNIT_MASK_PUPPET 
UNIT_MASK_HUNTER_PET 
UNIT_MASK_CONTROLABLE_GUARDIAN 
UNIT_MASK_ACCESSORY 
133{
134 UNIT_MASK_NONE = 0x00000000,
135 UNIT_MASK_SUMMON = 0x00000001,
136 UNIT_MASK_MINION = 0x00000002,
137 UNIT_MASK_GUARDIAN = 0x00000004,
138 UNIT_MASK_TOTEM = 0x00000008,
139 UNIT_MASK_PET = 0x00000010,
140 UNIT_MASK_VEHICLE = 0x00000020,
141 UNIT_MASK_PUPPET = 0x00000040,
142 UNIT_MASK_HUNTER_PET = 0x00000080,
144 UNIT_MASK_ACCESSORY = 0x00000200
145};
@ UNIT_MASK_NONE
Definition: UnitDefines.h:134
@ UNIT_MASK_PUPPET
Definition: UnitDefines.h:141
@ UNIT_MASK_CONTROLABLE_GUARDIAN
Definition: UnitDefines.h:143
@ UNIT_MASK_HUNTER_PET
Definition: UnitDefines.h:142
@ UNIT_MASK_TOTEM
Definition: UnitDefines.h:138
@ UNIT_MASK_ACCESSORY
Definition: UnitDefines.h:144
@ UNIT_MASK_SUMMON
Definition: UnitDefines.h:135
@ UNIT_MASK_VEHICLE
Definition: UnitDefines.h:140
@ UNIT_MASK_GUARDIAN
Definition: UnitDefines.h:137
@ UNIT_MASK_MINION
Definition: UnitDefines.h:136
@ UNIT_MASK_PET
Definition: UnitDefines.h:139

Function Documentation

◆ DEFINE_ENUM_FLAG() [1/3]

DEFINE_ENUM_FLAG ( NPCFlags  )

◆ DEFINE_ENUM_FLAG() [2/3]

DEFINE_ENUM_FLAG ( UnitFlags  )

◆ DEFINE_ENUM_FLAG() [3/3]

DEFINE_ENUM_FLAG ( UnitFlags2  )