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
12053result_skull_debuff17856 60085–60114 ———
29174result_skull_hammer_head_pound85240 60085–60114 ———
12664result_skull_lifetap19292 60085–60114 ———
29164result_skull_summon_blood_aoe84442 60085–60114 ———
11864result_slime_wall17405 60085–60114 ———
12871result_slow19661 60085–60114 ———
14072result_small_net22157 60085–60114 ———
1606result_smite1914 1–843 ———
7030result_smite1914 60085–60114 ———
1645result_smite_21953 1–843 ———
7038result_smite_21953 60085–60114 ———
2728result_smoke_p2p3766 1–843 ———
7392result_smoke_p2p3766 60085–60114 ———
7618result_smoke_small_p57967 60085–60114 ———
1759result_smoke_sphere2074 1–843 ———
7067result_smoke_sphere2074 60085–60114 ———
2952result_smoking_mesh4557 1–843 ———
7475result_smoking_mesh4557 60085–60114 ———
1244result_snake_striking1485 1–843 ———
6894result_snake_striking1485 60085–60114 ———
7607result_snoring_zzz7059 60085–60114 ———
13632result_snotball_p2p21153 60085–60114 ———
10573result_snowball_big_explosion13470 60085–60114 ———
12569result_snowflakes_falling19057 60085–60114 ———
1498result_snowflakes_growing1797 1–843 ———
6978result_snowflakes_growing1797 60085–60114 ———
3031result_snowflakes_radiating4736 1–843 ———
7501result_snowflakes_radiating4736 60085–60114 ———
1499result_snowstorm1798 1–843 ———
6979result_snowstorm1798 60085–60114 ———
11757result_snow_dust17068 60085–60114 ———
7634result_soap_mouth9443 60085–60114 ———
10898result_softkill14997 60085–60114 ———
2625result_soldiers_instinct3369 1–843 ———
17182result_solusek_nuke_blast31303 60085–60114 ———
17238result_solusek_sun_beam_blast31416 60085–60114 ———
12355result_sonic_trail18526 60085–60114 ———
7633result_soulless9232 60085–60114 ———
11017result_soulsuck_p2p15265 60085–60114 ———
11259result_soul_attack_p2p16161 60085–60114 ———
29197result_soul_purge87004 60085–60114 ———
29236result_soul_rip_portal89802 60085–60114 ———
28779result_soul_siphon_arc_p2p68282 60085–60114 ———
1500result_sparkles_clinging1799 1–843 ———
6980result_sparkles_clinging1799 60085–60114 ———
3258result_sparkles_clinging_dragon6010 1–843 ———
9376result_sparkles_clinging_dragon12131 60085–60114 ———
1602result_sparkles_clinging_soft1910 1–843 ———
7026result_sparkles_clinging_soft1910 60085–60114 ———
3259result_sparkles_clinging_soft_dragon6011 1–843 ———
9377result_sparkles_clinging_soft_dragon12132 60085–60114 ———
12469result_sparkles_cling_drop_bounce18809 60085–60114 ———
12332result_sparkles_crackle_out18473 60085–60114 ———
2769result_sparkles_explode3850 1–843 ———
7412result_sparkles_explode3850 60085–60114 ———
10824result_sparkles_explode_noise14420 60085–60114 ———
2662result_sparkles_gathering3451 1–843 ———
7353result_sparkles_gathering3451 60085–60114 ———
15007result_sparkles_object_swirl24748 60085–60114 ———
1825result_sparkles_out2142 1–843 ———
7087result_sparkles_out2142 60085–60114 ———
2948result_sparkles_radiating4546 1–843 ———
7473result_sparkles_radiating4546 60085–60114 ———
1768result_sparkle_blast2085 1–843 ———
7071result_sparkle_blast2085 60085–60114 ———
2657result_sparkle_fill3443 1–843 ———
7348result_sparkle_fill3443 60085–60114 ———
12023result_sparkle_mist17788 60085–60114 ———
2337result_sparkle_scan_down2928 1–843 ———
7231result_sparkle_scan_down2928 60085–60114 ———
1886result_sparkle_scan_up2249 1–843 ———
7096result_sparkle_scan_up2249 60085–60114 ———
3329result_sparkle_soul6332 1–843 ———
7564result_sparkle_soul6332 60085–60114 ———
2174result_sparkle_trail_fire_leftshin2714 1–843 ———
7170result_sparkle_trail_fire_leftshin2714 60085–60114 ———
2118result_sparkle_trail_fire_shin2644 1–843 ———
7148result_sparkle_trail_fire_shin2644 60085–60114 ———
2126result_sparkle_trail_fire_weapon2656 1–843 ———
7152result_sparkle_trail_fire_weapon2656 60085–60114 ———
2175result_sparkle_trail_ice_lefthand2716 1–843 ———
7171result_sparkle_trail_ice_lefthand2716 60085–60114 ———
2176result_sparkle_trail_ice_leftshin2717 1–843 ———
7172result_sparkle_trail_ice_leftshin2717 60085–60114 ———
2119result_sparkle_trail_ice_shin2645 1–843 ———
7149result_sparkle_trail_ice_shin2645 60085–60114 ———
2177result_sparkle_trail_ice_weapon2718 1–843 ———
7173result_sparkle_trail_ice_weapon2718 60085–60114 ———
10840result_sparkle_trail_rightfoot_glow14535 60085–60114 ———
2127result_sparkle_trail_right_arm_glow2657 1–843 ———
10835result_sparkle_trail_weapon_right_glow_blend_brown14506 60085–60114 ———
10836result_sparkle_trail_weapon_right_glow_blend_purple14507 60085–60114 ———
2178result_sparkle_trail_weapon_right_glow_blue2719 1–843 ———
7174result_sparkle_trail_weapon_right_glow_blue2719 60085–60114 ———
2179result_sparkle_trail_weapon_right_glow_gold2720 1–843 ———
7175result_sparkle_trail_weapon_right_glow_gold2720 60085–60114 ———
2180result_sparkle_trail_weapon_right_glow_red2721 1–843 ———
7176result_sparkle_trail_weapon_right_glow_red2721 60085–60114 ———
10837result_sparkle_trail_weapon_right_glow_silver14508 60085–60114 ———
10838result_sparkle_trail_weapon_right_glow_tan14509 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.