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" };
568 default:
throw std::out_of_range(
"value");
595 default:
throw std::out_of_range(
"index");
619 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
NPCFlags
Non Player Character flags.
@ UNIT_NPC_FLAG_VENDOR_AMMO
@ UNIT_NPC_FLAG_TABARDDESIGNER
@ UNIT_NPC_FLAG_SPIRIT_HEALER
@ 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
@ 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_AREA_SPIRIT_HEALER_INDIVIDUAL
@ UNIT_NPC_FLAG_2_SHIPMENT_CRAFTER
@ 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)