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
30536kill_bolgin_kick8456552 60085–60114 ———
30537kill_bolgin_sit_exit8456553 60085–60114 ———
30538kill_bolgin_throw8456554 60085–60114 ———
30539kill_bolgin_throw_down8456555 60085–60114 ———
30540kill_bolgin_untrained_idle_018456556 60085–60114 ———
31414kill_bomb8485241 60085–60114 ———
31675kill_bomb_explode_snd8494764 60085–60114 ———
30983kill_bone_cyclone_gather_fx8475129 60085–60114 ———
5247kill_book_white35249 1–843 ———
18913kill_book_white43626 60085–60114 ———
24423kill_boom_sound53913 60085–60114 ———
4860kill_bostaff_attack34734 1–843 ———
17838kill_bostaff_attack34734 60085–60114 ———
4861kill_bostaff_attack0134735 1–843 ———
17839kill_bostaff_attack0134735 60085–60114 ———
4862kill_bostaff_attack0234736 1–843 ———
17840kill_bostaff_attack0234736 60085–60114 ———
4863kill_bostaff_attack0334737 1–843 ———
17841kill_bostaff_attack0334737 60085–60114 ———
4864kill_bostaff_attack_recoil34738 1–843 ———
18914kill_bostaff_attack_recoil43627 60085–60114 ———
4865kill_bostaff_attack_recoil0134739 1–843 ———
18915kill_bostaff_attack_recoil0143628 60085–60114 ———
4866kill_bostaff_attack_recoil0234740 1–843 ———
18916kill_bostaff_attack_recoil0243629 60085–60114 ———
4867kill_bostaff_attack_recoil0334741 1–843 ———
18917kill_bostaff_attack_recoil0343630 60085–60114 ———
3490kill_bostaff_backup32854 1–843 ———
18918kill_bostaff_backup43631 60085–60114 ———
6178kill_bostaff_charge_up37387 1–843 ———
18919kill_bostaff_charge_up43632 60085–60114 ———
5560kill_bostaff_defensive_buff35719 1–843 ———
18920kill_bostaff_defensive_buff43633 60085–60114 ———
4868kill_bostaff_dodge_backhand34742 1–843 ———
18921kill_bostaff_dodge_backhand43634 60085–60114 ———
4869kill_bostaff_dodge_down34743 1–843 ———
18922kill_bostaff_dodge_down43635 60085–60114 ———
4870kill_bostaff_dodge_forehand34744 1–843 ———
18923kill_bostaff_dodge_forehand43636 60085–60114 ———
4871kill_bostaff_dodge_thrust34745 1–843 ———
18924kill_bostaff_dodge_thrust43637 60085–60114 ———
3491kill_bostaff_enter32863 1–843 ———
18925kill_bostaff_enter43638 60085–60114 ———
3492kill_bostaff_exit32866 1–843 ———
18926kill_bostaff_exit43639 60085–60114 ———
5561kill_bostaff_feint35720 1–843 ———
18927kill_bostaff_feint43640 60085–60114 ———
3493kill_bostaff_idle32869 1–843 ———
17456kill_bostaff_idle32869 60085–60114 ———
18928kill_bostaff_idle0143641 60085–60114 ———
5562kill_bostaff_kick35721 1–843 ———
18037kill_bostaff_kick35721 60085–60114 ———
5563kill_bostaff_knockdowntoknees35722 1–843 ———
18929kill_bostaff_knockdowntoknees43642 60085–60114 ———
5564kill_bostaff_knockedtoback35723 1–843 ———
18930kill_bostaff_knockedtoback43643 60085–60114 ———
5565kill_bostaff_knockedtoback_getup35724 1–843 ———
18931kill_bostaff_knockedtoback_getup43644 60085–60114 ———
5566kill_bostaff_offensive_buff35725 1–843 ———
18932kill_bostaff_offensive_buff43645 60085–60114 ———
4872kill_bostaff_ouch_backhand34746 1–843 ———
18933kill_bostaff_ouch_backhand43646 60085–60114 ———
4873kill_bostaff_ouch_down34747 1–843 ———
18934kill_bostaff_ouch_down43647 60085–60114 ———
4874kill_bostaff_ouch_forehand34748 1–843 ———
18935kill_bostaff_ouch_forehand43648 60085–60114 ———
4875kill_bostaff_ouch_thrust34749 1–843 ———
18936kill_bostaff_ouch_thrust43649 60085–60114 ———
4876kill_bostaff_parry_backhand34750 1–843 ———
18937kill_bostaff_parry_backhand43650 60085–60114 ———
4877kill_bostaff_parry_down34751 1–843 ———
18938kill_bostaff_parry_down43651 60085–60114 ———
4878kill_bostaff_parry_forehand34752 1–843 ———
18939kill_bostaff_parry_forehand43652 60085–60114 ———
4879kill_bostaff_parry_thrust34753 1–843 ———
18940kill_bostaff_parry_thrust43653 60085–60114 ———
3494kill_bostaff_strafe_left32886 1–843 ———
18941kill_bostaff_strafe_left43654 60085–60114 ———
3495kill_bostaff_strafe_right32887 1–843 ———
18942kill_bostaff_strafe_right43655 60085–60114 ———
5567kill_bostaff_super_buff35726 1–843 ———
18943kill_bostaff_super_buff43656 60085–60114 ———
5568kill_bostaff_taunt_combat_art35727 1–843 ———
18944kill_bostaff_taunt_combat_art43657 60085–60114 ———
3496kill_bostaff_walk32888 1–843 ———
18945kill_bostaff_walk43658 60085–60114 ———
5569kill_bostaff_whirling_attack35728 1–843 ———
18038kill_bostaff_whirling_attack35728 60085–60114 ———
5570kill_bostaff_wild_swing35729 1–843 ———
18039kill_bostaff_wild_swing35729 60085–60114 ———
3497kill_bow32889 1–843 ———
17457kill_bow32889 60085–60114 ———
6017kill_bowstring36762 1–843 ———
18964kill_bowstring43677 60085–60114 ———
6018kill_bowstring_electricity36763 1–843 ———
18965kill_bowstring_electricity43678 60085–60114 ———
6019kill_bowstring_electricity_red36764 1–843 ———
18966kill_bowstring_electricity_red43679 60085–60114 ———
5107kill_bow_aim_down35050 1–843 ———
18946kill_bow_aim_down43659 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.