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
5108kill_bow_aim_up35051 1–843 ———
18947kill_bow_aim_up43660 60085–60114 ———
4997kill_bow_attack34880 1–843 ———
18948kill_bow_attack43661 60085–60114 ———
24629kill_bow_attack0154445 60085–60114 ———
24630kill_bow_attack0254446 60085–60114 ———
24631kill_bow_attack0354447 60085–60114 ———
5468kill_bow_attack_2x35597 1–843 ———
18949kill_bow_attack_2x43662 60085–60114 ———
4998kill_bow_backup34881 1–843 ———
18950kill_bow_backup43663 60085–60114 ———
4999kill_bow_dodge_backhand34882 1–843 ———
17869kill_bow_dodge_backhand34882 60085–60114 ———
5000kill_bow_dodge_down34883 1–843 ———
17870kill_bow_dodge_down34883 60085–60114 ———
5001kill_bow_dodge_forehand34884 1–843 ———
17871kill_bow_dodge_forehand34884 60085–60114 ———
5002kill_bow_dodge_thrust34885 1–843 ———
17872kill_bow_dodge_thrust34885 60085–60114 ———
5003kill_bow_enter34886 1–843 ———
18951kill_bow_enter43664 60085–60114 ———
5004kill_bow_exit34887 1–843 ———
18952kill_bow_exit43665 60085–60114 ———
5052kill_bow_getarrow34943 1–843 ———
18953kill_bow_getarrow43666 60085–60114 ———
5005kill_bow_idle34888 1–843 ———
17873kill_bow_idle34888 60085–60114 ———
5571kill_bow_knockdowntoknees35730 1–843 ———
18954kill_bow_knockdowntoknees43667 60085–60114 ———
5572kill_bow_knockedtoback35731 1–843 ———
18955kill_bow_knockedtoback43668 60085–60114 ———
5573kill_bow_knockedtoback_getup35732 1–843 ———
18956kill_bow_knockedtoback_getup43669 60085–60114 ———
5006kill_bow_ouch_backhand34889 1–843 ———
17874kill_bow_ouch_backhand34889 60085–60114 ———
5007kill_bow_ouch_down34890 1–843 ———
17875kill_bow_ouch_down34890 60085–60114 ———
5008kill_bow_ouch_forehand34891 1–843 ———
17876kill_bow_ouch_forehand34891 60085–60114 ———
5009kill_bow_ouch_thrust34892 1–843 ———
17877kill_bow_ouch_thrust34892 60085–60114 ———
5053kill_bow_pullback34944 1–843 ———
18957kill_bow_pullback43670 60085–60114 ———
5054kill_bow_release34945 1–843 ———
18958kill_bow_release43671 60085–60114 ———
30110kill_bow_run8454292 60085–60114 ———
5109kill_bow_sheathe35052 1–843 ———
18959kill_bow_sheathe43672 60085–60114 ———
5010kill_bow_strafe_left34893 1–843 ———
18960kill_bow_strafe_left43673 60085–60114 ———
5011kill_bow_strafe_right34894 1–843 ———
18961kill_bow_strafe_right43674 60085–60114 ———
5110kill_bow_unsheathe35053 1–843 ———
18962kill_bow_unsheathe43675 60085–60114 ———
5012kill_bow_walk34895 1–843 ———
18963kill_bow_walk43676 60085–60114 ———
4121kill_brandish33892 1–843 ———
18967kill_brandish43680 60085–60114 ———
3498kill_breath32890 1–843 ———
18968kill_breath43681 60085–60114 ———
5494kill_breathweapon35638 1–843 ———
18973kill_breathweapon43686 60085–60114 ———
6317kill_breath_attack37921 1–843 ———
18969kill_breath_attack43682 60085–60114 ———
18970kill_breath_attack_blue43683 60085–60114 ———
30061kill_breath_attack_ethernere8454131 60085–60114 ———
26570kill_breath_attack_ice58842 60085–60114 ———
26571kill_breath_attack_necro58843 60085–60114 ———
18971kill_breath_attack_purple43684 60085–60114 ———
26963kill_breath_blast_barrier60173 60085–60114 ———
25521kill_breath_fx56723 60085–60114 ———
6216kill_breath_nostop37475 1–843 ———
18972kill_breath_nostop43685 60085–60114 ———
22278kill_brew_day_mugs49364 60085–60114 ———
22450kill_brick_throw49557 60085–60114 ———
4631kill_bs_bull_form_01_snd34457 1–843 ———
18974kill_bs_bull_form_01_snd43687 60085–60114 ———
4632kill_bs_cast_armpush_snd34458 1–843 ———
18975kill_bs_cast_armpush_snd43688 60085–60114 ———
4633kill_bs_hooves_snd34459 1–843 ———
18976kill_bs_hooves_snd43689 60085–60114 ———
4634kill_bs_makebull_tone_snd34460 1–843 ———
18977kill_bs_makebull_tone_snd43690 60085–60114 ———
5195kill_bubbles0135185 1–843 ———
18978kill_bubbles0143691 60085–60114 ———
28168kill_bubbles_fx64974 60085–60114 ———
27778kill_bubble_trail_fx63534 60085–60114 ———
21364kill_buff_boss0146228 60085–60114 ———
22640kill_buff_fx50126 60085–60114 ———
3499kill_burn32891 1–843 ———
18979kill_burn43692 60085–60114 ———
22775kill_burrow50435 60085–60114 ———
22776kill_burrow_sound50436 60085–60114 ———
4338kill_burst_sound_0134145 1–843 ———
18980kill_burst_sound_0143693 60085–60114 ———
3500kill_bye32892 1–843 ———
18981kill_bye43694 60085–60114 ———
4611kill_c34437 1–843 ———
18982kill_c43695 60085–60114 ———
18986kill_cached_state043699 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.