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
464dead_enter229 1–843 ———
6715dead_enter229 60085–60114 ———
14825dead_enter0124223 60085–60114 ———
470dead_entertiming_a236 1–843 ———
8566dead_entertiming_a11316 60085–60114 ———
471dead_entertiming_b237 1–843 ———
8567dead_entertiming_b11317 60085–60114 ———
472dead_entertiming_c238 1–843 ———
8568dead_entertiming_c11318 60085–60114 ———
473dead_entertiming_c2239 1–843 ———
8569dead_entertiming_c211319 60085–60114 ———
474dead_entertiming_c3240 1–843 ———
8570dead_entertiming_c311320 60085–60114 ———
475dead_entertiming_d241 1–843 ———
8571dead_entertiming_d11321 60085–60114 ———
476dead_entertiming_e242 1–843 ———
8572dead_entertiming_e11322 60085–60114 ———
465dead_enter_death02231 1–843 ———
8561dead_enter_death0211311 60085–60114 ———
466dead_enter_death03232 1–843 ———
8562dead_enter_death0311312 60085–60114 ———
467dead_enter_fall233 1–843 ———
8563dead_enter_fall11313 60085–60114 ———
468dead_enter_scream234 1–843 ———
8564dead_enter_scream11314 60085–60114 ———
469dead_enter_sound235 1–843 ———
8565dead_enter_sound11315 60085–60114 ———
8573dead_exit11323 60085–60114 ———
477dead_fall243 1–843 ———
8574dead_fall11324 60085–60114 ———
29159dead_flash84240 60085–60114 ———
30040dead_freakout109711 60085–60114 ———
29160dead_glow84241 60085–60114 ———
17245dead_idle31441 60085–60114 ———
29161dead_rise84242 60085–60114 ———
478dead_scream01244 1–843 ———
8575dead_scream0111325 60085–60114 ———
479dead_scream02245 1–843 ———
8576dead_scream0211326 60085–60114 ———
2297dead_tail2876 1–843 ———
8577dead_tail11327 60085–60114 ———
11088death15736 60085–60114 ———
14826death0124224 60085–60114 ———
14752death01_enter24061 60085–60114 ———
14753death01_exit24062 60085–60114 ———
14754death01_idle24063 60085–60114 ———
15005death_alt24739 60085–60114 ———
11313death_enter16240 60085–60114 ———
1756death_fall012071 1–843 ———
8578death_fall0111328 60085–60114 ———
1757death_fall022072 1–843 ———
8579death_fall0211329 60085–60114 ———
13128death_impact20047 60085–60114 ———
3402death_of_kiss6649 1–843 ———
11314death_tail16241 60085–60114 ———
3135debris_flying5352 1–843 ———
7528debris_flying5352 60085–60114 ———
3136debris_swimming5353 1–843 ———
7529debris_swimming5353 60085–60114 ———
1246default1487 1–843 ———
8580default11330 60085–60114 ———
2397defensive_buff2992 1–843 ———
8581defensive_buff11331 60085–60114 ———
3389definsive_buff6541 1–843 ———
8582definsive_buff11332 60085–60114 ———
29102deisgn_dark_mine82731 60085–60114 ———
28314deisgn_tov_necro_cone_barrier65677 60085–60114 ———
28294deisgn_tov_perch_cone_barrier65642 60085–60114 ———
1177descend_sound_011418 1–843 ———
8583descend_sound_0111333 60085–60114 ———
29491design_activate_key94637 60085–60114 ———
13059design_active_eggs19913 60085–60114 ———
13113design_active_head_00120017 60085–60114 ———
13114design_active_head_01020018 60085–60114 ———
13115design_active_head_01120019 60085–60114 ———
13116design_active_head_10020020 60085–60114 ———
13117design_active_head_10120021 60085–60114 ———
13118design_active_head_11020022 60085–60114 ———
13119design_active_head_11120023 60085–60114 ———
16401design_agitated28420 60085–60114 ———
12445design_air_portal18754 60085–60114 ———
11701design_altar_chained16900 60085–60114 ———
28794design_ancestral_champion_pillar68868 60085–60114 ———
14311design_aqua_crystals_fall22816 60085–60114 ———
16434design_arcane_barrier28569 60085–60114 ———
13323design_arm_prelaunch20513 60085–60114 ———
2819design_artifact_ap1_breath4008 1–843 ———
7427design_artifact_ap1_breath4008 60085–60114 ———
16897design_ballista_drake_hit30481 60085–60114 ———
16898design_ballista_drake_hit0230482 60085–60114 ———
14538design_ballista_fire23486 60085–60114 ———
16880design_ballista_fire_green30428 60085–60114 ———
16881design_ballista_fire_green_drake_hit30429 60085–60114 ———
16844design_ballista_flames30177 60085–60114 ———
14539design_ballista_load23487 60085–60114 ———
16882design_ballista_load_green30430 60085–60114 ———
11385design_ball_summon16376 60085–60114 ———
29806design_barrel_leak102686 60085–60114 ———
17116design_barrier_active31170 60085–60114 ———
28816design_barrier_beam_focus69872 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.