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
23352kill_sound_glass_break51796 60085–60114 ———
4682kill_sound_glide34536 1–843 ———
20736kill_sound_glide45467 60085–60114 ———
4683kill_sound_glide0234537 1–843 ———
20737kill_sound_glide0245468 60085–60114 ———
23733kill_sound_goatmen_armor_long52532 60085–60114 ———
23734kill_sound_goatmen_armor_short_loud52533 60085–60114 ———
23735kill_sound_goatmen_armor_short_quiet52534 60085–60114 ———
23736kill_sound_goatmen_attack_roar52535 60085–60114 ———
23737kill_sound_goatmen_blade_swoosh_152536 60085–60114 ———
23738kill_sound_goatmen_blade_swoosh_252537 60085–60114 ———
23739kill_sound_goatmen_body_fall52538 60085–60114 ———
23740kill_sound_goatmen_body_movement_short52539 60085–60114 ———
23741kill_sound_goatmen_bow_enter52540 60085–60114 ———
23742kill_sound_goatmen_bow_exit52541 60085–60114 ———
23743kill_sound_goatmen_bow_getarrow52542 60085–60114 ———
23744kill_sound_goatmen_bow_pullback52543 60085–60114 ———
23745kill_sound_goatmen_bow_release52544 60085–60114 ———
23746kill_sound_goatmen_breath_out52545 60085–60114 ———
23747kill_sound_goatmen_cast_yell52546 60085–60114 ———
23748kill_sound_goatmen_combat_art_buff52547 60085–60114 ———
23749kill_sound_goatmen_death_roar52548 60085–60114 ———
23750kill_sound_goatmen_death_roar_252549 60085–60114 ———
23751kill_sound_goatmen_footstep52550 60085–60114 ———
23752kill_sound_goatmen_grunt52551 60085–60114 ———
23732kill_sound_goatmen_lf_stomp52531 60085–60114 ———
23753kill_sound_goatmen_ouch52552 60085–60114 ———
23754kill_sound_goatmen_scrape52553 60085–60114 ———
23755kill_sound_goatmen_snort52554 60085–60114 ———
23756kill_sound_goatmen_swim52555 60085–60114 ———
23757kill_sound_goatmen_weapon_twirl52556 60085–60114 ———
24952kill_sound_griffin_mount_idle0155158 60085–60114 ———
21368kill_sound_groundhit46310 60085–60114 ———
20738kill_sound_growl45469 60085–60114 ———
3809kill_sound_gulp0133361 1–843 ———
20739kill_sound_gulp0145470 60085–60114 ———
3810kill_sound_gulp0233362 1–843 ———
20740kill_sound_gulp0245471 60085–60114 ———
20741kill_sound_hammerhit45472 60085–60114 ———
6305kill_sound_happy37893 1–843 ———
20742kill_sound_happy45473 60085–60114 ———
20743kill_sound_head45474 60085–60114 ———
6207kill_sound_headram_inhale37428 1–843 ———
20744kill_sound_headram_inhale45475 60085–60114 ———
6208kill_sound_headram_land37429 1–843 ———
20745kill_sound_headram_land45476 60085–60114 ———
6209kill_sound_headram_snort37430 1–843 ———
20746kill_sound_headram_snort45477 60085–60114 ———
6210kill_sound_headram_swoosh37431 1–843 ———
20747kill_sound_headram_swoosh45478 60085–60114 ———
20748kill_sound_headspark45479 60085–60114 ———
5736kill_sound_headturn35913 1–843 ———
20749kill_sound_headturn45480 60085–60114 ———
23310kill_sound_head_butt51665 60085–60114 ———
4900kill_sound_heartattack34777 1–843 ———
20750kill_sound_heartattack45481 60085–60114 ———
30713kill_sound_hellhound_attack028464141 60085–60114 ———
30714kill_sound_hellhound_attack038464142 60085–60114 ———
30715kill_sound_hellhound_eat028464143 60085–60114 ———
30716kill_sound_hellhound_getup8464144 60085–60114 ———
30717kill_sound_hellhound_howl8464145 60085–60114 ———
30718kill_sound_hellhound_sit8464146 60085–60114 ———
5655kill_sound_hiss35815 1–843 ———
20751kill_sound_hiss45482 60085–60114 ———
3811kill_sound_hit33363 1–843 ———
20752kill_sound_hit45483 60085–60114 ———
24675kill_sound_hland_griffin_attack0154526 60085–60114 ———
24676kill_sound_hland_griffin_attack0254527 60085–60114 ———
24677kill_sound_hland_griffin_attack0354528 60085–60114 ———
24780kill_sound_hland_griffin_cast_enter54691 60085–60114 ———
24781kill_sound_hland_griffin_cast_exit54692 60085–60114 ———
24782kill_sound_hland_griffin_charge_up54693 60085–60114 ———
24678kill_sound_hland_griffin_combat_enter54529 60085–60114 ———
24679kill_sound_hland_griffin_dead_enter54530 60085–60114 ———
24680kill_sound_hland_griffin_dodge_backhand54531 60085–60114 ———
24681kill_sound_hland_griffin_dodge_down54532 60085–60114 ———
24682kill_sound_hland_griffin_dodge_forehand54533 60085–60114 ———
24683kill_sound_hland_griffin_dodge_thrust54534 60085–60114 ———
24779kill_sound_hland_griffin_fs54690 60085–60114 ———
24684kill_sound_hland_griffin_idle0154535 60085–60114 ———
25088kill_sound_hland_griffin_mount_fly_dive55517 60085–60114 ———
24685kill_sound_hland_griffin_ouch54536 60085–60114 ———
24686kill_sound_hland_griffin_ouch_thrust54537 60085–60114 ———
24687kill_sound_hland_griffin_swim_walk54538 60085–60114 ———
24688kill_sound_hland_griffin_whirling_attack54539 60085–60114 ———
24689kill_sound_hland_griffin_wildswing54540 60085–60114 ———
24798kill_sound_hland_griffin_wild_swing54731 60085–60114 ———
24794kill_sound_hland_griffin_wing_flap_0154716 60085–60114 ———
24795kill_sound_hland_griffin_wing_flap_0254717 60085–60114 ———
6369kill_sound_hoofleft38252 1–843 ———
20753kill_sound_hoofleft45484 60085–60114 ———
6370kill_sound_hoofright38253 1–843 ———
20754kill_sound_hoofright45485 60085–60114 ———
22452kill_sound_horn49569 60085–60114 ———
21619kill_sound_howl47190 60085–60114 ———
5527kill_sound_hungry35679 1–843 ———
20755kill_sound_hungry45486 60085–60114 ———
20756kill_sound_hungrycreak45487 60085–60114 ———
22568kill_sound_ice_shatter49913 60085–60114 ———
3812kill_sound_idle33364 1–843 ———
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.