34 case UNIT_FLAG_SERVER_CONTROLLED:
return {
"UNIT_FLAG_SERVER_CONTROLLED",
"UNIT_FLAG_SERVER_CONTROLLED",
"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" };
35 case UNIT_FLAG_NON_ATTACKABLE:
return {
"UNIT_FLAG_NON_ATTACKABLE",
"UNIT_FLAG_NON_ATTACKABLE",
"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" };
36 case UNIT_FLAG_REMOVE_CLIENT_CONTROL:
return {
"UNIT_FLAG_REMOVE_CLIENT_CONTROL",
"UNIT_FLAG_REMOVE_CLIENT_CONTROL",
"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)" };
37 case UNIT_FLAG_PLAYER_CONTROLLED:
return {
"UNIT_FLAG_PLAYER_CONTROLLED",
"UNIT_FLAG_PLAYER_CONTROLLED",
"controlled by player, use _IMMUNE_TO_PC instead of _IMMUNE_TO_NPC" };
38 case UNIT_FLAG_RENAME:
return {
"UNIT_FLAG_RENAME",
"UNIT_FLAG_RENAME",
"" };
39 case UNIT_FLAG_PREPARATION:
return {
"UNIT_FLAG_PREPARATION",
"UNIT_FLAG_PREPARATION",
"don't take reagents for spells with SPELL_ATTR5_NO_REAGENT_WHILE_PREP" };
40 case UNIT_FLAG_UNK_6:
return {
"UNIT_FLAG_UNK_6",
"UNIT_FLAG_UNK_6",
"" };
41 case UNIT_FLAG_NOT_ATTACKABLE_1:
return {
"UNIT_FLAG_NOT_ATTACKABLE_1",
"UNIT_FLAG_NOT_ATTACKABLE_1",
"?? (UNIT_FLAG_PLAYER_CONTROLLED | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE" };
42 case UNIT_FLAG_IMMUNE_TO_PC:
return {
"UNIT_FLAG_IMMUNE_TO_PC",
"UNIT_FLAG_IMMUNE_TO_PC",
"disables combat/assistance with PlayerCharacters (PC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget" };
43 case UNIT_FLAG_IMMUNE_TO_NPC:
return {
"UNIT_FLAG_IMMUNE_TO_NPC",
"UNIT_FLAG_IMMUNE_TO_NPC",
"disables combat/assistance with NonPlayerCharacters (NPC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget" };
44 case UNIT_FLAG_LOOTING:
return {
"UNIT_FLAG_LOOTING",
"UNIT_FLAG_LOOTING",
"loot animation" };
45 case UNIT_FLAG_PET_IN_COMBAT:
return {
"UNIT_FLAG_PET_IN_COMBAT",
"UNIT_FLAG_PET_IN_COMBAT",
"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" };
46 case UNIT_FLAG_PVP_ENABLING:
return {
"UNIT_FLAG_PVP_ENABLING",
"UNIT_FLAG_PVP_ENABLING",
"changed in 3.0.3, now UNIT_BYTES_2_OFFSET_PVP_FLAG from UNIT_FIELD_BYTES_2" };
47 case UNIT_FLAG_FORCE_NAMEPLATE:
return {
"UNIT_FLAG_FORCE_NAMEPLATE",
"UNIT_FLAG_FORCE_NAMEPLATE",
"Force show nameplate, 9.0" };
49 case UNIT_FLAG_CAN_SWIM:
return {
"UNIT_FLAG_CAN_SWIM",
"Can Swim",
"shows swim animation in water" };
50 case UNIT_FLAG_NON_ATTACKABLE_2:
return {
"UNIT_FLAG_NON_ATTACKABLE_2",
"UNIT_FLAG_NON_ATTACKABLE_2",
"removes attackable icon, if on yourself, cannot assist self but can cast TARGET_SELF spells - added by SPELL_AURA_MOD_UNATTACKABLE" };
51 case UNIT_FLAG_PACIFIED:
return {
"UNIT_FLAG_PACIFIED",
"UNIT_FLAG_PACIFIED",
"3.0.3 ok" };
52 case UNIT_FLAG_STUNNED:
return {
"UNIT_FLAG_STUNNED",
"UNIT_FLAG_STUNNED",
"3.0.3 ok" };
54 case UNIT_FLAG_ON_TAXI:
return {
"UNIT_FLAG_ON_TAXI",
"UNIT_FLAG_ON_TAXI",
"disable casting at client side spell not allowed by taxi flight (mounted?), probably used with 0x4 flag" };
55 case UNIT_FLAG_DISARMED:
return {
"UNIT_FLAG_DISARMED",
"UNIT_FLAG_DISARMED",
"3.0.3, disable melee spells casting..., \042Required melee weapon\042 added to melee spells tooltip." };
58 case UNIT_FLAG_POSSESSED:
return {
"UNIT_FLAG_POSSESSED",
"UNIT_FLAG_POSSESSED",
"under direct client control by a player (possess or vehicle)" };
61 case UNIT_FLAG_MOUNT:
return {
"UNIT_FLAG_MOUNT",
"UNIT_FLAG_MOUNT",
"" };
62 case UNIT_FLAG_UNK_28:
return {
"UNIT_FLAG_UNK_28",
"UNIT_FLAG_UNK_28",
"" };
63 case UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT:
return {
"UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT",
"UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT",
"Prevent automatically playing emotes from parsing chat text, for example \042lol\042 in /say, ending message with ? or !, or using /yell" };
65 case UNIT_FLAG_IMMUNE:
return {
"UNIT_FLAG_IMMUNE",
"UNIT_FLAG_IMMUNE",
"Immune to damage" };
66 default:
throw std::out_of_range(
"value");
110 default:
throw std::out_of_range(
"index");
151 default:
throw std::out_of_range(
"value");
164 case UNIT_FLAG2_HIDE_BODY:
return {
"UNIT_FLAG2_HIDE_BODY",
"Hide Body",
"Hide unit model (show only player equip)" };
168 case UNIT_FLAG2_DONT_FADE_IN:
return {
"UNIT_FLAG2_DONT_FADE_IN",
"Don't Fade In",
"Unit model instantly appears when summoned (does not fade in)" };
171 case UNIT_FLAG2_DISABLE_PRED_STATS:
return {
"UNIT_FLAG2_DISABLE_PRED_STATS",
"UNIT_FLAG2_DISABLE_PRED_STATS",
"Player has disabled predicted stats (Used by raid frames)" };
172 case UNIT_FLAG2_ALLOW_CHANGING_TALENTS:
return {
"UNIT_FLAG2_ALLOW_CHANGING_TALENTS",
"UNIT_FLAG2_ALLOW_CHANGING_TALENTS",
"Allows changing talents outside rest area" };
173 case UNIT_FLAG2_DISARM_RANGED:
return {
"UNIT_FLAG2_DISARM_RANGED",
"UNIT_FLAG2_DISARM_RANGED",
"this does not disable ranged weapon display (maybe additional flag needed?)" };
179 case UNIT_FLAG2_UNK2:
return {
"UNIT_FLAG2_UNK2",
"UNIT_FLAG2_UNK2",
"" };
180 case UNIT_FLAG2_PLAY_DEATH_ANIM:
return {
"UNIT_FLAG2_PLAY_DEATH_ANIM",
"UNIT_FLAG2_PLAY_DEATH_ANIM",
"Plays special death animation upon death" };
181 case UNIT_FLAG2_ALLOW_CHEAT_SPELLS:
return {
"UNIT_FLAG2_ALLOW_CHEAT_SPELLS",
"UNIT_FLAG2_ALLOW_CHEAT_SPELLS",
"Allows casting spells with AttributesEx7 & SPELL_ATTR7_IS_CHEAT_SPELL" };
195 default:
throw std::out_of_range(
"value");
239 default:
throw std::out_of_range(
"index");
280 default:
throw std::out_of_range(
"value");
292 case UNIT_FLAG3_UNK0:
return {
"UNIT_FLAG3_UNK0",
"UNIT_FLAG3_UNK0",
"" };
293 case UNIT_FLAG3_UNCONSCIOUS_ON_DEATH:
return {
"UNIT_FLAG3_UNCONSCIOUS_ON_DEATH",
"Unconscious on Death",
"Shows \042Unconscious\042 in unit tooltip instead of \042Dead\042" };
295 case UNIT_FLAG3_GARRISON_PET:
return {
"UNIT_FLAG3_GARRISON_PET",
"Garrison pet",
"Special garrison pet creatures that display one of favorite player battle pets - this flag allows querying name and turns off default battle pet behavior" };
296 case UNIT_FLAG3_UI_CAN_GET_POSITION:
return {
"UNIT_FLAG3_UI_CAN_GET_POSITION",
"UI Can Get Position",
"Allows lua functions like UnitPosition to always get the position even for npcs or non-grouped players" };
299 case UNIT_FLAG3_SUPPRESS_ALL_NPC_FEEDBACK:
return {
"UNIT_FLAG3_SUPPRESS_ALL_NPC_FEEDBACK",
"Suppress all NPC feedback",
"Skips playing sounds on left clicking npc for all npcs as long as npc with this flag is visible" };
300 case UNIT_FLAG3_IGNORE_COMBAT:
return {
"UNIT_FLAG3_IGNORE_COMBAT",
"Ignore Combat",
"Same as SPELL_AURA_IGNORE_COMBAT" };
302 case UNIT_FLAG3_UNK10:
return {
"UNIT_FLAG3_UNK10",
"UNIT_FLAG3_UNK10",
"" };
303 case UNIT_FLAG3_UNK11:
return {
"UNIT_FLAG3_UNK11",
"UNIT_FLAG3_UNK11",
"" };
304 case UNIT_FLAG3_UNK12:
return {
"UNIT_FLAG3_UNK12",
"UNIT_FLAG3_UNK12",
"" };
306 case UNIT_FLAG3_NO_FACING_ON_INTERACT_AND_FAST_FACING_CHASE:
return {
"UNIT_FLAG3_NO_FACING_ON_INTERACT_AND_FAST_FACING_CHASE",
"UNIT_FLAG3_NO_FACING_ON_INTERACT_AND_FAST_FACING_CHASE",
"Causes the creature to both not change facing on interaction and speeds up smooth facing changes while attacking (clientside)" };
307 case UNIT_FLAG3_UNTARGETABLE_FROM_UI:
return {
"UNIT_FLAG3_UNTARGETABLE_FROM_UI",
"Untargetable from UI",
"Cannot be targeted from lua functions StartAttack, TargetUnit, PetAttack" };
308 case UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD:
return {
"UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD",
"UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD",
"Prevents facing changes while interacting if creature has flag UNIT_FLAG3_FAKE_DEAD" };
310 case UNIT_FLAG3_SUPPRESS_ALL_NPC_SOUNDS:
return {
"UNIT_FLAG3_SUPPRESS_ALL_NPC_SOUNDS",
"Suppress all NPC sounds",
"Skips playing sounds on beginning and end of npc interaction for all npcs as long as npc with this flag is visible" };
311 case UNIT_FLAG3_SUPPRESS_NPC_SOUNDS:
return {
"UNIT_FLAG3_SUPPRESS_NPC_SOUNDS",
"Suppress NPC sounds",
"Skips playing sounds on beginning and end of npc interaction" };
312 case UNIT_FLAG3_ALLOW_INTERACTION_WHILE_IN_COMBAT:
return {
"UNIT_FLAG3_ALLOW_INTERACTION_WHILE_IN_COMBAT",
"Allow Interaction While in Combat",
"Allows using various NPC functions while in combat (vendor, gossip, questgiver)" };
313 case UNIT_FLAG3_UNK21:
return {
"UNIT_FLAG3_UNK21",
"UNIT_FLAG3_UNK21",
"" };
315 case UNIT_FLAG3_UNK23:
return {
"UNIT_FLAG3_UNK23",
"UNIT_FLAG3_UNK23",
"" };
317 case UNIT_FLAG3_UNK25:
return {
"UNIT_FLAG3_UNK25",
"UNIT_FLAG3_UNK25",
"" };
318 case UNIT_FLAG3_UNK26:
return {
"UNIT_FLAG3_UNK26",
"UNIT_FLAG3_UNK26",
"" };
319 case UNIT_FLAG3_UNK27:
return {
"UNIT_FLAG3_UNK27",
"UNIT_FLAG3_UNK27",
"" };
320 case UNIT_FLAG3_UNK28:
return {
"UNIT_FLAG3_UNK28",
"UNIT_FLAG3_UNK28",
"" };
321 case UNIT_FLAG3_UNK29:
return {
"UNIT_FLAG3_UNK29",
"UNIT_FLAG3_UNK29",
"" };
322 case UNIT_FLAG3_UNK30:
return {
"UNIT_FLAG3_UNK30",
"UNIT_FLAG3_UNK30",
"" };
323 case UNIT_FLAG3_UNK31:
return {
"UNIT_FLAG3_UNK31",
"UNIT_FLAG3_UNK31",
"" };
324 default:
throw std::out_of_range(
"value");
368 default:
throw std::out_of_range(
"index");
409 default:
throw std::out_of_range(
"value");
430 case UNIT_NPC_FLAG_VENDOR_AMMO:
return {
"UNIT_NPC_FLAG_VENDOR_AMMO",
"is vendor (ammo)",
"100%, general goods vendor" };
440 case UNIT_NPC_FLAG_PETITIONER:
return {
"UNIT_NPC_FLAG_PETITIONER",
"handles guild/arena petitions",
"100% 0xC0000 = guild petitions, 0x40000 = arena team petitions" };
447 case UNIT_NPC_FLAG_PLAYER_VEHICLE:
return {
"UNIT_NPC_FLAG_PLAYER_VEHICLE",
"is player vehicle",
"players with mounts that have vehicle data should have it set" };
452 case UNIT_NPC_FLAG_WILD_BATTLE_PET:
return {
"UNIT_NPC_FLAG_WILD_BATTLE_PET",
"is wild battle pet",
"Pet that player can fight (Battle Pet)" };
454 default:
throw std::out_of_range(
"value");
499 default:
throw std::out_of_range(
"index");
541 default:
throw std::out_of_range(
"value");
556 case UNIT_NPC_FLAG_2_STEERING:
return {
"UNIT_NPC_FLAG_2_STEERING",
"is avoiding obstacles",
"clientside pathfinding" };
561 case UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW:
return {
"UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW",
"is black market view",
"only allows viewing black market auctions, no bidding" };
570 default:
throw std::out_of_range(
"value");
599 default:
throw std::out_of_range(
"index");
625 default:
throw std::out_of_range(
"value");
646 case MOVEMENTFLAG_WALKING:
return {
"MOVEMENTFLAG_WALKING",
"MOVEMENTFLAG_WALKING",
"Walking" };
647 case MOVEMENTFLAG_DISABLE_GRAVITY:
return {
"MOVEMENTFLAG_DISABLE_GRAVITY",
"MOVEMENTFLAG_DISABLE_GRAVITY",
"Former MOVEMENTFLAG_LEVITATING. This is used when walking is not possible." };
648 case MOVEMENTFLAG_ROOT:
return {
"MOVEMENTFLAG_ROOT",
"MOVEMENTFLAG_ROOT",
"Must not be set along with MOVEMENTFLAG_MASK_MOVING" };
649 case MOVEMENTFLAG_FALLING:
return {
"MOVEMENTFLAG_FALLING",
"MOVEMENTFLAG_FALLING",
"damage dealt on that type of falling" };
658 case MOVEMENTFLAG_SWIMMING:
return {
"MOVEMENTFLAG_SWIMMING",
"MOVEMENTFLAG_SWIMMING",
"appears with fly flag also" };
659 case MOVEMENTFLAG_ASCENDING:
return {
"MOVEMENTFLAG_ASCENDING",
"MOVEMENTFLAG_ASCENDING",
"press \042space\042 when flying" };
661 case MOVEMENTFLAG_CAN_FLY:
return {
"MOVEMENTFLAG_CAN_FLY",
"MOVEMENTFLAG_CAN_FLY",
"Appears when unit can fly. For example, appears when a player sits on a mount." };
662 case MOVEMENTFLAG_FLYING:
return {
"MOVEMENTFLAG_FLYING",
"MOVEMENTFLAG_FLYING",
"unit is actually flying. pretty sure this is only used for players. creatures use disable_gravity" };
664 case MOVEMENTFLAG_WATERWALKING:
return {
"MOVEMENTFLAG_WATERWALKING",
"MOVEMENTFLAG_WATERWALKING",
"prevent unit from falling through water" };
665 case MOVEMENTFLAG_FALLING_SLOW:
return {
"MOVEMENTFLAG_FALLING_SLOW",
"MOVEMENTFLAG_FALLING_SLOW",
"active rogue safe fall spell (passive)" };
666 case MOVEMENTFLAG_HOVER:
return {
"MOVEMENTFLAG_HOVER",
"MOVEMENTFLAG_HOVER",
"hover, cannot jump" };
668 default:
throw std::out_of_range(
"value");
711 default:
throw std::out_of_range(
"index");
751 default:
throw std::out_of_range(
"value");
770 case MOVEMENTFLAG2_WATERWALKING_FULL_PITCH:
return {
"MOVEMENTFLAG2_WATERWALKING_FULL_PITCH",
"MOVEMENTFLAG2_WATERWALKING_FULL_PITCH",
"will always waterwalk, even if facing the camera directly down" };
773 case MOVEMENTFLAG2_UNK9:
return {
"MOVEMENTFLAG2_UNK9",
"MOVEMENTFLAG2_UNK9",
"terrain normal calculation is disabled if this flag is not present, client automatically handles setting this flag" };
782 default:
throw std::out_of_range(
"value");
813 default:
throw std::out_of_range(
"index");
841 default:
throw std::out_of_range(
"value");
861 default:
throw std::out_of_range(
"value");
881 default:
throw std::out_of_range(
"index");
898 default:
throw std::out_of_range(
"value");
@ UNIT_FLAG2_MIRROR_IMAGE
@ UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS
@ UNIT_FLAG2_INTERACT_WHILE_HOSTILE
@ UNIT_FLAG2_PLAY_DEATH_ANIM
@ UNIT_FLAG2_IGNORE_REPUTATION
@ UNIT_FLAG2_PREVENT_SPELL_CLICK
@ UNIT_FLAG2_UNINTERACTIBLE_IF_HOSTILE
@ UNIT_FLAG2_RESTRICT_PARTY_INTERACTION
@ UNIT_FLAG2_DISABLE_PRED_STATS
@ UNIT_FLAG2_COMPREHEND_LANG
@ UNIT_FLAG2_FORCE_MOVEMENT
@ UNIT_FLAG2_GIGANTIC_AOI
@ UNIT_FLAG2_ALLOW_CHEAT_SPELLS
@ UNIT_FLAG2_ATTACKER_IGNORES_MINIMUM_RANGES
@ UNIT_FLAG2_INFINITE_AOI
@ UNIT_FLAG2_REGENERATE_POWER
@ UNIT_FLAG2_DONT_FADE_IN
@ UNIT_FLAG2_DONT_GENERATE_COMBAT_LOG_WHEN_ENGAGED_WITH_NPCS
@ UNIT_FLAG2_ALLOW_CHANGING_TALENTS
@ UNIT_FLAG2_SUPPRESS_HIGHLIGHT_WHEN_TARGETED_OR_MOUSED_OVER
@ UNIT_FLAG2_DISARM_OFFHAND
@ UNIT_FLAG2_TREAT_AS_RAID_UNIT_FOR_HELPFUL_SPELLS
@ UNIT_FLAG2_UNTARGETABLE_BY_CLIENT
@ UNIT_FLAG2_DISARM_RANGED
@ MOVEMENTFLAG_DESCENDING
@ MOVEMENTFLAG_PITCH_DOWN
@ MOVEMENTFLAG_PENDING_STRAFE_STOP
@ MOVEMENTFLAG_PENDING_STOP
@ MOVEMENTFLAG_PENDING_STRAFE_LEFT
@ MOVEMENTFLAG_STRAFE_LEFT
@ MOVEMENTFLAG_WATERWALKING
@ MOVEMENTFLAG_DISABLE_GRAVITY
@ MOVEMENTFLAG_PENDING_BACKWARD
@ MOVEMENTFLAG_FALLING_SLOW
@ MOVEMENTFLAG_PENDING_STRAFE_RIGHT
@ MOVEMENTFLAG_STRAFE_RIGHT
@ MOVEMENTFLAG_FALLING_FAR
@ MOVEMENTFLAG_PENDING_FORWARD
@ MOVEMENTFLAG_SPLINE_ELEVATION
@ MOVEMENTFLAG_PENDING_ROOT
@ MOVEMENTFLAG_DISABLE_COLLISION
@ MOVEMENTFLAG2_CAN_DOUBLE_JUMP
@ MOVEMENTFLAG2_CAN_SWIM_TO_FLY_TRANS
@ MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING
@ MOVEMENTFLAG2_INTERPOLATED_PITCHING
@ MOVEMENTFLAG2_INTERPOLATED_MOVEMENT
@ MOVEMENTFLAG2_CAN_TURN_WHILE_FALLING
@ MOVEMENTFLAG2_AWAITING_LOAD
@ MOVEMENTFLAG2_WATERWALKING_FULL_PITCH
@ MOVEMENTFLAG2_DOUBLE_JUMP
@ MOVEMENTFLAG2_NO_STRAFE
@ MOVEMENTFLAG2_IGNORE_MOVEMENT_FORCES
@ MOVEMENTFLAG2_IS_VEHICLE_EXIT_VOLUNTARY
@ MOVEMENTFLAG2_INTERPOLATED_TURNING
@ MOVEMENTFLAG2_FULL_SPEED_PITCHING
@ MOVEMENTFLAG2_VEHICLE_PASSENGER_IS_TRANSITION_ALLOWED
@ MOVEMENTFLAG2_FULL_SPEED_TURNING
@ MOVEMENTFLAG2_NO_JUMPING
NPCFlags
Non Player Character flags.
@ UNIT_NPC_FLAG_VENDOR_AMMO
@ UNIT_NPC_FLAG_TABARDDESIGNER
@ UNIT_NPC_FLAG_SPIRIT_HEALER
@ UNIT_NPC_FLAG_ACCOUNT_BANKER
@ UNIT_NPC_FLAG_AUCTIONEER
@ UNIT_NPC_FLAG_VENDOR_POISON
@ UNIT_NPC_FLAG_AREA_SPIRIT_HEALER
@ UNIT_NPC_FLAG_GUILD_BANKER
@ UNIT_NPC_FLAG_STABLEMASTER
@ UNIT_NPC_FLAG_VENDOR_REAGENT
@ UNIT_NPC_FLAG_BATTLEMASTER
@ UNIT_NPC_FLAG_VENDOR_FOOD
@ UNIT_NPC_FLAG_QUESTGIVER
@ UNIT_NPC_FLAG_ARTIFACT_POWER_RESPEC
@ UNIT_NPC_FLAG_INNKEEPER
@ UNIT_NPC_FLAG_SPELLCLICK
@ UNIT_NPC_FLAG_TRANSMOGRIFIER
@ UNIT_NPC_FLAG_BLACK_MARKET
@ UNIT_NPC_FLAG_PLAYER_VEHICLE
@ UNIT_NPC_FLAG_FLIGHTMASTER
@ UNIT_NPC_FLAG_TRAINER_CLASS
@ UNIT_NPC_FLAG_VAULTKEEPER
@ UNIT_NPC_FLAG_TRAINER_PROFESSION
@ UNIT_NPC_FLAG_PETITIONER
@ UNIT_NPC_FLAG_WILD_BATTLE_PET
@ UNIT_FLAG3_UI_CAN_GET_POSITION
@ UNIT_FLAG3_SUPPRESS_ALL_NPC_SOUNDS
@ UNIT_FLAG3_SUPPRESS_NPC_FEEDBACK
@ UNIT_FLAG3_UNCONSCIOUS_ON_DEATH
@ UNIT_FLAG3_UNTARGETABLE_FROM_UI
@ UNIT_FLAG3_NO_FACING_ON_INTERACT_WHILE_FAKE_DEAD
@ UNIT_FLAG3_NO_FACING_ON_INTERACT_AND_FAST_FACING_CHASE
@ UNIT_FLAG3_FORCE_HIDE_NAMEPLATE
@ UNIT_FLAG3_ALTERNATIVE_DEFAULT_LANGUAGE
@ UNIT_FLAG3_GARRISON_PET
@ UNIT_FLAG3_ALREADY_SKINNED
@ UNIT_FLAG3_IGNORE_COMBAT
@ UNIT_FLAG3_ALLOW_INTERACTION_WHILE_IN_COMBAT
@ UNIT_FLAG3_ALLOW_MOUNTED_COMBAT
@ UNIT_FLAG3_DONT_FADE_OUT
@ UNIT_FLAG3_SUPPRESS_ALL_NPC_FEEDBACK
@ UNIT_FLAG3_SUPPRESS_NPC_SOUNDS
@ MOVEMENTFLAG3_ADV_FLYING
@ MOVEMENTFLAG3_CAN_DRIVE
@ MOVEMENTFLAG3_DRIVING_FORWARD
@ MOVEMENTFLAG3_DISABLE_INERTIA
@ MOVEMENTFLAG3_DRIVING_BACKWARD
@ MOVEMENTFLAG3_CANNOT_SWIM
@ MOVEMENTFLAG3_CAN_ADV_FLY
@ UNIT_NPC_FLAG_2_GARRISON_ARCHITECT
@ UNIT_NPC_FLAG_2_STEERING
@ UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW
@ UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR
@ UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC
@ UNIT_NPC_FLAG_2_ITEM_UPGRADE_MASTER
@ UNIT_NPC_FLAG_2_AZERITE_RESPEC
@ UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER
@ UNIT_NPC_FLAG_2_TRADESKILL_NPC
@ UNIT_NPC_FLAG_2_ISLANDS_QUEUE
@ UNIT_NPC_FLAG_2_FAST_STEERING_AVOIDS_OBSTACLES
@ UNIT_NPC_FLAG_2_AREA_SPIRIT_HEALER_INDIVIDUAL
@ UNIT_NPC_FLAG_2_SHIPMENT_CRAFTER
@ UNIT_NPC_FLAG_2_PERKS_VENDOR
@ UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION
@ UNIT_NPC_FLAG_2_GARRISON_MISSION_NPC
@ UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NON_ATTACKABLE_2
@ UNIT_FLAG_IMMUNE_TO_NPC
@ UNIT_FLAG_SERVER_CONTROLLED
@ UNIT_FLAG_REMOVE_CLIENT_CONTROL
@ UNIT_FLAG_UNINTERACTIBLE
@ UNIT_FLAG_NOT_ATTACKABLE_1
@ UNIT_FLAG_PLAYER_CONTROLLED
@ UNIT_FLAG_FORCE_NAMEPLATE
@ UNIT_FLAG_PET_IN_COMBAT
static size_t ToIndex(Enum index)
static EnumText ToString(Enum value)
static Enum FromIndex(size_t index)