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
19631kill_footstep_leather_carpet44358 60085–60114 ———
4468kill_footstep_leather_dirt34275 1–843 ———
19632kill_footstep_leather_dirt44359 60085–60114 ———
4469kill_footstep_leather_grass34276 1–843 ———
19633kill_footstep_leather_grass44360 60085–60114 ———
4689kill_footstep_leather_gravel34554 1–843 ———
19634kill_footstep_leather_gravel44361 60085–60114 ———
4470kill_footstep_leather_ice34277 1–843 ———
19635kill_footstep_leather_ice44362 60085–60114 ———
5258kill_footstep_leather_metal35292 1–843 ———
19636kill_footstep_leather_metal44363 60085–60114 ———
4690kill_footstep_leather_mud34555 1–843 ———
19637kill_footstep_leather_mud44364 60085–60114 ———
4471kill_footstep_leather_sand34278 1–843 ———
19638kill_footstep_leather_sand44365 60085–60114 ———
4472kill_footstep_leather_snow34279 1–843 ———
19639kill_footstep_leather_snow44366 60085–60114 ———
4691kill_footstep_leather_stone34556 1–843 ———
19640kill_footstep_leather_stone44367 60085–60114 ———
4473kill_footstep_leather_water34280 1–843 ———
19641kill_footstep_leather_water44368 60085–60114 ———
4474kill_footstep_leather_wood34281 1–843 ———
19642kill_footstep_leather_wood44369 60085–60114 ———
4692kill_footstep_metal_carpet34557 1–843 ———
19643kill_footstep_metal_carpet44370 60085–60114 ———
4475kill_footstep_metal_dirt34282 1–843 ———
19644kill_footstep_metal_dirt44371 60085–60114 ———
4476kill_footstep_metal_grass34283 1–843 ———
19645kill_footstep_metal_grass44372 60085–60114 ———
4693kill_footstep_metal_gravel34558 1–843 ———
19646kill_footstep_metal_gravel44373 60085–60114 ———
4477kill_footstep_metal_ice34284 1–843 ———
19647kill_footstep_metal_ice44374 60085–60114 ———
5420kill_footstep_metal_metal35534 1–843 ———
19648kill_footstep_metal_metal44375 60085–60114 ———
4694kill_footstep_metal_mud34559 1–843 ———
19649kill_footstep_metal_mud44376 60085–60114 ———
4478kill_footstep_metal_sand34285 1–843 ———
19650kill_footstep_metal_sand44377 60085–60114 ———
4479kill_footstep_metal_snow34286 1–843 ———
19651kill_footstep_metal_snow44378 60085–60114 ———
4695kill_footstep_metal_stone34560 1–843 ———
19652kill_footstep_metal_stone44379 60085–60114 ———
4480kill_footstep_metal_water34287 1–843 ———
19653kill_footstep_metal_water44380 60085–60114 ———
4481kill_footstep_metal_wood34288 1–843 ———
19654kill_footstep_metal_wood44381 60085–60114 ———
22887kill_footstep_sound50686 60085–60114 ———
4535kill_footstep_trigger34347 1–843 ———
19655kill_footstep_trigger44382 60085–60114 ———
19617kill_footste_trigger44344 60085–60114 ———
3631kill_foot_dust_left33068 1–843 ———
19614kill_foot_dust_left44341 60085–60114 ———
3632kill_foot_dust_right33069 1–843 ———
19615kill_foot_dust_right44342 60085–60114 ———
6111kill_foot_shake37220 1–843 ———
19616kill_foot_shake44343 60085–60114 ———
30157kill_foo_dog_mount_backup8454453 60085–60114 ———
30158kill_foo_dog_mount_fall8454454 60085–60114 ———
30159kill_foo_dog_mount_idle8454455 60085–60114 ———
30160kill_foo_dog_mount_idle018454456 60085–60114 ———
30161kill_foo_dog_mount_jump8454457 60085–60114 ———
30162kill_foo_dog_mount_jump_substitute8454458 60085–60114 ———
30163kill_foo_dog_mount_land8454459 60085–60114 ———
30164kill_foo_dog_mount_long_fall8454460 60085–60114 ———
30165kill_foo_dog_mount_run8454461 60085–60114 ———
30166kill_foo_dog_mount_turn_left8454462 60085–60114 ———
30167kill_foo_dog_mount_turn_right8454463 60085–60114 ———
30168kill_foo_dog_mount_walk8454464 60085–60114 ———
5452kill_forestry_chopping35575 1–843 ———
19657kill_forestry_chopping44384 60085–60114 ———
5453kill_forestry_success35576 1–843 ———
18007kill_forestry_success35576 60085–60114 ———
6325kill_forest_flare37981 1–843 ———
19656kill_forest_flare44383 60085–60114 ———
5206kill_four_rings35201 1–843 ———
19658kill_four_rings44385 60085–60114 ———
5207kill_four_rings_fail35202 1–843 ———
19659kill_four_rings_fail44386 60085–60114 ———
27543kill_four_to_five_enter62500 60085–60114 ———
27015kill_freeblood_bat_swirls_mesh60390 60085–60114 ———
31158kill_freeblood_glider_backup8482712 60085–60114 ———
31159kill_freeblood_glider_fall8482713 60085–60114 ———
31160kill_freeblood_glider_glide8482714 60085–60114 ———
31161kill_freeblood_glider_glide_left8482715 60085–60114 ———
31162kill_freeblood_glider_glide_right8482716 60085–60114 ———
31163kill_freeblood_glider_idle8482717 60085–60114 ———
31164kill_freeblood_glider_jump8482718 60085–60114 ———
31165kill_freeblood_glider_land8482719 60085–60114 ———
31166kill_freeblood_glider_long_fall8482720 60085–60114 ———
31167kill_freeblood_glider_run8482721 60085–60114 ———
31168kill_freeblood_glider_turn_left8482722 60085–60114 ———
31169kill_freeblood_glider_turn_right8482723 60085–60114 ———
31170kill_freeblood_glider_walk8482724 60085–60114 ———
31171kill_freeblood_leaper_backup8482725 60085–60114 ———
31172kill_freeblood_leaper_fall8482726 60085–60114 ———
31173kill_freeblood_leaper_fly_backup8482727 60085–60114 ———
31174kill_freeblood_leaper_fly_climb8482728 60085–60114 ———
31175kill_freeblood_leaper_fly_dive8482729 60085–60114 ———
31176kill_freeblood_leaper_fly_down8482730 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.