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
3255result_dragon_shield_lightning_02b6007 1–843 ———
9350result_dragon_shield_lightning_02b12105 60085–60114 ———
3256result_dragon_shield_lightning_02c6008 1–843 ———
9351result_dragon_shield_lightning_02c12106 60085–60114 ———
17433result_drain_essence_p2p32412 60085–60114 ———
11706result_drake_breath16912 60085–60114 ———
2640result_drakota_fetters3405 1–843 ———
7333result_drakota_fetters3405 60085–60114 ———
2641result_drakota_flight_fetters3406 1–843 ———
7334result_drakota_flight_fetters3406 60085–60114 ———
28897result_dreamwalk_fx74004 60085–60114 ———
28898result_dreamwalk_tether_p2p74005 60085–60114 ———
16371result_drinal_spirits_p2p28268 60085–60114 ———
2647result_dripping_rain3427 1–843 ———
7338result_dripping_rain3427 60085–60114 ———
7623result_dryad_attack_aoe8509 60085–60114 ———
7621result_dryad_teleport8489 60085–60114 ———
14543result_dusty_black23504 60085–60114 ———
2116result_dust_black2642 1–843 ———
7146result_dust_black2642 60085–60114 ———
2864result_dust_blast4164 1–843 ———
7452result_dust_blast4164 60085–60114 ———
9352result_dust_blast_heavy12107 60085–60114 ———
1766result_dust_fall2083 1–843 ———
7069result_dust_fall2083 60085–60114 ———
12600result_eel_spit_p2p19144 60085–60114 ———
12145result_electric_beam_p2p18021 60085–60114 ———
2587result_electrified3246 1–843 ———
7290result_electrified3246 60085–60114 ———
13960result_elemental_drain_p2p21875 60085–60114 ———
16714result_elephant_trample29557 60085–60114 ———
2530result_embers_p2p3142 1–843 ———
7262result_embers_p2p3142 60085–60114 ———
15870result_ember_fire_engulfed26275 60085–60114 ———
1630result_ember_kite_shields_burning1938 1–843 ———
7031result_ember_kite_shields_burning1938 60085–60114 ———
14012result_ember_strike21995 60085–60114 ———
1637result_ember_swords_burning1945 1–843 ———
7035result_ember_swords_burning1945 60085–60114 ———
12788result_energy_drain_p2p19519 60085–60114 ———
17434result_energy_release_death32413 60085–60114 ———
11966result_energy_wave_p2p17630 60085–60114 ———
1547result_enthralling_fetters1854 1–843 ———
6994result_enthralling_fetters1854 60085–60114 ———
1857result_enthralling_fetters_ghostly2188 1–843 ———
7090result_enthralling_fetters_ghostly2188 60085–60114 ———
14727result_erollisi_bow_attack_p2p23952 60085–60114 ———
12678result_eru_tether_p2p19324 60085–60114 ———
16442result_essence_suck_p2p28603 60085–60114 ———
2613result_ethereal_p2p3354 1–843 ———
7313result_ethereal_p2p3354 60085–60114 ———
1604result_ethereal_ward1912 1–843 ———
7028result_ethereal_ward1912 60085–60114 ———
16468result_ethernere_fx28774 60085–60114 ———
14751result_exorcise_evil24054 60085–60114 ———
1654result_expand_ring_screech1962 1–843 ———
7040result_expand_ring_screech1962 60085–60114 ———
15871result_explode26276 60085–60114 ———
29641result_explode_stone96945 60085–60114 ———
17306result_explode_up31806 60085–60114 ———
1706result_explosion_fireworks2017 1–843 ———
7056result_explosion_fireworks2017 60085–60114 ———
1707result_explosion_fireworks_ground2018 1–843 ———
7057result_explosion_fireworks_ground2018 60085–60114 ———
16157result_extract_will_p2p27342 60085–60114 ———
10875result_eyehand_buff14871 60085–60114 ———
14630result_fae_dark_mount_fx23698 60085–60114 ———
14631result_fae_light_mount_fx23699 60085–60114 ———
14632result_falcon_god_egg_spit_p2p23700 60085–60114 ———
1767result_fascinate2084 1–843 ———
7070result_fascinate2084 60085–60114 ———
10894result_fatal_followup14979 60085–60114 ———
3128result_feather_explosion5265 1–843 ———
9353result_feather_explosion12108 60085–60114 ———
11485result_feather_smack16601 60085–60114 ———
14987result_feral_fangs_vert_bite24656 60085–60114 ———
1725result_fiery_comet_descending2037 1–843 ———
7061result_fiery_comet_descending2037 60085–60114 ———
12994result_fiery_flames19833 60085–60114 ———
12898result_fiery_sun19715 60085–60114 ———
567result_fire491 1–843 ———
6730result_fire491 60085–60114 ———
29021result_fireball_blast_down_p2p79635 60085–60114 ———
28847result_fireball_ring_fist71206 60085–60114 ———
2936result_firespitter4519 1–843 ———
7470result_firespitter4519 60085–60114 ———
3381result_firestrips6523 1–843 ———
7574result_firestrips6523 60085–60114 ———
568result_firetrail492 1–843 ———
6731result_firetrail492 60085–60114 ———
10901result_firewhimsy_p2p15007 60085–60114 ———
16784result_fireworks_brew_burst29806 60085–60114 ———
3316result_fireworks_burst6270 1–843 ———
7559result_fireworks_burst6270 60085–60114 ———
11343result_fireworks_confetti16301 60085–60114 ———
16785result_fireworks_confetti_brewday29807 60085–60114 ———
16787result_fireworks_flare_beads_burst29821 60085–60114 ———
16788result_fireworks_flare_cards_burst29822 60085–60114 ———
16789result_fireworks_flare_coins_burst29823 60085–60114 ———
12094result_fireworks_flower17925 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.