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
14529design_parachute23438 60085–60114 ———
11440design_parrot_shoulder16476 60085–60114 ———
12572design_personal_void_vortex19070 60085–60114 ———
28733design_pickclaw_debris_convey_left67921 60085–60114 ———
28734design_pickclaw_debris_convey_right67922 60085–60114 ———
28878design_pickclaw_disease_area_fx73222 60085–60114 ———
28685design_pickclaw_furnace_overload67094 60085–60114 ———
28686design_pickclaw_hole_blast67095 60085–60114 ———
28634design_pickclaw_killvent_blast66893 60085–60114 ———
28735design_pickclaw_rock_convey_left67923 60085–60114 ———
28736design_pickclaw_rock_convey_right67924 60085–60114 ———
28737design_pickclaw_rock_crusher67925 60085–60114 ———
28662design_pickclaw_roof_chunk_blast66986 60085–60114 ———
28870design_pickclaw_safe_all_fx72891 60085–60114 ———
28871design_pickclaw_safe_blue_fx72892 60085–60114 ———
28872design_pickclaw_safe_green_fx72893 60085–60114 ———
28873design_pickclaw_safe_purple_fx72894 60085–60114 ———
28874design_pickclaw_safe_red_fx72895 60085–60114 ———
28875design_pickclaw_vault_blast72896 60085–60114 ———
28876design_pickclaw_vault_vortex72897 60085–60114 ———
11388design_pillar_summon16379 60085–60114 ———
29847design_pirate_totem_appear103919 60085–60114 ———
11121design_plant_attack15807 60085–60114 ———
17236design_plasma_barrier31398 60085–60114 ———
29216design_platform_black88762 60085–60114 ———
29217design_platform_blue88763 60085–60114 ———
29233design_platform_disrupt89795 60085–60114 ———
29231design_platform_dissolve_black89599 60085–60114 ———
29105design_platform_dissolve_green82901 60085–60114 ———
29106design_platform_dissolve_orange82902 60085–60114 ———
29107design_platform_dissolve_purple82903 60085–60114 ———
29108design_platform_green82904 60085–60114 ———
29109design_platform_orange82905 60085–60114 ———
29110design_platform_purple82906 60085–60114 ———
29218design_platform_red88764 60085–60114 ———
29219design_platform_yellow88765 60085–60114 ———
28488design_poison_area66209 60085–60114 ———
28489design_poison_area_warning66210 60085–60114 ———
12210design_poison_barrier_round18202 60085–60114 ———
11402design_poison_splashes16418 60085–60114 ———
30033design_portal_fairy109083 60085–60114 ———
30034design_portal_fairy_dark109084 60085–60114 ———
29273design_portal_lightning_cast92573 60085–60114 ———
29274design_portal_lightning_result92574 60085–60114 ———
29245design_portal_of_fear_rise90780 60085–60114 ———
29634design_portal_sphere_black96934 60085–60114 ———
29111design_portal_sphere_blue82907 60085–60114 ———
29635design_portal_sphere_blue_plain96935 60085–60114 ———
29238design_portal_sphere_green89998 60085–60114 ———
29239design_portal_sphere_purple89999 60085–60114 ———
29112design_portal_sphere_red82908 60085–60114 ———
29113design_portal_sphere_yellow82909 60085–60114 ———
8596design_portal_to_hell11346 60085–60114 ———
12126design_powerarray_electric17982 60085–60114 ———
12127design_powerarray_void17983 60085–60114 ———
16796design_powerup_buff_gold29847 60085–60114 ———
16797design_powerup_buff_green29848 60085–60114 ———
16798design_powerup_buff_red29849 60085–60114 ———
13174design_power_aura20124 60085–60114 ———
13626design_power_blast21140 60085–60114 ———
14541design_pow_battle_scene23489 60085–60114 ———
14537design_pow_blur_essence23479 60085–60114 ———
14498design_pow_rocky_uprising23293 60085–60114 ———
14725design_pow_rock_blast23943 60085–60114 ———
14239design_prexus_water_pillar22617 60085–60114 ———
12964design_pulse_beacon19794 60085–60114 ———
29101design_purple_beam82563 60085–60114 ———
14315design_purple_crystals_fall22820 60085–60114 ———
16297design_purple_light_beam27993 60085–60114 ———
16044design_qey_fire_room26972 60085–60114 ———
16039design_qey_mage_tower_fire26945 60085–60114 ———
16040design_qey_portal_from_hell26946 60085–60114 ———
16045design_qey_wall_crack26973 60085–60114 ———
28961design_race76847 60085–60114 ———
28979design_raid_fire_area77431 60085–60114 ———
28980design_raid_fire_area_blue77432 60085–60114 ———
29877design_rc_doorway_magic_barrier105685 60085–60114 ———
29878design_rc_ricochet_blast105686 60085–60114 ———
29879design_rc_ricochet_fx105687 60085–60114 ———
29857design_rc_room_debris_fx104556 60085–60114 ———
29863design_rc_scaffold_fire_bottom104769 60085–60114 ———
29864design_rc_scaffold_fire_top104770 60085–60114 ———
14173design_red_fire_wall22453 60085–60114 ———
13127design_red_flag_pickup20041 60085–60114 ———
13155design_red_flag_trail20083 60085–60114 ———
16298design_red_light_beam27994 60085–60114 ———
17094design_red_pool31046 60085–60114 ———
12006design_red_sun17742 60085–60114 ———
12007design_red_sun_sound17743 60085–60114 ———
16831design_reef_barrier29987 60085–60114 ———
16805design_reef_grow29910 60085–60114 ———
13170design_reform_fx20114 60085–60114 ———
3421design_result_backdraft6682 1–843 ———
8597design_result_backdraft11347 60085–60114 ———
2817design_result_bat_swarm_attack4000 1–843 ———
7425design_result_bat_swarm_attack4000 60085–60114 ———
11887design_result_black_out17463 60085–60114 ———
10854design_result_bubble_ring14721 60085–60114 ———
30035design_result_cage_cube_illithid109085 60085–60114 ———
12021design_result_cloudy_head17785 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.