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
17694kill_result_cold_ice_crystals34263 60085–60114 ———
21861kill_result_cold_ice_crystals_hands48437 60085–60114 ———
22548kill_result_cold_ice_crystals_head49833 60085–60114 ———
21862kill_result_cold_ice_crystals_lefthand48438 60085–60114 ———
5296kill_result_cold_ice_crystals_rightfoot35368 1–843 ———
17929kill_result_cold_ice_crystals_rightfoot35368 60085–60114 ———
21863kill_result_cold_ice_crystals_righthand48439 60085–60114 ———
23267kill_result_cold_summon_portal51594 60085–60114 ———
4698kill_result_colored_forced_shader34563 1–843 ———
17770kill_result_colored_forced_shader34563 60085–60114 ———
4956kill_result_colored_radiance34834 1–843 ———
17859kill_result_colored_radiance34834 60085–60114 ———
5755kill_result_color_rain_damage35963 1–843 ———
18063kill_result_color_rain_damage35963 60085–60114 ———
4799kill_result_color_shower34672 1–843 ———
17815kill_result_color_shower34672 60085–60114 ———
26984kill_result_compass_hover60253 60085–60114 ———
28184kill_result_conduit_chain_p2p65073 60085–60114 ———
30058kill_result_conduit_heal_buff8454122 60085–60114 ———
28178kill_result_conduit_p2p65054 60085–60114 ———
6487kill_result_cone_lightning_p2p38858 1–843 ———
18347kill_result_cone_lightning_p2p38858 60085–60114 ———
18392kill_result_cone_lightning_wave_p2p39648 60085–60114 ———
31589kill_result_confetti_beads_head_burst8490585 60085–60114 ———
31590kill_result_confetti_streamers_head_burst8490586 60085–60114 ———
30797kill_result_conjure_skull_drop8467227 60085–60114 ———
18700kill_result_conjuror_shoulder_blue_flames43284 60085–60114 ———
20138kill_result_copter_flamethrower44867 60085–60114 ———
18421kill_result_copter_welder_lightning_p2p41759 60085–60114 ———
30381kill_result_corruption_aura8455106 60085–60114 ———
30850kill_result_corruption_aura_purple8469410 60085–60114 ———
31450kill_result_corruption_big8485991 60085–60114 ———
25922kill_result_corruption_spew57819 60085–60114 ———
5966kill_result_corruptive_symbol_p2p36594 1–843 ———
18202kill_result_corruptive_symbol_p2p36594 60085–60114 ———
21681kill_result_countersong_p2p47705 60085–60114 ———
24922kill_result_crate_explode55048 60085–60114 ———
6628kill_result_crazy_tube39469 1–843 ———
18374kill_result_crazy_tube39469 60085–60114 ———
6629kill_result_crazy_tube_iron39470 1–843 ———
18375kill_result_crazy_tube_iron39470 60085–60114 ———
5858kill_result_creature_fire_ls36209 1–843 ———
18140kill_result_creature_fire_ls36209 60085–60114 ———
22625kill_result_crush_blast50065 60085–60114 ———
23857kill_result_crush_rings52686 60085–60114 ———
5832kill_result_crystal_ring36147 1–843 ———
18119kill_result_crystal_ring36147 60085–60114 ———
4433kill_result_crystal_shield34240 1–843 ———
17683kill_result_crystal_shield34240 60085–60114 ———
22712kill_result_crystal_trap50287 60085–60114 ———
22783kill_result_cyclone_bones50460 60085–60114 ———
6160kill_result_cyclone_fire37337 1–843 ———
18274kill_result_cyclone_fire37337 60085–60114 ———
6163kill_result_cyclone_rocks37348 1–843 ———
18277kill_result_cyclone_rocks37348 60085–60114 ———
6164kill_result_cyclone_sand37349 1–843 ———
18278kill_result_cyclone_sand37349 60085–60114 ———
6161kill_result_cyclone_snow37338 1–843 ———
18275kill_result_cyclone_snow37338 60085–60114 ———
22269kill_result_cyclone_storm49333 60085–60114 ———
25422kill_result_cyclops_eye_debuff56465 60085–60114 ———
22607kill_result_dagger_back50007 60085–60114 ———
21571kill_result_dagger_vision_p2p46943 60085–60114 ———
27122kill_result_damaged60863 60085–60114 ———
30771kill_result_damage_body_explosions8465871 60085–60114 ———
30772kill_result_damage_body_lightning_explosions8465872 60085–60114 ———
30766kill_result_damage_explosions8465634 60085–60114 ———
30767kill_result_damage_lightning8465635 60085–60114 ———
5756kill_result_darkness_skull_buff35964 1–843 ———
18064kill_result_darkness_skull_buff35964 60085–60114 ———
24471kill_result_dark_bubbles_rising54067 60085–60114 ———
30971kill_result_dark_flame_portal_blast8474241 60085–60114 ———
22816kill_result_dark_mist50555 60085–60114 ———
26706kill_result_dark_vaporize59139 60085–60114 ———
23404kill_result_dark_wings51940 60085–60114 ———
6496kill_result_dawn_rising38924 1–843 ———
20139kill_result_dawn_rising44868 60085–60114 ———
21667kill_result_deathward_heal47637 60085–60114 ———
25517kill_result_death_charge_blast56704 60085–60114 ———
4967kill_result_decree_of_faith34850 1–843 ———
17862kill_result_decree_of_faith34850 60085–60114 ———
18721kill_result_defiler_poison_cloud43352 60085–60114 ———
6278kill_result_desert_call_p2p37691 1–843 ———
18310kill_result_desert_call_p2p37691 60085–60114 ———
5953kill_result_devastation_fist_136575 1–843 ———
18195kill_result_devastation_fist_136575 60085–60114 ———
5954kill_result_devastation_fist_236576 1–843 ———
18196kill_result_devastation_fist_236576 60085–60114 ———
5955kill_result_devastation_fist_336577 1–843 ———
18197kill_result_devastation_fist_336577 60085–60114 ———
6098kill_result_devastation_fist_3a37109 1–843 ———
18253kill_result_devastation_fist_3a37109 60085–60114 ———
18465kill_result_dirge_confront_fear42753 60085–60114 ———
18677kill_result_dirge_sparkles43160 60085–60114 ———
23379kill_result_diseased51869 60085–60114 ———
23166kill_result_disintegrate51329 60085–60114 ———
4800kill_result_dispell1_out34673 1–843 ———
17816kill_result_dispell1_out34673 60085–60114 ———
5833kill_result_dispell1_out_blend36148 1–843 ———
18120kill_result_dispell1_out_blend36148 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.