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
18987kill_cached_state143700 60085–60114 ———
21639kill_cached_state247357 60085–60114 ———
18983kill_cache_state043696 60085–60114 ———
18984kill_cache_state143697 60085–60114 ———
18985kill_cache_state243698 60085–60114 ———
3501kill_cackle32893 1–843 ———
17458kill_cackle32893 60085–60114 ———
4723kill_cactus_spiney_sound34593 1–843 ———
18988kill_cactus_spiney_sound43701 60085–60114 ———
5127kill_candle0135078 1–843 ———
18989kill_candle0143702 60085–60114 ———
5128kill_candle0235079 1–843 ———
18990kill_candle0243703 60085–60114 ———
5129kill_candle0335080 1–843 ———
18991kill_candle0343704 60085–60114 ———
5130kill_candle0435081 1–843 ———
18992kill_candle0443705 60085–60114 ———
5248kill_candle_flair0135250 1–843 ———
18993kill_candle_flair0143706 60085–60114 ———
5249kill_candle_flair0235251 1–843 ———
18994kill_candle_flair0243707 60085–60114 ———
5250kill_candle_flair0335252 1–843 ———
18995kill_candle_flair0343708 60085–60114 ———
5251kill_candle_smoke0135253 1–843 ———
18996kill_candle_smoke0143709 60085–60114 ———
5252kill_candle_smoke0235254 1–843 ———
18997kill_candle_smoke0243710 60085–60114 ———
5253kill_candle_smoke0335255 1–843 ———
18998kill_candle_smoke0343711 60085–60114 ———
23313kill_cannon_blast51676 60085–60114 ———
28042kill_cannon_fire_blast_aoe64272 60085–60114 ———
31728kill_captain_morgan_idle8495227 60085–60114 ———
22093kill_carpet_backup48971 60085–60114 ———
4854kill_carpet_enter34728 1–843 ———
18999kill_carpet_enter43712 60085–60114 ———
4855kill_carpet_exit34729 1–843 ———
19000kill_carpet_exit43713 60085–60114 ———
19001kill_carpet_fall43714 60085–60114 ———
25013kill_carpet_fly_backup55352 60085–60114 ———
25014kill_carpet_fly_climb55353 60085–60114 ———
25015kill_carpet_fly_dive55354 60085–60114 ———
25027kill_carpet_fly_down55368 60085–60114 ———
25016kill_carpet_fly_glide55355 60085–60114 ———
25017kill_carpet_fly_glide_left55356 60085–60114 ———
25018kill_carpet_fly_glide_right55357 60085–60114 ———
25019kill_carpet_fly_idle55358 60085–60114 ———
25020kill_carpet_fly_run55359 60085–60114 ———
25021kill_carpet_fly_strafe_left55360 60085–60114 ———
25022kill_carpet_fly_strafe_right55361 60085–60114 ———
25023kill_carpet_fly_turn_left55362 60085–60114 ———
25024kill_carpet_fly_turn_right55363 60085–60114 ———
25025kill_carpet_fly_up55364 60085–60114 ———
25026kill_carpet_fly_walk55365 60085–60114 ———
3993kill_carpet_idle33733 1–843 ———
19002kill_carpet_idle43715 60085–60114 ———
19003kill_carpet_jump43716 60085–60114 ———
19004kill_carpet_land43717 60085–60114 ———
3994kill_carpet_run33734 1–843 ———
19005kill_carpet_run43718 60085–60114 ———
22256kill_carpet_tail49298 60085–60114 ———
22257kill_carpet_tail_cloak49299 60085–60114 ———
3995kill_carpet_walk33735 1–843 ———
19006kill_carpet_walk43719 60085–60114 ———
6269kill_carry_blue_flag37636 1–843 ———
18304kill_carry_blue_flag37636 60085–60114 ———
6270kill_carry_red_flag37637 1–843 ———
18305kill_carry_red_flag37637 60085–60114 ———
3502kill_cast32894 1–843 ———
17459kill_cast32894 60085–60114 ———
19007kill_cast0143720 60085–60114 ———
26473kill_cast01_enter58423 60085–60114 ———
26474kill_cast01_exit58424 60085–60114 ———
26475kill_cast01_idle58425 60085–60114 ———
25795kill_cast0257500 60085–60114 ———
26476kill_cast02_enter58426 60085–60114 ———
26477kill_cast02_exit58427 60085–60114 ———
26478kill_cast02_idle58428 60085–60114 ———
27105kill_cast0360818 60085–60114 ———
27106kill_cast0460819 60085–60114 ———
25549kill_cast156835 60085–60114 ———
6294kill_cast437821 1–843 ———
19008kill_cast443721 60085–60114 ———
30484kill_castenter8455873 60085–60114 ———
30485kill_castexit8455874 60085–60114 ———
30486kill_castloop8455875 60085–60114 ———
27566kill_cast_0162541 60085–60114 ———
5022kill_cast_01lp_snd34905 1–843 ———
19009kill_cast_01lp_snd43722 60085–60114 ———
27567kill_cast_0262542 60085–60114 ———
27568kill_cast_0362543 60085–60114 ———
27569kill_cast_0462544 60085–60114 ———
27570kill_cast_0562545 60085–60114 ———
3503kill_cast_132895 1–843 ———
19010kill_cast_143723 60085–60114 ———
3504kill_cast_1032896 1–843 ———
19011kill_cast_1043724 60085–60114 ———
3505kill_cast_1132897 1–843 ———
19012kill_cast_1143725 60085–60114 ———
3506kill_cast_1232898 1–843 ———
19013kill_cast_1243726 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.