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
25688kill_horse_ouch_backhand57117 60085–60114 ———
25689kill_horse_ouch_down57118 60085–60114 ———
25690kill_horse_ouch_forehand57119 60085–60114 ———
25691kill_horse_ouch_thrust57120 60085–60114 ———
4032kill_horse_run33773 1–843 ———
19756kill_horse_run44483 60085–60114 ———
19757kill_horse_tail44484 60085–60114 ———
6410kill_horse_turn_left38334 1–843 ———
18327kill_horse_turn_left38334 60085–60114 ———
6411kill_horse_turn_right38335 1–843 ———
18328kill_horse_turn_right38335 60085–60114 ———
4033kill_horse_walk33774 1–843 ———
19758kill_horse_walk44485 60085–60114 ———
25632kill_horse_wild_swing57005 60085–60114 ———
22706kill_hourglass_active50270 60085–60114 ———
22707kill_hourglass_idle50271 60085–60114 ———
25305kill_hover_enter56127 60085–60114 ———
24846kill_hover_exit54868 60085–60114 ———
23332kill_hover_idle51722 60085–60114 ———
25306kill_hover_walk56128 60085–60114 ———
3648kill_howl33090 1–843 ———
19759kill_howl44486 60085–60114 ———
6608kill_howl_of_dragon39420 1–843 ———
4716kill_hrb_endruneblur_sound34585 1–843 ———
19762kill_hrb_endruneblur_sound44489 60085–60114 ———
4644kill_hro_heal_snd34470 1–843 ———
19763kill_hro_heal_snd44490 60085–60114 ———
4645kill_hro_runeorbit_snd34471 1–843 ———
19764kill_hro_runeorbit_snd44491 60085–60114 ———
4654kill_hr_ghost_gallop_snd34481 1–843 ———
19760kill_hr_ghost_gallop_snd44487 60085–60114 ———
4655kill_hr_whiney_snd34482 1–843 ———
19761kill_hr_whiney_snd44488 60085–60114 ———
27017kill_human_claymore_orbit_trail60392 60085–60114 ———
21522kill_human_female_2h_sword_wild_swing46592 60085–60114 ———
21547kill_human_female_pike_charge_up46637 60085–60114 ———
21548kill_human_female_pike_defensive_buff46638 60085–60114 ———
21549kill_human_female_pike_offensive_buff46639 60085–60114 ———
26991kill_human_water_dripping_wake60270 60085–60114 ———
5500kill_hungry35645 1–843 ———
19765kill_hungry44492 60085–60114 ———
27750kill_hydra_start63462 60085–60114 ———
23335kill_h_sword_attack51730 60085–60114 ———
22702kill_icecream_drip50259 60085–60114 ———
22701kill_ice_blast_sound50258 60085–60114 ———
26513kill_ice_cube_scratch58573 60085–60114 ———
26509kill_ice_cube_trail_lf58565 60085–60114 ———
26510kill_ice_cube_trail_lr58566 60085–60114 ———
26511kill_ice_cube_trail_rf58567 60085–60114 ———
26512kill_ice_cube_trail_rr58568 60085–60114 ———
24060kill_icicle_stomp53148 60085–60114 ———
25754kill_icon_merc_heal57344 60085–60114 ———
25755kill_icon_merc_melee57345 60085–60114 ———
25756kill_icon_merc_ranged57346 60085–60114 ———
25757kill_icon_merc_spell57347 60085–60114 ———
25758kill_icon_merc_support57348 60085–60114 ———
25759kill_icon_merc_tank57349 60085–60114 ———
4827kill_ic_fragments_snd34701 1–843 ———
19766kill_ic_fragments_snd44493 60085–60114 ———
4828kill_ic_ice_bkgrnd_sound34702 1–843 ———
19767kill_ic_ice_bkgrnd_sound44494 60085–60114 ———
4829kill_ic_ice_spike_sound34703 1–843 ———
19768kill_ic_ice_spike_sound44495 60085–60114 ———
3649kill_idle33091 1–843 ———
17514kill_idle33091 60085–60114 ———
3650kill_idle0133092 1–843 ———
17515kill_idle0133092 60085–60114 ———
27080kill_idle01temp60728 60085–60114 ———
23185kill_idle01_stone51374 60085–60114 ———
3651kill_idle0233093 1–843 ———
17516kill_idle0233093 60085–60114 ———
6232kill_idle0337501 1–843 ———
19769kill_idle0344496 60085–60114 ———
30596kill_idle03_duckandcover8457768 60085–60114 ———
30597kill_idle03_gethit8457769 60085–60114 ———
30598kill_idle03_throwfood8457770 60085–60114 ———
6293kill_idle0437796 1–843 ———
19770kill_idle0444497 60085–60114 ———
27369kill_idle04_61891 60085–60114 ———
27346kill_idle0561843 60085–60114 ———
26846kill_idlea59804 60085–60114 ———
3658kill_idletiming_a33103 1–843 ———
19781kill_idletiming_a44508 60085–60114 ———
3659kill_idletiming_b33104 1–843 ———
19782kill_idletiming_b44509 60085–60114 ———
3660kill_idletiming_c33105 1–843 ———
19783kill_idletiming_c44510 60085–60114 ———
3661kill_idletiming_d33106 1–843 ———
19784kill_idletiming_d44511 60085–60114 ———
3662kill_idletiming_e33107 1–843 ———
19785kill_idletiming_e44512 60085–60114 ———
3663kill_idletiming_g33108 1–843 ———
19786kill_idletiming_g44513 60085–60114 ———
3664kill_idletiming_h33109 1–843 ———
19787kill_idletiming_h44514 60085–60114 ———
3665kill_idletiming_i33110 1–843 ———
19788kill_idletiming_i44515 60085–60114 ———
19771kill_idle_0144498 60085–60114 ———
28198kill_idle_36065137 60085–60114 ———
26875kill_idle_a59876 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.