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
31371kill_trex_eat_idle8483885 60085–60114 ———
5433kill_trick35547 1–843 ———
21165kill_trick45896 60085–60114 ———
28174kill_trick0165037 60085–60114 ———
28175kill_trick0265038 60085–60114 ———
21526kill_troll_female_2h_sword_wild_swing46598 60085–60114 ———
21559kill_troll_female_pike_charge_up46651 60085–60114 ———
21560kill_troll_female_pike_defensive_buff46652 60085–60114 ———
21561kill_troll_female_pike_offensive_buff46653 60085–60114 ———
26997kill_troll_poison_spirits_gather60309 60085–60114 ———
4846kill_trt_treat_toxin_sound34720 1–843 ———
21166kill_trt_treat_toxin_sound45897 60085–60114 ———
5233kill_tr_spawn_snd35228 1–843 ———
21108kill_tr_spawn_snd45839 60085–60114 ———
24427kill_turkey_cannon_blast53931 60085–60114 ———
24428kill_turkey_shoot53932 60085–60114 ———
3863kill_turn_left33491 1–843 ———
21167kill_turn_left45898 60085–60114 ———
3864kill_turn_right33492 1–843 ———
21168kill_turn_right45899 60085–60114 ———
6263kill_turn_to_wood37586 1–843 ———
21169kill_turn_to_wood45900 60085–60114 ———
4618kill_u34444 1–843 ———
21170kill_u45901 60085–60114 ———
28123kill_unforl64683 60085–60114 ———
28176kill_unfurl65039 60085–60114 ———
3865kill_unsummon33495 1–843 ———
21171kill_unsummon45902 60085–60114 ———
5075kill_untrained_attack34977 1–843 ———
21172kill_untrained_attack45903 60085–60114 ———
24633kill_untrained_attack0154457 60085–60114 ———
24634kill_untrained_attack0254458 60085–60114 ———
24635kill_untrained_attack0354459 60085–60114 ———
3866kill_untrained_backup33496 1–843 ———
21173kill_untrained_backup45904 60085–60114 ———
3867kill_untrained_dodge33506 1–843 ———
21174kill_untrained_dodge45905 60085–60114 ———
3868kill_untrained_dodge0133507 1–843 ———
21175kill_untrained_dodge0145906 60085–60114 ———
5093kill_untrained_dodge0235022 1–843 ———
21176kill_untrained_dodge0245907 60085–60114 ———
23390kill_untrained_enter51902 60085–60114 ———
24805kill_untrained_exit54755 60085–60114 ———
3869kill_untrained_idle33514 1–843 ———
17552kill_untrained_idle33514 60085–60114 ———
24808kill_untrained_idle0154772 60085–60114 ———
3870kill_untrained_ouch33517 1–843 ———
21177kill_untrained_ouch45908 60085–60114 ———
3871kill_untrained_ouch0133518 1–843 ———
21178kill_untrained_ouch0145909 60085–60114 ———
5042kill_untrained_parry34930 1–843 ———
21179kill_untrained_parry45910 60085–60114 ———
5094kill_untrained_recoil35023 1–843 ———
21180kill_untrained_recoil45911 60085–60114 ———
30709kill_untrained_run8463753 60085–60114 ———
24847kill_untrained_slash54878 60085–60114 ———
24848kill_untrained_slash154879 60085–60114 ———
24849kill_untrained_slash254880 60085–60114 ———
24850kill_untrained_slash354881 60085–60114 ———
3872kill_untrained_strafe_left33531 1–843 ———
21181kill_untrained_strafe_left45912 60085–60114 ———
3873kill_untrained_strafe_right33532 1–843 ———
21182kill_untrained_strafe_right45913 60085–60114 ———
3874kill_untrained_walk33533 1–843 ———
21183kill_untrained_walk45914 60085–60114 ———
31094kill_untrained_whirling_attack8481957 60085–60114 ———
27307kill_untrainted_wildswing61698 60085–60114 ———
31095kill_unttrained_run8481958 60085–60114 ———
26747kill_upper_lip_left_up59309 60085–60114 ———
26748kill_upper_lip_right_up59310 60085–60114 ———
5175kill_util_rings_snd35142 1–843 ———
21184kill_util_rings_snd45915 60085–60114 ———
24873kill_vampire_attack54955 60085–60114 ———
24874kill_vampire_attack0154956 60085–60114 ———
24875kill_vampire_attack0254957 60085–60114 ———
24876kill_vampire_attack0354958 60085–60114 ———
24877kill_vampire_dodge54959 60085–60114 ———
24878kill_vampire_dodge0154960 60085–60114 ———
24879kill_vampire_dodge0254961 60085–60114 ———
24880kill_vampire_enter54962 60085–60114 ———
24881kill_vampire_exit54963 60085–60114 ———
24882kill_vampire_idle54964 60085–60114 ———
24883kill_vampire_idle0154965 60085–60114 ———
24884kill_vampire_idle0254966 60085–60114 ———
24896kill_vampire_nofx_attack55008 60085–60114 ———
24897kill_vampire_nofx_attack0155009 60085–60114 ———
24898kill_vampire_nofx_attack0255010 60085–60114 ———
24899kill_vampire_nofx_attack0355011 60085–60114 ———
24900kill_vampire_nofx_dodge55012 60085–60114 ———
24901kill_vampire_nofx_dodge0155013 60085–60114 ———
24902kill_vampire_nofx_dodge0255014 60085–60114 ———
24903kill_vampire_nofx_enter55015 60085–60114 ———
24904kill_vampire_nofx_exit55016 60085–60114 ———
24905kill_vampire_nofx_idle55017 60085–60114 ———
24906kill_vampire_nofx_idle0155018 60085–60114 ———
24907kill_vampire_nofx_idle0255019 60085–60114 ———
24908kill_vampire_nofx_ouch55020 60085–60114 ———
24909kill_vampire_nofx_ouch0155021 60085–60114 ———
24910kill_vampire_nofx_parry55022 60085–60114 ———
24911kill_vampire_nofx_recoil55023 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.