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
27981kill_dontuse_dodge_thrust64087 60085–60114 ———
27982kill_dontuse_fly_enter64088 60085–60114 ———
26578kill_dontuse_fly_enter_idle58871 60085–60114 ———
27983kill_dontuse_habitat0164089 60085–60114 ———
27984kill_dontuse_habitat0264090 60085–60114 ———
27985kill_dontuse_habitat0364091 60085–60114 ———
25905kill_dontuse_idle0157787 60085–60114 ———
25906kill_dontuse_idle0257788 60085–60114 ———
27986kill_dontuse_idle0364092 60085–60114 ———
27987kill_dontuse_knockeddowntoknees64093 60085–60114 ———
27375kill_dontuse_knockedtoback61926 60085–60114 ———
27376kill_dontuse_knockedtoback_getup61927 60085–60114 ———
27377kill_dontuse_knockedtoback_onbackidle61928 60085–60114 ———
27988kill_dontuse_ouch_backhand64094 60085–60114 ———
27989kill_dontuse_ouch_down64095 60085–60114 ———
27990kill_dontuse_ouch_forehand64096 60085–60114 ———
27991kill_dontuse_ouch_thrust64097 60085–60114 ———
28117kill_dontuse_scene06_flyleft64624 60085–60114 ———
28116kill_dontuse_scene06_fly_left64623 60085–60114 ———
28118kill_dontuse_scene08_flycircle64625 60085–60114 ———
28119kill_dontuse_scene08_flyenter64626 60085–60114 ———
28120kill_dontuse_scene08_flyexit64627 60085–60114 ———
28121kill_dontuse_scene08_flyidle64628 60085–60114 ———
27992kill_dontuse_swim_backup64098 60085–60114 ———
27993kill_dontuse_swim_idle64099 60085–60114 ———
27994kill_dontuse_swim_run64100 60085–60114 ———
27995kill_dontuse_swim_walk64101 60085–60114 ———
27977kill_dontuse__ouch64083 60085–60114 ———
27333kill_dont_use_ouch61781 60085–60114 ———
5135kill_doorcorner0135088 1–843 ———
19457kill_doorcorner0144181 60085–60114 ———
5136kill_doorcorner0235089 1–843 ———
19458kill_doorcorner0244182 60085–60114 ———
5270kill_door_move35309 1–843 ———
19455kill_door_move44179 60085–60114 ———
5271kill_door_slam35310 1–843 ———
19456kill_door_slam44180 60085–60114 ———
3609kill_doubletake33018 1–843 ———
19459kill_doubletake44183 60085–60114 ———
4891kill_dpsd_swordshatter34767 1–843 ———
19460kill_dpsd_swordshatter44184 60085–60114 ———
30831kill_draconian_cast_tear8468986 60085–60114 ———
26491kill_draconian_injured_idle58506 60085–60114 ———
26492kill_draconian_search_enter58507 60085–60114 ———
26493kill_draconian_search_exit58508 60085–60114 ———
26494kill_draconian_search_idle58509 60085–60114 ———
30626kill_dragonfly_mount_buzz_flight8459134 60085–60114 ———
30627kill_dragonfly_mount_buzz_vox_018459135 60085–60114 ———
30629kill_dragonfly_mount_fly_idle8459137 60085–60114 ———
30630kill_dragonfly_mount_fly_walk8459138 60085–60114 ———
30628kill_dragonfly_mount_fs8459136 60085–60114 ———
30631kill_dragonfly_mount_idle018459139 60085–60114 ———
30632kill_dragonfly_mount_jump8459140 60085–60114 ———
30633kill_dragonfly_mount_jump_substitute8459141 60085–60114 ———
30634kill_dragonfly_mount_run8459142 60085–60114 ———
30635kill_dragonfly_mount_walk8459143 60085–60114 ———
30614kill_dragon_aa_rune_buff_fx8458658 60085–60114 ———
27168kill_dragon_attack61050 60085–60114 ———
6238kill_dragon_e3demo37515 1–843 ———
27169kill_dragon_idle61051 60085–60114 ———
21937kill_drag_sparks48629 60085–60114 ———
25859kill_drakota_mount_backup57636 60085–60114 ———
25860kill_drakota_mount_fall57637 60085–60114 ———
25861kill_drakota_mount_fly_backup57638 60085–60114 ———
25862kill_drakota_mount_fly_climb57639 60085–60114 ———
25863kill_drakota_mount_fly_dive57640 60085–60114 ———
25864kill_drakota_mount_fly_down57641 60085–60114 ———
26793kill_drakota_mount_fly_fall59452 60085–60114 ———
25865kill_drakota_mount_fly_glide57642 60085–60114 ———
25866kill_drakota_mount_fly_glide_left57643 60085–60114 ———
25867kill_drakota_mount_fly_glide_right57644 60085–60114 ———
25868kill_drakota_mount_fly_idle57645 60085–60114 ———
25869kill_drakota_mount_fly_run57646 60085–60114 ———
25870kill_drakota_mount_fly_strafe_left57647 60085–60114 ———
25871kill_drakota_mount_fly_strafe_right57648 60085–60114 ———
25872kill_drakota_mount_fly_turn_left57649 60085–60114 ———
25873kill_drakota_mount_fly_turn_right57650 60085–60114 ———
25874kill_drakota_mount_fly_up57651 60085–60114 ———
25875kill_drakota_mount_fly_walk57652 60085–60114 ———
25876kill_drakota_mount_idle57653 60085–60114 ———
25877kill_drakota_mount_idle0157654 60085–60114 ———
25899kill_drakota_mount_idle_0157738 60085–60114 ———
25878kill_drakota_mount_jump57655 60085–60114 ———
25879kill_drakota_mount_jump_substitute57656 60085–60114 ———
25880kill_drakota_mount_land57657 60085–60114 ———
25881kill_drakota_mount_long_fall57658 60085–60114 ———
25882kill_drakota_mount_run57659 60085–60114 ———
25883kill_drakota_mount_turn_left57660 60085–60114 ———
25884kill_drakota_mount_turn_right57661 60085–60114 ———
25885kill_drakota_mount_walk57662 60085–60114 ———
26508kill_drakota_run_glide58562 60085–60114 ———
5762kill_draw_metal_weapon_snd35979 1–843 ———
19461kill_draw_metal_weapon_snd44186 60085–60114 ———
21839kill_draw_weapon48356 60085–60114 ———
21841kill_draw_weapon_idle48379 60085–60114 ———
22029kill_draw_weapon_primary_trigger48877 60085–60114 ———
22030kill_draw_weapon_secondary_trigger48878 60085–60114 ———
5705kill_draw_weapon_snd35870 1–843 ———
19462kill_draw_weapon_snd44187 60085–60114 ———
3610kill_draw_weapon_trigger33019 1–843 ———
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.