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
24801kill_cast_head_spikes54739 60085–60114 ———
3522kill_cast_heal32914 1–843 ———
17468kill_cast_heal32914 60085–60114 ———
24757kill_cast_heal_ball54648 60085–60114 ———
28244kill_cast_heal_ball_gather65469 60085–60114 ———
3523kill_cast_heal_blur32915 1–843 ———
17469kill_cast_heal_blur32915 60085–60114 ———
22606kill_cast_heat_sphere50000 60085–60114 ———
30277kill_cast_hiss_energy_metallic_snd8454807 60085–60114 ———
21715kill_cast_horn_blowing_end47890 60085–60114 ———
21716kill_cast_horn_blowing_loop47891 60085–60114 ———
24613kill_cast_hot_water_douse54384 60085–60114 ———
4359kill_cast_howlverb_sound34166 1–843 ———
19084kill_cast_howlverb_sound43801 60085–60114 ———
6632kill_cast_howl_of_dragon39511 1–843 ———
4714kill_cast_hrb_choral_snd34583 1–843 ———
19085kill_cast_hrb_choral_snd43802 60085–60114 ———
4715kill_cast_hrb_rune_snd34584 1–843 ———
19086kill_cast_hrb_rune_snd43803 60085–60114 ———
30638kill_cast_hydra_ice_breath8459638 60085–60114 ———
6572kill_cast_hypnosis39241 1–843 ———
18365kill_cast_hypnosis39241 60085–60114 ———
24121kill_cast_ice_blast53288 60085–60114 ———
24101kill_cast_ice_blastwave53229 60085–60114 ———
22968kill_cast_ice_blast_out50858 60085–60114 ———
24122kill_cast_ice_blast_ring53289 60085–60114 ———
22643kill_cast_ice_block50133 60085–60114 ———
22969kill_cast_ice_column50859 60085–60114 ———
19087kill_cast_ice_laser_breath43804 60085–60114 ———
23295kill_cast_ice_pulse51625 60085–60114 ———
23296kill_cast_icicle_spin_blast51626 60085–60114 ———
28081kill_cast_icy_breath64441 60085–60114 ———
23367kill_cast_icy_division51841 60085–60114 ———
23260kill_cast_idle51568 60085–60114 ———
27037kill_cast_illusionary_charge_up60484 60085–60114 ———
27038kill_cast_illusionary_emanation60485 60085–60114 ———
4525kill_cast_illusionist34337 1–843 ———
17721kill_cast_illusionist34337 60085–60114 ———
27948kill_cast_illusionist_mythical_fx64003 60085–60114 ———
24893kill_cast_inhale_breath54992 60085–60114 ———
27698kill_cast_ink_barrier63303 60085–60114 ———
27699kill_cast_ink_spray63304 60085–60114 ———
4526kill_cast_inquisitor34338 1–843 ———
17722kill_cast_inquisitor34338 60085–60114 ———
27949kill_cast_inquisitor_mythical_fx64004 60085–60114 ———
5434kill_cast_instrument_drum35550 1–843 ———
17993kill_cast_instrument_drum35550 60085–60114 ———
5904kill_cast_instrument_flute36461 1–843 ———
18165kill_cast_instrument_flute36461 60085–60114 ———
5435kill_cast_instrument_stringed35551 1–843 ———
17994kill_cast_instrument_stringed35551 60085–60114 ———
6600kill_cast_jesters_gamble39373 1–843 ———
18370kill_cast_jesters_gamble39373 60085–60114 ———
4360kill_cast_kickcharge_sound34167 1–843 ———
19088kill_cast_kickcharge_sound43805 60085–60114 ———
24838kill_cast_kromzek_strike54845 60085–60114 ———
19089kill_cast_laser_aoe43806 60085–60114 ———
18445kill_cast_laser_p2p42589 60085–60114 ———
22573kill_cast_lasso49929 60085–60114 ———
31372kill_cast_lava_cone_blast8484089 60085–60114 ———
31453kill_cast_lava_cooling_shader8486197 60085–60114 ———
31407kill_cast_lava_heal8485023 60085–60114 ———
30659kill_cast_lava_howl8460802 60085–60114 ———
6440kill_cast_lava_rocks38403 1–843 ———
19090kill_cast_lava_rocks43807 60085–60114 ———
22953kill_cast_lava_shield50824 60085–60114 ———
21693kill_cast_leaf_blower_p2p47769 60085–60114 ———
22644kill_cast_leaf_buff50134 60085–60114 ———
30585kill_cast_leaf_burst_forward8457324 60085–60114 ———
22645kill_cast_leaf_spiral_buff50135 60085–60114 ———
19091kill_cast_lense0143808 60085–60114 ———
19092kill_cast_lense0243809 60085–60114 ———
3933kill_cast_lhand_sparkle_trail33663 1–843 ———
17556kill_cast_lhand_sparkle_trail33663 60085–60114 ———
21854kill_cast_lhand_sparkle_trail_blend48409 60085–60114 ———
4483kill_cast_lhand_sparkle_trail_t34291 1–843 ———
17702kill_cast_lhand_sparkle_trail_t34291 60085–60114 ———
30975kill_cast_lich_shout_vanish8474499 60085–60114 ———
3524kill_cast_lightning32916 1–843 ———
17470kill_cast_lightning32916 60085–60114 ———
22268kill_cast_lightning_aoe_blast_out49328 60085–60114 ———
22724kill_cast_lightning_beam_converge50318 60085–60114 ———
22725kill_cast_lightning_beam_point50319 60085–60114 ———
22726kill_cast_lightning_blastdown50320 60085–60114 ———
31034kill_cast_lightning_blast_shockwave8478992 60085–60114 ———
24894kill_cast_lightning_burst54993 60085–60114 ———
27706kill_cast_lightning_spray_hands63356 60085–60114 ———
24895kill_cast_lightning_wings54994 60085–60114 ———
22263kill_cast_light_beam_grow49317 60085–60114 ———
30790kill_cast_light_shout8467045 60085–60114 ———
4361kill_cast_light_sound34168 1–843 ———
19093kill_cast_light_sound43810 60085–60114 ———
6573kill_cast_loop39242 1–843 ———
22569kill_cast_lost_souls49916 60085–60114 ———
23391kill_cast_lost_souls_rising51905 60085–60114 ———
3525kill_cast_mage32917 1–843 ———
17471kill_cast_mage32917 60085–60114 ———
28083kill_cast_mage_aa_reassignment_fx64449 60085–60114 ———
3934kill_cast_mage_aggro_0133664 1–843 ———
19094kill_cast_mage_aggro_0143811 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.