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
6963result_camera_shake_wider1683 60085–60114 ———
3008result_candlelight_vigil4670 1–843 ———
7494result_candlelight_vigil4670 60085–60114 ———
13678result_candy_stars_rising21307 60085–60114 ———
3390result_castigate6544 1–843 ———
7575result_castigate6544 60085–60114 ———
1249result_cat_leaping1490 1–843 ———
6895result_cat_leaping1490 60085–60114 ———
2653result_cat_running3439 1–843 ———
7344result_cat_running3439 60085–60114 ———
16833result_chainlink_p2p30001 60085–60114 ———
17390result_chains_barrier32304 60085–60114 ———
3279result_chain_lightning_p2p6064 1–843 ———
9341result_chain_lightning_p2p12096 60085–60114 ———
14412result_chain_root_simple23049 60085–60114 ———
14413result_chain_root_simple_sparkle23050 60085–60114 ———
2654result_chalice_of_life3440 1–843 ———
7345result_chalice_of_life3440 60085–60114 ———
1182result_charge1423 1–843 ———
6871result_charge1423 60085–60114 ———
1475result_charge1_sh1763 1–843 ———
9342result_charge1_sh12097 60085–60114 ———
7617result_charge_fast7966 60085–60114 ———
1471result_charge_sh1754 1–843 ———
9343result_charge_sh12098 60085–60114 ———
12425result_charge_tag18711 60085–60114 ———
1634result_charm1942 1–843 ———
7033result_charm1942 60085–60114 ———
17332result_chest_flare31930 60085–60114 ———
7637result_choking_vines_aoe9587 60085–60114 ———
11771result_chomping_skulls17129 60085–60114 ———
7626result_chrome_forced_shader8785 60085–60114 ———
2093result_circle_blast_p52599 1–843 ———
7134result_circle_blast_p52599 60085–60114 ———
11821result_clanging_note17274 60085–60114 ———
1552result_clay_chunks_dropping1859 1–843 ———
6996result_clay_chunks_dropping1859 60085–60114 ———
1546result_clay_red_forced_shader1853 1–843 ———
6993result_clay_red_forced_shader1853 60085–60114 ———
1594result_clay_shields1901 1–843 ———
7019result_clay_shields1901 60085–60114 ———
2825result_clay_shields_aoe4031 1–843 ———
7433result_clay_shields_aoe4031 60085–60114 ———
11011result_clouds_head15245 60085–60114 ———
16149result_cloudy_dream27263 60085–60114 ———
12824result_cloud_dot_blast19588 60085–60114 ———
2863result_coalescing_notes4163 1–843 ———
7451result_coalescing_notes4163 60085–60114 ———
3070result_coalescing_sparkles4911 1–843 ———
7512result_coalescing_sparkles4911 60085–60114 ———
2860result_coalescing_vapor4150 1–843 ———
7448result_coalescing_vapor4150 60085–60114 ———
3071result_coalescing_vapor_sub4912 1–843 ———
7513result_coalescing_vapor_sub4912 60085–60114 ———
11780result_cobwebs17166 60085–60114 ———
11125result_cocoon_blue15818 60085–60114 ———
11126result_cocoon_green15819 60085–60114 ———
11127result_cocoon_red15820 60085–60114 ———
11128result_cocoon_yellow15821 60085–60114 ———
7875result_coercer_sun_aura10374 60085–60114 ———
2857result_coins_falling4140 1–843 ———
7445result_coins_falling4140 60085–60114 ———
1250result_cold_blast1491 1–843 ———
6896result_cold_blast1491 60085–60114 ———
12351result_cold_blast_snow18516 60085–60114 ———
1251result_cold_breath1492 1–843 ———
6897result_cold_breath1492 60085–60114 ———
1495result_cold_fog1794 1–843 ———
6975result_cold_fog1794 60085–60114 ———
14514result_cold_fog_ground23362 60085–60114 ———
1253result_cold_forced_shader1494 1–843 ———
6899result_cold_forced_shader1494 60085–60114 ———
1254result_cold_ice_crystals1495 1–843 ———
6900result_cold_ice_crystals1495 60085–60114 ———
11067result_cold_ice_crystals_hands15669 60085–60114 ———
11754result_cold_ice_crystals_head17065 60085–60114 ———
11068result_cold_ice_crystals_lefthand15670 60085–60114 ———
2094result_cold_ice_crystals_rightfoot2600 1–843 ———
7135result_cold_ice_crystals_rightfoot2600 60085–60114 ———
11069result_cold_ice_crystals_righthand15671 60085–60114 ———
12473result_cold_summon_portal18826 60085–60114 ———
1496result_colored_forced_shader1795 1–843 ———
6976result_colored_forced_shader1795 60085–60114 ———
1754result_colored_radiance2066 1–843 ———
7065result_colored_radiance2066 60085–60114 ———
2552result_color_rain_damage3195 1–843 ———
7269result_color_rain_damage3195 60085–60114 ———
1597result_color_shower1904 1–843 ———
7021result_color_shower1904 60085–60114 ———
16191result_compass_hover27485 60085–60114 ———
17391result_conduit_chain_p2p32305 60085–60114 ———
28263result_conduit_heal_buff65514 60085–60114 ———
17385result_conduit_p2p32286 60085–60114 ———
3284result_cone_lightning_p2p6090 1–843 ———
7553result_cone_lightning_p2p6090 60085–60114 ———
7598result_cone_lightning_wave_p2p6880 60085–60114 ———
29798result_confetti_beads_head_burst101977 60085–60114 ———
29799result_confetti_streamers_head_burst101978 60085–60114 ———
29002result_conjure_skull_drop78619 60085–60114 ———
7906result_conjuror_shoulder_blue_flames10516 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.