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
26608kill_aa_cold_blast58935 60085–60114 ———
26609kill_aa_cyclone58936 60085–60114 ———
31501kill_aa_dagger_storm_impact8487488 60085–60114 ———
27555kill_aa_dancing_blades62518 60085–60114 ———
26610kill_aa_dark_cyclone58937 60085–60114 ———
26611kill_aa_dark_ring_vanish58938 60085–60114 ———
27384kill_aa_dark_swirly_wisps61947 60085–60114 ———
27574kill_aa_death_mark62555 60085–60114 ———
31502kill_aa_detect_weakness_aa8487489 60085–60114 ———
31495kill_aa_diamond_skin8487279 60085–60114 ———
27531kill_aa_divine_burst62466 60085–60114 ———
31496kill_aa_divine_cloak8487280 60085–60114 ———
26612kill_aa_divine_hit58939 60085–60114 ———
31497kill_aa_divine_wave_heal8487281 60085–60114 ———
27076kill_aa_double_pyramid60708 60085–60114 ———
31503kill_aa_druid_wild_blast8487490 60085–60114 ———
26930kill_aa_earth_summon59969 60085–60114 ———
27411kill_aa_fire_arrow_p2p62018 60085–60114 ———
26613kill_aa_fire_column58940 60085–60114 ———
27378kill_aa_fire_swirl_shield61935 60085–60114 ———
26614kill_aa_flurry_daggers58941 60085–60114 ———
26615kill_aa_forced_shader_burst58942 60085–60114 ———
27515kill_aa_frenzy62394 60085–60114 ———
27371kill_aa_frozen_rain61905 60085–60114 ———
26616kill_aa_glow_eyes58943 60085–60114 ———
27504kill_aa_hammer_buff62316 60085–60114 ———
27517kill_aa_hammer_smite62412 60085–60114 ———
26617kill_aa_hand_buff58944 60085–60114 ———
26618kill_aa_hand_cross_dark58945 60085–60114 ———
26619kill_aa_hand_dark_rings58946 60085–60114 ———
26620kill_aa_hand_flare58947 60085–60114 ———
26621kill_aa_hand_leaf58948 60085–60114 ———
27561kill_aa_hand_notes62536 60085–60114 ———
26622kill_aa_hand_pattern58949 60085–60114 ———
26623kill_aa_hand_runes58950 60085–60114 ———
26624kill_aa_hand_sparkles58951 60085–60114 ———
26625kill_aa_hand_sparkles_dark58952 60085–60114 ———
26626kill_aa_hand_sparks58953 60085–60114 ———
27562kill_aa_hand_spin_notes62537 60085–60114 ———
26627kill_aa_hand_stars58954 60085–60114 ———
26628kill_aa_hand_stars_dark58955 60085–60114 ———
26629kill_aa_head_halo58956 60085–60114 ———
27379kill_aa_head_skeleton_hands_blast61936 60085–60114 ———
30050kill_aa_heal_arrow_blast8454107 60085–60114 ———
27514kill_aa_heal_flourish62387 60085–60114 ———
26630kill_aa_heal_hands_blast58957 60085–60114 ———
27380kill_aa_heal_skeleton_hands_blast61937 60085–60114 ———
27385kill_aa_heal_splash61948 60085–60114 ———
27963kill_aa_holy_circle_summon64036 60085–60114 ———
31498kill_aa_holy_spin_ward8487282 60085–60114 ———
31499kill_aa_huge_damage_shield8487283 60085–60114 ———
26631kill_aa_ice_comet58958 60085–60114 ———
26632kill_aa_ice_comet_shower58959 60085–60114 ———
31587kill_aa_instant_summon_buff8490164 60085–60114 ———
27510kill_aa_lance_attack62334 60085–60114 ———
26825kill_aa_lightning_blast_hit59669 60085–60114 ———
26634kill_aa_lightning_bolt58961 60085–60114 ———
27386kill_aa_lightning_siphon61949 60085–60114 ———
26633kill_aa_light_ward58960 60085–60114 ———
31504kill_aa_mana_damage_shield8487491 60085–60114 ———
26635kill_aa_massive_hit58962 60085–60114 ———
26843kill_aa_mental_damage59797 60085–60114 ———
26844kill_aa_mental_smite59798 60085–60114 ———
31087kill_aa_music_band8481872 60085–60114 ———
26636kill_aa_music_beam_p2p58963 60085–60114 ———
27563kill_aa_music_blast_ball62538 60085–60114 ———
27564kill_aa_music_bubble62539 60085–60114 ———
27412kill_aa_music_dagger_buff62019 60085–60114 ———
27387kill_aa_nature_heal61950 60085–60114 ———
26751kill_aa_notes_blast59333 60085–60114 ———
27565kill_aa_notes_shield62540 60085–60114 ———
27575kill_aa_notes_swirling62556 60085–60114 ———
27078kill_aa_ooze_summon60722 60085–60114 ———
27381kill_aa_planar_fire_blast61938 60085–60114 ———
27511kill_aa_plane_shift62335 60085–60114 ———
26637kill_aa_plasma_hit58964 60085–60114 ———
26638kill_aa_poison_spore_p2p58965 60085–60114 ———
26639kill_aa_radiant_glow58966 60085–60114 ———
28223kill_aa_reactive_buff65170 60085–60114 ———
26944kill_aa_result_leash60070 60085–60114 ———
26926kill_aa_rune_blur_circular59954 60085–60114 ———
26640kill_aa_rune_buff_brawler58967 60085–60114 ———
26932kill_aa_rune_chain_swirl59977 60085–60114 ———
27532kill_aa_rune_debuff_all62467 60085–60114 ———
26641kill_aa_rune_drop_base58968 60085–60114 ———
26642kill_aa_rune_forward58969 60085–60114 ———
26643kill_aa_rune_in_buff58970 60085–60114 ———
27471kill_aa_rune_out_buff62189 60085–60114 ———
26644kill_aa_rune_rise_base58971 60085–60114 ———
26645kill_aa_rune_rise_buff58972 60085–60114 ———
27388kill_aa_scimitar_cyclone61951 60085–60114 ———
27370kill_aa_scythe_slash61898 60085–60114 ———
27382kill_aa_second_skin61939 60085–60114 ———
27630kill_aa_self_lifetap62853 60085–60114 ———
31505kill_aa_shadow_copy8487492 60085–60114 ———
28187kill_aa_shield_barrier_buff65082 60085–60114 ———
28195kill_aa_shield_barrier_heal65116 60085–60114 ———
26646kill_aa_shimmer_arrow_p2p58973 60085–60114 ———
30051kill_aa_shoot_arrow_rain8454108 60085–60114 ———
27079kill_aa_skull_summon60723 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.