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
5469kill_result_ghost_spider35605 1–843 ———
18015kill_result_ghost_spider35605 60085–60114 ———
4840kill_result_ghost_sword_breaking34714 1–843 ———
17830kill_result_ghost_sword_breaking34714 60085–60114 ———
23251kill_result_ghost_trap51550 60085–60114 ———
18407kill_result_ghost_undo40515 60085–60114 ———
30976kill_result_giant_bone_impale_p2p8474509 60085–60114 ———
31017kill_result_giant_fireball_p2p8477619 60085–60114 ———
24969kill_result_giant_icicle_drop55232 60085–60114 ———
30851kill_result_giant_magic_blast_shockwave8469411 60085–60114 ———
24970kill_result_giant_spear_p2p55233 60085–60114 ———
4774kill_result_glacial_wall34647 1–843 ———
17808kill_result_glacial_wall34647 60085–60114 ———
4775kill_result_glacial_wall_sparkles34648 1–843 ———
17809kill_result_glacial_wall_sparkles34648 60085–60114 ———
22040kill_result_glade48903 60085–60114 ———
27123kill_result_glass_blast60864 60085–60114 ———
18462kill_result_glass_shattering42728 60085–60114 ———
4405kill_result_glint234212 1–843 ———
17673kill_result_glint234212 60085–60114 ———
4674kill_result_glint2_sh34523 1–843 ———
20163kill_result_glint2_sh44892 60085–60114 ———
23147kill_result_gloop_root51286 60085–60114 ———
5750kill_result_glow_weapon_red35949 1–843 ———
18059kill_result_glow_weapon_red35949 60085–60114 ———
21643kill_result_glow_weapon_tan47394 60085–60114 ———
22845kill_result_gnollslayer50622 60085–60114 ———
22846kill_result_gnollslayer_burst50623 60085–60114 ———
6165kill_result_gnoll_buff37350 1–843 ———
18279kill_result_gnoll_buff37350 60085–60114 ———
24812kill_result_gnoll_drool54783 60085–60114 ———
22165kill_result_god_cackle_tribunal49124 60085–60114 ———
22728kill_result_god_spell_anashti_sul50328 60085–60114 ———
22166kill_result_god_spell_bertoxxulous49125 60085–60114 ———
18530kill_result_god_spell_brell_serilis42906 60085–60114 ———
21914kill_result_god_spell_bristlebane48569 60085–60114 ———
18531kill_result_god_spell_cazic_thule42907 60085–60114 ———
18532kill_result_god_spell_innoruuk42908 60085–60114 ———
22167kill_result_god_spell_karana49126 60085–60114 ———
18533kill_result_god_spell_mithaniel_marr42909 60085–60114 ———
18534kill_result_god_spell_quellious42910 60085–60114 ———
18535kill_result_god_spell_rallos_zek42911 60085–60114 ———
22729kill_result_god_spell_rodcet_nife50329 60085–60114 ———
18536kill_result_god_spell_solusek_ro42912 60085–60114 ———
22168kill_result_god_spell_tribunal49127 60085–60114 ———
18537kill_result_god_spell_tunare42913 60085–60114 ———
25413kill_result_golden_aura56435 60085–60114 ———
18464kill_result_golden_flash42740 60085–60114 ———
5298kill_result_golden_glow35370 1–843 ———
17931kill_result_golden_glow35370 60085–60114 ———
30867kill_result_gold_fire_bones8469832 60085–60114 ———
28229kill_result_golem_head_interception65196 60085–60114 ———
22515kill_result_golem_rain49703 60085–60114 ———
22732kill_result_greenmist_attack_p2p50345 60085–60114 ———
22497kill_result_green_glow49671 60085–60114 ———
4857kill_result_grim_champion34731 1–843 ———
17835kill_result_grim_champion34731 60085–60114 ———
4259kill_result_ground_blast34065 1–843 ———
17609kill_result_ground_blast34065 60085–60114 ———
4605kill_result_ground_blast_lava34430 1–843 ———
17754kill_result_ground_blast_lava34430 60085–60114 ———
21953kill_result_ground_blast_ring48683 60085–60114 ———
18644kill_result_guardian_aura43076 60085–60114 ———
24424kill_result_guk_axe_attack_p2p53919 60085–60114 ———
24425kill_result_guk_axe_stuck53920 60085–60114 ———
30987kill_result_gut_rip_blast8475410 60085–60114 ———
22649kill_result_hail_storm50149 60085–60114 ———
24638kill_result_halas_runes_spiral54469 60085–60114 ———
4205kill_result_hammer_approaching33997 1–843 ———
17581kill_result_hammer_approaching33997 60085–60114 ———
22613kill_result_hammer_buff50028 60085–60114 ———
4206kill_result_hammer_explode33998 1–843 ———
17582kill_result_hammer_explode33998 60085–60114 ———
24722kill_result_hammer_shower54587 60085–60114 ———
22785kill_result_hand_choke50468 60085–60114 ———
24061kill_result_hand_drips_blood53150 60085–60114 ———
24062kill_result_hand_drips_poison53151 60085–60114 ———
21864kill_result_hand_rings_fire48440 60085–60114 ———
21865kill_result_hand_rings_ice48441 60085–60114 ———
21866kill_result_hand_rings_lightning48442 60085–60114 ———
22230kill_result_hand_rings_poison49235 60085–60114 ———
22484kill_result_hand_rings_shimmer49639 60085–60114 ———
22199kill_result_hand_rings_smoke49197 60085–60114 ———
4881kill_result_haste34755 1–843 ———
17843kill_result_haste34755 60085–60114 ———
24932kill_result_hawk_circling55088 60085–60114 ———
30398kill_result_head_blast_hit8455233 60085–60114 ———
30490kill_result_head_crate_smash8455884 60085–60114 ———
30977kill_result_head_explode8474707 60085–60114 ———
22670kill_result_head_flames50209 60085–60114 ———
24412kill_result_head_flash_sparks53887 60085–60114 ———
31641kill_result_head_rings8492534 60085–60114 ———
24804kill_result_head_spikes54747 60085–60114 ———
3729kill_result_heal33265 1–843 ———
17529kill_result_heal33265 60085–60114 ———
3730kill_result_heal1133266 1–843 ———
17530kill_result_heal1133266 60085–60114 ———
3731kill_result_heal933267 1–843 ———
17531kill_result_heal933267 60085–60114 ———
23693kill_result_healing_flora52484 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.