Reference library

Emotes and animations.

Search the configured world’s emotes table by name, row ID, visual state ID or message. Each row maps a name to an animation for a client version range.

  • 31,574 mappings
  • 25,249 unique names
  • 220 mappings with chat text
  • 31,354 animation-only mappings

Snapshot: October 14, 2026. These are database mappings; a client’s models and assets determine what can actually render. A listed name does not automatically register a player slash command.

Table fields and usage ↓

Build filtering uses the stored inclusive range: minimum ≤ build ≤ maximum. A maximum of 0 means no upper limit. Leave the build blank to compare all mappings for a name.

31,574 matching mappings.

Available mappings from the world database snapshot. Empty message fields are shown as —.
Row IDNameVisual state IDClient build rangeMessageTargeted messageStored self message
20056kill_pike_walk44785 60085–60114 ———
5369kill_pike_whirling_attack35474 1–843 ———
17957kill_pike_whirling_attack35474 60085–60114 ———
5448kill_pike_wild_swing35568 1–843 ———
18003kill_pike_wild_swing35568 60085–60114 ———
27096kill_piledriver60793 60085–60114 ———
5112kill_planer35056 1–843 ———
20061kill_planer44790 60085–60114 ———
25552kill_player_wing_mount_backup56852 60085–60114 ———
25553kill_player_wing_mount_fall56853 60085–60114 ———
25554kill_player_wing_mount_fly_backup56854 60085–60114 ———
25555kill_player_wing_mount_fly_climb56855 60085–60114 ———
25556kill_player_wing_mount_fly_dive56856 60085–60114 ———
25557kill_player_wing_mount_fly_down56857 60085–60114 ———
25558kill_player_wing_mount_fly_glide56858 60085–60114 ———
25559kill_player_wing_mount_fly_glide_left56859 60085–60114 ———
25560kill_player_wing_mount_fly_glide_right56860 60085–60114 ———
25561kill_player_wing_mount_fly_idle56861 60085–60114 ———
25562kill_player_wing_mount_fly_run56862 60085–60114 ———
25563kill_player_wing_mount_fly_strafe_left56863 60085–60114 ———
25564kill_player_wing_mount_fly_strafe_right56864 60085–60114 ———
25565kill_player_wing_mount_fly_turn_left56865 60085–60114 ———
25566kill_player_wing_mount_fly_turn_right56866 60085–60114 ———
25567kill_player_wing_mount_fly_up56867 60085–60114 ———
25568kill_player_wing_mount_fly_walk56868 60085–60114 ———
25569kill_player_wing_mount_idle56869 60085–60114 ———
25570kill_player_wing_mount_jump56870 60085–60114 ———
25571kill_player_wing_mount_land56871 60085–60114 ———
25572kill_player_wing_mount_long_fall56872 60085–60114 ———
25573kill_player_wing_mount_run56873 60085–60114 ———
25574kill_player_wing_mount_turn_left56874 60085–60114 ———
25575kill_player_wing_mount_turn_right56875 60085–60114 ———
25576kill_player_wing_mount_walk56876 60085–60114 ———
20062kill_plummet44791 60085–60114 ———
4621kill_pl_lightning_01_snd34447 1–843 ———
20057kill_pl_lightning_01_snd44786 60085–60114 ———
4622kill_pl_lightning_02_snd34448 1–843 ———
20058kill_pl_lightning_02_snd44787 60085–60114 ———
4623kill_pl_lightning_03_snd34449 1–843 ———
20059kill_pl_lightning_03_snd44788 60085–60114 ———
4624kill_pl_warp_01_snd34450 1–843 ———
20060kill_pl_warp_01_snd44789 60085–60114 ———
5964kill_pn_castflute_sound36592 1–843 ———
20063kill_pn_castflute_sound44792 60085–60114 ———
5965kill_pn_resultflute_sound36593 1–843 ———
20064kill_pn_resultflute_sound44793 60085–60114 ———
6326kill_pof_batdrone_snd37983 1–843 ———
20065kill_pof_batdrone_snd44794 60085–60114 ———
6327kill_pof_casttone_snd37984 1–843 ———
20066kill_pof_casttone_snd44795 60085–60114 ———
3708kill_point33197 1–843 ———
20067kill_point44796 60085–60114 ———
3709kill_point_right33198 1–843 ———
20068kill_point_right44797 60085–60114 ———
3710kill_ponder33199 1–843 ———
20069kill_ponder44798 60085–60114 ———
27019kill_portal_jump60396 60085–60114 ———
27020kill_portal_stomp60397 60085–60114 ———
25523kill_port_down_fx56730 60085–60114 ———
3711kill_pout33201 1–843 ———
20070kill_pout44799 60085–60114 ———
27007kill_powerroar60341 60085–60114 ———
27008kill_powerslam60342 60085–60114 ———
31743kill_power_aura_flyer_backup8496777 60085–60114 ———
31744kill_power_aura_flyer_fall8496778 60085–60114 ———
31745kill_power_aura_flyer_fly_backup8496779 60085–60114 ———
31746kill_power_aura_flyer_fly_climb8496780 60085–60114 ———
31747kill_power_aura_flyer_fly_dive8496781 60085–60114 ———
31748kill_power_aura_flyer_fly_fall8496782 60085–60114 ———
31749kill_power_aura_flyer_fly_fly_down8496783 60085–60114 ———
31750kill_power_aura_flyer_fly_glide8496784 60085–60114 ———
31751kill_power_aura_flyer_fly_glide_left8496785 60085–60114 ———
31752kill_power_aura_flyer_fly_glide_right8496786 60085–60114 ———
31753kill_power_aura_flyer_fly_idle8496787 60085–60114 ———
31754kill_power_aura_flyer_fly_jump8496788 60085–60114 ———
31755kill_power_aura_flyer_fly_land8496789 60085–60114 ———
31756kill_power_aura_flyer_fly_long_fall8496790 60085–60114 ———
31757kill_power_aura_flyer_fly_run8496791 60085–60114 ———
31758kill_power_aura_flyer_fly_strafe_left8496792 60085–60114 ———
31759kill_power_aura_flyer_fly_strafe_right8496793 60085–60114 ———
31760kill_power_aura_flyer_fly_turn_left8496794 60085–60114 ———
31761kill_power_aura_flyer_fly_turn_right8496795 60085–60114 ———
31762kill_power_aura_flyer_fly_up8496796 60085–60114 ———
31763kill_power_aura_flyer_fly_walk8496797 60085–60114 ———
31764kill_power_aura_flyer_idle8496798 60085–60114 ———
31765kill_power_aura_flyer_jump8496799 60085–60114 ———
31766kill_power_aura_flyer_land8496800 60085–60114 ———
31767kill_power_aura_flyer_long_fall8496801 60085–60114 ———
31768kill_power_aura_flyer_run8496802 60085–60114 ———
31769kill_power_aura_flyer_turn_left8496803 60085–60114 ———
31770kill_power_aura_flyer_turn_right8496804 60085–60114 ———
31771kill_power_aura_flyer_walk8496805 60085–60114 ———
31772kill_power_aura_glider_backup8496806 60085–60114 ———
31773kill_power_aura_glider_fall8496807 60085–60114 ———
31774kill_power_aura_glider_glide8496808 60085–60114 ———
31775kill_power_aura_glider_glide_left8496809 60085–60114 ———
31776kill_power_aura_glider_glide_right8496810 60085–60114 ———
31777kill_power_aura_glider_idle8496811 60085–60114 ———
31778kill_power_aura_glider_jump8496812 60085–60114 ———
31779kill_power_aura_glider_land8496813 60085–60114 ———
Table fields and server behavior
Schema from the same database snapshot.
ColumnSQL typeMeaning
idint(10) unsigned Auto-increment primary key for the database row. This is not the animation ID.
namevarchar(128)
Nullable
Exact name used by the server’s animation lookup. The same name can have separate rows for different client builds.
visual_state_idint(10) unsigned Numeric animation ID sent in WS_CannedEmote for the selected mapping. IDs can change between version ranges.
messagevarchar(255)
Nullable
Default chat text, used without a different target or when targeted_message is empty. The server prefixes the originator’s name for player emotes.
targeted_messagevarchar(255)
Nullable
Chat text used when a different target exists. The %t placeholder is replaced with the target’s name.
self_messagevarchar(255)
Nullable
Stored database field. The current WorldDatabase loader does not select it and HandleEmote does not use it.
min_version_rangeint(10) unsigned Inclusive lowest client build for this mapping; 0 allows builds from zero upward.
max_version_rangeint(10) unsigned Inclusive highest client build; 0 means no upper limit.

Using a named animation

For example, wave maps to visual state 883 for builds 1–843 and 13287 for builds 60085–60114 in this snapshot. Search a name with the build left blank to see its variants.

In Lua, PlayAnimationString resolves the name through the emote catalog. This example plays the named animation without using the spawn’s current target:

PlayAnimationString(Spawn, "wave", nil, true)

Player canned emotes use /cannedemote wave. The separate /emote command sends custom chat text. For NPCs, HandleEmote sends the animation with an empty emote message.

Message placeholders: %t is the target’s name; %g1 becomes his/her, %g2 becomes him/her, and %g3 becomes he/she, using the originator’s gender. The current handler replaces the first occurrence of each placeholder.

The “With chat text” filter includes rows with a nonempty message or targeted_message. “Animation only” means both fields are empty. Stored self_message does not affect either filter.

Build filtering shows literal database ranges. FindAnimation also has a narrow verified fallback for bow_knockedtoback in builds 562–935 when no direct mapping exists; it does not make all modern mappings available to those builds.

Source: configured local world emotes table, exported read-only on October 14, 2026. Runtime behavior checked against WorldServer/WorldDatabase.cpp, WorldServer/Spawn/VisualStates.h, WorldServer/Zone/zoneserver.cpp, WorldServer/Commands/Commands.cpp and WorldServer/Lua/LuaFunctions.cpp. Other worlds can have different mappings.