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
6813result_blast_cone1295 60085–60114 ———
11118result_blast_cone_aoe15793 60085–60114 ———
11461result_blast_double_cone_aoe16527 60085–60114 ———
12662result_blast_hit19290 60085–60114 ———
12017result_blast_ring17768 60085–60114 ———
2650result_blessing_of_faith3433 1–843 ———
7341result_blessing_of_faith3433 60085–60114 ———
13062result_blinded19917 60085–60114 ———
1678result_bloodlust1986 1–843 ———
7048result_bloodlust1986 60085–60114 ———
1753result_bloodlust_22065 1–843 ———
7064result_bloodlust_22065 60085–60114 ———
2573result_bloodlust_33225 1–843 ———
7277result_bloodlust_33225 60085–60114 ———
2824result_bloodlust_aoe4030 1–843 ———
7432result_bloodlust_aoe4030 60085–60114 ———
11720result_blood_boil16934 60085–60114 ———
16154result_blood_craze27339 60085–60114 ———
16155result_blood_craze_p2p27340 60085–60114 ———
16234result_blood_dark27679 60085–60114 ———
28374result_blood_essence_buff65859 60085–60114 ———
28375result_blood_essence_dead65860 60085–60114 ———
28376result_blood_essence_gather65861 60085–60114 ———
29261result_blood_lifetap_p2p91782 60085–60114 ———
11753result_blood_puddle17064 60085–60114 ———
29173result_blood_soul_siphon_p2p85239 60085–60114 ———
29171result_blood_spirits_mezz85040 60085–60114 ———
29262result_blood_spray_p2p91783 60085–60114 ———
29250result_blood_tap_rings90983 60085–60114 ———
16156result_blood_wash27341 60085–60114 ———
14619result_blue_aura23666 60085–60114 ———
11702result_blue_glow16902 60085–60114 ———
2664result_blue_whirlwind3464 1–843 ———
7355result_blue_whirlwind3464 60085–60114 ———
29849result_boasting_glowout103925 60085–60114 ———
13733result_body_fire21470 60085–60114 ———
13734result_body_lightning_purple21471 60085–60114 ———
13735result_body_snow21472 60085–60114 ———
29612result_body_tremors96210 60085–60114 ———
2861result_bone_blast4161 1–843 ———
7449result_bone_blast4161 60085–60114 ———
1724result_bone_cage_12036 1–843 ———
7060result_bone_cage_12036 60085–60114 ———
29165result_bone_claw_ground_attack84640 60085–60114 ———
12350result_bone_cyclone18515 60085–60114 ———
2862result_bone_glow4162 1–843 ———
7450result_bone_glow4162 60085–60114 ———
3315result_bone_glow_26269 1–843 ———
7558result_bone_glow_26269 60085–60114 ———
16580result_bone_glow_329146 60085–60114 ———
29169result_bone_shard_blast84841 60085–60114 ———
29586result_bone_spear_p2p95709 60085–60114 ———
7596result_bonfire6866 60085–60114 ———
11464result_book_hit16536 60085–60114 ———
13637result_book_hover21181 60085–60114 ———
12354result_boot_kick18525 60085–60114 ———
11741result_brain_leaving17012 60085–60114 ———
2705result_brain_leech_p2p3707 1–843 ———
7374result_brain_leech_p2p3707 60085–60114 ———
2624result_bravos_dance3368 1–843 ———
11443result_bread_hit16487 60085–60114 ———
2671result_breakable_wall3573 1–843 ———
7358result_breakable_wall3573 60085–60114 ———
2660result_breaking_faith3449 1–843 ———
7351result_breaking_faith3449 60085–60114 ———
10844result_breaking_faith_wall14585 60085–60114 ———
11832result_break_chains17304 60085–60114 ———
11346result_breath_magic16312 60085–60114 ———
11687result_brick_hit16861 60085–60114 ———
7881result_brigand_hand_trails10390 60085–60114 ———
7669result_brigand_slide9971 60085–60114 ———
7882result_bruiser_fist_shining10391 60085–60114 ———
12396result_bubble_glow18619 60085–60114 ———
1824result_bubble_ring2141 1–843 ———
7086result_bubble_ring2141 60085–60114 ———
17400result_bubble_sphere_prism32340 60085–60114 ———
1556result_bubble_stream1863 1–843 ———
7000result_bubble_stream1863 60085–60114 ———
12401result_buble_leaf_blast18636 60085–60114 ———
11109result_bucket15772 60085–60114 ———
566result_buff_limbs490 1–843 ———
6729result_buff_limbs490 60085–60114 ———
12620result_bullseye19208 60085–60114 ———
1334result_bull_stomping1580 1–843 ———
6937result_bull_stomping1580 60085–60114 ———
1494result_cactus_spikes_growing1793 1–843 ———
6974result_cactus_spikes_growing1793 60085–60114 ———
13812result_cage_beam_p2p21585 60085–60114 ———
15784result_cage_cube26092 60085–60114 ———
2935result_call_of_power4518 1–843 ———
7469result_call_of_power4518 60085–60114 ———
3432result_call_of_storms6757 1–843 ———
7583result_call_of_storms6757 60085–60114 ———
1056result_camera_shake1296 1–843 ———
6814result_camera_shake1296 60085–60114 ———
1070result_camera_shake2_snd1311 1–843 ———
9339result_camera_shake2_snd12094 60085–60114 ———
1071result_camera_shake_snd1312 1–843 ———
9340result_camera_shake_snd12095 60085–60114 ———
1423result_camera_shake_wider1683 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.