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
20442kill_sound_attackinhale45173 60085–60114 ———
20443kill_sound_attackjaw45174 60085–60114 ———
20444kill_sound_attackkick45175 60085–60114 ———
5151kill_sound_attackleaves35109 1–843 ———
20445kill_sound_attackleaves45176 60085–60114 ———
4941kill_sound_attackliddown34819 1–843 ———
20446kill_sound_attackliddown45177 60085–60114 ———
4942kill_sound_attacklidup34820 1–843 ———
20447kill_sound_attacklidup45178 60085–60114 ———
20448kill_sound_attacklong45179 60085–60114 ———
6044kill_sound_attackmetal36844 1–843 ———
20449kill_sound_attackmetal45180 60085–60114 ———
4225kill_sound_attackpage34031 1–843 ———
20450kill_sound_attackpage45181 60085–60114 ———
6562kill_sound_attackram39229 1–843 ———
20451kill_sound_attackram45182 60085–60114 ———
4078kill_sound_attackrock33836 1–843 ———
20452kill_sound_attackrock45183 60085–60114 ———
5016kill_sound_attackrockinhale34899 1–843 ———
20453kill_sound_attackrockinhale45184 60085–60114 ———
4025kill_sound_attackrun33766 1–843 ———
20454kill_sound_attackrun45185 60085–60114 ———
20455kill_sound_attacksaw45186 60085–60114 ———
4563kill_sound_attacksbreathin34385 1–843 ———
20456kill_sound_attacksbreathin45187 60085–60114 ———
4069kill_sound_attackscream33826 1–843 ———
20457kill_sound_attackscream45188 60085–60114 ———
20458kill_sound_attackshort45189 60085–60114 ———
4226kill_sound_attackslam34032 1–843 ———
20459kill_sound_attackslam45190 60085–60114 ———
4026kill_sound_attacksnap33767 1–843 ———
20460kill_sound_attacksnap45191 60085–60114 ———
4168kill_sound_attacksnort33948 1–843 ———
20461kill_sound_attacksnort45192 60085–60114 ———
20462kill_sound_attackspecial45193 60085–60114 ———
22522kill_sound_attackspin49724 60085–60114 ———
6285kill_sound_attacksquish37755 1–843 ———
20463kill_sound_attacksquish45194 60085–60114 ———
4408kill_sound_attackstab34215 1–843 ———
20464kill_sound_attackstab45195 60085–60114 ———
5152kill_sound_attacksting35110 1–843 ———
20465kill_sound_attacksting45196 60085–60114 ———
4607kill_sound_attackstomp34432 1–843 ———
20466kill_sound_attackstomp45197 60085–60114 ———
4111kill_sound_attackswing33873 1–843 ———
20467kill_sound_attackswing45198 60085–60114 ———
4564kill_sound_attackswoosh34386 1–843 ———
20468kill_sound_attackswoosh45199 60085–60114 ———
5168kill_sound_attackswordwater0135134 1–843 ———
20469kill_sound_attackswordwater0145200 60085–60114 ———
5169kill_sound_attackswordwater0235135 1–843 ———
20470kill_sound_attackswordwater0245201 60085–60114 ———
4042kill_sound_attacktail33784 1–843 ———
20471kill_sound_attacktail45202 60085–60114 ———
5046kill_sound_attacktailvocal34936 1–843 ———
20472kill_sound_attacktailvocal45203 60085–60114 ———
6590kill_sound_attacktailwhip39298 1–843 ———
20473kill_sound_attacktailwhip45204 60085–60114 ———
4173kill_sound_attacktongue33956 1–843 ———
20474kill_sound_attacktongue45205 60085–60114 ———
3787kill_sound_attackvocal33332 1–843 ———
20475kill_sound_attackvocal45206 60085–60114 ———
4844kill_sound_attackvocal0134718 1–843 ———
20476kill_sound_attackvocal0145207 60085–60114 ———
4845kill_sound_attackvocal0234719 1–843 ———
20477kill_sound_attackvocal0245208 60085–60114 ———
6053kill_sound_attackvocal236874 1–843 ———
20478kill_sound_attackvocal245209 60085–60114 ———
6555kill_sound_attackvocal_long39194 1–843 ———
20479kill_sound_attackvocal_long45210 60085–60114 ———
3788kill_sound_attackwater33333 1–843 ———
20480kill_sound_attackwater45211 60085–60114 ———
3789kill_sound_attackwhip33334 1–843 ———
20481kill_sound_attackwhip45212 60085–60114 ———
6612kill_sound_attackwhirl39426 1–843 ———
20482kill_sound_attackwhirl45213 60085–60114 ———
20483kill_sound_attackwhirlblade45214 60085–60114 ———
4070kill_sound_attackwhoosh33827 1–843 ———
20484kill_sound_attackwhoosh45215 60085–60114 ———
6613kill_sound_attackwild39427 1–843 ———
20485kill_sound_attackwild45216 60085–60114 ———
4565kill_sound_attackwind34387 1–843 ———
20486kill_sound_attackwind45217 60085–60114 ———
4566kill_sound_attackwindflap34388 1–843 ———
20487kill_sound_attackwindflap45218 60085–60114 ———
4409kill_sound_attackwindup34216 1–843 ———
20488kill_sound_attackwindup45219 60085–60114 ———
4112kill_sound_attackwing33874 1–843 ———
20489kill_sound_attackwing45220 60085–60114 ———
6596kill_sound_attackwingbreath39360 1–843 ———
20491kill_sound_attackwingbreath45222 60085–60114 ———
5331kill_sound_attackwingflap35428 1–843 ———
20492kill_sound_attackwingflap45223 60085–60114 ———
6202kill_sound_attackwing_land37423 1–843 ———
20490kill_sound_attackwing_land45221 60085–60114 ———
3790kill_sound_attackyell33335 1–843 ———
20493kill_sound_attackyell45224 60085–60114 ———
22928kill_sound_attack_disarm50765 60085–60114 ———
26768kill_sound_attack_flame59395 60085–60114 ———
23270kill_sound_attack_grunt51598 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.