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
6571kill_cast_end39240 1–843 ———
4088kill_cast_endbang2_snd33846 1–843 ———
19066kill_cast_endbang2_snd43783 60085–60114 ———
4089kill_cast_endbang_snd33847 1–843 ———
19067kill_cast_endbang_snd43784 60085–60114 ———
4090kill_cast_endsparkle_snd33848 1–843 ———
19068kill_cast_endsparkle_snd43785 60085–60114 ———
4091kill_cast_endthunder_snd33849 1–843 ———
19069kill_cast_endthunder_snd43786 60085–60114 ———
4346kill_cast_end_sound34153 1–843 ———
19065kill_cast_end_sound43782 60085–60114 ———
22759kill_cast_energy_blast_aoe50393 60085–60114 ———
22544kill_cast_energy_blob49817 60085–60114 ———
22545kill_cast_energy_blob_p2p49818 60085–60114 ———
22737kill_cast_energy_charge_up50357 60085–60114 ———
31025kill_cast_energy_transfer_barrier8478397 60085–60114 ———
24721kill_cast_enraged_flames54581 60085–60114 ———
23258kill_cast_enter51566 60085–60114 ———
4745kill_cast_enthralling_fetters_circling34617 1–843 ———
17784kill_cast_enthralling_fetters_circling34617 60085–60114 ———
4746kill_cast_enthralling_fetters_circling_ghostly34618 1–843 ———
17785kill_cast_enthralling_fetters_circling_ghostly34618 60085–60114 ———
4713kill_cast_es_arches_01_snd34582 1–843 ———
19070kill_cast_es_arches_01_snd43787 60085–60114 ———
23259kill_cast_exit51567 60085–60114 ———
4575kill_cast_expanding_rings34398 1–843 ———
17747kill_cast_expanding_rings34398 60085–60114 ———
5310kill_cast_expand_ring_ws35392 1–843 ———
17935kill_cast_expand_ring_ws35392 60085–60114 ———
5269kill_cast_explosion_p535306 1–843 ———
17909kill_cast_explosion_p535306 60085–60114 ———
30276kill_cast_explosive_attack_snd8454806 60085–60114 ———
26564kill_cast_eye_blast58794 60085–60114 ———
25420kill_cast_fae_flight_grant_fx56458 60085–60114 ———
27879kill_cast_fang_fx63792 60085–60114 ———
6439kill_cast_fast38402 1–843 ———
19071kill_cast_fast43788 60085–60114 ———
25748kill_cast_feral_fangs57327 60085–60114 ———
25761kill_cast_feral_fangs_bite57353 60085–60114 ———
4393kill_cast_fighter34200 1–843 ———
17669kill_cast_fighter34200 60085–60114 ———
28082kill_cast_fighter_aa_reassignment_fx64448 60085–60114 ———
30814kill_cast_fireball_gather8468232 60085–60114 ———
18447kill_cast_firebreath_p2p42604 60085–60114 ———
26705kill_cast_fire_blast59133 60085–60114 ———
30370kill_cast_fire_blast_splash8454979 60085–60114 ———
26712kill_cast_fire_breath59161 60085–60114 ———
22647kill_cast_fire_buff50143 60085–60114 ———
22967kill_cast_fire_charge50857 60085–60114 ———
5293kill_cast_fire_foot35363 1–843 ———
17926kill_cast_fire_foot35363 60085–60114 ———
25483kill_cast_fire_teleport56624 60085–60114 ———
4687kill_cast_fire_trail34541 1–843 ———
17767kill_cast_fire_trail34541 60085–60114 ———
5325kill_cast_fire_weapon35420 1–843 ———
17945kill_cast_fire_weapon35420 60085–60114 ———
4721kill_cast_fire_whip_circling34591 1–843 ———
17782kill_cast_fire_whip_circling34591 60085–60114 ———
27967kill_cast_flame_emblem64056 60085–60114 ———
27968kill_cast_flame_punchdown64057 60085–60114 ———
27969kill_cast_flaming_sun_beams64058 60085–60114 ———
26717kill_cast_flaming_wings59243 60085–60114 ———
4707kill_cast_flasher34574 1–843 ———
17779kill_cast_flasher34574 60085–60114 ———
23129kill_cast_flash_jump_attack51247 60085–60114 ———
22651kill_cast_flash_rune_buff50153 60085–60114 ———
25713kill_cast_flurry_claws57246 60085–60114 ———
25749kill_cast_flurry_claws_attack57328 60085–60114 ———
30063kill_cast_flying_fire_breath8454133 60085–60114 ———
24837kill_cast_foot_crush_stomp54844 60085–60114 ———
26527kill_cast_foot_vine_stomp58601 60085–60114 ———
4544kill_cast_forced_flasher_diff_noise34362 1–843 ———
17739kill_cast_forced_flasher_diff_noise34362 60085–60114 ———
4576kill_cast_forced_flasher_fadein_diff_noise34399 1–843 ———
17748kill_cast_forced_flasher_fadein_diff_noise34399 60085–60114 ———
4545kill_cast_forced_flasher_oceanseamless34363 1–843 ———
17740kill_cast_forced_flasher_oceanseamless34363 60085–60114 ———
4546kill_cast_forced_flasher_streaks34364 1–843 ———
17741kill_cast_forced_flasher_streaks34364 60085–60114 ———
18527kill_cast_forced_flasher_stream_scroll42896 60085–60114 ———
18528kill_cast_forced_flasher_stream_scroll_blend42897 60085–60114 ———
4547kill_cast_forced_flasher_tiledfoam34365 1–843 ———
17742kill_cast_forced_flasher_tiledfoam34365 60085–60114 ———
4548kill_cast_forced_flasher_tiledfoam234366 1–843 ———
17743kill_cast_forced_flasher_tiledfoam234366 60085–60114 ———
4549kill_cast_forced_flasher_tiledfoam334367 1–843 ———
17744kill_cast_forced_flasher_tiledfoam334367 60085–60114 ———
4886kill_cast_forced_flasher_tiledfoam3_scroll34762 1–843 ———
17844kill_cast_forced_flasher_tiledfoam3_scroll34762 60085–60114 ———
4550kill_cast_forced_flasher_tiledfoam434368 1–843 ———
17745kill_cast_forced_flasher_tiledfoam434368 60085–60114 ———
5023kill_cast_force_snd34906 1–843 ———
19072kill_cast_force_snd43789 60085–60114 ———
31021kill_cast_forward_arc_blast8478010 60085–60114 ———
23069kill_cast_forward_rune_wheel51145 60085–60114 ———
26537kill_cast_frog_eat58642 60085–60114 ———
27672kill_cast_frog_spit_fx63185 60085–60114 ———
30575kill_cast_frostfell_iceblock018457028 60085–60114 ———
30576kill_cast_frostfell_iceblock028457029 60085–60114 ———
30577kill_cast_frostfell_iceblock038457030 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.