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
3817kill_sound_ouch33369 1–843 ———
20815kill_sound_ouch45546 60085–60114 ———
4165kill_sound_ouchbase33945 1–843 ———
20816kill_sound_ouchbase45547 60085–60114 ———
4991kill_sound_ouchbell34874 1–843 ———
20817kill_sound_ouchbell45548 60085–60114 ———
4461kill_sound_ouchbend34268 1–843 ———
20818kill_sound_ouchbend45549 60085–60114 ———
6048kill_sound_ouchbone36848 1–843 ———
20819kill_sound_ouchbone45550 60085–60114 ———
4048kill_sound_ouchbubble33790 1–843 ———
20820kill_sound_ouchbubble45551 60085–60114 ———
4166kill_sound_ouchbuzz33946 1–843 ———
20821kill_sound_ouchbuzz45552 60085–60114 ———
4853kill_sound_ouchchain34727 1–843 ———
20822kill_sound_ouchchain45553 60085–60114 ———
5154kill_sound_ouchcreak35112 1–843 ———
20823kill_sound_ouchcreak45554 60085–60114 ———
4074kill_sound_ouchcrunch33831 1–843 ———
20824kill_sound_ouchcrunch45555 60085–60114 ———
4411kill_sound_ouchfire34218 1–843 ———
20825kill_sound_ouchfire45556 60085–60114 ———
5305kill_sound_ouchflame35377 1–843 ———
20826kill_sound_ouchflame45557 60085–60114 ———
3965kill_sound_ouchflap33695 1–843 ———
20827kill_sound_ouchflap45558 60085–60114 ———
4211kill_sound_ouchflutter34003 1–843 ———
20828kill_sound_ouchflutter45559 60085–60114 ———
4167kill_sound_ouchhit33947 1–843 ———
20829kill_sound_ouchhit45560 60085–60114 ———
4952kill_sound_ouchliddown34830 1–843 ———
20830kill_sound_ouchliddown45561 60085–60114 ———
4953kill_sound_ouchlidopen34831 1–843 ———
20831kill_sound_ouchlidopen45562 60085–60114 ———
4954kill_sound_ouchlidup34832 1–843 ———
20832kill_sound_ouchlidup45563 60085–60114 ———
4883kill_sound_ouchlow34758 1–843 ———
20833kill_sound_ouchlow45564 60085–60114 ———
4230kill_sound_ouchpage34036 1–843 ———
20834kill_sound_ouchpage45565 60085–60114 ———
4080kill_sound_ouchrock33838 1–843 ———
20835kill_sound_ouchrock45566 60085–60114 ———
4029kill_sound_ouchrun33770 1–843 ———
20836kill_sound_ouchrun45567 60085–60114 ———
4075kill_sound_ouchscream33832 1–843 ———
20837kill_sound_ouchscream45568 60085–60114 ———
4884kill_sound_ouchshell34759 1–843 ———
20838kill_sound_ouchshell45569 60085–60114 ———
4231kill_sound_ouchslam34037 1–843 ———
20839kill_sound_ouchslam45570 60085–60114 ———
4182kill_sound_ouchsnort33965 1–843 ———
20840kill_sound_ouchsnort45571 60085–60114 ———
4212kill_sound_ouchsquawk34004 1–843 ———
20841kill_sound_ouchsquawk45572 60085–60114 ———
4049kill_sound_ouchtail33791 1–843 ———
20842kill_sound_ouchtail45573 60085–60114 ———
3818kill_sound_ouchvocal33371 1–843 ———
20843kill_sound_ouchvocal45574 60085–60114 ———
4570kill_sound_ouchwarble34392 1–843 ———
20844kill_sound_ouchwarble45575 60085–60114 ———
3819kill_sound_ouchwater33372 1–843 ———
20845kill_sound_ouchwater45576 60085–60114 ———
4156kill_sound_ouchwhoosh33936 1–843 ———
20846kill_sound_ouchwhoosh45577 60085–60114 ———
4966kill_sound_ouchwing34848 1–843 ———
20847kill_sound_ouchwing45578 60085–60114 ———
25167kill_sound_ouch_trex55733 60085–60114 ———
20848kill_sound_pain00145579 60085–60114 ———
20849kill_sound_pain00245580 60085–60114 ———
23642kill_sound_pandaman_footstep52394 60085–60114 ———
23643kill_sound_pandaman_idle_breathing52395 60085–60114 ———
23762kill_sound_pandamen_bark52569 60085–60114 ———
23763kill_sound_pandamen_bleat52570 60085–60114 ———
23764kill_sound_pandamen_bow_getarrow52571 60085–60114 ———
23765kill_sound_pandamen_bow_pullback52572 60085–60114 ———
23766kill_sound_pandamen_bow_release52573 60085–60114 ———
23767kill_sound_pandamen_bow_sheath52574 60085–60114 ———
23768kill_sound_pandamen_bow_unsheath52575 60085–60114 ———
23769kill_sound_pandamen_charge_roar52576 60085–60114 ———
23770kill_sound_pandamen_dead52577 60085–60114 ———
23771kill_sound_pandamen_eat52578 60085–60114 ———
23772kill_sound_pandamen_footslide52579 60085–60114 ———
23773kill_sound_pandamen_footstep_soft52580 60085–60114 ———
23774kill_sound_pandamen_growl52581 60085–60114 ———
23775kill_sound_pandamen_grunt52582 60085–60114 ———
23776kill_sound_pandamen_idle_grunt52583 60085–60114 ———
23777kill_sound_pandamen_idle_grunt_short52584 60085–60114 ———
23778kill_sound_pandamen_movement_cloth_long52585 60085–60114 ———
23779kill_sound_pandamen_movement_cloth_short52586 60085–60114 ———
23780kill_sound_pandamen_scratch52587 60085–60114 ———
23781kill_sound_pandamen_scratch_pant52588 60085–60114 ———
23782kill_sound_pandamen_sit52589 60085–60114 ———
23783kill_sound_pandamen_swim52590 60085–60114 ———
23784kill_sound_pandamen_whoosh52591 60085–60114 ———
23207kill_sound_pant51442 60085–60114 ———
3820kill_sound_paw33373 1–843 ———
20850kill_sound_paw45581 60085–60114 ———
21712kill_sound_peck47877 60085–60114 ———
23644kill_sound_pegasus_attack52396 60085–60114 ———
23645kill_sound_pegasus_attack_152397 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.