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
6399kill_vo_callout_stay38317 1–843 ———
21292kill_vo_callout_stay46023 60085–60114 ———
6400kill_vo_callout_taunting38318 1–843 ———
21293kill_vo_callout_taunting46024 60085–60114 ———
6401kill_vo_callout_thank38319 1–843 ———
21294kill_vo_callout_thank46025 60085–60114 ———
6402kill_vo_callout_thirsty38320 1–843 ———
21295kill_vo_callout_thirsty46026 60085–60114 ———
6403kill_vo_callout_threaten38321 1–843 ———
21296kill_vo_callout_threaten46027 60085–60114 ———
6404kill_vo_callout_train38322 1–843 ———
21297kill_vo_callout_train46028 60085–60114 ———
6405kill_vo_callout_under38323 1–843 ———
21298kill_vo_callout_under46029 60085–60114 ———
6420kill_vo_callout_vocal_attack38347 1–843 ———
21299kill_vo_callout_vocal_attack46030 60085–60114 ———
6421kill_vo_callout_vocal_death38348 1–843 ———
21300kill_vo_callout_vocal_death46031 60085–60114 ———
6422kill_vo_callout_vocal_drown38349 1–843 ———
21301kill_vo_callout_vocal_drown46032 60085–60114 ———
6423kill_vo_callout_vocal_jump38350 1–843 ———
21302kill_vo_callout_vocal_jump46033 60085–60114 ———
6424kill_vo_callout_vocal_land38351 1–843 ———
21303kill_vo_callout_vocal_land46034 60085–60114 ———
6425kill_vo_callout_vocal_ouch38352 1–843 ———
21304kill_vo_callout_vocal_ouch46035 60085–60114 ———
6406kill_vo_callout_watch38324 1–843 ———
21305kill_vo_callout_watch46036 60085–60114 ———
6407kill_vo_callout_yawn38325 1–843 ———
21306kill_vo_callout_yawn46037 60085–60114 ———
6408kill_vo_callout_yell38326 1–843 ———
21307kill_vo_callout_yell46038 60085–60114 ———
22730kill_vp_shissar_new50337 60085–60114 ———
22731kill_vp_shissar_old50338 60085–60114 ———
4916kill_vr2_burst_snd34793 1–843 ———
21316kill_vr2_burst_snd46047 60085–60114 ———
4917kill_vr2_flames_snd34794 1–843 ———
21317kill_vr2_flames_snd46048 60085–60114 ———
28243kill_vulakk_breathe_fire65462 60085–60114 ———
30492kill_vulakk_combat_enter8455949 60085–60114 ———
30080kill_vulakk_speaking8454207 60085–60114 ———
4619kill_w34445 1–843 ———
21318kill_w46049 60085–60114 ———
23010kill_waist_tracking_off_trigger50985 60085–60114 ———
3920kill_walk33650 1–843 ———
21321kill_walk46052 60085–60114 ———
21829kill_walk0148186 60085–60114 ———
21830kill_walk0248187 60085–60114 ———
30396kill_walk_handstand8455172 60085–60114 ———
25302kill_walk_kilt56111 60085–60114 ———
6617kill_walk_shake39431 1–843 ———
21322kill_walk_shake46054 60085–60114 ———
24869kill_walk_sniff54936 60085–60114 ———
21947kill_walk_tail48654 60085–60114 ———
21961kill_walk_tail_cloak48714 60085–60114 ———
24928kill_walk_temp55077 60085–60114 ———
30493kill_walk_to_stand8455950 60085–60114 ———
25110kill_wall_destroy55603 60085–60114 ———
25410kill_wand_attack56425 60085–60114 ———
25411kill_wand_idle56426 60085–60114 ———
21650kill_warg_backup47507 60085–60114 ———
21651kill_warg_fall47508 60085–60114 ———
21652kill_warg_idle47509 60085–60114 ———
21664kill_warg_idle0147578 60085–60114 ———
21665kill_warg_idle0247579 60085–60114 ———
21653kill_warg_jump47510 60085–60114 ———
21654kill_warg_jump_substitute47511 60085–60114 ———
21655kill_warg_land47512 60085–60114 ———
21656kill_warg_long_fall47513 60085–60114 ———
21657kill_warg_run47514 60085–60114 ———
21658kill_warg_turn_left47515 60085–60114 ———
21659kill_warg_turn_right47516 60085–60114 ———
21660kill_warg_walk47517 60085–60114 ———
21588kill_water47091 60085–60114 ———
3921kill_wave33651 1–843 ———
21323kill_wave46055 60085–60114 ———
4735kill_wa_voltswordstart_sound34607 1–843 ———
21320kill_wa_voltswordstart_sound46051 60085–60114 ———
4734kill_wa_voltsword_sound34606 1–843 ———
21319kill_wa_voltsword_sound46050 60085–60114 ———
27627kill_weapon_blood_lust62801 60085–60114 ———
31419kill_web_drop8485327 60085–60114 ———
21324kill_welder_lefthand46056 60085–60114 ———
21325kill_welder_righthand46057 60085–60114 ———
27260kill_were_cast_idle61528 60085–60114 ———
4736kill_wheel34608 1–843 ———
21326kill_wheel46058 60085–60114 ———
4744kill_wheel134616 1–843 ———
21327kill_wheel146059 60085–60114 ———
5240kill_wheel_smoke35240 1–843 ———
21328kill_wheel_smoke46060 60085–60114 ———
24799kill_whirlingattack54735 60085–60114 ———
4518kill_whirling_attack34330 1–843 ———
21329kill_whirling_attack46061 60085–60114 ———
3922kill_whistle33652 1–843 ———
21330kill_whistle46062 60085–60114 ———
22683kill_whistle_toot_0150235 60085–60114 ———
22684kill_whistle_toot_0250236 60085–60114 ———
22685kill_whistle_toot_0350237 60085–60114 ———
22686kill_whistle_toot_0450238 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.