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
18782kill_2h_sword_attack_recoil0343492 60085–60114 ———
3462kill_2h_sword_backup32813 1–843 ———
18783kill_2h_sword_backup43493 60085–60114 ———
5335kill_2h_sword_charge_up35435 1–843 ———
18784kill_2h_sword_charge_up43494 60085–60114 ———
27534kill_2h_sword_dead62469 60085–60114 ———
27535kill_2h_sword_dead_enter62470 60085–60114 ———
5336kill_2h_sword_defensive_buff35436 1–843 ———
17948kill_2h_sword_defensive_buff35436 60085–60114 ———
25686kill_2h_sword_dodge57109 60085–60114 ———
4418kill_2h_sword_dodge_backhand34225 1–843 ———
17677kill_2h_sword_dodge_backhand34225 60085–60114 ———
4419kill_2h_sword_dodge_down34226 1–843 ———
17678kill_2h_sword_dodge_down34226 60085–60114 ———
4420kill_2h_sword_dodge_forehand34227 1–843 ———
17679kill_2h_sword_dodge_forehand34227 60085–60114 ———
6175kill_2h_sword_dodge_thrust37375 1–843 ———
18785kill_2h_sword_dodge_thrust43495 60085–60114 ———
3463kill_2h_sword_enter32818 1–843 ———
17454kill_2h_sword_enter32818 60085–60114 ———
3464kill_2h_sword_exit32819 1–843 ———
18786kill_2h_sword_exit43496 60085–60114 ———
5337kill_2h_sword_feint35437 1–843 ———
18787kill_2h_sword_feint43497 60085–60114 ———
28209kill_2h_sword_ground_attack_0165150 60085–60114 ———
28210kill_2h_sword_ground_attack_0265151 60085–60114 ———
28211kill_2h_sword_ground_combat_buff65152 60085–60114 ———
28212kill_2h_sword_ground_death65153 60085–60114 ———
28213kill_2h_sword_ground_dodge_backhand65154 60085–60114 ———
28214kill_2h_sword_ground_dodge_down65155 60085–60114 ———
28215kill_2h_sword_ground_dodge_forehand65156 60085–60114 ———
28216kill_2h_sword_ground_dodge_thrust65157 60085–60114 ———
28217kill_2h_sword_ground_idle65158 60085–60114 ———
28218kill_2h_sword_ground_idle_fidget65159 60085–60114 ———
28219kill_2h_sword_ground_ouch_backhand65160 60085–60114 ———
28220kill_2h_sword_ground_ouch_down65161 60085–60114 ———
28221kill_2h_sword_ground_ouch_forehand65162 60085–60114 ———
28222kill_2h_sword_ground_ouch_thrust65163 60085–60114 ———
3465kill_2h_sword_idle32820 1–843 ———
17455kill_2h_sword_idle32820 60085–60114 ———
27560kill_2h_sword_idle0162529 60085–60114 ———
5338kill_2h_sword_kick35438 1–843 ———
17949kill_2h_sword_kick35438 60085–60114 ———
5339kill_2h_sword_offensive_buff35439 1–843 ———
18788kill_2h_sword_offensive_buff43498 60085–60114 ———
4421kill_2h_sword_ouch_backhand34228 1–843 ———
17680kill_2h_sword_ouch_backhand34228 60085–60114 ———
4422kill_2h_sword_ouch_down34229 1–843 ———
17681kill_2h_sword_ouch_down34229 60085–60114 ———
4423kill_2h_sword_ouch_forehand34230 1–843 ———
17682kill_2h_sword_ouch_forehand34230 60085–60114 ———
6176kill_2h_sword_ouch_thrust37376 1–843 ———
18285kill_2h_sword_ouch_thrust37376 60085–60114 ———
4424kill_2h_sword_parry_backhand34231 1–843 ———
18789kill_2h_sword_parry_backhand43499 60085–60114 ———
4425kill_2h_sword_parry_down34232 1–843 ———
18790kill_2h_sword_parry_down43500 60085–60114 ———
4426kill_2h_sword_parry_forehand34233 1–843 ———
18791kill_2h_sword_parry_forehand43501 60085–60114 ———
6177kill_2h_sword_parry_thrust37377 1–843 ———
18792kill_2h_sword_parry_thrust43502 60085–60114 ———
27520kill_2h_sword_run62427 60085–60114 ———
3466kill_2h_sword_strafe_left32827 1–843 ———
18793kill_2h_sword_strafe_left43503 60085–60114 ———
3467kill_2h_sword_strafe_right32828 1–843 ———
18794kill_2h_sword_strafe_right43504 60085–60114 ———
5340kill_2h_sword_super_buff35440 1–843 ———
18795kill_2h_sword_super_buff43505 60085–60114 ———
5341kill_2h_sword_taunt35441 1–843 ———
18796kill_2h_sword_taunt43506 60085–60114 ———
5559kill_2h_sword_taunt_combat_art35715 1–843 ———
18797kill_2h_sword_taunt_combat_art43507 60085–60114 ———
3468kill_2h_sword_walk32829 1–843 ———
18798kill_2h_sword_walk43508 60085–60114 ———
5342kill_2h_sword_whirling_attack35442 1–843 ———
17950kill_2h_sword_whirling_attack35442 60085–60114 ———
5343kill_2h_sword_wild_swing35443 1–843 ———
17951kill_2h_sword_wild_swing35443 60085–60114 ———
26470kill_2h_twirl58418 60085–60114 ———
25638kill_2pike_attack0357012 60085–60114 ———
4610kill_a34436 1–843 ———
18800kill_a43512 60085–60114 ———
27530kill_aa_ancestral_gather62465 60085–60114 ———
27509kill_aa_anger_buff62333 60085–60114 ———
31500kill_aa_arcane_wave8487487 60085–60114 ———
27410kill_aa_arrow_rapid_salvo62017 60085–60114 ———
30049kill_aa_arrow_storm8454106 60085–60114 ———
26600kill_aa_bar_heal58927 60085–60114 ———
27518kill_aa_blast_circle62419 60085–60114 ———
26601kill_aa_blood_burst58928 60085–60114 ———
26602kill_aa_blood_lust58929 60085–60114 ———
27773kill_aa_bone_blast63517 60085–60114 ———
27774kill_aa_bone_cage63518 60085–60114 ———
26603kill_aa_bubble_shield58930 60085–60114 ———
26604kill_aa_bubble_shield_in58931 60085–60114 ———
27383kill_aa_cast_wind_spin61946 60085–60114 ———
26605kill_aa_cloud_blast58932 60085–60114 ———
26606kill_aa_cloud_buff_out58933 60085–60114 ———
26607kill_aa_cloud_ring_burst58934 60085–60114 ———
27573kill_aa_coin_toss62554 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.