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
23461kill_sound_attack_grunt_small52070 60085–60114 ———
3785kill_sound_attack_hit33329 1–843 ———
20398kill_sound_attack_hit45129 60085–60114 ———
22155kill_sound_attack_main49108 60085–60114 ———
22156kill_sound_attack_medusa49109 60085–60114 ———
22157kill_sound_attack_mouth49110 60085–60114 ———
23271kill_sound_attack_stab51599 60085–60114 ———
26769kill_sound_attack_tail59396 60085–60114 ———
23272kill_sound_attack_vo51600 60085–60114 ———
23273kill_sound_attack_vo_0151601 60085–60114 ———
23274kill_sound_attack_whip_high51602 60085–60114 ———
23275kill_sound_attack_whip_low51603 60085–60114 ———
23276kill_sound_attack_whip_low_0151604 60085–60114 ———
23277kill_sound_attack_whirl51605 60085–60114 ———
23203kill_sound_bark51438 60085–60114 ———
3791kill_sound_battlecry33336 1–843 ———
20494kill_sound_battlecry45225 60085–60114 ———
3792kill_sound_battlecry0133337 1–843 ———
20495kill_sound_battlecry0145226 60085–60114 ———
4896kill_sound_beg34773 1–843 ———
20496kill_sound_beg45227 60085–60114 ———
4730kill_sound_bell34602 1–843 ———
20497kill_sound_bell45228 60085–60114 ———
22020kill_sound_belly00148857 60085–60114 ———
22021kill_sound_belly00248858 60085–60114 ———
23427kill_sound_big_footstep52023 60085–60114 ———
23480kill_sound_big_wings52118 60085–60114 ———
6203kill_sound_bite37424 1–843 ———
20498kill_sound_bite45229 60085–60114 ———
26770kill_sound_bites59397 60085–60114 ———
6430kill_sound_bitetear38375 1–843 ———
20500kill_sound_bitetear45231 60085–60114 ———
6638kill_sound_bitevocal39529 1–843 ———
20501kill_sound_bitevocal45232 60085–60114 ———
6204kill_sound_bite_rip37425 1–843 ———
20499kill_sound_bite_rip45230 60085–60114 ———
25161kill_sound_bite_trex55723 60085–60114 ———
20502kill_sound_blech45233 60085–60114 ———
6556kill_sound_blink39195 1–843 ———
20503kill_sound_blink45234 60085–60114 ———
21897kill_sound_blow48521 60085–60114 ———
27305kill_sound_bodyfall61685 60085–60114 ———
4897kill_sound_boggle34774 1–843 ———
20504kill_sound_boggle45235 60085–60114 ———
20505kill_sound_boltdamage45236 60085–60114 ———
22038kill_sound_bone48895 60085–60114 ———
22039kill_sound_bonedeath48896 60085–60114 ———
6112kill_sound_bonehit37223 1–843 ———
20506kill_sound_bonehit45237 60085–60114 ———
22118kill_sound_bones49038 60085–60114 ———
22537kill_sound_bookdeath49796 60085–60114 ———
20507kill_sound_boom45238 60085–60114 ———
6548kill_sound_bowpull39180 1–843 ———
20508kill_sound_bowpull45239 60085–60114 ———
6549kill_sound_bowrelease39181 1–843 ———
20509kill_sound_bowrelease45240 60085–60114 ———
20510kill_sound_breath45241 60085–60114 ———
25162kill_sound_breathe_trex55724 60085–60114 ———
20513kill_sound_breathfire45244 60085–60114 ———
20514kill_sound_breathinhale45245 60085–60114 ———
20515kill_sound_breathvocal45246 60085–60114 ———
20511kill_sound_breath_a45242 60085–60114 ———
20512kill_sound_breath_b45243 60085–60114 ———
6657kill_sound_bridge39562 1–843 ———
20516kill_sound_bridge45247 60085–60114 ———
21816kill_sound_bud48075 60085–60114 ———
20517kill_sound_buff45248 60085–60114 ———
20518kill_sound_buffdefensive45249 60085–60114 ———
20519kill_sound_buffinhale45250 60085–60114 ———
20520kill_sound_buffoffensive45251 60085–60114 ———
20521kill_sound_buffspin00145252 60085–60114 ———
26480kill_sound_buff_0258453 60085–60114 ———
22934kill_sound_buff_electric50778 60085–60114 ———
22935kill_sound_buff_void50779 60085–60114 ———
5525kill_sound_burp35677 1–843 ———
20522kill_sound_burp45253 60085–60114 ———
24939kill_sound_carac_crying55129 60085–60114 ———
20523kill_sound_casgrowl45254 60085–60114 ———
6045kill_sound_cast36845 1–843 ———
20524kill_sound_cast45255 60085–60114 ———
22098kill_sound_cast00148988 60085–60114 ———
22099kill_sound_cast00248989 60085–60114 ———
20526kill_sound_castend45257 60085–60114 ———
20527kill_sound_castgears45258 60085–60114 ———
20528kill_sound_castgrowl45259 60085–60114 ———
20529kill_sound_casthowl45260 60085–60114 ———
20530kill_sound_castinhalegears45261 60085–60114 ———
20531kill_sound_castlong_breath45262 60085–60114 ———
20532kill_sound_castlong_inhale45263 60085–60114 ———
20533kill_sound_castlong_open45264 60085–60114 ———
20534kill_sound_castroar45265 60085–60114 ———
20535kill_sound_castshort_breath45266 60085–60114 ———
20536kill_sound_caststart45267 60085–60114 ———
3971kill_sound_castvocal33702 1–843 ———
20537kill_sound_castvocal45268 60085–60114 ———
23278kill_sound_cast_enter_bodynoise_0151606 60085–60114 ———
23279kill_sound_cast_enter_bodynoise_0251607 60085–60114 ———
23280kill_sound_cast_enter_roar51608 60085–60114 ———
23281kill_sound_cast_exit_roar51609 60085–60114 ———
23282kill_sound_cast_exit_spring51610 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.