TrinityCore
Loading...
Searching...
No Matches
UnitDefines.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef UnitDefines_h__
19#define UnitDefines_h__
20
21#include "Define.h"
22#include "EnumFlag.h"
23#include <string>
24
25#define BASE_MINDAMAGE 1.0f
26#define BASE_MAXDAMAGE 2.0f
27#define BASE_ATTACK_TIME 2000
28
29#define MAX_EQUIPMENT_ITEMS 3
30
31// byte value (UNIT_FIELD_BYTES_1, 0)
47
48// byte flag value (UNIT_FIELD_BYTES_1, 2)
58
66
74
82
83// UNIT_FIELD_BYTES_1 (UNIT_BYTES_1_OFFSET_ANIM_TIER)
84enum class AnimTier : uint8
85{
86 Ground = 0, // plays ground tier animations
87 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
88 Hover = 2, // plays flying tier animations or falls back to ground tier animations, automatically enables hover clientside when entering visibility with this value
89 Fly = 3, // plays flying tier animations
90 Submerged = 4,
91
92 Max
93};
94
95// low byte (0 from 0..3) of UNIT_FIELD_BYTES_2
97{
98 SHEATH_STATE_UNARMED = 0, // non prepared weapon
99 SHEATH_STATE_MELEE = 1, // prepared melee weapon
100 SHEATH_STATE_RANGED = 2, // prepared ranged weapon
101
104
105// byte (1 from 0..3) of UNIT_FIELD_BYTES_2
118
120
121// byte (2 from 0..3) of UNIT_FIELD_BYTES_2
128
130
131// Value masks for UNIT_FIELD_FLAGS
132// EnumUtils: DESCRIBE THIS
134{
135 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
136 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
137 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)
138 UNIT_FLAG_PLAYER_CONTROLLED = 0x00000008, // controlled by player, use _IMMUNE_TO_PC instead of _IMMUNE_TO_NPC
139 UNIT_FLAG_RENAME = 0x00000010,
140 UNIT_FLAG_PREPARATION = 0x00000020, // don't take reagents for spells with SPELL_ATTR5_NO_REAGENT_WHILE_PREP
141 UNIT_FLAG_UNK_6 = 0x00000040,
142 UNIT_FLAG_NOT_ATTACKABLE_1 = 0x00000080, // ?? (UNIT_FLAG_PLAYER_CONTROLLED | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE
143 UNIT_FLAG_IMMUNE_TO_PC = 0x00000100, // disables combat/assistance with PlayerCharacters (PC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget
144 UNIT_FLAG_IMMUNE_TO_NPC = 0x00000200, // disables combat/assistance with NonPlayerCharacters (NPC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget
145 UNIT_FLAG_LOOTING = 0x00000400, // loot animation
146 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
147 UNIT_FLAG_PVP_ENABLING = 0x00001000, // changed in 3.0.3, now UNIT_BYTES_2_OFFSET_PVP_FLAG from UNIT_FIELD_BYTES_2
148 UNIT_FLAG_SILENCED = 0x00002000, // silenced, 2.1.1
149 UNIT_FLAG_CANNOT_SWIM = 0x00004000, // 2.0.8
150 UNIT_FLAG_CAN_SWIM = 0x00008000, // shows swim animation in water
151 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
152 UNIT_FLAG_PACIFIED = 0x00020000, // 3.0.3 ok
153 UNIT_FLAG_STUNNED = 0x00040000, // 3.0.3 ok
155 UNIT_FLAG_ON_TAXI = 0x00100000, // disable casting at client side spell not allowed by taxi flight (mounted?), probably used with 0x4 flag
156 UNIT_FLAG_DISARMED = 0x00200000, // 3.0.3, disable melee spells casting..., "Required melee weapon" added to melee spells tooltip.
157 UNIT_FLAG_CONFUSED = 0x00400000,
158 UNIT_FLAG_FLEEING = 0x00800000,
159 UNIT_FLAG_POSSESSED = 0x01000000, // under direct client control by a player (possess or vehicle)
162 UNIT_FLAG_MOUNT = 0x08000000,
163 UNIT_FLAG_UNK_28 = 0x10000000,
164 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
165 UNIT_FLAG_SHEATHE = 0x40000000,
166 UNIT_FLAG_IMMUNE = 0x80000000, // Immune to damage
167
175
176 UNIT_FLAG_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG_DISALLOWED) // SKIP
178
180
181// Value masks for UNIT_FIELD_FLAGS_2
183{
185 UNIT_FLAG2_HIDE_BODY = 0x00000002, // Hide unit model (show only player equip)
189 UNIT_FLAG2_DO_NOT_FADE_IN = 0x00000020, // Unit model instantly appears when summoned (does not fade in)
192 UNIT_FLAG2_DISABLE_PRED_STATS = 0x00000100, // Player has disabled predicted stats (Used by raid frames)
193 UNIT_FLAG2_UNK_1 = 0x00000200,
194 UNIT_FLAG2_DISARM_RANGED = 0x00000400, // this does not disable ranged weapon display (maybe additional flag needed?)
196 UNIT_FLAG2_RESTRICT_PARTY_INTERACTION = 0x00001000, // Restrict interaction to party or raid
197 UNIT_FLAG2_PREVENT_SPELL_CLICK = 0x00002000, // Prevent spellclick
200 UNIT_FLAG2_UNK2 = 0x00010000,
201 UNIT_FLAG2_PLAY_DEATH_ANIM = 0x00020000, // Plays special death animation upon death
202 UNIT_FLAG2_ALLOW_CHEAT_SPELLS = 0x00040000, // Allows casting spells with AttributesEx7 & SPELL_ATTR7_IS_CHEAT_SPELL
216
220 /* UNIT_FLAG2_REGENERATE_POWER | */ UNIT_FLAG2_RESTRICT_PARTY_INTERACTION |
222 /* UNIT_FLAG2_PLAY_DEATH_ANIM | */ UNIT_FLAG2_ALLOW_CHEAT_SPELLS | UNIT_FLAG2_UNUSED_1 |
226
227 UNIT_FLAG2_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG2_DISALLOWED) // SKIP
229
231
233// EnumUtils: DESCRIBE THIS
235{
236 UNIT_NPC_FLAG_NONE = 0x00000000, // SKIP
237 UNIT_NPC_FLAG_GOSSIP = 0x00000001, // TITLE has gossip menu DESCRIPTION 100%
238 UNIT_NPC_FLAG_QUESTGIVER = 0x00000002, // TITLE is quest giver DESCRIPTION guessed, probably ok
239 UNIT_NPC_FLAG_UNK1 = 0x00000004,
240 UNIT_NPC_FLAG_UNK2 = 0x00000008,
241 UNIT_NPC_FLAG_TRAINER = 0x00000010, // TITLE is trainer DESCRIPTION 100%
242 UNIT_NPC_FLAG_TRAINER_CLASS = 0x00000020, // TITLE is class trainer DESCRIPTION 100%
243 UNIT_NPC_FLAG_TRAINER_PROFESSION = 0x00000040, // TITLE is profession trainer DESCRIPTION 100%
244 UNIT_NPC_FLAG_VENDOR = 0x00000080, // TITLE is vendor (generic) DESCRIPTION 100%
245 UNIT_NPC_FLAG_VENDOR_AMMO = 0x00000100, // TITLE is vendor (ammo) DESCRIPTION 100%, general goods vendor
246 UNIT_NPC_FLAG_VENDOR_FOOD = 0x00000200, // TITLE is vendor (food) DESCRIPTION 100%
247 UNIT_NPC_FLAG_VENDOR_POISON = 0x00000400, // TITLE is vendor (poison) DESCRIPTION guessed
248 UNIT_NPC_FLAG_VENDOR_REAGENT = 0x00000800, // TITLE is vendor (reagents) DESCRIPTION 100%
249 UNIT_NPC_FLAG_REPAIR = 0x00001000, // TITLE can repair DESCRIPTION 100%
250 UNIT_NPC_FLAG_FLIGHTMASTER = 0x00002000, // TITLE is flight master DESCRIPTION 100%
251 UNIT_NPC_FLAG_SPIRITHEALER = 0x00004000, // TITLE is spirit healer DESCRIPTION guessed
252 UNIT_NPC_FLAG_SPIRITGUIDE = 0x00008000, // TITLE is spirit guide DESCRIPTION guessed
253 UNIT_NPC_FLAG_INNKEEPER = 0x00010000, // TITLE is innkeeper
254 UNIT_NPC_FLAG_BANKER = 0x00020000, // TITLE is banker DESCRIPTION 100%
255 UNIT_NPC_FLAG_PETITIONER = 0x00040000, // TITLE handles guild/arena petitions DESCRIPTION 100% 0xC0000 = guild petitions, 0x40000 = arena team petitions
256 UNIT_NPC_FLAG_TABARDDESIGNER = 0x00080000, // TITLE is guild tabard designer DESCRIPTION 100%
257 UNIT_NPC_FLAG_BATTLEMASTER = 0x00100000, // TITLE is battlemaster DESCRIPTION 100%
258 UNIT_NPC_FLAG_AUCTIONEER = 0x00200000, // TITLE is auctioneer DESCRIPTION 100%
259 UNIT_NPC_FLAG_STABLEMASTER = 0x00400000, // TITLE is stable master DESCRIPTION 100%
260 UNIT_NPC_FLAG_GUILD_BANKER = 0x00800000, // TITLE is guild banker DESCRIPTION cause client to send 997 opcode
261 UNIT_NPC_FLAG_SPELLCLICK = 0x01000000, // TITLE has spell click enabled DESCRIPTION cause client to send 1015 opcode (spell click)
262 UNIT_NPC_FLAG_PLAYER_VEHICLE = 0x02000000, // TITLE is player vehicle DESCRIPTION players with mounts that have vehicle data should have it set
263 UNIT_NPC_FLAG_MAILBOX = 0x04000000 // TITLE is mailbox
265
267
269{
270 MOVEMENTFLAG_NONE = 0x00000000,
275 MOVEMENTFLAG_LEFT = 0x00000010,
276 MOVEMENTFLAG_RIGHT = 0x00000020,
279 MOVEMENTFLAG_WALKING = 0x00000100, // Walking
280 MOVEMENTFLAG_ONTRANSPORT = 0x00000200, // Used for flying on some creatures
281 MOVEMENTFLAG_DISABLE_GRAVITY = 0x00000400, // Former MOVEMENTFLAG_LEVITATING. This is used when walking is not possible.
282 MOVEMENTFLAG_ROOT = 0x00000800, // Must not be set along with MOVEMENTFLAG_MASK_MOVING
283 MOVEMENTFLAG_FALLING = 0x00001000, // damage dealt on that type of falling
292 MOVEMENTFLAG_SWIMMING = 0x00200000, // appears with fly flag also
293 MOVEMENTFLAG_ASCENDING = 0x00400000, // press "space" when flying or swimming
295 MOVEMENTFLAG_CAN_FLY = 0x01000000, // Appears when unit can fly AND also walk
296 MOVEMENTFLAG_FLYING = 0x02000000, // unit is actually flying. pretty sure this is only used for players. creatures use disable_gravity
297 MOVEMENTFLAG_SPLINE_ELEVATION = 0x04000000, // used for flight paths
298 MOVEMENTFLAG_SPLINE_ENABLED = 0x08000000, // used for flight paths
299 MOVEMENTFLAG_WATERWALKING = 0x10000000, // prevent unit from falling through water
300 MOVEMENTFLAG_FALLING_SLOW = 0x20000000, // active rogue safe fall spell (passive)
301 MOVEMENTFLAG_HOVER = 0x40000000, // hover, cannot jump
302
307
310
313
317
322
343
356
357#define MAX_MOVE_TYPE 9
358
360{
362 HITINFO_UNK1 = 0x00000001, // req correct packet structure
364 HITINFO_OFFHAND = 0x00000004,
365 HITINFO_UNK2 = 0x00000008,
366 HITINFO_MISS = 0x00000010,
371 HITINFO_CRITICALHIT = 0x00000200, // critical hit
372 HITINFO_UNK10 = 0x00000400,
373 HITINFO_UNK11 = 0x00000800,
374 HITINFO_UNK12 = 0x00001000,
375 HITINFO_BLOCK = 0x00002000, // blocked damage
376 HITINFO_UNK14 = 0x00004000, // set only if meleespellid is present// no world text when victim is hit for 0 dmg(HideWorldTextForNoDamage?)
377 HITINFO_UNK15 = 0x00008000, // player victim?// something related to blod sprut visual (BloodSpurtInBack?)
378 HITINFO_GLANCING = 0x00010000,
379 HITINFO_CRUSHING = 0x00020000,
381 HITINFO_UNK19 = 0x00080000,
382 HITINFO_UNK20 = 0x00100000,
383 HITINFO_SWINGNOHITSOUND = 0x00200000, // unused?
384 HITINFO_UNK22 = 0x00400000,
385 HITINFO_RAGE_GAIN = 0x00800000,
386 HITINFO_FAKE_DAMAGE = 0x01000000 // enables damage animation even if no damage done, set only if no damage
388
389#define MAX_DECLINED_NAME_CASES 5
390
392{
394};
395
397{
398 ACT_PASSIVE = 0x01, // 0x01 - passive
399 ACT_DISABLED = 0x81, // 0x80 - castable
400 ACT_ENABLED = 0xC1, // 0x40 | 0x80 - auto cast + castable
401 ACT_COMMAND = 0x07, // 0x01 | 0x02 | 0x04
402 ACT_REACTION = 0x06, // 0x02 | 0x04
403 ACT_DECIDE = 0x00 // custom
405
412
413inline char const* DescribeReactState(ReactStates state)
414{
415 switch (state)
416 {
417 case REACT_PASSIVE: return "PASSIVE";
418 case REACT_DEFENSIVE: return "DEFENSIVE";
419 case REACT_AGGRESSIVE: return "AGGRESSIVE";
420 default: return "<Invalid react state>";
421 }
422}
423
431
432#endif // UnitDefines_h__
uint8_t uint8
Definition Define.h:135
uint32_t uint32
Definition Define.h:133
#define DEFINE_ENUM_FLAG(enumType)
Definition EnumFlag.h:26
UnitBytes2Offsets
Definition UnitDefines.h:76
@ UNIT_BYTES_2_OFFSET_SHEATH_STATE
Definition UnitDefines.h:77
@ UNIT_BYTES_2_OFFSET_PVP_FLAG
Definition UnitDefines.h:78
@ UNIT_BYTES_2_OFFSET_SHAPESHIFT_FORM
Definition UnitDefines.h:80
@ UNIT_BYTES_2_OFFSET_PET_FLAGS
Definition UnitDefines.h:79
UnitBytes0Offsets
Definition UnitDefines.h:60
@ UNIT_BYTES_0_OFFSET_POWER_TYPE
Definition UnitDefines.h:64
@ UNIT_BYTES_0_OFFSET_RACE
Definition UnitDefines.h:61
@ UNIT_BYTES_0_OFFSET_GENDER
Definition UnitDefines.h:63
@ UNIT_BYTES_0_OFFSET_CLASS
Definition UnitDefines.h:62
UnitFlags2
@ UNIT_FLAG2_UNK2
@ UNIT_FLAG2_DO_NOT_FADE_IN
@ UNIT_FLAG2_UNUSED_1
@ UNIT_FLAG2_MIRROR_IMAGE
@ UNIT_FLAG2_ALLOW_ENEMY_INTERACT
@ UNIT_FLAG2_ALLOWED
@ UNIT_FLAG2_UNUSED_3
@ UNIT_FLAG2_UNUSED_5
@ UNIT_FLAG2_UNUSED_4
@ UNIT_FLAG2_UNUSED_13
@ UNIT_FLAG2_PLAY_DEATH_ANIM
@ UNIT_FLAG2_HIDE_BODY
@ UNIT_FLAG2_UNUSED_12
@ UNIT_FLAG2_IGNORE_REPUTATION
@ UNIT_FLAG2_PREVENT_SPELL_CLICK
@ UNIT_FLAG2_RESTRICT_PARTY_INTERACTION
@ UNIT_FLAG2_DISABLE_PRED_STATS
@ UNIT_FLAG2_COMPREHEND_LANG
@ UNIT_FLAG2_UNUSED_6
@ UNIT_FLAG2_CANNOT_TURN
@ UNIT_FLAG2_FORCE_MOVEMENT
@ UNIT_FLAG2_UNUSED_9
@ UNIT_FLAG2_ALLOW_CHEAT_SPELLS
@ UNIT_FLAG2_FEIGN_DEATH
@ UNIT_FLAG2_UNUSED_2
@ UNIT_FLAG2_UNK_1
@ UNIT_FLAG2_REGENERATE_POWER
@ UNIT_FLAG2_UNUSED_10
@ UNIT_FLAG2_UNUSED_7
@ UNIT_FLAG2_UNUSED_11
@ UNIT_FLAG2_DISALLOWED
@ UNIT_FLAG2_DISARM_OFFHAND
@ UNIT_FLAG2_DISARM_RANGED
@ UNIT_FLAG2_UNUSED_8
UnitPetFlag
@ UNIT_PET_FLAG_NONE
@ UNIT_PET_FLAG_CAN_BE_ABANDONED
@ UNIT_PET_FLAG_CAN_BE_RENAMED
HitInfo
@ HITINFO_PARTIAL_ABSORB
@ HITINFO_UNK2
@ HITINFO_FULL_RESIST
@ HITINFO_NORMALSWING
@ HITINFO_UNK22
@ HITINFO_BLOCK
@ HITINFO_UNK15
@ HITINFO_UNK19
@ HITINFO_CRUSHING
@ HITINFO_UNK20
@ HITINFO_FAKE_DAMAGE
@ HITINFO_SWINGNOHITSOUND
@ HITINFO_UNK12
@ HITINFO_MISS
@ HITINFO_RAGE_GAIN
@ HITINFO_FULL_ABSORB
@ HITINFO_NO_ANIMATION
@ HITINFO_OFFHAND
@ HITINFO_UNK1
@ HITINFO_GLANCING
@ HITINFO_UNK11
@ HITINFO_CRITICALHIT
@ HITINFO_PARTIAL_RESIST
@ HITINFO_AFFECTS_VICTIM
@ HITINFO_UNK14
@ HITINFO_UNK10
ReactStates
@ REACT_DEFENSIVE
@ REACT_PASSIVE
@ REACT_AGGRESSIVE
UnitStandStateType
Definition UnitDefines.h:33
@ UNIT_STAND_STATE_SLEEP
Definition UnitDefines.h:37
@ UNIT_STAND_STATE_SIT_HIGH_CHAIR
Definition UnitDefines.h:40
@ UNIT_STAND_STATE_SUBMERGED
Definition UnitDefines.h:43
@ UNIT_STAND_STATE_SIT_MEDIUM_CHAIR
Definition UnitDefines.h:39
@ UNIT_STAND_STATE_SIT_LOW_CHAIR
Definition UnitDefines.h:38
@ UNIT_STAND_STATE_DEAD
Definition UnitDefines.h:41
@ UNIT_STAND_STATE_KNEEL
Definition UnitDefines.h:42
@ UNIT_STAND_STATE_SIT_CHAIR
Definition UnitDefines.h:36
@ MAX_UNIT_STAND_STATE
Definition UnitDefines.h:45
@ UNIT_STAND_STATE_STAND
Definition UnitDefines.h:34
@ UNIT_STAND_STATE_SIT
Definition UnitDefines.h:35
MovementFlags
@ MOVEMENTFLAG_MASK_PLAYER_ONLY
@ MOVEMENTFLAG_DESCENDING
@ MOVEMENTFLAG_PITCH_DOWN
@ MOVEMENTFLAG_PENDING_STRAFE_STOP
@ MOVEMENTFLAG_PITCH_UP
@ MOVEMENTFLAG_RIGHT
@ MOVEMENTFLAG_PENDING_STOP
@ MOVEMENTFLAG_SPLINE_ENABLED
@ MOVEMENTFLAG_FORWARD
@ MOVEMENTFLAG_PENDING_STRAFE_LEFT
@ MOVEMENTFLAG_NONE
@ MOVEMENTFLAG_STRAFE_LEFT
@ MOVEMENTFLAG_ONTRANSPORT
@ MOVEMENTFLAG_BACKWARD
@ MOVEMENTFLAG_WATERWALKING
@ MOVEMENTFLAG_MASK_MOVING
@ MOVEMENTFLAG_DISABLE_GRAVITY
@ MOVEMENTFLAG_PENDING_BACKWARD
@ MOVEMENTFLAG_FLYING
@ MOVEMENTFLAG_FALLING_SLOW
@ MOVEMENTFLAG_PENDING_STRAFE_RIGHT
@ MOVEMENTFLAG_CAN_FLY
@ MOVEMENTFLAG_ROOT
@ MOVEMENTFLAG_MASK_TURNING
@ MOVEMENTFLAG_FALLING
@ MOVEMENTFLAG_LEFT
@ MOVEMENTFLAG_MASK_MOVING_FLY
@ MOVEMENTFLAG_STRAFE_RIGHT
@ MOVEMENTFLAG_FALLING_FAR
@ MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE
Movement flags that have change status opcodes associated for players.
@ MOVEMENTFLAG_SWIMMING
@ MOVEMENTFLAG_ASCENDING
@ MOVEMENTFLAG_PENDING_FORWARD
@ MOVEMENTFLAG_HOVER
@ MOVEMENTFLAG_SPLINE_ELEVATION
@ MOVEMENTFLAG_PENDING_ROOT
@ MOVEMENTFLAG_WALKING
MovementFlags2
@ MOVEMENTFLAG2_UNK3
@ MOVEMENTFLAG2_UNK8
@ MOVEMENTFLAG2_UNK9
@ MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING
@ MOVEMENTFLAG2_INTERPOLATED_PITCHING
@ MOVEMENTFLAG2_UNK7
@ MOVEMENTFLAG2_INTERPOLATED_MOVEMENT
@ MOVEMENTFLAG2_NO_STRAFE
@ MOVEMENTFLAG2_UNK16
@ MOVEMENTFLAG2_UNK14
@ MOVEMENTFLAG2_INTERPOLATED_TURNING
@ MOVEMENTFLAG2_FULL_SPEED_PITCHING
@ MOVEMENTFLAG2_UNK10
@ MOVEMENTFLAG2_NONE
@ MOVEMENTFLAG2_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY
@ MOVEMENTFLAG2_FULL_SPEED_TURNING
@ MOVEMENTFLAG2_NO_JUMPING
#define MAX_DECLINED_NAME_CASES
UnitBytes1Offsets
Definition UnitDefines.h:68
@ UNIT_BYTES_1_OFFSET_ANIM_TIER
Definition UnitDefines.h:72
@ UNIT_BYTES_1_OFFSET_PET_TALENTS
Definition UnitDefines.h:70
@ UNIT_BYTES_1_OFFSET_STAND_STATE
Definition UnitDefines.h:69
@ UNIT_BYTES_1_OFFSET_VIS_FLAG
Definition UnitDefines.h:71
ActiveStates
@ ACT_REACTION
@ ACT_DECIDE
@ ACT_COMMAND
@ ACT_ENABLED
@ ACT_PASSIVE
@ ACT_DISABLED
NPCFlags
Non Player Character flags.
@ UNIT_NPC_FLAG_VENDOR_AMMO
@ UNIT_NPC_FLAG_TABARDDESIGNER
@ UNIT_NPC_FLAG_BANKER
@ UNIT_NPC_FLAG_AUCTIONEER
@ UNIT_NPC_FLAG_UNK2
@ UNIT_NPC_FLAG_VENDOR_POISON
@ UNIT_NPC_FLAG_GUILD_BANKER
@ UNIT_NPC_FLAG_VENDOR
@ UNIT_NPC_FLAG_STABLEMASTER
@ UNIT_NPC_FLAG_VENDOR_REAGENT
@ UNIT_NPC_FLAG_GOSSIP
@ UNIT_NPC_FLAG_NONE
@ UNIT_NPC_FLAG_BATTLEMASTER
@ UNIT_NPC_FLAG_VENDOR_FOOD
@ UNIT_NPC_FLAG_QUESTGIVER
@ UNIT_NPC_FLAG_INNKEEPER
@ UNIT_NPC_FLAG_SPELLCLICK
@ UNIT_NPC_FLAG_UNK1
@ UNIT_NPC_FLAG_MAILBOX
@ UNIT_NPC_FLAG_PLAYER_VEHICLE
@ UNIT_NPC_FLAG_FLIGHTMASTER
@ UNIT_NPC_FLAG_TRAINER_CLASS
@ UNIT_NPC_FLAG_TRAINER_PROFESSION
@ UNIT_NPC_FLAG_REPAIR
@ UNIT_NPC_FLAG_TRAINER
@ UNIT_NPC_FLAG_PETITIONER
@ UNIT_NPC_FLAG_SPIRITGUIDE
@ UNIT_NPC_FLAG_SPIRITHEALER
SheathState
Definition UnitDefines.h:97
@ SHEATH_STATE_UNARMED
Definition UnitDefines.h:98
@ SHEATH_STATE_MELEE
Definition UnitDefines.h:99
@ MAX_SHEATH_STATE
@ SHEATH_STATE_RANGED
char const * DescribeReactState(ReactStates state)
UnitPVPStateFlags
@ UNIT_BYTE2_FLAG_UNK1
@ UNIT_BYTE2_FLAG_UNK6
@ UNIT_BYTE2_FLAG_PVP
@ UNIT_BYTE2_FLAG_FFA_PVP
@ UNIT_BYTE2_FLAG_UNK4
@ UNIT_BYTE2_FLAG_UNK5
@ UNIT_BYTE2_FLAG_UNK7
@ UNIT_BYTE2_FLAG_NONE
@ UNIT_BYTE2_FLAG_SANCTUARY
AnimTier
Definition UnitDefines.h:85
UnitVisFlags
Definition UnitDefines.h:50
@ UNIT_VIS_FLAGS_UNTRACKABLE
Definition UnitDefines.h:53
@ UNIT_VIS_FLAGS_UNK5
Definition UnitDefines.h:55
@ UNIT_VIS_FLAGS_UNK4
Definition UnitDefines.h:54
@ UNIT_VIS_FLAGS_CREEP
Definition UnitDefines.h:52
@ UNIT_VIS_FLAGS_ALL
Definition UnitDefines.h:56
@ UNIT_VIS_FLAGS_UNK1
Definition UnitDefines.h:51
CommandStates
@ COMMAND_ATTACK
@ COMMAND_ABANDON
@ COMMAND_STAY
@ COMMAND_FOLLOW
UnitMoveType
@ MOVE_FLIGHT
@ MOVE_SWIM
@ MOVE_TURN_RATE
@ MOVE_FLIGHT_BACK
@ MOVE_SWIM_BACK
@ MOVE_RUN
@ MOVE_PITCH_RATE
@ MOVE_RUN_BACK
@ MOVE_WALK
UnitFlags
@ UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT
@ UNIT_FLAG_STUNNED
@ UNIT_FLAG_CANNOT_SWIM
@ UNIT_FLAG_PVP_ENABLING
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_UNK_6
@ UNIT_FLAG_IN_COMBAT
@ UNIT_FLAG_PREPARATION
@ UNIT_FLAG_NON_ATTACKABLE_2
@ UNIT_FLAG_IMMUNE_TO_NPC
@ UNIT_FLAG_ON_TAXI
@ UNIT_FLAG_ALLOWED
@ UNIT_FLAG_POSSESSED
@ UNIT_FLAG_IMMUNE
@ UNIT_FLAG_SERVER_CONTROLLED
@ UNIT_FLAG_DISARMED
@ UNIT_FLAG_PACIFIED
@ UNIT_FLAG_CAN_SWIM
@ UNIT_FLAG_REMOVE_CLIENT_CONTROL
@ UNIT_FLAG_CONFUSED
@ UNIT_FLAG_FLEEING
@ UNIT_FLAG_RENAME
@ UNIT_FLAG_LOOTING
@ UNIT_FLAG_UNINTERACTIBLE
@ UNIT_FLAG_IMMUNE_TO_PC
@ UNIT_FLAG_NOT_ATTACKABLE_1
@ UNIT_FLAG_SILENCED
@ UNIT_FLAG_PLAYER_CONTROLLED
@ UNIT_FLAG_DISALLOWED
@ UNIT_FLAG_SKINNABLE
@ UNIT_FLAG_MOUNT
@ UNIT_FLAG_PET_IN_COMBAT
@ UNIT_FLAG_UNK_28
@ UNIT_FLAG_SHEATHE
std::string name[MAX_DECLINED_NAME_CASES]