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
4005kill_slugpulse_0133746 1–843 ———
20299kill_slugpulse_0145030 60085–60114 ———
4006kill_slugpulse_0233747 1–843 ———
20300kill_slugpulse_0245031 60085–60114 ———
4007kill_slugpulse_0333748 1–843 ———
20301kill_slugpulse_0345032 60085–60114 ———
4008kill_slugpulse_0433749 1–843 ———
20302kill_slugpulse_0445033 60085–60114 ———
4012kill_slugrunpulse_0133753 1–843 ———
20306kill_slugrunpulse_0145037 60085–60114 ———
4013kill_slugrunpulse_0233754 1–843 ———
20307kill_slugrunpulse_0245038 60085–60114 ———
4010kill_slugrun_0133751 1–843 ———
20304kill_slugrun_0145035 60085–60114 ———
4011kill_slugrun_0233752 1–843 ———
20305kill_slugrun_0245036 60085–60114 ———
4014kill_slugsplat_0133755 1–843 ———
20308kill_slugsplat_0145039 60085–60114 ———
4015kill_slugsplat_0233756 1–843 ———
20309kill_slugsplat_0245040 60085–60114 ———
4016kill_slugsway_0133757 1–843 ———
20310kill_slugsway_0145041 60085–60114 ———
4017kill_slugsway_0233758 1–843 ———
20311kill_slugsway_0245042 60085–60114 ———
4018kill_slugtongue33759 1–843 ———
20312kill_slugtongue45043 60085–60114 ———
4019kill_slugtongueimpact_0133760 1–843 ———
20313kill_slugtongueimpact_0145044 60085–60114 ———
4022kill_slugwalkpulse_0133763 1–843 ———
20316kill_slugwalkpulse_0145047 60085–60114 ———
4023kill_slugwalkpulse_0233764 1–843 ———
20317kill_slugwalkpulse_0245048 60085–60114 ———
4020kill_slugwalk_0133761 1–843 ———
20314kill_slugwalk_0145045 60085–60114 ———
4021kill_slugwalk_0233762 1–843 ———
20315kill_slugwalk_0245046 60085–60114 ———
4024kill_slugyell_0133765 1–843 ———
20318kill_slugyell_0145049 60085–60114 ———
6314kill_sl_lute_lp_snd37909 1–843 ———
20291kill_sl_lute_lp_snd45022 60085–60114 ———
25256kill_small_feather_fx55975 60085–60114 ———
5115kill_small_saw35059 1–843 ———
20319kill_small_saw45050 60085–60114 ———
3769kill_smash33312 1–843 ———
20320kill_smash45051 60085–60114 ———
3770kill_smashed33313 1–843 ———
20321kill_smashed45052 60085–60114 ———
3771kill_smile33314 1–843 ———
20322kill_smile45053 60085–60114 ———
26745kill_smile_big_left59277 60085–60114 ———
26746kill_smile_big_right59278 60085–60114 ———
27082kill_smile_left60733 60085–60114 ———
27083kill_smile_right60734 60085–60114 ———
3772kill_smirk33315 1–843 ———
20323kill_smirk45054 60085–60114 ———
5034kill_smite_cast_lp_snd34917 1–843 ———
20324kill_smite_cast_lp_snd45055 60085–60114 ———
3773kill_smoke33316 1–843 ———
20325kill_smoke45056 60085–60114 ———
3774kill_smoke_breath33317 1–843 ———
20326kill_smoke_breath45057 60085–60114 ———
4740kill_smoke_dark_chimney34612 1–843 ———
20327kill_smoke_dark_chimney45058 60085–60114 ———
4741kill_smoke_dark_coals34613 1–843 ———
20328kill_smoke_dark_coals45059 60085–60114 ———
5166kill_smoke_dark_ground35132 1–843 ———
20329kill_smoke_dark_ground45060 60085–60114 ———
5238kill_smoke_dark_up35236 1–843 ———
20330kill_smoke_dark_up45061 60085–60114 ———
4742kill_smoke_flash34614 1–843 ———
20331kill_smoke_flash45062 60085–60114 ———
23410kill_smoke_fx51959 60085–60114 ———
23424kill_smoke_fx_short52013 60085–60114 ———
5239kill_smoke_ring35237 1–843 ———
20332kill_smoke_ring45063 60085–60114 ———
4729kill_smoke_sparks34601 1–843 ———
20333kill_smoke_sparks45064 60085–60114 ———
22952kill_snake_buff50821 60085–60114 ———
26514kill_snd_58576 60085–60114 ———
26515kill_snd_1h_sword_attack0158578 60085–60114 ———
26516kill_snd_1h_sword_attack0258579 60085–60114 ———
26517kill_snd_1h_sword_attack0358580 60085–60114 ———
26518kill_snd_1h_sword_enter58581 60085–60114 ———
26519kill_snd_1h_sword_exit58582 60085–60114 ———
21880kill_snd_acidrain_cast48497 60085–60114 ———
21881kill_snd_acidrain_result48498 60085–60114 ———
31516kill_snd_amyg_cast_018488215 60085–60114 ———
31517kill_snd_amyg_charge_up8488216 60085–60114 ———
31518kill_snd_amyg_combat_enter8488217 60085–60114 ———
31519kill_snd_amyg_dead_enter8488218 60085–60114 ———
31520kill_snd_amyg_idle_018488219 60085–60114 ———
31521kill_snd_amyg_idle_028488220 60085–60114 ———
31522kill_snd_amyg_knockdown_exit8488221 60085–60114 ———
31523kill_snd_amyg_knockdown_to_back8488222 60085–60114 ———
31524kill_snd_amyg_knockdown_to_knees8488223 60085–60114 ———
31525kill_snd_amyg_ouch_backhand8488224 60085–60114 ———
31526kill_snd_amyg_ouch_down8488225 60085–60114 ———
31527kill_snd_amyg_ouch_forehand8488226 60085–60114 ———
31528kill_snd_amyg_sword_attack8488227 60085–60114 ———
31529kill_snd_amyg_sword_attack_018488228 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.