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
23114kill_cast_summoner_wheel_back51213 60085–60114 ———
23115kill_cast_summoner_wheel_base51214 60085–60114 ———
23116kill_cast_summoner_wheel_forward51215 60085–60114 ———
6575kill_cast_summoning39245 1–843 ———
25886kill_cast_summon_draconian_cyclone57667 60085–60114 ———
25887kill_cast_summon_draconian_necro57668 60085–60114 ———
24416kill_cast_summon_elemental_cyclone53902 60085–60114 ———
4977kill_cast_summon_end34860 1–843 ———
19148kill_cast_summon_end43867 60085–60114 ———
4978kill_cast_summon_loop34861 1–843 ———
19149kill_cast_summon_loop43868 60085–60114 ———
4979kill_cast_summon_start34862 1–843 ———
19150kill_cast_summon_start43869 60085–60114 ———
21801kill_cast_summon_undead_assemble48000 60085–60114 ———
21802kill_cast_summon_undead_cyclone48001 60085–60114 ———
22022kill_cast_summon_undead_cyclone_green48863 60085–60114 ———
21803kill_cast_summon_undead_flame_spurt48002 60085–60114 ———
21804kill_cast_summon_undead_yawn48003 60085–60114 ———
27971kill_cast_sun_sphere64062 60085–60114 ———
5414kill_cast_super_buff35527 1–843 ———
17980kill_cast_super_buff35527 60085–60114 ———
5784kill_cast_super_lightning36004 1–843 ———
18078kill_cast_super_lightning36004 60085–60114 ———
28165kill_cast_swashbuckler64910 60085–60114 ———
27956kill_cast_swashbuckler_mythical_fx64013 60085–60114 ———
4270kill_cast_swipe01_snd34077 1–843 ———
19151kill_cast_swipe01_snd43870 60085–60114 ———
4271kill_cast_swipe02_snd34078 1–843 ———
19152kill_cast_swipe02_snd43871 60085–60114 ———
3557kill_cast_swirlie32955 1–843 ———
17502kill_cast_swirlie32955 60085–60114 ———
4540kill_cast_swirlies_smoke34352 1–843 ———
17735kill_cast_swirlies_smoke34352 60085–60114 ———
4541kill_cast_swirlies_smoke_blend34353 1–843 ———
17736kill_cast_swirlies_smoke_blend34353 60085–60114 ———
22554kill_cast_sword_head49843 60085–60114 ———
26688kill_cast_tail_fx59103 60085–60114 ———
24802kill_cast_tallonite_attacking54742 60085–60114 ———
23666kill_cast_tallonite_axe_throw52434 60085–60114 ———
23617kill_cast_tallonite_balance52353 60085–60114 ———
23663kill_cast_tallonite_dagger_blast52425 60085–60114 ———
23667kill_cast_tallonite_glow_eyes52435 60085–60114 ———
23601kill_cast_tallonite_lash_cone52331 60085–60114 ———
24803kill_cast_tallonite_lash_spin54743 60085–60114 ———
23602kill_cast_tallonite_lash_summon52332 60085–60114 ———
6553kill_cast_target39188 1–843 ———
6295kill_cast_targeted_benefical_end37823 1–843 ———
19158kill_cast_targeted_benefical_end43877 60085–60114 ———
6296kill_cast_targeted_benefical_loop37824 1–843 ———
19159kill_cast_targeted_benefical_loop43878 60085–60114 ———
6297kill_cast_targeted_benefical_start37825 1–843 ———
19160kill_cast_targeted_benefical_start43879 60085–60114 ———
4980kill_cast_targeted_beneficial_end34863 1–843 ———
19161kill_cast_targeted_beneficial_end43880 60085–60114 ———
24839kill_cast_targeted_beneficial_idle54848 60085–60114 ———
4981kill_cast_targeted_beneficial_loop34864 1–843 ———
19162kill_cast_targeted_beneficial_loop43881 60085–60114 ———
4982kill_cast_targeted_beneficial_start34865 1–843 ———
19163kill_cast_targeted_beneficial_start43882 60085–60114 ———
4983kill_cast_targeted_detrimental_end34866 1–843 ———
19164kill_cast_targeted_detrimental_end43883 60085–60114 ———
4984kill_cast_targeted_detrimental_loop34867 1–843 ———
19165kill_cast_targeted_detrimental_loop43884 60085–60114 ———
4985kill_cast_targeted_detrimental_start34868 1–843 ———
19166kill_cast_targeted_detrimental_start43885 60085–60114 ———
19167kill_cast_targeted_detrimental_start243886 60085–60114 ———
5067kill_cast_targeted_wand_end34967 1–843 ———
19168kill_cast_targeted_wand_end43887 60085–60114 ———
5068kill_cast_targeted_wand_loop34968 1–843 ———
19169kill_cast_targeted_wand_loop43888 60085–60114 ———
5069kill_cast_targeted_wand_start34969 1–843 ———
19170kill_cast_targeted_wand_start43889 60085–60114 ———
4825kill_cast_target_detrimental_0134699 1–843 ———
19156kill_cast_target_detrimental_0143875 60085–60114 ———
4826kill_cast_target_detrimental_0234700 1–843 ———
19157kill_cast_target_detrimental_0243876 60085–60114 ———
4822kill_cast_target_det_0134696 1–843 ———
19153kill_cast_target_det_0143872 60085–60114 ———
4823kill_cast_target_det_0234697 1–843 ———
19154kill_cast_target_det_0243873 60085–60114 ———
4824kill_cast_target_det_0334698 1–843 ———
19155kill_cast_target_det_0343874 60085–60114 ———
19171kill_cast_tarranax_breath43890 60085–60114 ———
19172kill_cast_tarranax_breath_path43891 60085–60114 ———
19173kill_cast_tarranax_breath_start43892 60085–60114 ———
5312kill_cast_taunt35395 1–843 ———
17937kill_cast_taunt35395 60085–60114 ———
28096kill_cast_tear_shout64566 60085–60114 ———
30844kill_cast_tear_shout_breath8469230 60085–60114 ———
26574kill_cast_teleport_down_fx58854 60085–60114 ———
4531kill_cast_templar34343 1–843 ———
17727kill_cast_templar34343 60085–60114 ———
27957kill_cast_templar_mythical_fx64014 60085–60114 ———
4747kill_cast_testbones34619 1–843 ———
17786kill_cast_testbones34619 60085–60114 ———
4760kill_cast_testbones_vgraph34633 1–843 ———
17796kill_cast_testbones_vgraph34633 60085–60114 ———
26528kill_cast_thorn_circle58604 60085–60114 ———
26529kill_cast_thorn_clap58605 60085–60114 ———
24840kill_cast_thunder_clap54849 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.