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
16302result_ice_beam_p2p28012 60085–60114 ———
1559result_ice_blast1866 1–843 ———
7003result_ice_blast1866 60085–60114 ———
2865result_ice_blast_from_mesh4172 1–843 ———
7453result_ice_blast_from_mesh4172 60085–60114 ———
2097result_ice_blast_rightfoot2603 1–843 ———
7138result_ice_blast_rightfoot2603 60085–60114 ———
2170result_ice_blast_weapon2709 1–843 ———
7166result_ice_blast_weapon2709 60085–60114 ———
2597result_ice_blast_weapon_center3259 1–843 ———
7297result_ice_blast_weapon_center3259 60085–60114 ———
1560result_ice_crystals_dropping1867 1–843 ———
7004result_ice_crystals_dropping1867 60085–60114 ———
3283result_ice_dagger_breath_p2p6068 1–843 ———
7552result_ice_dagger_breath_p2p6068 60085–60114 ———
7599result_ice_dagger_breath_small_p2p6881 60085–60114 ———
13880result_ice_melt21754 60085–60114 ———
11755result_ice_shackles17066 60085–60114 ———
13925result_ice_shatter21809 60085–60114 ———
1574result_ice_shields_burning1881 1–843 ———
7016result_ice_shields_burning1881 60085–60114 ———
2605result_ice_slam3343 1–843 ———
7305result_ice_slam3343 60085–60114 ———
13832result_ice_spikes_growing21669 60085–60114 ———
11247result_ice_storm16136 60085–60114 ———
14333result_ice_strike22879 60085–60114 ———
14374result_ice_strike_targeted22973 60085–60114 ———
1631result_ice_sword_breaking1939 1–843 ———
7032result_ice_sword_breaking1939 60085–60114 ———
14071result_ice_trap_dark22156 60085–60114 ———
13818result_ice_trap_swirls21613 60085–60114 ———
14013result_ice_vine_trap21996 60085–60114 ———
1567result_icicles_breaking1874 1–843 ———
7011result_icicles_breaking1874 60085–60114 ———
15121result_icicle_blast_up25035 60085–60114 ———
12503result_icicle_hit18863 60085–60114 ———
11756result_icicle_impale17067 60085–60114 ———
2556result_icicle_rain_damage3202 1–843 ———
7273result_icicle_rain_damage3202 60085–60114 ———
12513result_icicle_storm18887 60085–60114 ———
1561result_icy_cage1868 1–843 ———
7005result_icy_cage1868 60085–60114 ———
1564result_icy_cage_blast_ring1871 1–843 ———
7008result_icy_cage_blast_ring1871 60085–60114 ———
1568result_icy_comet1875 1–843 ———
7012result_icy_comet1875 60085–60114 ———
1569result_icy_comet_exploding1876 1–843 ———
7013result_icy_comet_exploding1876 60085–60114 ———
13310result_icy_trap_shatter20469 60085–60114 ———
16158result_idol_corruption_p2p27355 60085–60114 ———
29800result_ignite101979 60085–60114 ———
12340result_iksar_statue_beam_p2p18488 60085–60114 ———
16914result_illithid_chain_lightning_bolt_p2p30595 60085–60114 ———
16915result_illithid_chain_lightning_p2p30596 60085–60114 ———
16248result_illusionary_lights27726 60085–60114 ———
7876result_illusionist_head_aura10375 60085–60114 ———
7672result_illusionist_illuminate9986 60085–60114 ———
14182result_indestructible22498 60085–60114 ———
16907result_ink_zone30543 60085–60114 ———
1879result_instant_lifetap2228 1–843 ———
7093result_instant_lifetap2228 60085–60114 ———
14183result_invincible22499 60085–60114 ———
3380result_juggernaut6498 1–843 ———
7573result_juggernaut6498 60085–60114 ———
29677result_karana_lightning_p2p98026 60085–60114 ———
29678result_karana_lightning_slash98027 60085–60114 ———
17307result_kerafyrm_tear_runes_p2p31807 60085–60114 ———
575result_kick500 1–843 ———
6738result_kick500 60085–60114 ———
2776result_kirby_energy_p2p3869 1–843 ———
7419result_kirby_energy_p2p3869 60085–60114 ———
3052result_knighthood_bauble4809 1–843 ———
9370result_knighthood_bauble12125 60085–60114 ———
7652result_laser_p2p9832 60085–60114 ———
11110result_lava_burst15779 60085–60114 ———
11809result_lava_column17221 60085–60114 ———
29616result_lava_heal96425 60085–60114 ———
29581result_lava_melt95492 60085–60114 ———
29582result_lava_melt_puddle95493 60085–60114 ———
29583result_lava_reform95494 60085–60114 ———
12397result_leaf_blow_glow18620 60085–60114 ———
13335result_leash_p2p20551 60085–60114 ———
13340result_leash_p2p_static20563 60085–60114 ———
10902result_leaves_sticky15008 60085–60114 ———
13071result_lich_evil_drain_p2p19954 60085–60114 ———
13072result_lich_good_drain_p2p19955 60085–60114 ———
16473result_lifebringer_glade28799 60085–60114 ———
2588result_lifetap3247 1–843 ———
7291result_lifetap3247 60085–60114 ———
14758result_lifetap_heart_p2p24076 60085–60114 ———
16539result_life_statue_fx29002 60085–60114 ———
576result_lightning501 1–843 ———
6739result_lightning501 60085–60114 ———
1058result_lightning_bolt11298 1–843 ———
6816result_lightning_bolt11298 60085–60114 ———
1072result_lightning_bolt1_snd1313 1–843 ———
9371result_lightning_bolt1_snd12126 60085–60114 ———
1062result_lightning_bolt21303 1–843 ———
6820result_lightning_bolt21303 60085–60114 ———
1063result_lightning_bolt31304 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.