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
23014kill_tiered_healing_rays50996 60085–60114 ———
28173kill_tiered_heal_arrow_blast65036 60085–60114 ———
24013kill_tiered_heal_barrier53008 60085–60114 ———
28235kill_tiered_heal_cone_forward65315 60085–60114 ———
24163kill_tiered_heal_flourish53434 60085–60114 ———
23013kill_tiered_heal_hands_blast50995 60085–60114 ———
24212kill_tiered_heal_shroud53517 60085–60114 ———
24012kill_tiered_heal_tube_p2p52998 60085–60114 ———
24154kill_tiered_heal_ward53407 60085–60114 ———
23047kill_tiered_heart_beat51083 60085–60114 ———
23573kill_tiered_heart_summon52260 60085–60114 ———
24169kill_tiered_iceball_p2p53449 60085–60114 ———
24355kill_tiered_ice_comet53737 60085–60114 ———
24466kill_tiered_ice_comet_shower54055 60085–60114 ———
25704kill_tiered_ice_dagger_p2p57199 60085–60114 ———
23099kill_tiered_ice_root51187 60085–60114 ———
24052kill_tiered_ice_spikes53134 60085–60114 ———
23100kill_tiered_icicle_blast_p2p51188 60085–60114 ———
24455kill_tiered_icicle_rain54017 60085–60114 ———
24036kill_tiered_icicle_stab53100 60085–60114 ———
24453kill_tiered_icy_cage54006 60085–60114 ———
23077kill_tiered_intellect_buff51158 60085–60114 ———
24510kill_tiered_jesters_cap54174 60085–60114 ———
24279kill_tiered_jester_cap_toss_p2p53616 60085–60114 ———
24525kill_tiered_lava_column54222 60085–60114 ———
24037kill_tiered_leaf_burst53101 60085–60114 ———
24084kill_tiered_leaf_flourish53183 60085–60114 ———
24038kill_tiered_leaf_gather53102 60085–60114 ———
24039kill_tiered_leaf_spin53103 60085–60114 ———
24045kill_tiered_leaf_spot_burst53118 60085–60114 ———
23540kill_tiered_life_summon52220 60085–60114 ———
24337kill_tiered_lightning_blast_hit53701 60085–60114 ———
24085kill_tiered_lightning_bolt53184 60085–60114 ———
24488kill_tiered_lightning_bolt_p2p54109 60085–60114 ———
24093kill_tiered_lightning_fusion53210 60085–60114 ———
24338kill_tiered_lightning_spark_burst53702 60085–60114 ———
24021kill_tiered_light_cage53043 60085–60114 ———
24462kill_tiered_light_ward54042 60085–60114 ———
23007kill_tiered_lost_souls50975 60085–60114 ———
24173kill_tiered_lunar_summon53462 60085–60114 ———
23511kill_tiered_mage_cure52156 60085–60114 ———
23512kill_tiered_mage_ring_cure52157 60085–60114 ———
23527kill_tiered_magic_summon52193 60085–60114 ———
23109kill_tiered_magic_waves51204 60085–60114 ———
23001kill_tiered_mana_drain_p2p50962 60085–60114 ———
24339kill_tiered_massive_hit53703 60085–60114 ———
22915kill_tiered_melee_swipe50733 60085–60114 ———
23513kill_tiered_mental_blast52158 60085–60114 ———
24463kill_tiered_mental_comet54043 60085–60114 ———
23514kill_tiered_mental_damage52159 60085–60114 ———
24018kill_tiered_mental_smite53031 60085–60114 ———
24376kill_tiered_mesmerized53791 60085–60114 ———
23524kill_tiered_mind_blast52183 60085–60114 ———
23522kill_tiered_mind_rings52174 60085–60114 ———
22899kill_tiered_motion_lines50705 60085–60114 ———
22900kill_tiered_motion_lines_sub50706 60085–60114 ———
23040kill_tiered_mountain51069 60085–60114 ———
24280kill_tiered_music_ball_p2p53617 60085–60114 ———
24281kill_tiered_music_band53618 60085–60114 ———
24282kill_tiered_music_beam_p2p53619 60085–60114 ———
24283kill_tiered_music_blast_ball53620 60085–60114 ———
24284kill_tiered_music_bubble53621 60085–60114 ———
24285kill_tiered_music_swirls53622 60085–60114 ———
24286kill_tiered_music_wave_p2p53623 60085–60114 ———
24032kill_tiered_nature_heal53087 60085–60114 ———
24287kill_tiered_notes_blast53624 60085–60114 ———
24288kill_tiered_notes_burst53625 60085–60114 ———
24289kill_tiered_notes_confetti53626 60085–60114 ———
24519kill_tiered_notes_entranced54192 60085–60114 ———
24290kill_tiered_notes_head53627 60085–60114 ———
24291kill_tiered_notes_out_blast53628 60085–60114 ———
24292kill_tiered_notes_out_song53629 60085–60114 ———
24304kill_tiered_notes_out_song_bellow53659 60085–60114 ———
24293kill_tiered_notes_shield53630 60085–60114 ———
24294kill_tiered_notes_spiral_frenzy53631 60085–60114 ———
24300kill_tiered_notes_swirling_p2p53646 60085–60114 ———
24305kill_tiered_notes_transfer_p2p53660 60085–60114 ———
24295kill_tiered_notes_up_song53632 60085–60114 ———
24303kill_tiered_note_crescent_p2p53658 60085–60114 ———
22986kill_tiered_offense_buff50905 60085–60114 ———
23025kill_tiered_offense_buff_brawler51033 60085–60114 ———
22901kill_tiered_offensive_buff50707 60085–60114 ———
23101kill_tiered_particle_transfer_p2p51189 60085–60114 ———
23041kill_tiered_phoenix_blast51070 60085–60114 ———
24027kill_tiered_phoenix_summon53073 60085–60114 ———
23541kill_tiered_plane_shift52221 60085–60114 ———
23042kill_tiered_plasma_burst51071 60085–60114 ———
23066kill_tiered_plasma_hit51140 60085–60114 ———
23117kill_tiered_poisonball_p2p51219 60085–60114 ———
23118kill_tiered_poisoned51220 60085–60114 ———
23123kill_tiered_poison_breath51232 60085–60114 ———
24388kill_tiered_poison_forced_shader_weapon53812 60085–60114 ———
24520kill_tiered_poison_notes_wave_p2p54193 60085–60114 ———
24213kill_tiered_poison_spirits_p2p53518 60085–60114 ———
24459kill_tiered_poison_spore_p2p54030 60085–60114 ———
23128kill_tiered_power_drain_p2p51244 60085–60114 ———
24502kill_tiered_power_fount54132 60085–60114 ———
22977kill_tiered_power_gather50882 60085–60114 ———
23528kill_tiered_power_transfer_p2p52194 60085–60114 ———
23993kill_tiered_priest_ring_cure52961 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.