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
22687kill_whistle_toot_0550239 60085–60114 ———
22688kill_whistle_toot_0650240 60085–60114 ———
22689kill_whistle_toot_0750241 60085–60114 ———
22690kill_whistle_toot_0850242 60085–60114 ———
22691kill_whistle_toot_0950243 60085–60114 ———
22692kill_whistle_toot_1050244 60085–60114 ———
22693kill_whistle_toot_1150245 60085–60114 ———
22694kill_whistle_toot_1250246 60085–60114 ———
22695kill_whistle_toot_1350247 60085–60114 ———
22696kill_whistle_toot_1450248 60085–60114 ———
3923kill_whome33653 1–843 ———
21331kill_whome46063 60085–60114 ———
30738kill_whoosh8465060 60085–60114 ———
27425kill_whoosh_large62105 60085–60114 ———
27426kill_whoosh_lrg62106 60085–60114 ———
30331kill_whoosh_suck01_snd8454919 60085–60114 ———
30332kill_whoosh_suck02_snd8454920 60085–60114 ———
30333kill_whoosh_suck03_snd8454921 60085–60114 ———
30334kill_whoosh_suck04_snd8454922 60085–60114 ———
6298kill_wildswing37830 1–843 ———
21334kill_wildswing46066 60085–60114 ———
4412kill_wild_swing34219 1–843 ———
21332kill_wild_swing46064 60085–60114 ———
4413kill_wild_swing_recoilmax34220 1–843 ———
21333kill_wild_swing_recoilmax46065 60085–60114 ———
3924kill_wince33654 1–843 ———
21335kill_wince46067 60085–60114 ———
30335kill_windy_high_whoosh01_snd8454923 60085–60114 ———
30336kill_windy_high_whoosh02_snd8454924 60085–60114 ———
30337kill_windy_whoosh01_snd8454925 60085–60114 ———
30338kill_windy_whoosh02_snd8454926 60085–60114 ———
30339kill_windy_whoosh03_snd8454927 60085–60114 ———
23171kill_wind_blast_sound51342 60085–60114 ———
26848kill_winged_lion_backup59839 60085–60114 ———
26849kill_winged_lion_fall59840 60085–60114 ———
26850kill_winged_lion_fly_backup59841 60085–60114 ———
26851kill_winged_lion_fly_climb59842 60085–60114 ———
26852kill_winged_lion_fly_dive59843 60085–60114 ———
26853kill_winged_lion_fly_down59844 60085–60114 ———
26943kill_winged_lion_fly_fall60063 60085–60114 ———
26854kill_winged_lion_fly_glide59845 60085–60114 ———
26855kill_winged_lion_fly_glide_left59846 60085–60114 ———
26856kill_winged_lion_fly_glide_right59847 60085–60114 ———
26857kill_winged_lion_fly_idle59848 60085–60114 ———
26858kill_winged_lion_fly_run59849 60085–60114 ———
26859kill_winged_lion_fly_strafe_left59850 60085–60114 ———
26860kill_winged_lion_fly_strafe_right59851 60085–60114 ———
26861kill_winged_lion_fly_turn_left59852 60085–60114 ———
26862kill_winged_lion_fly_turn_right59853 60085–60114 ———
26863kill_winged_lion_fly_up59854 60085–60114 ———
26864kill_winged_lion_fly_walk59855 60085–60114 ———
26865kill_winged_lion_idle59856 60085–60114 ———
26866kill_winged_lion_idle0159857 60085–60114 ———
26867kill_winged_lion_jump59858 60085–60114 ———
26868kill_winged_lion_jump_substitute59859 60085–60114 ———
26869kill_winged_lion_land59860 60085–60114 ———
26870kill_winged_lion_long_fall59861 60085–60114 ———
26871kill_winged_lion_run59862 60085–60114 ———
26872kill_winged_lion_turn_left59863 60085–60114 ———
26873kill_winged_lion_turn_right59864 60085–60114 ———
26874kill_winged_lion_walk59865 60085–60114 ———
3926kill_wingflap33656 1–843 ———
21337kill_wingflap46069 60085–60114 ———
4391kill_wings_0134198 1–843 ———
21338kill_wings_0146070 60085–60114 ———
4392kill_wings_sound_0134199 1–843 ———
21339kill_wings_sound_0146071 60085–60114 ———
26557kill_wing_bolts_fx58771 60085–60114 ———
26569kill_wing_buffet_fx58835 60085–60114 ———
30446kill_wing_flaps8455579 60085–60114 ———
3925kill_wing_glide33655 1–843 ———
21336kill_wing_glide46068 60085–60114 ———
25904kill_wing_wisps_fx57780 60085–60114 ———
3927kill_wink33657 1–843 ———
21340kill_wink46072 60085–60114 ———
25157kill_win_fx55697 60085–60114 ———
25158kill_win_spin55698 60085–60114 ———
22198kill_wizard_rune_blast49190 60085–60114 ———
5267kill_wkn_glowsplash_snd35301 1–843 ———
21341kill_wkn_glowsplash_snd46073 60085–60114 ———
6229kill_wod_timer_tone_snd37493 1–843 ———
21342kill_wod_timer_tone_snd46074 60085–60114 ———
24049kill_wolfbackground_sound53122 60085–60114 ———
24489kill_wolfmount_backup54110 60085–60114 ———
24490kill_wolfmount_fall54111 60085–60114 ———
24491kill_wolfmount_idle54112 60085–60114 ———
24492kill_wolfmount_idle0154113 60085–60114 ———
24493kill_wolfmount_jump54114 60085–60114 ———
24494kill_wolfmount_jump_substitute54115 60085–60114 ———
24495kill_wolfmount_land54116 60085–60114 ———
24496kill_wolfmount_long_fall54117 60085–60114 ———
24497kill_wolfmount_run54118 60085–60114 ———
24498kill_wolfmount_turn_left54119 60085–60114 ———
24499kill_wolfmount_turn_right54120 60085–60114 ———
24500kill_wolfmount_walk54121 60085–60114 ———
24473kill_wolf_mount_backup54085 60085–60114 ———
24474kill_wolf_mount_fall54086 60085–60114 ———
24475kill_wolf_mount_idle54087 60085–60114 ———
24476kill_wolf_mount_idle0154088 60085–60114 ———
24477kill_wolf_mount_jump54089 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.