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
27633kill_necro_curse62904 60085–60114 ———
5143kill_needle0135096 1–843 ———
19919kill_needle0144647 60085–60114 ———
3684kill_neener33161 1–843 ———
19920kill_neener44648 60085–60114 ———
30376kill_neener_loop8455088 60085–60114 ———
3685kill_no33162 1–843 ———
19921kill_no44649 60085–60114 ———
3686kill_nod33163 1–843 ———
19922kill_nod44650 60085–60114 ———
26736kill_normalfv59267 60085–60114 ———
3687kill_notworthy33164 1–843 ———
17518kill_notworthy33164 60085–60114 ———
4615kill_o34441 1–843 ———
19923kill_o44651 60085–60114 ———
5630kill_offensive_buff35790 1–843 ———
19930kill_offensive_buff44658 60085–60114 ———
19924kill_off_combat44652 60085–60114 ———
19925kill_off_enter44653 60085–60114 ———
19926kill_off_exit44654 60085–60114 ———
19927kill_off_idle44655 60085–60114 ———
19928kill_off_peace44656 60085–60114 ———
19929kill_off_sit44657 60085–60114 ———
21496kill_ogre_1h_crush_ouch_forehand46557 60085–60114 ———
21497kill_ogre_1h_pierce_ouch_forehand46558 60085–60114 ———
21498kill_ogre_1h_sword_ouch_forehand46559 60085–60114 ———
21499kill_ogre_1h_thrown_ouch_forehand46560 60085–60114 ———
21500kill_ogre_2h_sword_dodge_backhand46561 60085–60114 ———
21501kill_ogre_2h_sword_dodge_forehand46562 60085–60114 ———
21502kill_ogre_2h_sword_ouch_down46563 60085–60114 ———
21503kill_ogre_2h_sword_ouch_thrust46564 60085–60114 ———
21504kill_ogre_dual_wield_dodge_backhand46565 60085–60114 ———
21505kill_ogre_dual_wield_dodge_forehand46566 60085–60114 ———
21506kill_ogre_dual_wield_ouch_forehand46567 60085–60114 ———
26994kill_ogre_fly_swarm_trail60275 60085–60114 ———
21358kill_ogre_forestry_success46099 60085–60114 ———
21359kill_ogre_gathering_search46100 60085–60114 ———
21360kill_ogre_gathering_success46101 60085–60114 ———
21361kill_ogre_mining_success46102 60085–60114 ———
21507kill_ogre_pike_dodge_backhand46568 60085–60114 ———
21508kill_ogre_pike_dodge_forehand46569 60085–60114 ———
21509kill_ogre_pike_kick46570 60085–60114 ———
21510kill_ogre_pike_ouch_backhand46571 60085–60114 ———
21511kill_ogre_pike_ouch_down46572 60085–60114 ———
21512kill_ogre_pike_ouch_forehand46573 60085–60114 ———
21513kill_ogre_pike_ouch_thrust46574 60085–60114 ———
27183kill_oldidle61113 60085–60114 ———
5217kill_one_ring35212 1–843 ———
19931kill_one_ring44659 60085–60114 ———
5218kill_one_ring_fail35213 1–843 ———
19932kill_one_ring_fail44660 60085–60114 ———
4918kill_oov_bubbles_snd34795 1–843 ———
19933kill_oov_bubbles_snd44661 60085–60114 ———
4919kill_oov_effect_short_snd34796 1–843 ———
19934kill_oov_effect_short_snd44662 60085–60114 ———
4920kill_oov_effect_snd34797 1–843 ———
19935kill_oov_effect_snd44663 60085–60114 ———
4921kill_oov_heal_snd34798 1–843 ———
19936kill_oov_heal_snd44664 60085–60114 ———
26737kill_oo_tight59268 60085–60114 ———
3688kill_open33167 1–843 ———
19937kill_open44665 60085–60114 ———
3689kill_opened33168 1–843 ———
19943kill_opened44671 60085–60114 ———
6538kill_opened_coins_and_jewels39155 1–843 ———
19944kill_opened_coins_and_jewels44672 60085–60114 ———
6539kill_opened_coins_copper39156 1–843 ———
19945kill_opened_coins_copper44673 60085–60114 ———
6540kill_opened_coins_gold39157 1–843 ———
19946kill_opened_coins_gold44674 60085–60114 ———
6541kill_opened_coins_silver39158 1–843 ———
19947kill_opened_coins_silver44675 60085–60114 ———
6542kill_opened_glow39159 1–843 ———
19948kill_opened_glow44676 60085–60114 ———
31417kill_open_bomb8485252 60085–60114 ———
6468kill_open_coins_and_jewels38796 1–843 ———
19938kill_open_coins_and_jewels44666 60085–60114 ———
6469kill_open_coins_copper38797 1–843 ———
19939kill_open_coins_copper44667 60085–60114 ———
6470kill_open_coins_gold38798 1–843 ———
19940kill_open_coins_gold44668 60085–60114 ———
6471kill_open_coins_silver38799 1–843 ———
19941kill_open_coins_silver44669 60085–60114 ———
27170kill_open_enter61054 60085–60114 ———
6474kill_open_glow38810 1–843 ———
19942kill_open_glow44670 60085–60114 ———
27171kill_open_idle61055 60085–60114 ———
30865kill_orange_trail_fx8469830 60085–60114 ———
3690kill_orate33169 1–843 ———
19949kill_orate44677 60085–60114 ———
27173kill_orbiting_buff_all61069 60085–60114 ———
27174kill_orbiting_buff_blue61070 60085–60114 ———
27175kill_orbiting_buff_blue_white61071 60085–60114 ———
27176kill_orbiting_buff_red61072 60085–60114 ———
27177kill_orbiting_buff_red_blue61073 60085–60114 ———
27178kill_orbiting_buff_red_white61074 60085–60114 ———
27179kill_orbiting_buff_white61075 60085–60114 ———
3691kill_other_idle33170 1–843 ———
19950kill_other_idle44678 60085–60114 ———
27663kill_othmir_zom_att_vox63033 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.