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
22200kill_result_pie_splat49198 60085–60114 ———
23221kill_result_pillar_blast51481 60085–60114 ———
23222kill_result_pillar_slam51482 60085–60114 ———
3737kill_result_placeholder33273 1–843 ———
17537kill_result_placeholder33273 60085–60114 ———
18387kill_result_plane_shift39617 60085–60114 ———
21869kill_result_plant_filaments48453 60085–60114 ———
23323kill_result_plasma_bolt_p2p51701 60085–60114 ———
30952kill_result_player_bonfire8472654 60085–60114 ———
30823kill_result_player_horns8468584 60085–60114 ———
23396kill_result_poisoned51914 60085–60114 ———
4457kill_result_poison_breath34264 1–843 ———
17695kill_result_poison_breath34264 60085–60114 ———
4960kill_result_poison_cloud34841 1–843 ———
17860kill_result_poison_cloud34841 60085–60114 ———
6029kill_result_poison_cloud_aoe36800 1–843 ———
18228kill_result_poison_cloud_aoe36800 60085–60114 ———
22661kill_result_poison_cloud_explosion50188 60085–60114 ———
18404kill_result_poison_cysts39872 60085–60114 ———
4482kill_result_poison_cysts_blast34289 1–843 ———
17701kill_result_poison_cysts_blast34289 60085–60114 ———
4458kill_result_poison_cysts_growing34265 1–843 ———
17696kill_result_poison_cysts_growing34265 60085–60114 ———
4543kill_result_poison_cysts_growing_giant34361 1–843 ———
17738kill_result_poison_cysts_growing_giant34361 60085–60114 ———
21875kill_result_poison_cysts_popping48472 60085–60114 ———
4514kill_result_poison_cyst_vomit34325 1–843 ———
17713kill_result_poison_cyst_vomit34325 60085–60114 ———
30913kill_result_poison_essence_buff8471900 60085–60114 ———
4459kill_result_poison_forced_shader34266 1–843 ———
17697kill_result_poison_forced_shader34266 60085–60114 ———
18460kill_result_poison_forced_shader_weapon42698 60085–60114 ———
5778kill_result_poison_rain_damage35995 1–843 ———
18073kill_result_poison_rain_damage35995 60085–60114 ———
22650kill_result_poison_skulls50150 60085–60114 ———
28196kill_result_poison_spiral_ball_p2p65124 60085–60114 ———
22662kill_result_poison_splat50189 60085–60114 ———
4487kill_result_poison_whirlwind34296 1–843 ———
17705kill_result_poison_whirlwind34296 60085–60114 ———
25414kill_result_poppy_trail56436 60085–60114 ———
31027kill_result_portal_barrier_green_fx8478408 60085–60114 ———
31028kill_result_portal_barrier_purple_fx8478409 60085–60114 ———
5909kill_result_power_fount36476 1–843 ———
18169kill_result_power_fount36476 60085–60114 ———
25507kill_result_power_infused56659 60085–60114 ———
22561kill_result_power_life_drain_p2p49877 60085–60114 ———
23223kill_result_precharge_blast51483 60085–60114 ———
6476kill_result_prisms_hex_clinging38812 1–843 ———
18343kill_result_prisms_hex_clinging38812 60085–60114 ———
6477kill_result_prisms_sparkle_soul38813 1–843 ———
18344kill_result_prisms_sparkle_soul38813 60085–60114 ———
6478kill_result_prisms_sphere38814 1–843 ———
18345kill_result_prisms_sphere38814 60085–60114 ———
5735kill_result_prism_hex_p2p35912 1–843 ———
18058kill_result_prism_hex_p2p35912 60085–60114 ———
6530kill_result_prism_tube_trail_139098 1–843 ———
18356kill_result_prism_tube_trail_139098 60085–60114 ———
6531kill_result_prism_tube_trail_239099 1–843 ———
18357kill_result_prism_tube_trail_239099 60085–60114 ———
25738kill_result_proc_crit_bonus57311 60085–60114 ———
6289kill_result_protection_of_faith_p2p37765 1–843 ———
18315kill_result_protection_of_faith_p2p37765 60085–60114 ———
6290kill_result_protection_of_faith_tapestry37766 1–843 ———
18316kill_result_protection_of_faith_tapestry37766 60085–60114 ———
6492kill_result_protection_of_twilight38878 1–843 ———
20167kill_result_protection_of_twilight44896 60085–60114 ———
22566kill_result_pulsing_note49904 60085–60114 ———
31299kill_result_pumpkin_rain8483531 60085–60114 ———
22715kill_result_pumpkin_smash50296 60085–60114 ———
21689kill_result_puppetmaster47748 60085–60114 ———
22499kill_result_purple_glow49673 60085–60114 ———
22024kill_result_pus_bolt_p2p48867 60085–60114 ———
22121kill_result_pus_rain_aoe49047 60085–60114 ———
22025kill_result_pus_splat48868 60085–60114 ———
31435kill_result_pyrebreath_bullwark8485554 60085–60114 ———
26665kill_result_queen_bug_spit_p2p59045 60085–60114 ———
28199kill_result_quickened_heal65140 60085–60114 ———
22848kill_result_quick_heal50631 60085–60114 ———
27125kill_result_radiant_glow_no_mesh60866 60085–60114 ———
31411kill_result_radiant_nature_heal8485035 60085–60114 ———
31447kill_result_raid_dark_fire_area8485777 60085–60114 ———
31018kill_result_raid_fire_area8477620 60085–60114 ———
5896kill_result_rainbow_blast_p2p36439 1–843 ———
18158kill_result_rainbow_blast_p2p36439 60085–60114 ———
4837kill_result_rainbow_forced_shader34711 1–843 ———
17828kill_result_rainbow_forced_shader34711 60085–60114 ———
23302kill_result_rainy_black_cloud51644 60085–60114 ———
5760kill_result_rain_damage35971 1–843 ———
18068kill_result_rain_damage35971 60085–60114 ———
18419kill_result_rain_of_thistles41310 60085–60114 ———
25508kill_result_rallos_lightning_p2p56660 60085–60114 ———
18709kill_result_ranger_green_aura43327 60085–60114 ———
26469kill_result_raptor_spit_p2p58417 60085–60114 ———
21682kill_result_rays_of_disintigration47706 60085–60114 ———
21683kill_result_rays_of_disintigration_p2p47707 60085–60114 ———
20168kill_result_recharging_station_effect44897 60085–60114 ———
25415kill_result_red_aura56437 60085–60114 ———
30869kill_result_red_fire_bones8469834 60085–60114 ———
24826kill_result_red_glow54817 60085–60114 ———
24118kill_result_repellent_spray53283 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.