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
14733design_sol_statue_breaking23971 60085–60114 ———
14734design_sol_statue_essence23972 60085–60114 ———
14735design_sol_statue_evil_essence23973 60085–60114 ———
8612design_sound_blow11362 60085–60114 ———
8613design_sound_bubble11363 60085–60114 ———
8614design_sound_steam11364 60085–60114 ———
14417design_spear_drop23066 60085–60114 ———
14418design_spear_idle23067 60085–60114 ———
14296design_speed_boost_buff22757 60085–60114 ———
15104design_speed_boost_buff_no_sound24968 60085–60114 ———
15105design_speed_drop_debuff_no_sound24969 60085–60114 ———
14297design_speed_drop_twister_debuff22758 60085–60114 ———
28728design_sphere_black67812 60085–60114 ———
28729design_sphere_gold67813 60085–60114 ———
12550design_spider_face18997 60085–60114 ———
13999design_spider_shoulder21942 60085–60114 ———
29808design_splash_puddle102688 60085–60114 ———
10904design_spotlight15051 60085–60114 ———
29672design_ss_beach_footprints97810 60085–60114 ———
29638design_ss_blue_fire_zone96938 60085–60114 ———
29652design_ss_portal_cylinder_drop97161 60085–60114 ———
29298design_ss_teleporter_corruption93273 60085–60114 ———
29299design_ss_teleporter_separation93274 60085–60114 ———
13311design_starburst_blue20476 60085–60114 ———
13312design_starburst_green20477 60085–60114 ———
13313design_starburst_purple20478 60085–60114 ———
13314design_starburst_red20479 60085–60114 ———
13315design_starburst_white20480 60085–60114 ———
12453design_statue_death_beam_p2p18772 60085–60114 ———
12454design_statue_power18773 60085–60114 ———
8615design_steamfont_bubbles_ripples11365 60085–60114 ———
8616design_steamfont_rainbow11366 60085–60114 ———
8617design_steamfont_slow_steam11367 60085–60114 ———
8618design_steamfont_steam_column11368 60085–60114 ———
8619design_steamfont_steam_tube_a11369 60085–60114 ———
8620design_steamfont_steam_tube_b11370 60085–60114 ———
8621design_steamfont_water_column11371 60085–60114 ———
28701design_stratum_black_lightning67449 60085–60114 ———
28702design_stratum_black_lightning_warning67450 60085–60114 ———
28703design_stratum_pyramid_dust_fx67451 60085–60114 ———
28704design_stratum_pyramid_shield_fx67452 60085–60114 ———
16310design_st_boss_lightning_blue28042 60085–60114 ———
16327design_st_boss_lightning_purple28091 60085–60114 ———
16311design_st_boss_lightning_red28043 60085–60114 ———
16316design_st_boss_platform_charged_blue28058 60085–60114 ———
16328design_st_boss_platform_charged_purple28092 60085–60114 ———
16317design_st_boss_platform_charged_red28059 60085–60114 ———
13879design_sullon_zek_containment21752 60085–60114 ———
12450design_summon18764 60085–60114 ———
13605design_summon_disease_portal21084 60085–60114 ———
13064design_summon_fx19924 60085–60114 ———
13627design_summon_power21141 60085–60114 ———
12008design_sun_sound17744 60085–60114 ———
14711design_swords_enter23887 60085–60114 ———
14693design_swords_exit23863 60085–60114 ———
29095design_swords_of_destiny82048 60085–60114 ———
14712design_swords_strike23888 60085–60114 ———
14276design_table_explode22670 60085–60114 ———
13120design_tallonite_portal20024 60085–60114 ———
29826design_tank1_explode103615 60085–60114 ———
29827design_tank1_heating1103616 60085–60114 ———
29828design_tank1_heating2103617 60085–60114 ———
29829design_tank1_heating3103618 60085–60114 ———
29830design_tank2_explode103619 60085–60114 ———
29831design_tank2_heating1103620 60085–60114 ———
29832design_tank2_heating2103621 60085–60114 ———
29833design_tank2_heating3103622 60085–60114 ———
29834design_tank3_explode103623 60085–60114 ———
29835design_tank3_heating1103624 60085–60114 ———
29836design_tank3_heating2103625 60085–60114 ———
29837design_tank3_heating3103626 60085–60114 ———
29838design_tank4_explode103627 60085–60114 ———
29839design_tank4_heating1103628 60085–60114 ———
29840design_tank4_heating2103629 60085–60114 ———
29841design_tank4_heating3103630 60085–60114 ———
29842design_tank5_explode103631 60085–60114 ———
29843design_tank5_heating1103632 60085–60114 ———
29844design_tank5_heating2103633 60085–60114 ———
29845design_tank5_heating3103634 60085–60114 ———
29858design_tank_explode104557 60085–60114 ———
29859design_tank_heating1104558 60085–60114 ———
29860design_tank_heating2104559 60085–60114 ———
29861design_tank_heating3104560 60085–60114 ———
29822design_tank_spill_fx103193 60085–60114 ———
15805design_target_aoe_green26151 60085–60114 ———
15806design_target_aoe_purple26152 60085–60114 ———
15869design_target_aoe_yellow26273 60085–60114 ———
16807design_target_reef29912 60085–60114 ———
29059design_tear_chrono_fx80972 60085–60114 ———
28360design_tear_energy_flow65832 60085–60114 ———
17304design_tear_energy_gather31801 60085–60114 ———
17305design_tear_energy_release31802 60085–60114 ———
29639design_teleporter_power_converge96939 60085–60114 ———
13121design_teleport_druid_ring20025 60085–60114 ———
8622design_teleport_spires11372 60085–60114 ———
12877design_theer_fire_forrest19682 60085–60114 ———
12878design_theer_fire_passion19683 60085–60114 ———
12879design_theer_fire_water19684 60085–60114 ———
12880design_theer_fire_wrath19685 60085–60114 ———
12881design_theer_obj_forrest19686 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.