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
5026kill_result_bubble_ring34909 1–843 ———
17880kill_result_bubble_ring34909 60085–60114 ———
28193kill_result_bubble_sphere_prism65108 60085–60114 ———
4758kill_result_bubble_stream34631 1–843 ———
17794kill_result_bubble_stream34631 60085–60114 ———
23195kill_result_buble_leaf_blast51404 60085–60114 ———
21903kill_result_bucket48540 60085–60114 ———
3723kill_result_buff_limbs33258 1–843 ———
17523kill_result_buff_limbs33258 60085–60114 ———
23414kill_result_bullseye51976 60085–60114 ———
4536kill_result_bull_stomping34348 1–843 ———
17731kill_result_bull_stomping34348 60085–60114 ———
4696kill_result_cactus_spikes_growing34561 1–843 ———
17768kill_result_cactus_spikes_growing34561 60085–60114 ———
24606kill_result_cage_beam_p2p54353 60085–60114 ———
26577kill_result_cage_cube58860 60085–60114 ———
6138kill_result_call_of_power37286 1–843 ———
18263kill_result_call_of_power37286 60085–60114 ———
6635kill_result_call_of_storms39525 1–843 ———
18377kill_result_call_of_storms39525 60085–60114 ———
4258kill_result_camera_shake34064 1–843 ———
17608kill_result_camera_shake34064 60085–60114 ———
4272kill_result_camera_shake2_snd34079 1–843 ———
20133kill_result_camera_shake2_snd44862 60085–60114 ———
4273kill_result_camera_shake_snd34080 1–843 ———
20134kill_result_camera_shake_snd44863 60085–60114 ———
4625kill_result_camera_shake_wider34451 1–843 ———
17757kill_result_camera_shake_wider34451 60085–60114 ———
6211kill_result_candlelight_vigil37438 1–843 ———
18288kill_result_candlelight_vigil37438 60085–60114 ———
24472kill_result_candy_stars_rising54075 60085–60114 ———
6593kill_result_castigate39312 1–843 ———
18369kill_result_castigate39312 60085–60114 ———
4451kill_result_cat_leaping34258 1–843 ———
17689kill_result_cat_leaping34258 60085–60114 ———
5856kill_result_cat_running36207 1–843 ———
18138kill_result_cat_running36207 60085–60114 ———
27626kill_result_chainlink_p2p62769 60085–60114 ———
28183kill_result_chains_barrier65072 60085–60114 ———
6482kill_result_chain_lightning_p2p38832 1–843 ———
20135kill_result_chain_lightning_p2p44864 60085–60114 ———
25206kill_result_chain_root_simple55817 60085–60114 ———
25207kill_result_chain_root_simple_sparkle55818 60085–60114 ———
5857kill_result_chalice_of_life36208 1–843 ———
18139kill_result_chalice_of_life36208 60085–60114 ———
4384kill_result_charge34191 1–843 ———
17665kill_result_charge34191 60085–60114 ———
4677kill_result_charge1_sh34531 1–843 ———
20136kill_result_charge1_sh44865 60085–60114 ———
18411kill_result_charge_fast40734 60085–60114 ———
4673kill_result_charge_sh34522 1–843 ———
20137kill_result_charge_sh44866 60085–60114 ———
23219kill_result_charge_tag51479 60085–60114 ———
4836kill_result_charm34710 1–843 ———
17827kill_result_charm34710 60085–60114 ———
28125kill_result_chest_flare64698 60085–60114 ———
18431kill_result_choking_vines_aoe42355 60085–60114 ———
22565kill_result_chomping_skulls49897 60085–60114 ———
18420kill_result_chrome_forced_shader41553 60085–60114 ———
5295kill_result_circle_blast_p535367 1–843 ———
17928kill_result_circle_blast_p535367 60085–60114 ———
22615kill_result_clanging_note50042 60085–60114 ———
4754kill_result_clay_chunks_dropping34627 1–843 ———
17790kill_result_clay_chunks_dropping34627 60085–60114 ———
4748kill_result_clay_red_forced_shader34621 1–843 ———
17787kill_result_clay_red_forced_shader34621 60085–60114 ———
4796kill_result_clay_shields34669 1–843 ———
17813kill_result_clay_shields34669 60085–60114 ———
6028kill_result_clay_shields_aoe36799 1–843 ———
18227kill_result_clay_shields_aoe36799 60085–60114 ———
21805kill_result_clouds_head48013 60085–60114 ———
26942kill_result_cloudy_dream60031 60085–60114 ———
23618kill_result_cloud_dot_blast52356 60085–60114 ———
6066kill_result_coalescing_notes36931 1–843 ———
18245kill_result_coalescing_notes36931 60085–60114 ———
6273kill_result_coalescing_sparkles37679 1–843 ———
18306kill_result_coalescing_sparkles37679 60085–60114 ———
6063kill_result_coalescing_vapor36918 1–843 ———
18242kill_result_coalescing_vapor36918 60085–60114 ———
6274kill_result_coalescing_vapor_sub37680 1–843 ———
18307kill_result_coalescing_vapor_sub37680 60085–60114 ———
22574kill_result_cobwebs49934 60085–60114 ———
21919kill_result_cocoon_blue48586 60085–60114 ———
21920kill_result_cocoon_green48587 60085–60114 ———
21921kill_result_cocoon_red48588 60085–60114 ———
21922kill_result_cocoon_yellow48589 60085–60114 ———
18669kill_result_coercer_sun_aura43142 60085–60114 ———
6060kill_result_coins_falling36908 1–843 ———
18239kill_result_coins_falling36908 60085–60114 ———
4452kill_result_cold_blast34259 1–843 ———
17690kill_result_cold_blast34259 60085–60114 ———
23145kill_result_cold_blast_snow51284 60085–60114 ———
4453kill_result_cold_breath34260 1–843 ———
17691kill_result_cold_breath34260 60085–60114 ———
4697kill_result_cold_fog34562 1–843 ———
17769kill_result_cold_fog34562 60085–60114 ———
25307kill_result_cold_fog_ground56130 60085–60114 ———
4455kill_result_cold_forced_shader34262 1–843 ———
17693kill_result_cold_forced_shader34262 60085–60114 ———
4456kill_result_cold_ice_crystals34263 1–843 ———
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.