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
20872kill_sound_runleft45603 60085–60114 ———
20873kill_sound_runright45604 60085–60114 ———
4116kill_sound_runwing33878 1–843 ———
20874kill_sound_runwing45605 60085–60114 ———
4905kill_sound_sad0134782 1–843 ———
20875kill_sound_sad0145606 60085–60114 ———
4906kill_sound_sad0234783 1–843 ———
20876kill_sound_sad0245607 60085–60114 ———
20877kill_sound_saw00145608 60085–60114 ———
20878kill_sound_saw00245609 60085–60114 ———
20879kill_sound_scratch45610 60085–60114 ———
3823kill_sound_scream33376 1–843 ———
20880kill_sound_scream45611 60085–60114 ———
3824kill_sound_scream0133377 1–843 ———
20881kill_sound_scream0145612 60085–60114 ———
3825kill_sound_scream0233378 1–843 ———
20882kill_sound_scream0245613 60085–60114 ———
20883kill_sound_shake45614 60085–60114 ———
6550kill_sound_sheathe39182 1–843 ———
20884kill_sound_sheathe45615 60085–60114 ———
23156kill_sound_shield_drop51313 60085–60114 ———
6049kill_sound_sit36849 1–843 ———
20885kill_sound_sit45616 60085–60114 ———
6614kill_sound_sitenter39428 1–843 ———
20886kill_sound_sitenter45617 60085–60114 ———
6615kill_sound_sitexit39429 1–843 ———
20887kill_sound_sitexit45618 60085–60114 ———
20888kill_sound_sitidle45619 60085–60114 ———
30719kill_sound_sit_enter8464150 60085–60114 ———
30720kill_sound_sit_exit8464151 60085–60114 ———
23883kill_sound_skeletal_152756 60085–60114 ———
23884kill_sound_skeletal_1052757 60085–60114 ———
23885kill_sound_skeletal_1152758 60085–60114 ———
23886kill_sound_skeletal_1252759 60085–60114 ———
23887kill_sound_skeletal_1352760 60085–60114 ———
23888kill_sound_skeletal_1452761 60085–60114 ———
23889kill_sound_skeletal_1552762 60085–60114 ———
23890kill_sound_skeletal_1652763 60085–60114 ———
23891kill_sound_skeletal_1752764 60085–60114 ———
23892kill_sound_skeletal_1852765 60085–60114 ———
23893kill_sound_skeletal_1952766 60085–60114 ———
23894kill_sound_skeletal_252767 60085–60114 ———
23895kill_sound_skeletal_2052768 60085–60114 ———
23896kill_sound_skeletal_2152769 60085–60114 ———
23897kill_sound_skeletal_2252770 60085–60114 ———
23898kill_sound_skeletal_352771 60085–60114 ———
23899kill_sound_skeletal_452772 60085–60114 ———
23900kill_sound_skeletal_552773 60085–60114 ———
23901kill_sound_skeletal_652774 60085–60114 ———
23902kill_sound_skeletal_752775 60085–60114 ———
23903kill_sound_skeletal_852776 60085–60114 ———
23904kill_sound_skeletal_952777 60085–60114 ———
22100kill_sound_slam48990 60085–60114 ———
5656kill_sound_sleep35816 1–843 ———
20889kill_sound_sleep45620 60085–60114 ———
5530kill_sound_sleep00135683 1–843 ———
20890kill_sound_sleep00145621 60085–60114 ———
5531kill_sound_sleep00235684 1–843 ———
20891kill_sound_sleep00245622 60085–60114 ———
6348kill_sound_slither38160 1–843 ———
20892kill_sound_slither45623 60085–60114 ———
22115kill_sound_smoke49018 60085–60114 ———
3826kill_sound_snap33379 1–843 ———
20893kill_sound_snap45624 60085–60114 ———
3827kill_sound_snarl33380 1–843 ———
20894kill_sound_snarl45625 60085–60114 ———
4907kill_sound_sneer34784 1–843 ———
20895kill_sound_sneer45626 60085–60114 ———
5532kill_sound_sneeze35685 1–843 ———
20896kill_sound_sneeze45627 60085–60114 ———
5533kill_sound_sneezeinhale35686 1–843 ———
20897kill_sound_sneezeinhale45628 60085–60114 ———
23208kill_sound_sniff51443 60085–60114 ———
5048kill_sound_snort34938 1–843 ———
20898kill_sound_snort45629 60085–60114 ———
4617kill_sound_spellvocal34443 1–843 ———
20899kill_sound_spellvocal45630 60085–60114 ———
5751kill_sound_splash35950 1–843 ———
20900kill_sound_splash45631 60085–60114 ———
3828kill_sound_stand33381 1–843 ———
20901kill_sound_stand45632 60085–60114 ———
3829kill_sound_step33382 1–843 ———
20902kill_sound_step45633 60085–60114 ———
21826kill_sound_stinger48134 60085–60114 ———
20903kill_sound_stomp45634 60085–60114 ———
20904kill_sound_stompgrowl45635 60085–60114 ———
20905kill_sound_stompvocal45636 60085–60114 ———
6343kill_sound_stunfall38141 1–843 ———
20906kill_sound_stunfall45637 60085–60114 ———
6591kill_sound_stunned39299 1–843 ———
20907kill_sound_stunned45638 60085–60114 ———
6245kill_sound_stunnedfall37560 1–843 ———
20908kill_sound_stunnedfall45639 60085–60114 ———
20909kill_sound_stunnedreturn45640 60085–60114 ———
20910kill_sound_stunnedwhirl45641 60085–60114 ———
20911kill_sound_stunshake45642 60085–60114 ———
6599kill_sound_stunsnort39363 1–843 ———
20912kill_sound_stunsnort45643 60085–60114 ———
20913kill_sound_stunspin45644 60085–60114 ———
3974kill_sound_summon33705 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.