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
6117kill_cast_call_of_power37261 1–843 ———
18258kill_cast_call_of_power37261 60085–60114 ———
6634kill_cast_call_of_storms39520 1–843 ———
18376kill_cast_call_of_storms39520 60085–60114 ———
6569kill_cast_celtic_circle39238 1–843 ———
18364kill_cast_celtic_circle39238 60085–60114 ———
22254kill_cast_chalice_descending49288 60085–60114 ———
28161kill_cast_channeler64904 60085–60114 ———
30424kill_cast_channeler_mythical_fx8455363 60085–60114 ———
30274kill_cast_channeler_portal01_snd8454804 60085–60114 ———
30275kill_cast_channeler_portal02_snd8454805 60085–60114 ———
4340kill_cast_chargeswordglint_sound34147 1–843 ———
19046kill_cast_chargeswordglint_sound43763 60085–60114 ———
4339kill_cast_charge_wind_01_sound34146 1–843 ———
19045kill_cast_charge_wind_01_sound43762 60085–60114 ———
25767kill_cast_claws_strike_targeted57361 60085–60114 ———
4519kill_cast_cleric34331 1–843 ———
17716kill_cast_cleric34331 60085–60114 ———
3931kill_cast_cloudring33661 1–843 ———
17554kill_cast_cloudring33661 60085–60114 ———
3996kill_cast_cloudsphere33736 1–843 ———
17559kill_cast_cloudsphere33736 60085–60114 ———
27813kill_cast_clouds_head_inhale63659 60085–60114 ———
25747kill_cast_cloud_spin57326 60085–60114 ———
4341kill_cast_clowhand_sound_0134148 1–843 ———
19047kill_cast_clowhand_sound_0143764 60085–60114 ———
4342kill_cast_clowhand_sound_0234149 1–843 ———
19048kill_cast_clowhand_sound_0243765 60085–60114 ———
4343kill_cast_clowhand_sound_0334150 1–843 ———
19049kill_cast_clowhand_sound_0343766 60085–60114 ———
4520kill_cast_coercer34332 1–843 ———
17717kill_cast_coercer34332 60085–60114 ———
27942kill_cast_coercer_mythical_fx63997 60085–60114 ———
24892kill_cast_cold_breath54991 60085–60114 ———
5277kill_cast_cold_dragon_breath35327 1–843 ———
17913kill_cast_cold_dragon_breath35327 60085–60114 ———
3517kill_cast_columns32909 1–843 ———
17463kill_cast_columns32909 60085–60114 ———
5855kill_cast_columns_slow36205 1–843 ———
18137kill_cast_columns_slow36205 60085–60114 ———
23141kill_cast_column_blast_circle51276 60085–60114 ———
28177kill_cast_conduit_input65046 60085–60114 ———
4521kill_cast_conjurer34333 1–843 ———
30793kill_cast_conjure_skull8467214 60085–60114 ———
21680kill_cast_conjuror47693 60085–60114 ———
27943kill_cast_conjuror_mythical_fx63998 60085–60114 ———
25908kill_cast_corruption_gather57792 60085–60114 ———
23459kill_cast_crackling_rift_summon52063 60085–60114 ———
6649kill_cast_crescent_hands_l39554 1–843 ———
18381kill_cast_crescent_hands_l39554 60085–60114 ———
6650kill_cast_crescent_hands_r39555 1–843 ———
18382kill_cast_crescent_hands_r39555 60085–60114 ———
25753kill_cast_crit_hawk_summon57339 60085–60114 ———
5096kill_cast_crusader35027 1–843 ———
17893kill_cast_crusader35027 60085–60114 ———
23917kill_cast_crush_blast52797 60085–60114 ———
31048kill_cast_cyclone_stones8480177 60085–60114 ———
22270kill_cast_cyclone_storm_blast49336 60085–60114 ———
5753kill_cast_darkness_skull_buff_summoned35960 1–843 ———
18061kill_cast_darkness_skull_buff_summoned35960 60085–60114 ———
5796kill_cast_darkness_whip_circling36022 1–843 ———
18087kill_cast_darkness_whip_circling36022 60085–60114 ———
31303kill_cast_dark_energy_gather8483737 60085–60114 ———
5309kill_cast_dark_forced_shader35391 1–843 ———
17934kill_cast_dark_forced_shader35391 60085–60114 ———
3518kill_cast_dark_ring32910 1–843 ———
17464kill_cast_dark_ring32910 60085–60114 ———
26710kill_cast_dark_shout59159 60085–60114 ———
30994kill_cast_dark_splat_shout8475995 60085–60114 ———
3932kill_cast_dblring_blend33662 1–843 ———
17555kill_cast_dblring_blend33662 60085–60114 ———
3519kill_cast_dbl_bright_ring32911 1–843 ———
17465kill_cast_dbl_bright_ring32911 60085–60114 ———
24756kill_cast_death_beam54647 60085–60114 ———
26711kill_cast_debris59160 60085–60114 ———
5446kill_cast_debuff35565 1–843 ———
18001kill_cast_debuff35565 60085–60114 ———
6055kill_cast_debuff_aoe36892 1–843 ———
18234kill_cast_debuff_aoe36892 60085–60114 ———
21646kill_cast_debuff_blend47449 60085–60114 ———
19050kill_cast_deepbreath43767 60085–60114 ———
4522kill_cast_defiler34334 1–843 ———
17718kill_cast_defiler34334 60085–60114 ———
27944kill_cast_defiler_mythical_fx63999 60085–60114 ———
5097kill_cast_dirge35028 1–843 ———
17894kill_cast_dirge35028 60085–60114 ———
27945kill_cast_dirge_mythical_fx64000 60085–60114 ———
21714kill_cast_dirge_stringed_loop47888 60085–60114 ———
31007kill_cast_disease_aura_area8477174 60085–60114 ———
30660kill_cast_disease_spray8460962 60085–60114 ———
4242kill_cast_distort34048 1–843 ———
17600kill_cast_distort34048 60085–60114 ———
5278kill_cast_distortion_hit_minimal35328 1–843 ———
17914kill_cast_distortion_hit_minimal35328 60085–60114 ———
4603kill_cast_distort_flat34428 1–843 ———
17752kill_cast_distort_flat34428 60085–60114 ———
4502kill_cast_distort_leftfoot34312 1–843 ———
17706kill_cast_distort_leftfoot34312 60085–60114 ———
19051kill_cast_distort_lefthand43768 60085–60114 ———
5268kill_cast_distort_p335304 1–843 ———
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.