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
26659kill_cast_armament_buff59028 60085–60114 ———
4712kill_cast_armor_01_snd34581 1–843 ———
19033kill_cast_armor_01_snd43747 60085–60114 ———
22253kill_cast_armor_assemble49285 60085–60114 ———
30052kill_cast_arrow_convert8454109 60085–60114 ———
30053kill_cast_arrow_cyclone8454110 60085–60114 ———
28156kill_cast_assassin64899 60085–60114 ———
27937kill_cast_assassin_mythical_fx63992 60085–60114 ———
6438kill_cast_attack0238401 1–843 ———
19034kill_cast_attack0243748 60085–60114 ———
30272kill_cast_aura01_snd8454802 60085–60114 ———
30273kill_cast_aura02_snd8454803 60085–60114 ———
25478kill_cast_axe_fire_attack56611 60085–60114 ———
25479kill_cast_axe_flurry56612 60085–60114 ———
4085kill_cast_backgroundsparkle_snd33843 1–843 ———
19035kill_cast_backgroundsparkle_snd43749 60085–60114 ———
23067kill_cast_back_rune_wheel51143 60085–60114 ———
27415kill_cast_bagpipe_sound62022 60085–60114 ———
3515kill_cast_ball32907 1–843 ———
17461kill_cast_ball32907 60085–60114 ———
4464kill_cast_ball_fire34271 1–843 ———
17698kill_cast_ball_fire34271 60085–60114 ———
21679kill_cast_ball_lightning_damage47692 60085–60114 ———
5095kill_cast_bard35026 1–843 ———
17892kill_cast_bard35026 60085–60114 ———
27416kill_cast_bard_bagpipes62023 60085–60114 ———
5395kill_cast_bard_drum_end35507 1–843 ———
19036kill_cast_bard_drum_end43750 60085–60114 ———
5396kill_cast_bard_drum_loop35508 1–843 ———
19037kill_cast_bard_drum_loop43751 60085–60114 ———
21808kill_cast_bard_drum_persist48026 60085–60114 ———
5397kill_cast_bard_drum_start35509 1–843 ———
5398kill_cast_bard_flute_end35510 1–843 ———
19038kill_cast_bard_flute_end43753 60085–60114 ———
5399kill_cast_bard_flute_loop35511 1–843 ———
19039kill_cast_bard_flute_loop43754 60085–60114 ———
21809kill_cast_bard_flute_persist48027 60085–60114 ———
5400kill_cast_bard_flute_start35512 1–843 ———
5401kill_cast_bard_stringed_end35513 1–843 ———
19040kill_cast_bard_stringed_end43756 60085–60114 ———
5402kill_cast_bard_stringed_loop35514 1–843 ———
19041kill_cast_bard_stringed_loop43757 60085–60114 ———
21810kill_cast_bard_stringed_persist48028 60085–60114 ———
5403kill_cast_bard_stringed_start35515 1–843 ———
19042kill_cast_bard_stringed_start43758 60085–60114 ———
5404kill_cast_bard_vocal_end35516 1–843 ———
19043kill_cast_bard_vocal_end43759 60085–60114 ———
5405kill_cast_bard_vocal_loop35517 1–843 ———
19044kill_cast_bard_vocal_loop43760 60085–60114 ———
5406kill_cast_bard_vocal_start35518 1–843 ———
22586kill_cast_barnacle_blast49954 60085–60114 ———
22520kill_cast_barnicle_blast49710 60085–60114 ———
30817kill_cast_barrier_breath18468404 60085–60114 ———
23068kill_cast_base_rune_wheel51144 60085–60114 ———
28157kill_cast_beastlord64900 60085–60114 ———
27938kill_cast_beastlord_mythical_fx63993 60085–60114 ———
30085kill_cast_beetle_reappear8454226 60085–60114 ———
30086kill_cast_beetle_wings8454227 60085–60114 ———
26709kill_cast_belly_blast59158 60085–60114 ———
26489kill_cast_belly_flop58500 60085–60114 ———
28158kill_cast_berserker64901 60085–60114 ———
27939kill_cast_berserker_mythical_fx63994 60085–60114 ———
30658kill_cast_blade_skulls8460801 60085–60114 ———
31005kill_cast_blade_tornado8476983 60085–60114 ———
18439kill_cast_blanket_of_eternal_night42522 60085–60114 ———
31415kill_cast_bloody_frenzy8485242 60085–60114 ———
30964kill_cast_blood_spirits_summon8473638 60085–60114 ———
30174kill_cast_blood_spirit_vanish8454478 60085–60114 ———
27127kill_cast_blue_buff60874 60085–60114 ———
23059kill_cast_boiling_energy51117 60085–60114 ———
6156kill_cast_bone_blast_137329 1–843 ———
18270kill_cast_bone_blast_137329 60085–60114 ———
6157kill_cast_bone_blast_237330 1–843 ———
18271kill_cast_bone_blast_237330 60085–60114 ———
6158kill_cast_bone_blast_337331 1–843 ———
18272kill_cast_bone_blast_337331 60085–60114 ———
22610kill_cast_bone_blast_blend50013 60085–60114 ———
22618kill_cast_bone_blast_notes50047 60085–60114 ———
30961kill_cast_bone_shard_attack8473438 60085–60114 ———
30605kill_cast_bone_shredder8458185 60085–60114 ———
30957kill_cast_bone_summon_attack8473040 60085–60114 ———
24954kill_cast_bone_toss55171 60085–60114 ———
22447kill_cast_boomerang49540 60085–60114 ———
30841kill_cast_breath_deflected8469225 60085–60114 ———
22138kill_cast_breath_divine49072 60085–60114 ———
22139kill_cast_breath_magic49073 60085–60114 ———
28159kill_cast_brigand64902 60085–60114 ———
27940kill_cast_brigand_mythical_fx63995 60085–60114 ———
3516kill_cast_bright_ring32908 1–843 ———
17462kill_cast_bright_ring32908 60085–60114 ———
6236kill_cast_bright_ring_blue37510 1–843 ———
18296kill_cast_bright_ring_blue37510 60085–60114 ———
6237kill_cast_bright_ring_red37511 1–843 ———
18297kill_cast_bright_ring_red37511 60085–60114 ———
28160kill_cast_bruiser64903 60085–60114 ———
27941kill_cast_bruiser_mythical_fx63996 60085–60114 ———
22622kill_cast_bubble_ward50058 60085–60114 ———
22629kill_cast_bubble_ward_out50083 60085–60114 ———
6568kill_cast_buff39237 1–843 ———
26661kill_cast_burrow_dust_fx59036 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.