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
22910kill_idle_afraid50721 60085–60114 ———
22911kill_idle_angry50722 60085–60114 ———
26876kill_idle_b59877 60085–60114 ———
3652kill_idle_bark33094 1–843 ———
19772kill_idle_bark44499 60085–60114 ———
6449kill_idle_break38688 1–843 ———
19773kill_idle_break44500 60085–60114 ———
26877kill_idle_c59878 60085–60114 ———
6241kill_idle_e337539 1–843 ———
19774kill_idle_e344501 60085–60114 ———
30650kill_idle_eat018460198 60085–60114 ———
30651kill_idle_eat028460199 60085–60114 ———
30649kill_idle_eat038460197 60085–60114 ———
30822kill_idle_end8468581 60085–60114 ———
27668kill_idle_frightened63125 60085–60114 ———
25900kill_idle_gardening57739 60085–60114 ———
25912kill_idle_gardening_exit57800 60085–60114 ———
25901kill_idle_gathering57740 60085–60114 ———
25913kill_idle_gathering_exit57801 60085–60114 ———
30655kill_idle_howl8460639 60085–60114 ———
30820kill_idle_mid8468502 60085–60114 ———
27602kill_idle_mode62682 60085–60114 ———
3653kill_idle_pant33096 1–843 ———
19775kill_idle_pant44502 60085–60114 ———
25892kill_idle_rake57689 60085–60114 ———
3654kill_idle_sniff33098 1–843 ———
19776kill_idle_sniff44503 60085–60114 ———
3655kill_idle_snort33099 1–843 ———
19777kill_idle_snort44504 60085–60114 ———
22748kill_idle_sound50378 60085–60114 ———
30821kill_idle_start8468503 60085–60114 ———
5501kill_idle_static35646 1–843 ———
19778kill_idle_static44505 60085–60114 ———
3656kill_idle_step33101 1–843 ———
19779kill_idle_step44506 60085–60114 ———
30588kill_idle_still8457333 60085–60114 ———
23186kill_idle_stone51375 60085–60114 ———
21955kill_idle_to_combat48695 60085–60114 ———
3657kill_idle_vocal33102 1–843 ———
19780kill_idle_vocal44507 60085–60114 ———
27643kill_idle_waterfall62987 60085–60114 ———
26847kill_idlleb59805 60085–60114 ———
4151kill_ignite_weapon33931 1–843 ———
17571kill_ignite_weapon33931 60085–60114 ———
5838kill_ignite_weapon_big36165 1–843 ———
18124kill_ignite_weapon_big36165 60085–60114 ———
5847kill_ignite_weapon_prism36189 1–843 ———
18129kill_ignite_weapon_prism36189 60085–60114 ———
4671kill_ignite_weapon_sh34520 1–843 ———
19789kill_ignite_weapon_sh44516 60085–60114 ———
5839kill_ignite_weapon_small36166 1–843 ———
18125kill_ignite_weapon_small36166 60085–60114 ———
21523kill_iksar_female_2h_sword_wild_swing46593 60085–60114 ———
21550kill_iksar_female_pike_charge_up46640 60085–60114 ———
21551kill_iksar_female_pike_defensive_buff46641 60085–60114 ———
21552kill_iksar_female_pike_offensive_buff46642 60085–60114 ———
23051kill_iksar_ghost_rez_p2p51092 60085–60114 ———
22245kill_iksar_swim_backup49269 60085–60114 ———
22246kill_iksar_swim_go49270 60085–60114 ———
26992kill_iksar_water_forced_shader_splash60271 60085–60114 ———
27335kill_ilde0161793 60085–60114 ———
5111kill_ilt_tap_snd35055 1–843 ———
19790kill_ilt_tap_snd44517 60085–60114 ———
24920kill_impact_snd55045 60085–60114 ———
3666kill_inhale33111 1–843 ———
19791kill_inhale44518 60085–60114 ———
26482kill_injured_idle58461 60085–60114 ———
6654kill_instant_fx39559 1–843 ———
21848kill_instant_fx48388 60085–60114 ———
26539kill_intro58649 60085–60114 ———
5033kill_int_cast_lp_snd34916 1–843 ———
19792kill_int_cast_lp_snd44520 60085–60114 ———
5043kill_int_cast_sparkles_lp34933 1–843 ———
19793kill_int_cast_sparkles_lp44521 60085–60114 ———
4830kill_int_float_sound34704 1–843 ———
19794kill_int_float_sound44522 60085–60114 ———
4831kill_int_intglow_sound34705 1–843 ———
19795kill_int_intglow_sound44523 60085–60114 ———
3667kill_itch33113 1–843 ———
19796kill_itch44524 60085–60114 ———
27081kill_jaw_rotate_max60730 60085–60114 ———
26722kill_jaw_rotate_y_max59253 60085–60114 ———
26723kill_jaw_rotate_y_min59254 60085–60114 ———
26724kill_jaw_rotate_z_max59255 60085–60114 ———
26725kill_jaw_rotate_z_min59256 60085–60114 ———
31381kill_jog_backwards8484530 60085–60114 ———
3668kill_jump33114 1–843 ———
19797kill_jump44525 60085–60114 ———
23987kill_jump_falling52946 60085–60114 ———
3669kill_jump_moving33115 1–843 ———
19798kill_jump_moving44526 60085–60114 ———
26463kill_jump_punch58398 60085–60114 ———
19799kill_jump_substitute44527 60085–60114 ———
24856kill_kd_barrel_idle54901 60085–60114 ———
24857kill_kd_barrel_roll_enter54902 60085–60114 ———
24858kill_kd_barrel_roll_idle54903 60085–60114 ———
28129kill_kerafyrm_bite64753 60085–60114 ———
30861kill_kerafyrm_bite_028469825 60085–60114 ———
28130kill_kerafyrm_firebreath64754 60085–60114 ———
28131kill_kerafyrm_foley_intro64755 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.