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
6016kill_scorp_crunches_snd36729 1–843 ———
20226kill_scorp_crunches_snd44956 60085–60114 ———
23460kill_scout_combo_trigger52068 60085–60114 ———
3754kill_scratch33292 1–843 ———
20229kill_scratch44959 60085–60114 ———
3755kill_scream33293 1–843 ———
20230kill_scream44960 60085–60114 ———
26934kill_scream0159991 60085–60114 ———
23309kill_screech_attack51663 60085–60114 ———
25426kill_screech_fx56469 60085–60114 ———
22034kill_screen_shake48883 60085–60114 ———
5728kill_scribing_idle35899 1–843 ———
20231kill_scribing_idle44961 60085–60114 ———
26743kill_scrunch_left59274 60085–60114 ———
26744kill_scrunch_right59275 60085–60114 ———
4000kill_scruntch33741 1–843 ———
20232kill_scruntch44962 60085–60114 ———
6075kill_sc_impact_snd37015 1–843 ———
20218kill_sc_impact_snd44948 60085–60114 ———
6076kill_sc_swipe_snd37016 1–843 ———
20219kill_sc_swipe_snd44949 60085–60114 ———
27093kill_sc_win_chest_fx60766 60085–60114 ———
6310kill_sd_drumming_lp_snd37904 1–843 ———
20233kill_sd_drumming_lp_snd44963 60085–60114 ———
5945kill_sd_soulcast_sound36561 1–843 ———
20234kill_sd_soulcast_sound44964 60085–60114 ———
5946kill_sd_soulsuck_sound36562 1–843 ———
20235kill_sd_soulsuck_sound44965 60085–60114 ———
6655kill_sd_spiritdescend_snd39560 1–843 ———
21849kill_sd_spiritdescend_snd48389 60085–60114 ———
6036kill_sd_spiritflashsoft_snd36808 1–843 ———
20237kill_sd_spiritflashsoft_snd44968 60085–60114 ———
6035kill_sd_spiritflash_snd36807 1–843 ———
20236kill_sd_spiritflash_snd44967 60085–60114 ———
5881kill_section0136374 1–843 ———
20238kill_section0144969 60085–60114 ———
5882kill_section0236375 1–843 ———
20239kill_section0244970 60085–60114 ———
5883kill_section0336376 1–843 ———
20240kill_section0344971 60085–60114 ———
3756kill_seenoevil33294 1–843 ———
20241kill_seenoevil44972 60085–60114 ———
22652kill_serve50161 60085–60114 ———
22703kill_server_idle50262 60085–60114 ———
22704kill_server_shutdown50263 60085–60114 ———
22705kill_server_start50264 60085–60114 ———
30734kill_set_up_go8464734 60085–60114 ———
27309kill_sfx_attack_vox61714 60085–60114 ———
25740kill_sfx_bodyfall57314 60085–60114 ———
27310kill_sfx_death_vox61715 60085–60114 ———
27311kill_sfx_gehein_death_vox61716 60085–60114 ———
27312kill_sfx_gehein_vox_attack61717 60085–60114 ———
27313kill_sfx_gehein_vox_ouch61718 60085–60114 ———
27347kill_sfx_vox_gehein_laugh61858 60085–60114 ———
27314kill_sfx_whoosh61719 60085–60114 ———
27315kill_sfx_whoosh_high61720 60085–60114 ———
30570kill_sfx_wingflap_lrg_long_018456680 60085–60114 ———
6115kill_sf_bladering_snd37233 1–843 ———
20242kill_sf_bladering_snd44973 60085–60114 ———
6311kill_sf_flute_lp_snd37906 1–843 ———
20243kill_sf_flute_lp_snd44974 60085–60114 ———
20244kill_sgwp_bark_snd44975 60085–60114 ———
5148kill_shaft0135106 1–843 ———
20245kill_shaft0144976 60085–60114 ———
5149kill_shaft0235107 1–843 ———
20246kill_shaft0244977 60085–60114 ———
3757kill_shake33295 1–843 ———
20247kill_shake44978 60085–60114 ———
6416kill_shake138343 1–843 ———
20248kill_shake144979 60085–60114 ———
6417kill_shake238344 1–843 ———
20249kill_shake244980 60085–60114 ———
6418kill_shake338345 1–843 ———
20250kill_shake344981 60085–60114 ———
3758kill_shakefist33296 1–843 ———
20251kill_shakefist44982 60085–60114 ———
3759kill_shakeit33297 1–843 ———
20252kill_shakeit44983 60085–60114 ———
27240kill_shaman_crouch_idle61434 60085–60114 ———
27221kill_shaman_summon_fx61277 60085–60114 ———
3760kill_shame33298 1–843 ———
20253kill_shame44984 60085–60114 ———
3949kill_shark_attack0133679 1–843 ———
20254kill_shark_attack0144985 60085–60114 ———
3950kill_shark_bite0133680 1–843 ———
20255kill_shark_bite0144986 60085–60114 ———
3951kill_shark_bite0233681 1–843 ———
20256kill_shark_bite0244987 60085–60114 ———
3952kill_shark_cry33682 1–843 ———
20257kill_shark_cry44988 60085–60114 ———
3953kill_shark_die33683 1–843 ———
20258kill_shark_die44989 60085–60114 ———
3954kill_shark_ouch33684 1–843 ———
20259kill_shark_ouch44990 60085–60114 ———
3955kill_shark_runtail33685 1–843 ———
20260kill_shark_runtail44991 60085–60114 ———
3956kill_shark_runtail0233686 1–843 ———
20261kill_shark_runtail0244992 60085–60114 ———
3957kill_shark_tail33687 1–843 ———
20262kill_shark_tail44993 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.