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
20914kill_sound_summon45645 60085–60114 ———
5018kill_sound_summonhit34901 1–843 ———
20915kill_sound_summonhit45646 60085–60114 ———
5019kill_sound_summonrock34902 1–843 ———
20916kill_sound_summonrock45647 60085–60114 ———
5283kill_sound_summonrock0135334 1–843 ———
20917kill_sound_summonrock0145648 60085–60114 ———
5284kill_sound_summonrock0235335 1–843 ———
20918kill_sound_summonrock0245649 60085–60114 ———
5285kill_sound_summonrockback35336 1–843 ———
20919kill_sound_summonrockback45650 60085–60114 ———
5020kill_sound_summonslide34903 1–843 ———
20920kill_sound_summonslide45651 60085–60114 ———
5884kill_sound_summonstart36377 1–843 ———
20921kill_sound_summonstart45652 60085–60114 ———
5885kill_sound_summonvocal36378 1–843 ———
20922kill_sound_summonvocal45653 60085–60114 ———
20923kill_sound_superbuff45654 60085–60114 ———
3830kill_sound_swim33383 1–843 ———
20924kill_sound_swim45655 60085–60114 ———
3831kill_sound_swimfast33384 1–843 ———
20925kill_sound_swimfast45656 60085–60114 ———
22524kill_sound_swimwalk49726 60085–60114 ———
27603kill_sound_swim_idle62719 60085–60114 ———
27604kill_sound_swim_walk62720 60085–60114 ———
22164kill_sound_swing49117 60085–60114 ———
6544kill_sound_swoosh39162 1–843 ———
20926kill_sound_swoosh45657 60085–60114 ———
20927kill_sound_swooshkick45658 60085–60114 ———
20928kill_sound_swooshleft45659 60085–60114 ———
20929kill_sound_swooshright45660 60085–60114 ———
21827kill_sound_swooshstinger48135 60085–60114 ———
20930kill_sound_swooshtail45661 60085–60114 ———
20931kill_sound_taillash00145662 60085–60114 ———
20932kill_sound_taillash00245663 60085–60114 ———
20933kill_sound_tailswoosh45664 60085–60114 ———
5038kill_sound_tailvocal34921 1–843 ———
20934kill_sound_tailvocal45665 60085–60114 ———
5039kill_sound_tailwhip34922 1–843 ———
20935kill_sound_tailwhip45666 60085–60114 ———
4193kill_sound_taunt0133982 1–843 ———
20936kill_sound_taunt0145667 60085–60114 ———
4194kill_sound_taunt0233983 1–843 ———
20937kill_sound_taunt0245668 60085–60114 ———
4195kill_sound_taunt0333984 1–843 ———
20938kill_sound_taunt0345669 60085–60114 ———
26568kill_sound_teleport_in58827 60085–60114 ———
25234kill_sound_terrorbird_mount_bare_pant55938 60085–60114 ———
25235kill_sound_terrorbird_mount_footstep_quiet55939 60085–60114 ———
25236kill_sound_terrorbird_mount_idle55940 60085–60114 ———
25237kill_sound_terrorbird_mount_idle0155941 60085–60114 ———
25238kill_sound_terrorbird_mount_jump_substitute55942 60085–60114 ———
25239kill_sound_terrorbird_mount_land55943 60085–60114 ———
25240kill_sound_terrorbird_mount_turn_left55944 60085–60114 ———
25241kill_sound_terrorbird_mount_turn_right55945 60085–60114 ———
3975kill_sound_thunder33706 1–843 ———
20939kill_sound_thunder45670 60085–60114 ———
22538kill_sound_thunder049797 60085–60114 ———
21933kill_sound_tonguesplat48614 60085–60114 ———
23481kill_sound_toxxulia_attack_roar52119 60085–60114 ———
23482kill_sound_toxxulia_bark52120 60085–60114 ———
23483kill_sound_toxxulia_big_footsteps52121 60085–60114 ———
23484kill_sound_toxxulia_cast_roar52122 60085–60114 ———
23485kill_sound_toxxulia_feet_nails52123 60085–60114 ———
23486kill_sound_toxxulia_growl52124 60085–60114 ———
23487kill_sound_toxxulia_grunt52125 60085–60114 ———
23488kill_sound_toxxulia_hiss52126 60085–60114 ———
23489kill_sound_toxxulia_hiss_quiet52127 60085–60114 ———
23490kill_sound_toxxulia_idle_wing_movement_short52128 60085–60114 ———
23491kill_sound_toxxulia_ouch_hit52129 60085–60114 ———
23492kill_sound_toxxulia_scrape52130 60085–60114 ———
23493kill_sound_toxxulia_swallow_crunch_close52131 60085–60114 ———
23494kill_sound_toxxulia_swallow_crunch_open52132 60085–60114 ———
23495kill_sound_toxxulia_swallow_roar52133 60085–60114 ———
23496kill_sound_toxxulia_swallow_slop52134 60085–60114 ———
23497kill_sound_toxxulia_swim52135 60085–60114 ———
23498kill_sound_toxxulia_tail_drop52136 60085–60114 ———
23499kill_sound_toxxulia_walk52137 60085–60114 ———
23500kill_sound_toxxulia_whip52138 60085–60114 ———
23501kill_sound_toxxulia_whip_light52139 60085–60114 ———
23503kill_sound_toxxulia_wings_flapping52141 60085–60114 ———
23502kill_sound_toxxulia_wing_movement52140 60085–60114 ———
5657kill_sound_trick35817 1–843 ———
20940kill_sound_trick45671 60085–60114 ———
24641kill_sound_tse_attack54482 60085–60114 ———
24642kill_sound_tse_attack0154483 60085–60114 ———
24643kill_sound_tse_attack0254484 60085–60114 ———
24644kill_sound_tse_attack0354485 60085–60114 ———
24645kill_sound_tse_cast_aoe_beneficial_end54486 60085–60114 ———
24646kill_sound_tse_cast_aoe_invocation_end54487 60085–60114 ———
24647kill_sound_tse_cast_summon_end54488 60085–60114 ———
24648kill_sound_tse_cast_targeted_beneficial_end54489 60085–60114 ———
24649kill_sound_tse_cast_targeted_beneficial_loop54490 60085–60114 ———
24650kill_sound_tse_cast_targeted_beneficial_start54491 60085–60114 ———
24651kill_sound_tse_cast_targeted_detrimental_end54492 60085–60114 ———
24652kill_sound_tse_combat_enter54493 60085–60114 ———
24653kill_sound_tse_dead_enter54494 60085–60114 ———
24654kill_sound_tse_dodge_down54495 60085–60114 ———
24655kill_sound_tse_dodge_thrust54496 60085–60114 ———
24656kill_sound_tse_fly_attack54497 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.