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
1312result_poison_cyst_vomit1557 1–843 ———
6919result_poison_cyst_vomit1557 60085–60114 ———
29119result_poison_essence_buff83292 60085–60114 ———
1257result_poison_forced_shader1498 1–843 ———
6903result_poison_forced_shader1498 60085–60114 ———
7666result_poison_forced_shader_weapon9930 60085–60114 ———
2575result_poison_rain_damage3227 1–843 ———
7279result_poison_rain_damage3227 60085–60114 ———
11856result_poison_skulls17382 60085–60114 ———
17403result_poison_spiral_ball_p2p32356 60085–60114 ———
11868result_poison_splat17421 60085–60114 ———
1285result_poison_whirlwind1528 1–843 ———
6911result_poison_whirlwind1528 60085–60114 ———
14621result_poppy_trail23668 60085–60114 ———
29234result_portal_barrier_green_fx89800 60085–60114 ———
29235result_portal_barrier_purple_fx89801 60085–60114 ———
2706result_power_fount3708 1–843 ———
7375result_power_fount3708 60085–60114 ———
14714result_power_infused23891 60085–60114 ———
11767result_power_life_drain_p2p17109 60085–60114 ———
12429result_precharge_blast18715 60085–60114 ———
3273result_prisms_hex_clinging6044 1–843 ———
7549result_prisms_hex_clinging6044 60085–60114 ———
3274result_prisms_sparkle_soul6045 1–843 ———
7550result_prisms_sparkle_soul6045 60085–60114 ———
3275result_prisms_sphere6046 1–843 ———
7551result_prisms_sphere6046 60085–60114 ———
2532result_prism_hex_p2p3144 1–843 ———
7264result_prism_hex_p2p3144 60085–60114 ———
3327result_prism_tube_trail_16330 1–843 ———
7562result_prism_tube_trail_16330 60085–60114 ———
3328result_prism_tube_trail_26331 1–843 ———
7563result_prism_tube_trail_26331 60085–60114 ———
14945result_proc_crit_bonus24543 60085–60114 ———
3086result_protection_of_faith_p2p4997 1–843 ———
7521result_protection_of_faith_p2p4997 60085–60114 ———
3087result_protection_of_faith_tapestry4998 1–843 ———
7522result_protection_of_faith_tapestry4998 60085–60114 ———
3289result_protection_of_twilight6110 1–843 ———
9373result_protection_of_twilight12128 60085–60114 ———
11772result_pulsing_note17136 60085–60114 ———
29506result_pumpkin_rain94923 60085–60114 ———
11921result_pumpkin_smash17528 60085–60114 ———
10895result_puppetmaster14980 60085–60114 ———
11705result_purple_glow16905 60085–60114 ———
11230result_pus_bolt_p2p16099 60085–60114 ———
11327result_pus_rain_aoe16279 60085–60114 ———
11231result_pus_splat16100 60085–60114 ———
29642result_pyrebreath_bullwark96946 60085–60114 ———
15872result_queen_bug_spit_p2p26277 60085–60114 ———
17406result_quickened_heal32372 60085–60114 ———
12054result_quick_heal17863 60085–60114 ———
16332result_radiant_glow_no_mesh28098 60085–60114 ———
29618result_radiant_nature_heal96427 60085–60114 ———
29656result_raid_dark_fire_area97169 60085–60114 ———
29225result_raid_fire_area89012 60085–60114 ———
2693result_rainbow_blast_p2p3671 1–843 ———
7364result_rainbow_blast_p2p3671 60085–60114 ———
1635result_rainbow_forced_shader1943 1–843 ———
7034result_rainbow_forced_shader1943 60085–60114 ———
12508result_rainy_black_cloud18876 60085–60114 ———
2557result_rain_damage3203 1–843 ———
7274result_rain_damage3203 60085–60114 ———
7625result_rain_of_thistles8542 60085–60114 ———
14715result_rallos_lightning_p2p23892 60085–60114 ———
7915result_ranger_green_aura10559 60085–60114 ———
15676result_raptor_spit_p2p25649 60085–60114 ———
10888result_rays_of_disintigration14938 60085–60114 ———
10889result_rays_of_disintigration_p2p14939 60085–60114 ———
9374result_recharging_station_effect12129 60085–60114 ———
14622result_red_aura23669 60085–60114 ———
29075result_red_fire_bones81226 60085–60114 ———
14032result_red_glow22049 60085–60114 ———
13324result_repellent_spray20515 60085–60114 ———
13325result_repellent_spray_p2p20516 60085–60114 ———
14284result_retaliation22699 60085–60114 ———
7589result_rift6801 60085–60114 ———
2739result_rings_rising3790 1–843 ———
7400result_rings_rising3790 60085–60114 ———
2773result_rings_rising_noshrink3860 1–843 ———
7416result_rings_rising_noshrink3860 60085–60114 ———
17397result_ring_flare32324 60085–60114 ———
29619result_ring_heal96428 60085–60114 ———
2868result_ring_of_blades4203 1–843 ———
7456result_ring_of_blades4203 60085–60114 ———
2869result_ring_of_blades_scimitars4204 1–843 ———
7457result_ring_of_blades_scimitars4204 60085–60114 ———
2870result_ring_of_blades_swords4205 1–843 ———
7458result_ring_of_blades_swords4205 60085–60114 ———
29270result_ring_root_spin92376 60085–60114 ———
2867result_rocks_flying_from_mesh4195 1–843 ———
7455result_rocks_flying_from_mesh4195 60085–60114 ———
7601result_rocks_sticky6891 60085–60114 ———
28663result_rocky_blast_up66990 60085–60114 ———
12160result_rock_blast_wave18061 60085–60114 ———
7600result_rock_breath_p2p6890 60085–60114 ———
29266result_rock_ceiling_rain92174 60085–60114 ———
2648result_rock_chunks_dropping3428 1–843 ———
7339result_rock_chunks_dropping3428 60085–60114 ———
14096result_rock_crystal_cyclone22211 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.