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
4100kill_cast_thunder_snd33858 1–843 ———
19174kill_cast_thunder_snd43893 60085–60114 ———
30637kill_cast_tov_ice_block8459481 60085–60114 ———
30639kill_cast_tov_ice_melt8459641 60085–60114 ———
27066kill_cast_toxic_gathering60668 60085–60114 ———
27067kill_cast_toxic_rain60669 60085–60114 ———
5823kill_cast_trace_firespikes_l36132 1–843 ———
18113kill_cast_trace_firespikes_l36132 60085–60114 ———
5824kill_cast_trace_firespikes_r36133 1–843 ———
18114kill_cast_trace_firespikes_r36133 60085–60114 ———
21948kill_cast_trace_firespikes_sub_l48659 60085–60114 ———
21949kill_cast_trace_firespikes_sub_r48660 60085–60114 ———
6472kill_cast_trace_prism_left38805 1–843 ———
18341kill_cast_trace_prism_left38805 60085–60114 ———
6473kill_cast_trace_prism_right38806 1–843 ———
18342kill_cast_trace_prism_right38806 60085–60114 ———
18408kill_cast_trace_sparkcrescent_l40583 60085–60114 ———
18409kill_cast_trace_sparkcrescent_r40584 60085–60114 ———
5825kill_cast_trace_wine_l36134 1–843 ———
18115kill_cast_trace_wine_l36134 60085–60114 ———
5826kill_cast_trace_wine_r36135 1–843 ———
18116kill_cast_trace_wine_r36135 60085–60114 ———
22116kill_cast_trail_head49023 60085–60114 ———
4244kill_cast_trail_leftarm34050 1–843 ———
17602kill_cast_trail_leftarm34050 60085–60114 ———
19175kill_cast_trail_leftarm_bright43894 60085–60114 ———
4245kill_cast_trail_rightarm34051 1–843 ———
17603kill_cast_trail_rightarm34051 60085–60114 ———
19176kill_cast_trail_rightarm_bright43895 60085–60114 ———
4278kill_cast_trail_rightfoot34085 1–843 ———
17620kill_cast_trail_rightfoot34085 60085–60114 ———
5537kill_cast_trail_rightfoot_gold35693 1–843 ———
18022kill_cast_trail_rightfoot_gold35693 60085–60114 ———
4279kill_cast_trail_rightshin34086 1–843 ———
17621kill_cast_trail_rightshin34086 60085–60114 ———
31465kill_cast_tribunal_scales_buff8486625 60085–60114 ———
5100kill_cast_troubador35032 1–843 ———
17897kill_cast_troubador35032 60085–60114 ———
27958kill_cast_troubador_mythical_fx64015 60085–60114 ———
5516kill_cast_tune_drum35668 1–843 ———
18020kill_cast_tune_drum35668 60085–60114 ———
5934kill_cast_tune_flute36547 1–843 ———
18188kill_cast_tune_flute36547 60085–60114 ———
5436kill_cast_tune_guitar35553 1–843 ———
17995kill_cast_tune_guitar35553 60085–60114 ———
5970kill_cast_tune_multichain36613 1–843 ———
18204kill_cast_tune_multichain36613 60085–60114 ———
5914kill_cast_tune_song36502 1–843 ———
18174kill_cast_tune_song36502 60085–60114 ———
18389kill_cast_undead_tide39630 60085–60114 ———
4101kill_cast_undertone_snd33859 1–843 ———
19177kill_cast_undertone_snd43896 60085–60114 ———
21684kill_cast_vampirism_p2p47713 60085–60114 ———
3558kill_cast_vault32956 1–843 ———
17503kill_cast_vault32956 60085–60114 ———
4620kill_cast_venekors_fire_breath34446 1–843 ———
19178kill_cast_venekors_fire_breath43897 60085–60114 ———
22102kill_cast_venril_beam_buff48996 60085–60114 ———
22103kill_cast_venril_crystal48997 60085–60114 ———
22104kill_cast_venril_ring48998 60085–60114 ———
22105kill_cast_venril_ring_buff48999 60085–60114 ———
5761kill_cast_vines_root_control_circling35978 1–843 ———
18069kill_cast_vines_root_control_circling35978 60085–60114 ———
18429kill_cast_vision_plane_druid_ring42284 60085–60114 ———
5280kill_cast_void_dragon_breath35331 1–843 ———
17916kill_cast_void_dragon_breath35331 60085–60114 ———
22717kill_cast_void_energy_cloud50307 60085–60114 ———
22711kill_cast_void_portal50284 60085–60114 ———
22718kill_cast_void_rune_barrier50308 60085–60114 ———
22719kill_cast_void_rune_circle50309 60085–60114 ———
31647kill_cast_vomit_shout8492956 60085–60114 ———
18402kill_cast_vyemm_slam39832 60085–60114 ———
23477kill_cast_wand_fizzle52106 60085–60114 ———
3559kill_cast_ward32957 1–843 ———
17504kill_cast_ward32957 60085–60114 ———
4532kill_cast_warden34344 1–843 ———
17728kill_cast_warden34344 60085–60114 ———
27959kill_cast_warden_mythical_fx64016 60085–60114 ———
4533kill_cast_warlock34345 1–843 ———
17729kill_cast_warlock34345 60085–60114 ———
27960kill_cast_warlock_mythical_fx64017 60085–60114 ———
31019kill_cast_warning_zone8477812 60085–60114 ———
23413kill_cast_watching51973 60085–60114 ———
21694kill_cast_waterflush_p2p47772 60085–60114 ———
22970kill_cast_water_charge50862 60085–60114 ———
23378kill_cast_water_shield51866 60085–60114 ———
27880kill_cast_water_spouts63795 60085–60114 ———
22611kill_cast_wavy_bubble_shield50016 60085–60114 ———
23415kill_cast_weapon_chargeup51981 60085–60114 ———
27972kill_cast_weapon_flames_bottom64063 60085–60114 ———
27973kill_cast_weapon_flames_top64064 60085–60114 ———
23416kill_cast_weapon_glint_point51982 60085–60114 ———
23417kill_cast_weapon_shudder51983 60085–60114 ———
21945kill_cast_webshoot48649 60085–60114 ———
21946kill_cast_webshoot_p2p48650 60085–60114 ———
30995kill_cast_web_smoke_tube_gather8475998 60085–60114 ———
30992kill_cast_web_spin_barrier8475804 60085–60114 ———
30993kill_cast_web_vanish8475805 60085–60114 ———
30996kill_cast_web_wall_blast8475999 60085–60114 ———
27230kill_cast_werewolf_appear61351 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.