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
18666kill_froglok_pugilist_wild_swing43138 60085–60114 ———
18453kill_froglok_run42617 60085–60114 ———
18719kill_froglok_run_0343349 60085–60114 ———
22240kill_froglok_run_up_idle49264 60085–60114 ———
18454kill_froglok_sit_enter42618 60085–60114 ———
18455kill_froglok_sit_exit42619 60085–60114 ———
18456kill_froglok_sit_idle42620 60085–60114 ———
21476kill_froglok_super_buff46486 60085–60114 ———
22241kill_froglok_swim_attack49265 60085–60114 ———
22242kill_froglok_swim_go49266 60085–60114 ———
22243kill_froglok_swim_idle49267 60085–60114 ———
22244kill_froglok_swim_ouch49268 60085–60114 ———
18667kill_froglok_untrained_attack43139 60085–60114 ———
18668kill_froglok_untrained_idle43140 60085–60114 ———
21685kill_froglok_warg_idle47715 60085–60114 ———
21686kill_froglok_warg_jump_substitute47716 60085–60114 ———
18720kill_froglok_wild_swing43350 60085–60114 ———
4132kill_frog_attack_0133903 1–843 ———
19660kill_frog_attack_0144387 60085–60114 ———
25775kill_frog_croaking_snd57375 60085–60114 ———
4133kill_frog_hit33904 1–843 ———
19661kill_frog_hit44388 60085–60114 ———
4134kill_frog_ouch33905 1–843 ———
19662kill_frog_ouch44389 60085–60114 ———
4135kill_frog_squish_0133906 1–843 ———
19663kill_frog_squish_0144390 60085–60114 ———
4136kill_frog_squish_0233907 1–843 ———
19664kill_frog_squish_0244391 60085–60114 ———
4137kill_frog_squish_0333908 1–843 ———
19665kill_frog_squish_0344392 60085–60114 ———
4139kill_frog_tongueslime_0133910 1–843 ———
19667kill_frog_tongueslime_0144394 60085–60114 ———
4138kill_frog_tongue_0133909 1–843 ———
19666kill_frog_tongue_0144393 60085–60114 ———
4140kill_frog_whoosh_0133911 1–843 ———
19668kill_frog_whoosh_0144395 60085–60114 ———
22708kill_frosty_crown50277 60085–60114 ———
22699kill_frost_blast50256 60085–60114 ———
3633kill_frustrated33074 1–843 ———
19669kill_frustrated44396 60085–60114 ———
27239kill_fs61429 60085–60114 ———
4710kill_fs_cast_flame_snd34577 1–843 ———
19670kill_fs_cast_flame_snd44397 60085–60114 ———
31301kill_fs_creature_xl8483590 60085–60114 ———
4642kill_fs_endfire_snd34468 1–843 ———
19671kill_fs_endfire_snd44398 60085–60114 ———
30556kill_fs_evil_butterfly_018456581 60085–60114 ———
4643kill_fs_firefall_snd34469 1–843 ———
19672kill_fs_firefall_snd44399 60085–60114 ———
30263kill_fs_spider_mount_walk_8454787 60085–60114 ———
6153kill_fs_whoosh_snd37322 1–843 ———
19673kill_fs_whoosh_snd44400 60085–60114 ———
22700kill_fudge_drip50257 60085–60114 ———
3634kill_fullcurtsey33075 1–843 ———
19674kill_fullcurtsey44401 60085–60114 ———
19675kill_fusion_bubbly_snd44402 60085–60114 ———
19676kill_fusion_cast_snd44403 60085–60114 ———
23160kill_fx_eye_beam151322 60085–60114 ———
23161kill_fx_eye_beam251323 60085–60114 ———
23162kill_fx_eye_beam351324 60085–60114 ———
23163kill_fx_eye_beam451325 60085–60114 ———
23164kill_fx_eye_beam551326 60085–60114 ———
23165kill_fx_eye_charge51327 60085–60114 ———
27301kill_fx_foot_trail_lf61658 60085–60114 ———
27302kill_fx_foot_trail_lh61659 60085–60114 ———
27303kill_fx_foot_trail_rf61660 60085–60114 ———
27304kill_fx_foot_trail_rh61661 60085–60114 ———
22477kill_fx_off49624 60085–60114 ———
21952kill_fx_on48681 60085–60114 ———
24930kill_fx_splash_out55085 60085–60114 ———
24931kill_fx_splash_up55086 60085–60114 ———
3635kill_gag33076 1–843 ———
17513kill_gag33076 60085–60114 ———
25459kill_gas_torch_flame56569 60085–60114 ———
22907kill_gathering_end50718 60085–60114 ———
22922kill_gathering_enter50752 60085–60114 ———
22923kill_gathering_exit50753 60085–60114 ———
24993kill_gathering_find55309 60085–60114 ———
22908kill_gathering_loop50719 60085–60114 ———
5454kill_gathering_search35577 1–843 ———
18008kill_gathering_search35577 60085–60114 ———
22909kill_gathering_start50720 60085–60114 ———
5455kill_gathering_success35578 1–843 ———
18009kill_gathering_success35578 60085–60114 ———
26708kill_gathering_tail_cloak59151 60085–60114 ———
26653kill_gather_enter58984 60085–60114 ———
26654kill_gather_exit58985 60085–60114 ———
26655kill_gather_idle58986 60085–60114 ———
27234kill_gazer_charge_up61367 60085–60114 ———
23542kill_gazer_pained_roar52227 60085–60114 ———
5254kill_gc_boneburs_snd35266 1–843 ———
19677kill_gc_boneburs_snd44404 60085–60114 ———
6219kill_gc_castcharge_snd37481 1–843 ———
19678kill_gc_castcharge_snd44405 60085–60114 ———
6220kill_gc_result_snd37482 1–843 ———
19679kill_gc_result_snd44406 60085–60114 ———
5255kill_gc_screams_snd35267 1–843 ———
19680kill_gc_screams_snd44407 60085–60114 ———
27308kill_gehein_aura_lp61709 60085–60114 ———
5180kill_gemsparkle35154 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.