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
27188kill_attack_breath_old61134 60085–60114 ———
23966kill_attack_breath_poison52886 60085–60114 ———
26962kill_attack_breath_snd60172 60085–60114 ———
22837kill_attack_burst50592 60085–60114 ———
24605kill_attack_cage54347 60085–60114 ———
27182kill_attack_cannibal61106 60085–60114 ———
6626kill_attack_claw39463 1–843 ———
22838kill_attack_dark_breath50593 60085–60114 ———
22924kill_attack_disarm50756 60085–60114 ———
26550kill_attack_dive58718 60085–60114 ———
18467kill_attack_earthshake42780 60085–60114 ———
23576kill_attack_eat52265 60085–60114 ———
23157kill_attack_eye_beams51316 60085–60114 ———
27233kill_attack_eye_cone61362 60085–60114 ———
23172kill_attack_eye_ring51345 60085–60114 ———
27001kill_attack_fistslam60329 60085–60114 ———
26481kill_attack_flame58456 60085–60114 ———
6168kill_attack_forehand_trigger37363 1–843 ———
18848kill_attack_forehand_trigger43561 60085–60114 ———
21868kill_attack_fx48446 60085–60114 ———
27002kill_attack_groundroar60330 60085–60114 ———
30656kill_attack_headbutt8460799 60085–60114 ———
6143kill_attack_headram37302 1–843 ———
18849kill_attack_headram43562 60085–60114 ———
30657kill_attack_headshake8460800 60085–60114 ———
23298kill_attack_head_butt51634 60085–60114 ———
26553kill_attack_hug58731 60085–60114 ———
27036kill_attack_jumpslam60483 60085–60114 ———
27003kill_attack_rage60331 60085–60114 ———
3992kill_attack_rear33732 1–843 ———
18850kill_attack_rear43563 60085–60114 ———
21620kill_attack_recoil47228 60085–60114 ———
21621kill_attack_recoil0147229 60085–60114 ———
21622kill_attack_recoil0247230 60085–60114 ———
21623kill_attack_recoil0347231 60085–60114 ———
26554kill_attack_roar58732 60085–60114 ———
3475kill_attack_roar0132837 1–843 ———
18851kill_attack_roar0143564 60085–60114 ———
3476kill_attack_scream32838 1–843 ———
18852kill_attack_scream43565 60085–60114 ———
25791kill_attack_shuffle57460 60085–60114 ———
18853kill_attack_slam43566 60085–60114 ———
3477kill_attack_snap32839 1–843 ———
18854kill_attack_snap43567 60085–60114 ———
3478kill_attack_sound32840 1–843 ———
18855kill_attack_sound43568 60085–60114 ———
6566kill_attack_special39235 1–843 ———
18856kill_attack_special43569 60085–60114 ———
18857kill_attack_special0143570 60085–60114 ———
18858kill_attack_special0243571 60085–60114 ———
18859kill_attack_special0343572 60085–60114 ———
18860kill_attack_special_spring43573 60085–60114 ———
26465kill_attack_spit58402 60085–60114 ———
18861kill_attack_stomp43574 60085–60114 ———
25705kill_attack_swipe57202 60085–60114 ———
4081kill_attack_tail33839 1–843 ———
18862kill_attack_tail43575 60085–60114 ———
25792kill_attack_tail_swipe57461 60085–60114 ———
30811kill_attack_tear_enter8468069 60085–60114 ———
30812kill_attack_tear_exit8468070 60085–60114 ———
30813kill_attack_tear_idle8468071 60085–60114 ———
30758kill_attack_tear_skyshrine8465617 60085–60114 ———
23616kill_attack_throw_boulder52350 60085–60114 ———
4574kill_attack_thrust_trigger34396 1–843 ———
23299kill_attack_trample51635 60085–60114 ———
6603kill_attack_whirling39411 1–843 ———
18863kill_attack_whirling43576 60085–60114 ———
6604kill_attack_wildswing39412 1–843 ———
18864kill_attack_wildswing43577 60085–60114 ———
4627kill_attack_wing34453 1–843 ———
18865kill_attack_wing43578 60085–60114 ———
6567kill_attack_wings39236 1–843 ———
18866kill_attack_wings43579 60085–60114 ———
22839kill_attack_wing_bolts50594 60085–60114 ———
3479kill_attack_woosh0132843 1–843 ———
18867kill_attack_woosh0143580 60085–60114 ———
3482kill_attention32846 1–843 ———
18870kill_attention43583 60085–60114 ———
22101kill_aura_green48993 60085–60114 ———
4988kill_aura_mage34871 1–843 ———
17866kill_aura_mage34871 60085–60114 ———
4989kill_aura_priest34872 1–843 ———
17867kill_aura_priest34872 60085–60114 ———
24755kill_aura_purple54646 60085–60114 ———
18437kill_aura_red42501 60085–60114 ———
21853kill_aura_yellow48408 60085–60114 ———
6083kill_aval_cast_snd37040 1–843 ———
18871kill_aval_cast_snd43584 60085–60114 ———
6432kill_awrh_cast_snd38395 1–843 ———
18872kill_awrh_cast_snd43585 60085–60114 ———
6433kill_awrh_heal2_snd38396 1–843 ———
18873kill_awrh_heal2_snd43586 60085–60114 ———
6434kill_awrh_heal_snd38397 1–843 ———
18874kill_awrh_heal_snd43587 60085–60114 ———
6435kill_awrh_rainfall_snd38398 1–843 ———
18875kill_awrh_rainfall_snd43588 60085–60114 ———
6436kill_aww_whirlcast_snd38399 1–843 ———
18876kill_aww_whirlcast_snd43589 60085–60114 ———
6437kill_aww_whirlparticles_snd38400 1–843 ———
18877kill_aww_whirlparticles_snd43590 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.