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 MIN_MELEE_REACH 2.0f
26#define NOMINAL_MELEE_RANGE 5.0f
27#define MELEE_RANGE (NOMINAL_MELEE_RANGE - MIN_MELEE_REACH * 2) //center to center for players
28#define BASE_MINDAMAGE 1.0f
29#define BASE_MAXDAMAGE 2.0f
30#define BASE_ATTACK_TIME 2000
31
32#define MAX_EQUIPMENT_ITEMS 3
33
34// byte value (UNIT_FIELD_BYTES_1, 0)
36{
47
49};
50
51// byte flag value (UNIT_FIELD_BYTES_1, 2)
53{
60};
61
62// UNIT_FIELD_BYTES_1 (UNIT_BYTES_1_OFFSET_ANIM_TIER)
63enum class AnimTier : uint8
64{
65 Ground = 0, // plays ground tier animations
66 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
67 Hover = 2, // plays flying tier animations or falls back to ground tier animations, automatically enables hover clientside when entering visibility with this value
68 Fly = 3, // plays flying tier animations
69 Submerged = 4,
70
71 Max
72};
73
74// low byte (0 from 0..3) of UNIT_FIELD_BYTES_2
76{
77 SHEATH_STATE_UNARMED = 0, // non prepared weapon
78 SHEATH_STATE_MELEE = 1, // prepared melee weapon
79 SHEATH_STATE_RANGED = 2, // prepared ranged weapon
80
82};
83
84// byte (1 from 0..3) of UNIT_FIELD_BYTES_2
86{
96};
97
99
100// byte (2 from 0..3) of UNIT_FIELD_BYTES_2
102{
107
109
111{
122
123#define MAX_MOVE_TYPE 9
124
126{
127 DIRECT_DAMAGE = 0, // used for normal weapon damage (not for class abilities or spells)
128 SPELL_DIRECT_DAMAGE = 1, // spell/class abilities damage
129 DOT = 2,
130 HEAL = 3,
131 NODAMAGE = 4, // used also in case when damage applied to health but not applied to spell channelInterruptFlags/etc
132 SELF_DAMAGE = 5
134
135// Value masks for UNIT_FIELD_FLAGS
136// EnumUtils: DESCRIBE THIS
138{
139 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
140 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
141 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)
142 UNIT_FLAG_PLAYER_CONTROLLED = 0x00000008, // controlled by player, use _IMMUNE_TO_PC instead of _IMMUNE_TO_NPC
143 UNIT_FLAG_RENAME = 0x00000010,
144 UNIT_FLAG_PREPARATION = 0x00000020, // don't take reagents for spells with SPELL_ATTR5_NO_REAGENT_WHILE_PREP
145 UNIT_FLAG_UNK_6 = 0x00000040,
146 UNIT_FLAG_NOT_ATTACKABLE_1 = 0x00000080, // ?? (UNIT_FLAG_PLAYER_CONTROLLED | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE
147 UNIT_FLAG_IMMUNE_TO_PC = 0x00000100, // disables combat/assistance with PlayerCharacters (PC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget
148 UNIT_FLAG_IMMUNE_TO_NPC = 0x00000200, // disables combat/assistance with NonPlayerCharacters (NPC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget
149 UNIT_FLAG_LOOTING = 0x00000400, // loot animation
150 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
151 UNIT_FLAG_PVP_ENABLING = 0x00001000, // changed in 3.0.3, now UNIT_BYTES_2_OFFSET_PVP_FLAG from UNIT_FIELD_BYTES_2
152 UNIT_FLAG_FORCE_NAMEPLATE = 0x00002000, // Force show nameplate, 9.0
153 UNIT_FLAG_CANT_SWIM = 0x00004000, // TITLE Can't Swim
154 UNIT_FLAG_CAN_SWIM = 0x00008000, // TITLE Can Swim DESCRIPTION shows swim animation in water
155 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
156 UNIT_FLAG_PACIFIED = 0x00020000, // 3.0.3 ok
157 UNIT_FLAG_STUNNED = 0x00040000, // 3.0.3 ok
159 UNIT_FLAG_ON_TAXI = 0x00100000, // disable casting at client side spell not allowed by taxi flight (mounted?), probably used with 0x4 flag
160 UNIT_FLAG_DISARMED = 0x00200000, // 3.0.3, disable melee spells casting..., "Required melee weapon" added to melee spells tooltip.
161 UNIT_FLAG_CONFUSED = 0x00400000,
162 UNIT_FLAG_FLEEING = 0x00800000,
163 UNIT_FLAG_POSSESSED = 0x01000000, // under direct client control by a player (possess or vehicle)
166 UNIT_FLAG_MOUNT = 0x08000000,
167 UNIT_FLAG_UNK_28 = 0x10000000,
168 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
169 UNIT_FLAG_SHEATHE = 0x40000000,
170 UNIT_FLAG_IMMUNE = 0x80000000, // Immune to damage
171
179
180 UNIT_FLAG_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG_DISALLOWED) // SKIP
182
184
185// Value masks for UNIT_FIELD_FLAGS_2
186// EnumUtils: DESCRIBE THIS
188{
190 UNIT_FLAG2_HIDE_BODY = 0x00000002, // TITLE Hide Body DESCRIPTION Hide unit model (show only player equip)
194 UNIT_FLAG2_DONT_FADE_IN = 0x00000020, // TITLE Don't Fade In DESCRIPTION Unit model instantly appears when summoned (does not fade in)
197 UNIT_FLAG2_DISABLE_PRED_STATS = 0x00000100, // Player has disabled predicted stats (Used by raid frames)
198 UNIT_FLAG2_ALLOW_CHANGING_TALENTS = 0x00000200, // Allows changing talents outside rest area
199 UNIT_FLAG2_DISARM_RANGED = 0x00000400, // this does not disable ranged weapon display (maybe additional flag needed?)
201 UNIT_FLAG2_RESTRICT_PARTY_INTERACTION = 0x00001000, // Restrict interaction to party or raid
202 UNIT_FLAG2_PREVENT_SPELL_CLICK = 0x00002000, // Prevent spellclick
203 UNIT_FLAG2_INTERACT_WHILE_HOSTILE = 0x00004000, // TITLE Interact while Hostile
204 UNIT_FLAG2_CANNOT_TURN = 0x00008000, // TITLE Cannot Turn
205 UNIT_FLAG2_UNK2 = 0x00010000,
206 UNIT_FLAG2_PLAY_DEATH_ANIM = 0x00020000, // Plays special death animation upon death
207 UNIT_FLAG2_ALLOW_CHEAT_SPELLS = 0x00040000, // Allows casting spells with AttributesEx7 & SPELL_ATTR7_IS_CHEAT_SPELL
208 UNIT_FLAG2_SUPPRESS_HIGHLIGHT_WHEN_TARGETED_OR_MOUSED_OVER = 0x00080000, // TITLE Suppress highlight when targeted or moused over
209 UNIT_FLAG2_TREAT_AS_RAID_UNIT_FOR_HELPFUL_SPELLS = 0x00100000, // TITLE Treat as Raid Unit For Helpful Spells (Instances ONLY)
210 UNIT_FLAG2_LARGE_AOI = 0x00200000, // TITLE Large (AOI)
211 UNIT_FLAG2_GIGANTIC_AOI = 0x00400000, // TITLE Gigantic (AOI)
213 UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS = 0x01000000, // TITLE AI will only swim if target swims
214 UNIT_FLAG2_DONT_GENERATE_COMBAT_LOG_WHEN_ENGAGED_WITH_NPCS = 0x02000000, // TITLE Don't generate combat log when engaged with NPC's
215 UNIT_FLAG2_UNTARGETABLE_BY_CLIENT = 0x04000000, // TITLE Untargetable By Client
216 UNIT_FLAG2_ATTACKER_IGNORES_MINIMUM_RANGES = 0x08000000, // TITLE Attacker Ignores Minimum Ranges
217 UNIT_FLAG2_UNINTERACTIBLE_IF_HOSTILE = 0x10000000, // TITLE Uninteractible If Hostile
219 UNIT_FLAG2_INFINITE_AOI = 0x40000000, // TITLE Infinite (AOI)
221
225 /* UNIT_FLAG2_REGENERATE_POWER | */ UNIT_FLAG2_RESTRICT_PARTY_INTERACTION |
231
232 UNIT_FLAG2_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG2_DISALLOWED) // SKIP
234
236
237// Value masks for UNIT_FIELD_FLAGS_3
238// EnumUtils: DESCRIBE THIS
240{
241 UNIT_FLAG3_UNK0 = 0x00000001,
242 UNIT_FLAG3_UNCONSCIOUS_ON_DEATH = 0x00000002, // TITLE Unconscious on Death DESCRIPTION Shows "Unconscious" in unit tooltip instead of "Dead"
243 UNIT_FLAG3_ALLOW_MOUNTED_COMBAT = 0x00000004, // TITLE Allow mounted combat
244 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
245 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
248 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
249 UNIT_FLAG3_IGNORE_COMBAT = 0x00000100, // TITLE Ignore Combat DESCRIPTION Same as SPELL_AURA_IGNORE_COMBAT
250 UNIT_FLAG3_SUPPRESS_NPC_FEEDBACK = 0x00000200, // TITLE Suppress NPC feedback DESCRIPTION Skips playing sounds on left clicking npc
251 UNIT_FLAG3_UNK10 = 0x00000400,
252 UNIT_FLAG3_UNK11 = 0x00000800,
253 UNIT_FLAG3_UNK12 = 0x00001000,
254 UNIT_FLAG3_FAKE_DEAD = 0x00002000, // TITLE Show as dead
255 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)
256 UNIT_FLAG3_UNTARGETABLE_FROM_UI = 0x00008000, // TITLE Untargetable from UI DESCRIPTION Cannot be targeted from lua functions StartAttack, TargetUnit, PetAttack
257 UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD = 0x00010000, // Prevents facing changes while interacting if creature has flag UNIT_FLAG3_FAKE_DEAD
259 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
260 UNIT_FLAG3_SUPPRESS_NPC_SOUNDS = 0x00080000, // TITLE Suppress NPC sounds DESCRIPTION Skips playing sounds on beginning and end of npc interaction
261 UNIT_FLAG3_UNK20 = 0x00100000,
262 UNIT_FLAG3_UNK21 = 0x00200000,
264 UNIT_FLAG3_UNK23 = 0x00800000,
266 UNIT_FLAG3_UNK25 = 0x02000000,
267 UNIT_FLAG3_UNK26 = 0x04000000,
268 UNIT_FLAG3_UNK27 = 0x08000000,
269 UNIT_FLAG3_UNK28 = 0x10000000,
270 UNIT_FLAG3_UNK29 = 0x20000000,
271 UNIT_FLAG3_UNK30 = 0x40000000,
272 UNIT_FLAG3_UNK31 = 0x80000000,
273
274 UNIT_FLAG3_DISALLOWED = (UNIT_FLAG3_UNK0 | /* UNIT_FLAG3_UNCONSCIOUS_ON_DEATH | */ /* UNIT_FLAG3_ALLOW_MOUNTED_COMBAT | */ UNIT_FLAG3_GARRISON_PET |
275 /* UNIT_FLAG3_UI_CAN_GET_POSITION | */ /* UNIT_FLAG3_AI_OBSTACLE | */ UNIT_FLAG3_ALTERNATIVE_DEFAULT_LANGUAGE | /* UNIT_FLAG3_SUPPRESS_ALL_NPC_FEEDBACK | */
277 UNIT_FLAG3_UNK12 | /* UNIT_FLAG3_FAKE_DEAD | */ /* UNIT_FLAG3_NO_FACING_ON_INTERACT_AND_FAST_FACING_CHASE | */ /* UNIT_FLAG3_UNTARGETABLE_FROM_UI | */
278 /* UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD | */ UNIT_FLAG3_ALREADY_SKINNED | /* UNIT_FLAG3_SUPPRESS_ALL_NPC_SOUNDS | */ /* UNIT_FLAG3_SUPPRESS_NPC_SOUNDS | */
279 UNIT_FLAG3_UNK20 | UNIT_FLAG3_UNK21 | /* UNIT_FLAG3_DONT_FADE_OUT | */ UNIT_FLAG3_UNK23 |
280 /* UNIT_FLAG3_FORCE_HIDE_NAMEPLATE | */ UNIT_FLAG3_UNK25 | UNIT_FLAG3_UNK26 | UNIT_FLAG3_UNK27 |
282 UNIT_FLAG3_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG3_DISALLOWED) // SKIP
284
286
288// EnumUtils: DESCRIBE THIS
290{
291 UNIT_NPC_FLAG_NONE = 0x00000000,
292 UNIT_NPC_FLAG_GOSSIP = 0x00000001, // TITLE has gossip menu DESCRIPTION 100%
293 UNIT_NPC_FLAG_QUESTGIVER = 0x00000002, // TITLE is quest giver DESCRIPTION 100%
294 UNIT_NPC_FLAG_UNK1 = 0x00000004,
295 UNIT_NPC_FLAG_UNK2 = 0x00000008,
296 UNIT_NPC_FLAG_TRAINER = 0x00000010, // TITLE is trainer DESCRIPTION 100%
297 UNIT_NPC_FLAG_TRAINER_CLASS = 0x00000020, // TITLE is class trainer DESCRIPTION 100%
298 UNIT_NPC_FLAG_TRAINER_PROFESSION = 0x00000040, // TITLE is profession trainer DESCRIPTION 100%
299 UNIT_NPC_FLAG_VENDOR = 0x00000080, // TITLE is vendor (generic) DESCRIPTION 100%
300 UNIT_NPC_FLAG_VENDOR_AMMO = 0x00000100, // TITLE is vendor (ammo) DESCRIPTION 100%, general goods vendor
301 UNIT_NPC_FLAG_VENDOR_FOOD = 0x00000200, // TITLE is vendor (food) DESCRIPTION 100%
302 UNIT_NPC_FLAG_VENDOR_POISON = 0x00000400, // TITLE is vendor (poison) DESCRIPTION guessed
303 UNIT_NPC_FLAG_VENDOR_REAGENT = 0x00000800, // TITLE is vendor (reagents) DESCRIPTION 100%
304 UNIT_NPC_FLAG_REPAIR = 0x00001000, // TITLE can repair DESCRIPTION 100%
305 UNIT_NPC_FLAG_FLIGHTMASTER = 0x00002000, // TITLE is flight master DESCRIPTION 100%
306 UNIT_NPC_FLAG_SPIRIT_HEALER = 0x00004000, // TITLE is spirit healer
307 UNIT_NPC_FLAG_AREA_SPIRIT_HEALER = 0x00008000, // TITLE is area spirit healer
308 UNIT_NPC_FLAG_INNKEEPER = 0x00010000, // TITLE is innkeeper
309 UNIT_NPC_FLAG_BANKER = 0x00020000, // TITLE is banker DESCRIPTION 100%
310 UNIT_NPC_FLAG_PETITIONER = 0x00040000, // TITLE handles guild/arena petitions DESCRIPTION 100% 0xC0000 = guild petitions, 0x40000 = arena team petitions
311 UNIT_NPC_FLAG_TABARDDESIGNER = 0x00080000, // TITLE is guild tabard designer DESCRIPTION 100%
312 UNIT_NPC_FLAG_BATTLEMASTER = 0x00100000, // TITLE is battlemaster DESCRIPTION 100%
313 UNIT_NPC_FLAG_AUCTIONEER = 0x00200000, // TITLE is auctioneer DESCRIPTION 100%
314 UNIT_NPC_FLAG_STABLEMASTER = 0x00400000, // TITLE is stable master DESCRIPTION 100%
315 UNIT_NPC_FLAG_GUILD_BANKER = 0x00800000, // TITLE is guild banker DESCRIPTION
316 UNIT_NPC_FLAG_SPELLCLICK = 0x01000000, // TITLE has spell click enabled
317 UNIT_NPC_FLAG_PLAYER_VEHICLE = 0x02000000, // TITLE is player vehicle DESCRIPTION players with mounts that have vehicle data should have it set
318 UNIT_NPC_FLAG_MAILBOX = 0x04000000, // TITLE is mailbox
319 UNIT_NPC_FLAG_ARTIFACT_POWER_RESPEC = 0x08000000, // TITLE can reset artifact powers
320 UNIT_NPC_FLAG_TRANSMOGRIFIER = 0x10000000, // TITLE transmogrification
321 UNIT_NPC_FLAG_VAULTKEEPER = 0x20000000, // TITLE is void storage
322 UNIT_NPC_FLAG_WILD_BATTLE_PET = 0x40000000, // TITLE is wild battle pet DESCRIPTION Pet that player can fight (Battle Pet)
323 UNIT_NPC_FLAG_BLACK_MARKET = 0x80000000 // TITLE is black market
325
327
328// EnumUtils: DESCRIBE THIS
330{
332 UNIT_NPC_FLAG_2_ITEM_UPGRADE_MASTER = 0x00000001, // TITLE is item upgrade
333 UNIT_NPC_FLAG_2_GARRISON_ARCHITECT = 0x00000002, // TITLE is garrison architect DESCRIPTION garrison building placement UI
334 UNIT_NPC_FLAG_2_STEERING = 0x00000004, // TITLE is avoiding obstacles DESCRIPTION clientside pathfinding
335 UNIT_NPC_FLAG_2_AREA_SPIRIT_HEALER_INDIVIDUAL = 0x00000008, // TITLE is area spirit healer individual DESCRIPTION area spirit healer with individual timers
336 UNIT_NPC_FLAG_2_SHIPMENT_CRAFTER = 0x00000010, // TITLE is shipment crafter DESCRIPTION garrison work orders
337 UNIT_NPC_FLAG_2_GARRISON_MISSION_NPC = 0x00000020, // TITLE is garrison mission
338 UNIT_NPC_FLAG_2_TRADESKILL_NPC = 0x00000040, // TITLE is tradeskill DESCRIPTION crafting at npc
339 UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW = 0x00000080, // TITLE is black market view DESCRIPTION only allows viewing black market auctions, no bidding
340 UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC = 0x00000200, // TITLE is garrrison talent
341 UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR = 0x00000400, // TITLE is contribution collector
342 UNIT_NPC_FLAG_2_AZERITE_RESPEC = 0x00004000, // TITLE is azerite respec
343 UNIT_NPC_FLAG_2_ISLANDS_QUEUE = 0x00008000, // TITLE is islands queue
345};
346
348
350{
351 MOVEMENTFLAG_NONE = 0x00000000,
356 MOVEMENTFLAG_LEFT = 0x00000010,
357 MOVEMENTFLAG_RIGHT = 0x00000020,
360 MOVEMENTFLAG_WALKING = 0x00000100, // Walking
361 MOVEMENTFLAG_DISABLE_GRAVITY = 0x00000200, // Former MOVEMENTFLAG_LEVITATING. This is used when walking is not possible.
362 MOVEMENTFLAG_ROOT = 0x00000400, // Must not be set along with MOVEMENTFLAG_MASK_MOVING
363 MOVEMENTFLAG_FALLING = 0x00000800, // damage dealt on that type of falling
372 MOVEMENTFLAG_SWIMMING = 0x00100000, // appears with fly flag also
373 MOVEMENTFLAG_ASCENDING = 0x00200000, // press "space" when flying
375 MOVEMENTFLAG_CAN_FLY = 0x00800000, // Appears when unit can fly. For example, appears when a player sits on a mount.
376 MOVEMENTFLAG_FLYING = 0x01000000, // unit is actually flying. pretty sure this is only used for players. creatures use disable_gravity
377 MOVEMENTFLAG_SPLINE_ELEVATION = 0x02000000, // used for flight paths
378 MOVEMENTFLAG_WATERWALKING = 0x04000000, // prevent unit from falling through water
379 MOVEMENTFLAG_FALLING_SLOW = 0x08000000, // active rogue safe fall spell (passive)
380 MOVEMENTFLAG_HOVER = 0x10000000, // hover, cannot jump
382
386
389
392
393 // Movement flags allowed for creature in CreateObject - we need to keep all other enabled serverside
394 // to properly calculate all movement
398
402
407
409{
410 MOVEMENTFLAG2_NONE = 0x00000000,
417 MOVEMENTFLAG2_WATERWALKING_FULL_PITCH = 0x00000040, // will always waterwalk, even if facing the camera directly down
420 MOVEMENTFLAG2_UNK9 = 0x00000200, // terrain normal calculation is disabled if this flag is not present, client automatically handles setting this flag
425 // these flags are not sent
431
433{
434 MOVEMENTFLAG3_NONE = 0x00000000,
438};
439
441{
443 HITINFO_UNK1 = 0x00000001, // req correct packet structure
445 HITINFO_OFFHAND = 0x00000004,
446 HITINFO_UNK2 = 0x00000008,
447 HITINFO_MISS = 0x00000010,
452 HITINFO_CRITICALHIT = 0x00000200, // critical hit
453 HITINFO_UNK10 = 0x00000400,
454 HITINFO_UNK11 = 0x00000800,
455 HITINFO_UNK12 = 0x00001000,
456 HITINFO_BLOCK = 0x00002000, // blocked damage
457 HITINFO_UNK14 = 0x00004000, // set only if meleespellid is present// no world text when victim is hit for 0 dmg(HideWorldTextForNoDamage?)
458 HITINFO_UNK15 = 0x00008000, // player victim?// something related to blod sprut visual (BloodSpurtInBack?)
459 HITINFO_GLANCING = 0x00010000,
460 HITINFO_CRUSHING = 0x00020000,
462 HITINFO_UNK19 = 0x00080000,
463 HITINFO_UNK20 = 0x00100000,
464 HITINFO_SWINGNOHITSOUND = 0x00200000, // unused?
465 HITINFO_UNK22 = 0x00400000,
466 HITINFO_RAGE_GAIN = 0x00800000,
467 HITINFO_FAKE_DAMAGE = 0x01000000 // enables damage animation even if no damage done, set only if no damage
469
470#define MAX_DECLINED_NAME_CASES 5
471
473{
475};
476
478{
479 ACT_PASSIVE = 0x01, // 0x01 - passive
480 ACT_DISABLED = 0x81, // 0x80 - castable
481 ACT_ENABLED = 0xC1, // 0x40 | 0x80 - auto cast + castable
482 ACT_COMMAND = 0x07, // 0x01 | 0x02 | 0x04
483 ACT_REACTION = 0x06, // 0x02 | 0x04
484 ACT_DECIDE = 0x00 // custom
486
488{
492 REACT_ASSIST = 3
494
495inline char const* DescribeReactState(ReactStates state)
496{
497 switch (state)
498 {
499 case REACT_PASSIVE: return "PASSIVE";
500 case REACT_DEFENSIVE: return "DEFENSIVE";
501 case REACT_AGGRESSIVE: return "AGGRESSIVE";
502 case REACT_ASSIST: return "ASSIST";
503 default: return "<Invalid react state>";
504 }
505}
506
508{
515
516#endif // UnitDefines_h__
uint8_t uint8
Definition: Define.h:145
uint32_t uint32
Definition: Define.h:143
#define DEFINE_ENUM_FLAG(enumType)
Definition: EnumFlag.h:26
UnitMoveType
Definition: UnitDefines.h:111
@ MOVE_FLIGHT
Definition: UnitDefines.h:118
@ MOVE_SWIM
Definition: UnitDefines.h:115
@ MOVE_TURN_RATE
Definition: UnitDefines.h:117
@ MOVE_FLIGHT_BACK
Definition: UnitDefines.h:119
@ MOVE_SWIM_BACK
Definition: UnitDefines.h:116
@ MOVE_RUN
Definition: UnitDefines.h:113
@ MOVE_PITCH_RATE
Definition: UnitDefines.h:120
@ MOVE_RUN_BACK
Definition: UnitDefines.h:114
@ MOVE_WALK
Definition: UnitDefines.h:112
UnitFlags2
Definition: UnitDefines.h:188
@ UNIT_FLAG2_UNK2
Definition: UnitDefines.h:205
@ UNIT_FLAG2_MIRROR_IMAGE
Definition: UnitDefines.h:193
@ UNIT_FLAG2_ALLOWED
Definition: UnitDefines.h:232
@ UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS
Definition: UnitDefines.h:213
@ UNIT_FLAG2_INTERACT_WHILE_HOSTILE
Definition: UnitDefines.h:203
@ UNIT_FLAG2_UNUSED_13
Definition: UnitDefines.h:220
@ UNIT_FLAG2_PLAY_DEATH_ANIM
Definition: UnitDefines.h:206
@ UNIT_FLAG2_HIDE_BODY
Definition: UnitDefines.h:190
@ UNIT_FLAG2_IGNORE_REPUTATION
Definition: UnitDefines.h:191
@ UNIT_FLAG2_PREVENT_SPELL_CLICK
Definition: UnitDefines.h:202
@ UNIT_FLAG2_UNINTERACTIBLE_IF_HOSTILE
Definition: UnitDefines.h:217
@ UNIT_FLAG2_RESTRICT_PARTY_INTERACTION
Definition: UnitDefines.h:201
@ UNIT_FLAG2_DISABLE_PRED_STATS
Definition: UnitDefines.h:197
@ UNIT_FLAG2_COMPREHEND_LANG
Definition: UnitDefines.h:192
@ UNIT_FLAG2_CANNOT_TURN
Definition: UnitDefines.h:204
@ UNIT_FLAG2_FORCE_MOVEMENT
Definition: UnitDefines.h:195
@ UNIT_FLAG2_GIGANTIC_AOI
Definition: UnitDefines.h:211
@ UNIT_FLAG2_ALLOW_CHEAT_SPELLS
Definition: UnitDefines.h:207
@ UNIT_FLAG2_FEIGN_DEATH
Definition: UnitDefines.h:189
@ UNIT_FLAG2_ATTACKER_IGNORES_MINIMUM_RANGES
Definition: UnitDefines.h:216
@ UNIT_FLAG2_INFINITE_AOI
Definition: UnitDefines.h:219
@ UNIT_FLAG2_NO_ACTIONS
Definition: UnitDefines.h:212
@ UNIT_FLAG2_REGENERATE_POWER
Definition: UnitDefines.h:200
@ UNIT_FLAG2_DONT_FADE_IN
Definition: UnitDefines.h:194
@ UNIT_FLAG2_DONT_GENERATE_COMBAT_LOG_WHEN_ENGAGED_WITH_NPCS
Definition: UnitDefines.h:214
@ UNIT_FLAG2_UNUSED_11
Definition: UnitDefines.h:218
@ UNIT_FLAG2_DISALLOWED
Definition: UnitDefines.h:222
@ UNIT_FLAG2_ALLOW_CHANGING_TALENTS
Definition: UnitDefines.h:198
@ UNIT_FLAG2_SUPPRESS_HIGHLIGHT_WHEN_TARGETED_OR_MOUSED_OVER
Definition: UnitDefines.h:208
@ UNIT_FLAG2_DISARM_OFFHAND
Definition: UnitDefines.h:196
@ UNIT_FLAG2_LARGE_AOI
Definition: UnitDefines.h:210
@ UNIT_FLAG2_TREAT_AS_RAID_UNIT_FOR_HELPFUL_SPELLS
Definition: UnitDefines.h:209
@ UNIT_FLAG2_UNTARGETABLE_BY_CLIENT
Definition: UnitDefines.h:215
@ UNIT_FLAG2_DISARM_RANGED
Definition: UnitDefines.h:199
UnitPetFlag
Definition: UnitDefines.h:102
@ UNIT_PET_FLAG_NONE
Definition: UnitDefines.h:103
@ UNIT_PET_FLAG_CAN_BE_ABANDONED
Definition: UnitDefines.h:105
@ UNIT_PET_FLAG_CAN_BE_RENAMED
Definition: UnitDefines.h:104
HitInfo
Definition: UnitDefines.h:441
@ HITINFO_PARTIAL_ABSORB
Definition: UnitDefines.h:449
@ HITINFO_UNK2
Definition: UnitDefines.h:446
@ HITINFO_FULL_RESIST
Definition: UnitDefines.h:450
@ HITINFO_NORMALSWING
Definition: UnitDefines.h:442
@ HITINFO_UNK22
Definition: UnitDefines.h:465
@ HITINFO_BLOCK
Definition: UnitDefines.h:456
@ HITINFO_UNK15
Definition: UnitDefines.h:458
@ HITINFO_UNK19
Definition: UnitDefines.h:462
@ HITINFO_CRUSHING
Definition: UnitDefines.h:460
@ HITINFO_UNK20
Definition: UnitDefines.h:463
@ HITINFO_FAKE_DAMAGE
Definition: UnitDefines.h:467
@ HITINFO_SWINGNOHITSOUND
Definition: UnitDefines.h:464
@ HITINFO_UNK12
Definition: UnitDefines.h:455
@ HITINFO_MISS
Definition: UnitDefines.h:447
@ HITINFO_RAGE_GAIN
Definition: UnitDefines.h:466
@ HITINFO_FULL_ABSORB
Definition: UnitDefines.h:448
@ HITINFO_NO_ANIMATION
Definition: UnitDefines.h:461
@ HITINFO_OFFHAND
Definition: UnitDefines.h:445
@ HITINFO_UNK1
Definition: UnitDefines.h:443
@ HITINFO_GLANCING
Definition: UnitDefines.h:459
@ HITINFO_UNK11
Definition: UnitDefines.h:454
@ HITINFO_CRITICALHIT
Definition: UnitDefines.h:452
@ HITINFO_PARTIAL_RESIST
Definition: UnitDefines.h:451
@ HITINFO_AFFECTS_VICTIM
Definition: UnitDefines.h:444
@ HITINFO_UNK14
Definition: UnitDefines.h:457
@ HITINFO_UNK10
Definition: UnitDefines.h:453
ReactStates
Definition: UnitDefines.h:488
@ REACT_DEFENSIVE
Definition: UnitDefines.h:490
@ REACT_PASSIVE
Definition: UnitDefines.h:489
@ REACT_AGGRESSIVE
Definition: UnitDefines.h:491
@ REACT_ASSIST
Definition: UnitDefines.h:492
UnitStandStateType
Definition: UnitDefines.h:36
@ UNIT_STAND_STATE_SLEEP
Definition: UnitDefines.h:40
@ UNIT_STAND_STATE_SIT_HIGH_CHAIR
Definition: UnitDefines.h:43
@ UNIT_STAND_STATE_SUBMERGED
Definition: UnitDefines.h:46
@ UNIT_STAND_STATE_SIT_MEDIUM_CHAIR
Definition: UnitDefines.h:42
@ UNIT_STAND_STATE_SIT_LOW_CHAIR
Definition: UnitDefines.h:41
@ UNIT_STAND_STATE_DEAD
Definition: UnitDefines.h:44
@ UNIT_STAND_STATE_KNEEL
Definition: UnitDefines.h:45
@ UNIT_STAND_STATE_SIT_CHAIR
Definition: UnitDefines.h:39
@ MAX_UNIT_STAND_STATE
Definition: UnitDefines.h:48
@ UNIT_STAND_STATE_STAND
Definition: UnitDefines.h:37
@ UNIT_STAND_STATE_SIT
Definition: UnitDefines.h:38
MovementFlags
Definition: UnitDefines.h:350
@ MOVEMENTFLAG_MASK_PLAYER_ONLY
Definition: UnitDefines.h:400
@ MOVEMENTFLAG_DESCENDING
Definition: UnitDefines.h:374
@ MOVEMENTFLAG_MASK_CREATURE_ALLOWED
Definition: UnitDefines.h:395
@ MOVEMENTFLAG_PITCH_DOWN
Definition: UnitDefines.h:359
@ MOVEMENTFLAG_PENDING_STRAFE_STOP
Definition: UnitDefines.h:366
@ MOVEMENTFLAG_PITCH_UP
Definition: UnitDefines.h:358
@ MOVEMENTFLAG_RIGHT
Definition: UnitDefines.h:357
@ MOVEMENTFLAG_PENDING_STOP
Definition: UnitDefines.h:365
@ MOVEMENTFLAG_FORWARD
Definition: UnitDefines.h:352
@ MOVEMENTFLAG_PENDING_STRAFE_LEFT
Definition: UnitDefines.h:369
@ MOVEMENTFLAG_NONE
Definition: UnitDefines.h:351
@ MOVEMENTFLAG_STRAFE_LEFT
Definition: UnitDefines.h:354
@ MOVEMENTFLAG_BACKWARD
Definition: UnitDefines.h:353
@ MOVEMENTFLAG_WATERWALKING
Definition: UnitDefines.h:378
@ MOVEMENTFLAG_MASK_MOVING
Definition: UnitDefines.h:383
@ MOVEMENTFLAG_DISABLE_GRAVITY
Definition: UnitDefines.h:361
@ MOVEMENTFLAG_PENDING_BACKWARD
Definition: UnitDefines.h:368
@ MOVEMENTFLAG_FLYING
Definition: UnitDefines.h:376
@ MOVEMENTFLAG_FALLING_SLOW
Definition: UnitDefines.h:379
@ MOVEMENTFLAG_PENDING_STRAFE_RIGHT
Definition: UnitDefines.h:370
@ MOVEMENTFLAG_CAN_FLY
Definition: UnitDefines.h:375
@ MOVEMENTFLAG_ROOT
Definition: UnitDefines.h:362
@ MOVEMENTFLAG_MASK_TURNING
Definition: UnitDefines.h:387
@ MOVEMENTFLAG_FALLING
Definition: UnitDefines.h:363
@ MOVEMENTFLAG_LEFT
Definition: UnitDefines.h:356
@ MOVEMENTFLAG_MASK_MOVING_FLY
Definition: UnitDefines.h:390
@ MOVEMENTFLAG_STRAFE_RIGHT
Definition: UnitDefines.h:355
@ MOVEMENTFLAG_FALLING_FAR
Definition: UnitDefines.h:364
@ MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE
Movement flags that have change status opcodes associated for players.
Definition: UnitDefines.h:404
@ MOVEMENTFLAG_SWIMMING
Definition: UnitDefines.h:372
@ MOVEMENTFLAG_ASCENDING
Definition: UnitDefines.h:373
@ MOVEMENTFLAG_PENDING_FORWARD
Definition: UnitDefines.h:367
@ MOVEMENTFLAG_HOVER
Definition: UnitDefines.h:380
@ MOVEMENTFLAG_SPLINE_ELEVATION
Definition: UnitDefines.h:377
@ MOVEMENTFLAG_PENDING_ROOT
Definition: UnitDefines.h:371
@ MOVEMENTFLAG_WALKING
Definition: UnitDefines.h:360
@ MOVEMENTFLAG_DISABLE_COLLISION
Definition: UnitDefines.h:381
MovementFlags2
Definition: UnitDefines.h:409
@ MOVEMENTFLAG2_CAN_DOUBLE_JUMP
Definition: UnitDefines.h:423
@ MOVEMENTFLAG2_CAN_SWIM_TO_FLY_TRANS
Definition: UnitDefines.h:419
@ MOVEMENTFLAG2_UNK9
Definition: UnitDefines.h:420
@ MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING
Definition: UnitDefines.h:415
@ MOVEMENTFLAG2_INTERPOLATED_PITCHING
Definition: UnitDefines.h:429
@ MOVEMENTFLAG2_INTERPOLATED_MOVEMENT
Definition: UnitDefines.h:427
@ MOVEMENTFLAG2_CAN_TURN_WHILE_FALLING
Definition: UnitDefines.h:421
@ MOVEMENTFLAG2_AWAITING_LOAD
Definition: UnitDefines.h:426
@ MOVEMENTFLAG2_WATERWALKING_FULL_PITCH
Definition: UnitDefines.h:417
@ MOVEMENTFLAG2_DOUBLE_JUMP
Definition: UnitDefines.h:424
@ MOVEMENTFLAG2_NO_STRAFE
Definition: UnitDefines.h:411
@ MOVEMENTFLAG2_IGNORE_MOVEMENT_FORCES
Definition: UnitDefines.h:422
@ MOVEMENTFLAG2_IS_VEHICLE_EXIT_VOLUNTARY
Definition: UnitDefines.h:416
@ MOVEMENTFLAG2_INTERPOLATED_TURNING
Definition: UnitDefines.h:428
@ MOVEMENTFLAG2_FULL_SPEED_PITCHING
Definition: UnitDefines.h:414
@ MOVEMENTFLAG2_VEHICLE_PASSENGER_IS_TRANSITION_ALLOWED
Definition: UnitDefines.h:418
@ MOVEMENTFLAG2_NONE
Definition: UnitDefines.h:410
@ MOVEMENTFLAG2_FULL_SPEED_TURNING
Definition: UnitDefines.h:413
@ MOVEMENTFLAG2_NO_JUMPING
Definition: UnitDefines.h:412
#define MAX_DECLINED_NAME_CASES
Definition: UnitDefines.h:470
ActiveStates
Definition: UnitDefines.h:478
@ ACT_REACTION
Definition: UnitDefines.h:483
@ ACT_DECIDE
Definition: UnitDefines.h:484
@ ACT_COMMAND
Definition: UnitDefines.h:482
@ ACT_ENABLED
Definition: UnitDefines.h:481
@ ACT_PASSIVE
Definition: UnitDefines.h:479
@ ACT_DISABLED
Definition: UnitDefines.h:480
NPCFlags
Non Player Character flags.
Definition: UnitDefines.h:290
@ UNIT_NPC_FLAG_VENDOR_AMMO
Definition: UnitDefines.h:300
@ UNIT_NPC_FLAG_TABARDDESIGNER
Definition: UnitDefines.h:311
@ UNIT_NPC_FLAG_SPIRIT_HEALER
Definition: UnitDefines.h:306
@ UNIT_NPC_FLAG_BANKER
Definition: UnitDefines.h:309
@ UNIT_NPC_FLAG_AUCTIONEER
Definition: UnitDefines.h:313
@ UNIT_NPC_FLAG_UNK2
Definition: UnitDefines.h:295
@ UNIT_NPC_FLAG_VENDOR_POISON
Definition: UnitDefines.h:302
@ UNIT_NPC_FLAG_AREA_SPIRIT_HEALER
Definition: UnitDefines.h:307
@ UNIT_NPC_FLAG_GUILD_BANKER
Definition: UnitDefines.h:315
@ UNIT_NPC_FLAG_VENDOR
Definition: UnitDefines.h:299
@ UNIT_NPC_FLAG_STABLEMASTER
Definition: UnitDefines.h:314
@ UNIT_NPC_FLAG_VENDOR_REAGENT
Definition: UnitDefines.h:303
@ UNIT_NPC_FLAG_GOSSIP
Definition: UnitDefines.h:292
@ UNIT_NPC_FLAG_NONE
Definition: UnitDefines.h:291
@ UNIT_NPC_FLAG_BATTLEMASTER
Definition: UnitDefines.h:312
@ UNIT_NPC_FLAG_VENDOR_FOOD
Definition: UnitDefines.h:301
@ UNIT_NPC_FLAG_QUESTGIVER
Definition: UnitDefines.h:293
@ UNIT_NPC_FLAG_ARTIFACT_POWER_RESPEC
Definition: UnitDefines.h:319
@ UNIT_NPC_FLAG_INNKEEPER
Definition: UnitDefines.h:308
@ UNIT_NPC_FLAG_SPELLCLICK
Definition: UnitDefines.h:316
@ UNIT_NPC_FLAG_UNK1
Definition: UnitDefines.h:294
@ UNIT_NPC_FLAG_TRANSMOGRIFIER
Definition: UnitDefines.h:320
@ UNIT_NPC_FLAG_BLACK_MARKET
Definition: UnitDefines.h:323
@ UNIT_NPC_FLAG_MAILBOX
Definition: UnitDefines.h:318
@ UNIT_NPC_FLAG_PLAYER_VEHICLE
Definition: UnitDefines.h:317
@ UNIT_NPC_FLAG_FLIGHTMASTER
Definition: UnitDefines.h:305
@ UNIT_NPC_FLAG_TRAINER_CLASS
Definition: UnitDefines.h:297
@ UNIT_NPC_FLAG_VAULTKEEPER
Definition: UnitDefines.h:321
@ UNIT_NPC_FLAG_TRAINER_PROFESSION
Definition: UnitDefines.h:298
@ UNIT_NPC_FLAG_REPAIR
Definition: UnitDefines.h:304
@ UNIT_NPC_FLAG_TRAINER
Definition: UnitDefines.h:296
@ UNIT_NPC_FLAG_PETITIONER
Definition: UnitDefines.h:310
@ UNIT_NPC_FLAG_WILD_BATTLE_PET
Definition: UnitDefines.h:322
DamageEffectType
Definition: UnitDefines.h:126
@ SELF_DAMAGE
Definition: UnitDefines.h:132
@ DIRECT_DAMAGE
Definition: UnitDefines.h:127
@ NODAMAGE
Definition: UnitDefines.h:131
@ DOT
Definition: UnitDefines.h:129
@ SPELL_DIRECT_DAMAGE
Definition: UnitDefines.h:128
@ HEAL
Definition: UnitDefines.h:130
UnitFlags3
Definition: UnitDefines.h:240
@ UNIT_FLAG3_UI_CAN_GET_POSITION
Definition: UnitDefines.h:245
@ UNIT_FLAG3_UNK28
Definition: UnitDefines.h:269
@ UNIT_FLAG3_SUPPRESS_ALL_NPC_SOUNDS
Definition: UnitDefines.h:259
@ UNIT_FLAG3_ALLOWED
Definition: UnitDefines.h:282
@ UNIT_FLAG3_UNK29
Definition: UnitDefines.h:270
@ UNIT_FLAG3_UNK11
Definition: UnitDefines.h:252
@ UNIT_FLAG3_SUPPRESS_NPC_FEEDBACK
Definition: UnitDefines.h:250
@ UNIT_FLAG3_UNK20
Definition: UnitDefines.h:261
@ UNIT_FLAG3_UNCONSCIOUS_ON_DEATH
Definition: UnitDefines.h:242
@ UNIT_FLAG3_UNK26
Definition: UnitDefines.h:267
@ UNIT_FLAG3_AI_OBSTACLE
Definition: UnitDefines.h:246
@ UNIT_FLAG3_FAKE_DEAD
Definition: UnitDefines.h:254
@ UNIT_FLAG3_DISALLOWED
Definition: UnitDefines.h:274
@ UNIT_FLAG3_UNK10
Definition: UnitDefines.h:251
@ UNIT_FLAG3_UNK0
Definition: UnitDefines.h:241
@ UNIT_FLAG3_UNTARGETABLE_FROM_UI
Definition: UnitDefines.h:256
@ UNIT_FLAG3_UNK23
Definition: UnitDefines.h:264
@ UNIT_FLAG3_UNK12
Definition: UnitDefines.h:253
@ UNIT_FLAG3_UNK27
Definition: UnitDefines.h:268
@ UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD
Definition: UnitDefines.h:257
@ UNIT_FLAG3_NO_FACING_ON_INTERACT_AND_FAST_FACING_CHASE
Definition: UnitDefines.h:255
@ UNIT_FLAG3_FORCE_HIDE_NAMEPLATE
Definition: UnitDefines.h:265
@ UNIT_FLAG3_ALTERNATIVE_DEFAULT_LANGUAGE
Definition: UnitDefines.h:247
@ UNIT_FLAG3_UNK30
Definition: UnitDefines.h:271
@ UNIT_FLAG3_GARRISON_PET
Definition: UnitDefines.h:244
@ UNIT_FLAG3_UNK21
Definition: UnitDefines.h:262
@ UNIT_FLAG3_ALREADY_SKINNED
Definition: UnitDefines.h:258
@ UNIT_FLAG3_IGNORE_COMBAT
Definition: UnitDefines.h:249
@ UNIT_FLAG3_ALLOW_MOUNTED_COMBAT
Definition: UnitDefines.h:243
@ UNIT_FLAG3_UNK25
Definition: UnitDefines.h:266
@ UNIT_FLAG3_DONT_FADE_OUT
Definition: UnitDefines.h:263
@ UNIT_FLAG3_SUPPRESS_ALL_NPC_FEEDBACK
Definition: UnitDefines.h:248
@ UNIT_FLAG3_UNK31
Definition: UnitDefines.h:272
@ UNIT_FLAG3_SUPPRESS_NPC_SOUNDS
Definition: UnitDefines.h:260
SheathState
Definition: UnitDefines.h:76
@ SHEATH_STATE_UNARMED
Definition: UnitDefines.h:77
@ SHEATH_STATE_MELEE
Definition: UnitDefines.h:78
@ MAX_SHEATH_STATE
Definition: UnitDefines.h:81
@ SHEATH_STATE_RANGED
Definition: UnitDefines.h:79
MovementFlags3
Definition: UnitDefines.h:433
@ MOVEMENTFLAG3_ADV_FLYING
Definition: UnitDefines.h:437
@ MOVEMENTFLAG3_DISABLE_INERTIA
Definition: UnitDefines.h:435
@ MOVEMENTFLAG3_CAN_ADV_FLY
Definition: UnitDefines.h:436
@ MOVEMENTFLAG3_NONE
Definition: UnitDefines.h:434
NPCFlags2
Definition: UnitDefines.h:330
@ UNIT_NPC_FLAG_2_GARRISON_ARCHITECT
Definition: UnitDefines.h:333
@ UNIT_NPC_FLAG_2_STEERING
Definition: UnitDefines.h:334
@ UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW
Definition: UnitDefines.h:339
@ UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR
Definition: UnitDefines.h:341
@ UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC
Definition: UnitDefines.h:340
@ UNIT_NPC_FLAG_2_ITEM_UPGRADE_MASTER
Definition: UnitDefines.h:332
@ UNIT_NPC_FLAG_2_AZERITE_RESPEC
Definition: UnitDefines.h:342
@ UNIT_NPC_FLAG_2_NONE
Definition: UnitDefines.h:331
@ UNIT_NPC_FLAG_2_TRADESKILL_NPC
Definition: UnitDefines.h:338
@ UNIT_NPC_FLAG_2_ISLANDS_QUEUE
Definition: UnitDefines.h:343
@ UNIT_NPC_FLAG_2_AREA_SPIRIT_HEALER_INDIVIDUAL
Definition: UnitDefines.h:335
@ UNIT_NPC_FLAG_2_SHIPMENT_CRAFTER
Definition: UnitDefines.h:336
@ UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION
Definition: UnitDefines.h:344
@ UNIT_NPC_FLAG_2_GARRISON_MISSION_NPC
Definition: UnitDefines.h:337
char const * DescribeReactState(ReactStates state)
Definition: UnitDefines.h:495
UnitPVPStateFlags
Definition: UnitDefines.h:86
@ UNIT_BYTE2_FLAG_UNK1
Definition: UnitDefines.h:89
@ UNIT_BYTE2_FLAG_UNK6
Definition: UnitDefines.h:94
@ UNIT_BYTE2_FLAG_PVP
Definition: UnitDefines.h:88
@ UNIT_BYTE2_FLAG_FFA_PVP
Definition: UnitDefines.h:90
@ UNIT_BYTE2_FLAG_UNK4
Definition: UnitDefines.h:92
@ UNIT_BYTE2_FLAG_UNK5
Definition: UnitDefines.h:93
@ UNIT_BYTE2_FLAG_UNK7
Definition: UnitDefines.h:95
@ UNIT_BYTE2_FLAG_NONE
Definition: UnitDefines.h:87
@ UNIT_BYTE2_FLAG_SANCTUARY
Definition: UnitDefines.h:91
AnimTier
Definition: UnitDefines.h:64
UnitVisFlags
Definition: UnitDefines.h:53
@ UNIT_VIS_FLAGS_UNTRACKABLE
Definition: UnitDefines.h:56
@ UNIT_VIS_FLAGS_STEALTHED
Definition: UnitDefines.h:55
@ UNIT_VIS_FLAGS_UNK5
Definition: UnitDefines.h:58
@ UNIT_VIS_FLAGS_INVISIBLE
Definition: UnitDefines.h:54
@ UNIT_VIS_FLAGS_UNK4
Definition: UnitDefines.h:57
@ UNIT_VIS_FLAGS_ALL
Definition: UnitDefines.h:59
CommandStates
Definition: UnitDefines.h:508
@ COMMAND_ATTACK
Definition: UnitDefines.h:511
@ COMMAND_MOVE_TO
Definition: UnitDefines.h:513
@ COMMAND_ABANDON
Definition: UnitDefines.h:512
@ COMMAND_STAY
Definition: UnitDefines.h:509
@ COMMAND_FOLLOW
Definition: UnitDefines.h:510
UnitFlags
Definition: UnitDefines.h:138
@ UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT
Definition: UnitDefines.h:168
@ UNIT_FLAG_STUNNED
Definition: UnitDefines.h:157
@ UNIT_FLAG_PVP_ENABLING
Definition: UnitDefines.h:151
@ UNIT_FLAG_NON_ATTACKABLE
Definition: UnitDefines.h:140
@ UNIT_FLAG_UNK_6
Definition: UnitDefines.h:145
@ UNIT_FLAG_IN_COMBAT
Definition: UnitDefines.h:158
@ UNIT_FLAG_PREPARATION
Definition: UnitDefines.h:144
@ UNIT_FLAG_NON_ATTACKABLE_2
Definition: UnitDefines.h:155
@ UNIT_FLAG_IMMUNE_TO_NPC
Definition: UnitDefines.h:148
@ UNIT_FLAG_ON_TAXI
Definition: UnitDefines.h:159
@ UNIT_FLAG_ALLOWED
Definition: UnitDefines.h:180
@ UNIT_FLAG_POSSESSED
Definition: UnitDefines.h:163
@ UNIT_FLAG_IMMUNE
Definition: UnitDefines.h:170
@ UNIT_FLAG_SERVER_CONTROLLED
Definition: UnitDefines.h:139
@ UNIT_FLAG_DISARMED
Definition: UnitDefines.h:160
@ UNIT_FLAG_PACIFIED
Definition: UnitDefines.h:156
@ UNIT_FLAG_CAN_SWIM
Definition: UnitDefines.h:154
@ UNIT_FLAG_REMOVE_CLIENT_CONTROL
Definition: UnitDefines.h:141
@ UNIT_FLAG_CONFUSED
Definition: UnitDefines.h:161
@ UNIT_FLAG_FLEEING
Definition: UnitDefines.h:162
@ UNIT_FLAG_CANT_SWIM
Definition: UnitDefines.h:153
@ UNIT_FLAG_RENAME
Definition: UnitDefines.h:143
@ UNIT_FLAG_LOOTING
Definition: UnitDefines.h:149
@ UNIT_FLAG_UNINTERACTIBLE
Definition: UnitDefines.h:164
@ UNIT_FLAG_IMMUNE_TO_PC
Definition: UnitDefines.h:147
@ UNIT_FLAG_NOT_ATTACKABLE_1
Definition: UnitDefines.h:146
@ UNIT_FLAG_PLAYER_CONTROLLED
Definition: UnitDefines.h:142
@ UNIT_FLAG_DISALLOWED
Definition: UnitDefines.h:172
@ UNIT_FLAG_FORCE_NAMEPLATE
Definition: UnitDefines.h:152
@ UNIT_FLAG_SKINNABLE
Definition: UnitDefines.h:165
@ UNIT_FLAG_MOUNT
Definition: UnitDefines.h:166
@ UNIT_FLAG_PET_IN_COMBAT
Definition: UnitDefines.h:150
@ UNIT_FLAG_UNK_28
Definition: UnitDefines.h:167
@ UNIT_FLAG_SHEATHE
Definition: UnitDefines.h:169
std::string name[MAX_DECLINED_NAME_CASES]
Definition: UnitDefines.h:474