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
24478kill_wolf_mount_jump_substitute54090 60085–60114 ———
24479kill_wolf_mount_land54091 60085–60114 ———
24480kill_wolf_mount_long_fall54092 60085–60114 ———
24481kill_wolf_mount_run54093 60085–60114 ———
24482kill_wolf_mount_turn_left54094 60085–60114 ———
24483kill_wolf_mount_turn_right54095 60085–60114 ———
24484kill_wolf_mount_walk54096 60085–60114 ———
21527kill_woodelf_female_2h_sword_wild_swing46599 60085–60114 ———
21562kill_woodelf_female_pike_charge_up46654 60085–60114 ———
21563kill_woodelf_female_pike_defensive_buff46655 60085–60114 ———
21564kill_woodelf_female_pike_offensive_buff46656 60085–60114 ———
27012kill_woodelf_leafy_glow_shader60377 60085–60114 ———
5163kill_woodworking_failure35122 1–843 ———
21343kill_woodworking_failure46075 60085–60114 ———
5164kill_woodworking_idle35123 1–843 ———
21344kill_woodworking_idle46076 60085–60114 ———
5165kill_woodworking_success35124 1–843 ———
21345kill_woodworking_success46077 60085–60114 ———
22789kill_wood_sound50473 60085–60114 ———
3928kill_woowoo33658 1–843 ———
21346kill_woowoo46078 60085–60114 ———
22572kill_worship49926 60085–60114 ———
24953kill_worship_idle55168 60085–60114 ———
25437kill_writhe_enter56506 60085–60114 ———
24718kill_writhe_idle54569 60085–60114 ———
4812kill_wr_energy_glowout_sound34686 1–843 ———
21348kill_wr_energy_glowout_sound46080 60085–60114 ———
4811kill_wr_energy_glow_sound34685 1–843 ———
21347kill_wr_energy_glow_sound46079 60085–60114 ———
4813kill_wr_glimmer_sound34687 1–843 ———
21349kill_wr_glimmer_sound46081 60085–60114 ———
4814kill_wr_watershield_sound34688 1–843 ———
21350kill_wr_watershield_sound46082 60085–60114 ———
6005kill_ws_resounding_snd36712 1–843 ———
21351kill_ws_resounding_snd46083 60085–60114 ———
6006kill_ws_singout_snd36713 1–843 ———
21352kill_ws_singout_snd46084 60085–60114 ———
31580kill_wyvern_mount_1h_sword_enter8489532 60085–60114 ———
31581kill_wyvern_mount_1h_sword_exit8489533 60085–60114 ———
31582kill_wyvern_mount_1h_sword_idle8489534 60085–60114 ———
27475kill_wyvern_mount_backup62275 60085–60114 ———
31577kill_wyvern_mount_combat_enter8489245 60085–60114 ———
31578kill_wyvern_mount_combat_exit8489246 60085–60114 ———
31579kill_wyvern_mount_combat_idle8489247 60085–60114 ———
27476kill_wyvern_mount_fall62276 60085–60114 ———
27477kill_wyvern_mount_fly_backup62277 60085–60114 ———
27478kill_wyvern_mount_fly_climb62278 60085–60114 ———
27479kill_wyvern_mount_fly_dive62279 60085–60114 ———
27480kill_wyvern_mount_fly_down62280 60085–60114 ———
27513kill_wyvern_mount_fly_fall62380 60085–60114 ———
27481kill_wyvern_mount_fly_glide62281 60085–60114 ———
27482kill_wyvern_mount_fly_glide_left62282 60085–60114 ———
27483kill_wyvern_mount_fly_glide_right62283 60085–60114 ———
27484kill_wyvern_mount_fly_idle62284 60085–60114 ———
27485kill_wyvern_mount_fly_run62285 60085–60114 ———
27486kill_wyvern_mount_fly_strafe_left62286 60085–60114 ———
27487kill_wyvern_mount_fly_strafe_right62287 60085–60114 ———
27488kill_wyvern_mount_fly_turn_left62288 60085–60114 ———
27489kill_wyvern_mount_fly_turn_right62289 60085–60114 ———
27490kill_wyvern_mount_fly_up62290 60085–60114 ———
27491kill_wyvern_mount_fly_walk62291 60085–60114 ———
27492kill_wyvern_mount_idle62292 60085–60114 ———
27493kill_wyvern_mount_idle0162293 60085–60114 ———
27494kill_wyvern_mount_jump62294 60085–60114 ———
27495kill_wyvern_mount_jump_substitute62295 60085–60114 ———
27496kill_wyvern_mount_land62296 60085–60114 ———
27497kill_wyvern_mount_long_fall62297 60085–60114 ———
27498kill_wyvern_mount_run62298 60085–60114 ———
27499kill_wyvern_mount_turn_left62299 60085–60114 ———
27500kill_wyvern_mount_turn_right62300 60085–60114 ———
27501kill_wyvern_mount_walk62301 60085–60114 ———
3929kill_yawn33659 1–843 ———
17553kill_yawn33659 60085–60114 ———
3930kill_yeah33660 1–843 ———
21353kill_yeah46085 60085–60114 ———
6426kill_yell38353 1–843 ———
21354kill_yell46086 60085–60114 ———
23331kill_yells_charge51716 60085–60114 ———
26815kill_yes59580 60085–60114 ———
21355kill_zap46087 60085–60114 ———
27238kill_zap_attack61418 60085–60114 ———
27257kill_zap_enter61481 60085–60114 ———
27258kill_zap_exit61482 60085–60114 ———
27259kill_zap_idle61483 60085–60114 ———
27669kill_zen_enter63176 60085–60114 ———
27670kill_zen_exit63177 60085–60114 ———
27671kill_zen_idle63178 60085–60114 ———
22749kill_zeppelin_enter50381 60085–60114 ———
22750kill_zeppelin_exit50382 60085–60114 ———
22751kill_zeppelin_fall50383 60085–60114 ———
22752kill_zeppelin_glide50384 60085–60114 ———
22753kill_zeppelin_idle50385 60085–60114 ———
22754kill_zeppelin_jump50386 60085–60114 ———
22755kill_zeppelin_land50387 60085–60114 ———
22756kill_zeppelin_run50388 60085–60114 ———
22757kill_zeppelin_walk50389 60085–60114 ———
22740kill_zepplin_enter50365 60085–60114 ———
22741kill_zepplin_exit50366 60085–60114 ———
22742kill_zepplin_fall50367 60085–60114 ———
22758kill_zepplin_glide50390 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.