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
4046kill_sound_deadthrash0233788 1–843 ———
20655kill_sound_deadthrash0245386 60085–60114 ———
4460kill_sound_deadtongue34267 1–843 ———
20656kill_sound_deadtongue45387 60085–60114 ———
6004kill_sound_deadvanish36711 1–843 ———
20657kill_sound_deadvanish45388 60085–60114 ———
3972kill_sound_deadvocal33703 1–843 ———
20658kill_sound_deadvocal45389 60085–60114 ———
3963kill_sound_deadvocal0133693 1–843 ———
20659kill_sound_deadvocal0145390 60085–60114 ———
3964kill_sound_deadvocal0233694 1–843 ———
20660kill_sound_deadvocal0245391 60085–60114 ———
4948kill_sound_deadvocal0334826 1–843 ———
20661kill_sound_deadvocal0345392 60085–60114 ———
4568kill_sound_deadwarble0134390 1–843 ———
20662kill_sound_deadwarble0145393 60085–60114 ———
4569kill_sound_deadwarble0234391 1–843 ———
20663kill_sound_deadwarble0245394 60085–60114 ———
5170kill_sound_deadwater35136 1–843 ———
20664kill_sound_deadwater45395 60085–60114 ———
3985kill_sound_deadwater0133725 1–843 ———
20665kill_sound_deadwater0145396 60085–60114 ———
3986kill_sound_deadwater0233726 1–843 ———
20666kill_sound_deadwater0245397 60085–60114 ———
3987kill_sound_deadwater0333727 1–843 ———
20667kill_sound_deadwater0345398 60085–60114 ———
3801kill_sound_deadwhimper33350 1–843 ———
20668kill_sound_deadwhimper45399 60085–60114 ———
4155kill_sound_deadwhoosh33935 1–843 ———
20669kill_sound_deadwhoosh45400 60085–60114 ———
4162kill_sound_deadwing33942 1–843 ———
20670kill_sound_deadwing45401 60085–60114 ———
5047kill_sound_deadwingfold34937 1–843 ———
20671kill_sound_deadwingfold45402 60085–60114 ———
5903kill_sound_deadwoosh36452 1–843 ———
20672kill_sound_deadwoosh45403 60085–60114 ———
5892kill_sound_dead_enter36411 1–843 ———
20594kill_sound_dead_enter45325 60085–60114 ———
23205kill_sound_dead_fall51440 60085–60114 ———
3802kill_sound_death33351 1–843 ———
20673kill_sound_death45404 60085–60114 ———
20674kill_sound_death00145405 60085–60114 ———
20675kill_sound_death00245406 60085–60114 ———
6046kill_sound_deathbone36846 1–843 ———
20676kill_sound_deathbone45407 60085–60114 ———
20677kill_sound_deathbreak45408 60085–60114 ———
20678kill_sound_deathclaw45409 60085–60114 ———
20679kill_sound_deathcrash45410 60085–60114 ———
22114kill_sound_deathdeflate49017 60085–60114 ———
20680kill_sound_deathengine45411 60085–60114 ———
6323kill_sound_deathfall37967 1–843 ———
20681kill_sound_deathfall45412 60085–60114 ———
21898kill_sound_deathfall148522 60085–60114 ———
21899kill_sound_deathfall248523 60085–60114 ———
22119kill_sound_deathghost49039 60085–60114 ———
20682kill_sound_deathmotor45413 60085–60114 ———
20683kill_sound_deathshake45414 60085–60114 ———
6598kill_sound_deathsigh39362 1–843 ———
20684kill_sound_deathsigh45415 60085–60114 ———
6335kill_sound_deathtail38105 1–843 ———
20685kill_sound_deathtail45416 60085–60114 ———
6324kill_sound_deathvocal37968 1–843 ———
20686kill_sound_deathvocal45417 60085–60114 ———
6301kill_sound_deathwhoosh37882 1–843 ———
20687kill_sound_deathwhoosh45418 60085–60114 ———
21823kill_sound_deathwing48131 60085–60114 ———
22160kill_sound_death_medusa49113 60085–60114 ———
22161kill_sound_death_mouth49114 60085–60114 ———
23206kill_sound_death_whimper51441 60085–60114 ———
26771kill_sound_defensive_buff59398 60085–60114 ———
20688kill_sound_design_lavabridge45419 60085–60114 ———
3803kill_sound_die33352 1–843 ———
20689kill_sound_die45420 60085–60114 ———
20690kill_sound_dig00145421 60085–60114 ———
20691kill_sound_dig00245422 60085–60114 ———
23591kill_sound_displacer_beast_attack_152315 60085–60114 ———
23623kill_sound_displacer_beast_attack_252368 60085–60114 ———
23624kill_sound_displacer_beast_attack_352369 60085–60114 ———
23625kill_sound_displacer_beast_bark52370 60085–60114 ———
23626kill_sound_displacer_beast_big_purr52371 60085–60114 ———
23627kill_sound_displacer_beast_blade_fall52372 60085–60114 ———
23628kill_sound_displacer_beast_blade_swoosh52373 60085–60114 ———
23629kill_sound_displacer_beast_charge_up_roar52374 60085–60114 ———
23630kill_sound_displacer_beast_dead_152375 60085–60114 ———
23631kill_sound_displacer_beast_dead_252376 60085–60114 ———
23632kill_sound_displacer_beast_dodge_thrust_roar52377 60085–60114 ———
23633kill_sound_displacer_beast_fall_small52378 60085–60114 ———
23592kill_sound_displacer_beast_footstep52316 60085–60114 ———
23634kill_sound_displacer_beast_footstep_deep52379 60085–60114 ———
23593kill_sound_displacer_beast_footstep_dirt52317 60085–60114 ———
23594kill_sound_displacer_beast_hiss52318 60085–60114 ———
23595kill_sound_displacer_beast_idle52319 60085–60114 ———
23635kill_sound_displacer_beast_idle_breath52380 60085–60114 ———
23596kill_sound_displacer_beast_idle_long52320 60085–60114 ———
23636kill_sound_displacer_beast_ouch52381 60085–60114 ———
23637kill_sound_displacer_beast_ouch_hit52382 60085–60114 ———
23638kill_sound_displacer_beast_pulse52383 60085–60114 ———
23639kill_sound_displacer_beast_pulse_crunch52384 60085–60114 ———
23640kill_sound_displacer_beast_small_purr52385 60085–60114 ———
23641kill_sound_displacer_beast_swim52386 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.