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
19314kill_crouch_tail44038 60085–60114 ———
19315kill_crouch_tail_cloak44039 60085–60114 ———
5072kill_crouch_turn_left34972 1–843 ———
19316kill_crouch_turn_left44040 60085–60114 ———
5073kill_crouch_turn_right34973 1–843 ———
19317kill_crouch_turn_right44041 60085–60114 ———
5077kill_crouch_walk34983 1–843 ———
19318kill_crouch_walk44042 60085–60114 ———
30280kill_crust_crackle_energy_whoosh_snd8454813 60085–60114 ———
3584kill_cry32990 1–843 ———
19319kill_cry44043 60085–60114 ———
26960kill_crying60163 60085–60114 ———
23953kill_crystaline_folk_footstep_big52865 60085–60114 ———
23954kill_crystaline_folk_footstep_crunch52866 60085–60114 ———
23952kill_crystaline_folk_lf52864 60085–60114 ———
23955kill_crystaline_folk_stone_debris52867 60085–60114 ———
23956kill_crystaline_folk_tantrum_152868 60085–60114 ———
23957kill_crystaline_folk_tantrum_252869 60085–60114 ———
23958kill_crystaline_folk_tantrum_352870 60085–60114 ———
23959kill_crystaline_folk_tantrum_body_152871 60085–60114 ———
23960kill_crystaline_folk_tantrum_body_252872 60085–60114 ———
23961kill_crystaline_folk_tantrum_body_352873 60085–60114 ———
30281kill_crystalline_crackle_snd8454815 60085–60114 ———
5956kill_cr_choral01_sound36583 1–843 ———
19294kill_cr_choral01_sound44018 60085–60114 ———
5957kill_cr_choral02_sound36584 1–843 ———
19295kill_cr_choral02_sound44019 60085–60114 ———
27232kill_csat_werewolf_vanish61355 60085–60114 ———
4888kill_cs_begin_snd34764 1–843 ———
19320kill_cs_begin_snd44044 60085–60114 ———
5031kill_cs_cast_lp_snd34914 1–843 ———
19321kill_cs_cast_lp_snd44045 60085–60114 ———
4889kill_cs_disco_lp01_snd34765 1–843 ———
19322kill_cs_disco_lp01_snd44046 60085–60114 ———
4890kill_cs_end_snd34766 1–843 ———
19323kill_cs_end_snd44047 60085–60114 ———
4430kill_cs_iceburst_sound34237 1–843 ———
19325kill_cs_iceburst_sound44049 60085–60114 ———
4431kill_cs_icetones_0134238 1–843 ———
19326kill_cs_icetones_0144050 60085–60114 ———
4432kill_cs_icewind_sound34239 1–843 ———
19327kill_cs_icewind_sound44051 60085–60114 ———
4429kill_cs_ice_crackle_0134236 1–843 ———
19324kill_cs_ice_crackle_0144048 60085–60114 ———
5984kill_cs_result_sound36684 1–843 ———
19328kill_cs_result_sound44052 60085–60114 ———
3585kill_curse32991 1–843 ———
19329kill_curse44053 60085–60114 ———
27964kill_cursed_nayad_attack64047 60085–60114 ———
27965kill_cursed_nayad_death64048 60085–60114 ———
27966kill_cursed_nayad_take_damage64049 60085–60114 ———
3586kill_curtsey32992 1–843 ———
19330kill_curtsey44054 60085–60114 ———
3587kill_cutthroat32994 1–843 ———
19331kill_cutthroat44055 60085–60114 ———
6249kill_cv_candle01_snd37569 1–843 ———
19332kill_cv_candle01_snd44056 60085–60114 ———
6250kill_cv_candle02_snd37570 1–843 ———
19333kill_cv_candle02_snd44057 60085–60114 ———
6251kill_cv_darkcandle_snd37571 1–843 ———
19334kill_cv_darkcandle_snd44058 60085–60114 ———
6252kill_cv_drone_snd37572 1–843 ———
19335kill_cv_drone_snd44059 60085–60114 ———
6253kill_cv_handwave01_snd37573 1–843 ———
19336kill_cv_handwave01_snd44060 60085–60114 ———
6254kill_cv_handwave02_snd37574 1–843 ———
19337kill_cv_handwave02_snd44061 60085–60114 ———
5876kill_damage0136366 1–843 ———
19338kill_damage0144062 60085–60114 ———
5877kill_damage0236367 1–843 ———
19339kill_damage0244063 60085–60114 ———
5878kill_damage0336368 1–843 ———
19340kill_damage0344064 60085–60114 ———
19341kill_damage_small44065 60085–60114 ———
3588kill_dance32995 1–843 ———
19342kill_dance44066 60085–60114 ———
19343kill_dance0144067 60085–60114 ———
25895kill_dance0257734 60085–60114 ———
25896kill_dance0357735 60085–60114 ———
26924kill_dance_a59946 60085–60114 ———
26925kill_dance_base59947 60085–60114 ———
22012kill_dance_enter48824 60085–60114 ———
22013kill_dance_exit48825 60085–60114 ———
25542kill_dance_female56778 60085–60114 ———
27045kill_dance_short60539 60085–60114 ———
22275kill_dance_synced49357 60085–60114 ———
21514kill_darkelf_female_2h_sword_wild_swing46584 60085–60114 ———
21528kill_darkelf_female_pike_charge_up46618 60085–60114 ———
21529kill_darkelf_female_pike_defensive_buff46619 60085–60114 ———
21530kill_darkelf_female_pike_offensive_buff46620 60085–60114 ———
26986kill_dark_elf_splash_mist60265 60085–60114 ———
5184kill_dark_smoke35169 1–843 ———
19344kill_dark_smoke44068 60085–60114 ———
5198kill_dark_smoke_up35193 1–843 ———
19345kill_dark_smoke_up44069 60085–60114 ———
6218kill_dbb_dragonbreathhiwav_snd37480 1–843 ———
19350kill_dbb_dragonbreathhiwav_snd44074 60085–60114 ———
6217kill_dbb_dragonbreath_snd37479 1–843 ———
19349kill_dbb_dragonbreath_snd44073 60085–60114 ———
5483kill_db_drone_sound35622 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.