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
1185result_sparkly_swirl_flare1426 1–843 ———
6874result_sparkly_swirl_flare1426 60085–60114 ———
2181result_sparks_360_blue_p52722 1–843 ———
7177result_sparks_360_blue_p52722 60085–60114 ———
2079result_sparks_360_p52564 1–843 ———
7123result_sparks_360_p52564 60085–60114 ———
1526result_spark_burst1832 1–843 ———
6989result_spark_burst1832 60085–60114 ———
2228result_spark_burst_head2776 1–843 ———
7196result_spark_burst_head2776 60085–60114 ———
2443result_spark_burst_p13038 1–843 ———
7256result_spark_burst_p13038 60085–60114 ———
2117result_spark_burst_p32643 1–843 ———
7147result_spark_burst_p32643 60085–60114 ———
2249result_spark_burst_p3_blue2803 1–843 ———
7212result_spark_burst_p3_blue2803 60085–60114 ———
2171result_spark_burst_p3_gold2710 1–843 ———
7167result_spark_burst_p3_gold2710 60085–60114 ———
2172result_spark_burst_p3_red2711 1–843 ———
7168result_spark_burst_p3_red2711 60085–60114 ———
2173result_spark_burst_rightfoot2712 1–843 ———
7169result_spark_burst_rightfoot2712 60085–60114 ———
581result_spawn506 1–843 ———
6744result_spawn506 60085–60114 ———
11971result_spear_hit17648 60085–60114 ———
13813result_spell_cage21586 60085–60114 ———
29308result_spiderbear_webshoot_p2p93561 60085–60114 ———
12509result_spikes_hit18877 60085–60114 ———
11834result_spike_blast17312 60085–60114 ———
16387result_spike_cage28320 60085–60114 ———
11992result_spike_trap17701 60085–60114 ———
1726result_spiral_smite2038 1–843 ———
7062result_spiral_smite2038 60085–60114 ———
1887result_spiral_up2250 1–843 ———
7097result_spiral_up2250 60085–60114 ———
16372result_spirits_blast_out28269 60085–60114 ———
17401result_spirits_blast_out_dark32341 60085–60114 ———
14490result_spiritual_vanish23259 60085–60114 ———
14946result_spirit_claws_spinning24544 60085–60114 ———
3260result_spirit_of_the_elephant6012 1–843 ———
7546result_spirit_of_the_elephant6012 60085–60114 ———
1064result_spirit_of_the_wolf1305 1–843 ———
6822result_spirit_of_the_wolf1305 60085–60114 ———
2577result_spirit_res3229 1–843 ———
7281result_spirit_res3229 60085–60114 ———
11441result_splat16478 60085–60114 ———
12398result_splat_add18627 60085–60114 ———
13602result_spore_toss_p2p21075 60085–60114 ———
29275result_ss_chain_lightning_p2p92579 60085–60114 ———
29276result_ss_portal_lightning_p2p92580 60085–60114 ———
29277result_ss_shissar_lightning_p2p92581 60085–60114 ———
2651result_stag_running3434 1–843 ———
7342result_stag_running3434 60085–60114 ———
2665result_stag_running23465 1–843 ———
7356result_stag_running23465 60085–60114 ———
2716result_stance_of_the_bat3742 1–843 ———
7382result_stance_of_the_bat3742 60085–60114 ———
11037result_star_burst15475 60085–60114 ———
15008result_star_spirits24749 60085–60114 ———
1794result_statue2111 1–843 ———
7074result_statue2111 60085–60114 ———
14184result_statue_beam_p2p22500 60085–60114 ———
28900result_steal_weapon_energy_p2p74175 60085–60114 ———
7597result_steam6867 60085–60114 ———
7609result_steam_blast7072 60085–60114 ———
11762result_steam_column17085 60085–60114 ———
12784result_steam_cup19509 60085–60114 ———
12586result_stew_pot_dump19102 60085–60114 ———
12342result_stifle_magic18490 60085–60114 ———
11239result_stinky_aura16114 60085–60114 ———
29258result_stone_body91581 60085–60114 ———
29259result_stone_body_blast91582 60085–60114 ———
17398result_stone_copy_shield32325 60085–60114 ———
2978result_stone_hand_terraporter4626 1–843 ———
7493result_stone_hand_terraporter4626 60085–60114 ———
28265result_stone_root65516 60085–60114 ———
29272result_stone_stun_rain92378 60085–60114 ———
2608result_storm_of_ancients3346 1–843 ———
7308result_storm_of_ancients3346 60085–60114 ———
582result_strike507 1–843 ———
6745result_strike507 60085–60114 ———
11993result_string_trap17702 60085–60114 ———
583result_stun508 1–843 ———
6746result_stun508 60085–60114 ———
1424result_stunned1684 1–843 ———
6964result_stunned1684 60085–60114 ———
13176result_stunned_rings20127 60085–60114 ———
11038result_stunned_star15476 60085–60114 ———
2609result_stun_sub3347 1–843 ———
7309result_stun_sub3347 60085–60114 ———
16152result_sullon_shadow_curse27315 60085–60114 ———
13065result_summoning_crystal19926 60085–60114 ———
14917result_summon_spirit_swirls24444 60085–60114 ———
7744result_sun_spell10146 60085–60114 ———
9378result_sun_sphere12133 60085–60114 ———
7885result_swashbuckler_hand_trails10394 60085–60114 ———
29492result_swirling_hand_energy_drain_p2p94642 60085–60114 ———
11823result_swirling_note17276 60085–60114 ———
1872result_swirly_column2208 1–843 ———
7092result_swirly_column2208 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.