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
20283kill_sigh45014 60085–60114 ———
6312kill_sig_bursting_snd37907 1–843 ———
20281kill_sig_bursting_snd45012 60085–60114 ———
6313kill_sig_rattler_snd37908 1–843 ———
20282kill_sig_rattler_snd45013 60085–60114 ———
23176kill_sit51354 60085–60114 ———
24135kill_sitchair53333 60085–60114 ———
25099kill_sit_chair55551 60085–60114 ———
20284kill_sit_combat45015 60085–60114 ———
25580kill_sit_drink56892 60085–60114 ———
30385kill_sit_drink_cup8455111 60085–60114 ———
31014kill_sit_drink_mug8477382 60085–60114 ———
30386kill_sit_drink_stein8455112 60085–60114 ———
31672kill_sit_drink_wine8494304 60085–60114 ———
23330kill_sit_eat51715 60085–60114 ———
3766kill_sit_enter33306 1–843 ———
17546kill_sit_enter33306 60085–60114 ———
6611kill_sit_enterleaves39425 1–843 ———
25915kill_sit_enter_open57805 60085–60114 ———
3767kill_sit_exit33307 1–843 ———
17547kill_sit_exit33307 60085–60114 ———
25916kill_sit_exit_open57806 60085–60114 ———
23357kill_sit_fish51808 60085–60114 ———
3768kill_sit_idle33308 1–843 ———
17548kill_sit_idle33308 60085–60114 ———
5461kill_sit_idle0135584 1–843 ———
20285kill_sit_idle0145016 60085–60114 ———
5651kill_sit_idle0235811 1–843 ———
20286kill_sit_idle0245017 60085–60114 ———
25917kill_sit_idle_open57807 60085–60114 ———
22185kill_sit_idle_tail49152 60085–60114 ———
20287kill_sit_off45018 60085–60114 ———
20288kill_sit_peace45019 60085–60114 ———
5502kill_sit_tail35647 1–843 ———
20289kill_sit_tail45020 60085–60114 ———
20290kill_sit_tail_cloak45021 60085–60114 ———
28088kill_sit_talking_idle64475 60085–60114 ———
24968kill_sit_throne_idle55224 60085–60114 ———
23177kill_sit_to_idle51355 60085–60114 ———
30387kill_sit_wave_cup_loop8455113 60085–60114 ———
30388kill_sit_wave_stein_loop8455114 60085–60114 ———
28154kill_skull_attack_fx64842 60085–60114 ———
22632kill_skull_candles_head50101 60085–60114 ———
27445kill_skyshrine_drake_backup62157 60085–60114 ———
27446kill_skyshrine_drake_fall62158 60085–60114 ———
27447kill_skyshrine_drake_fly_backup62159 60085–60114 ———
27448kill_skyshrine_drake_fly_climb62160 60085–60114 ———
27449kill_skyshrine_drake_fly_dive62161 60085–60114 ———
27450kill_skyshrine_drake_fly_down62162 60085–60114 ———
27512kill_skyshrine_drake_fly_fall62349 60085–60114 ———
27451kill_skyshrine_drake_fly_glide62163 60085–60114 ———
27452kill_skyshrine_drake_fly_glide_left62164 60085–60114 ———
27453kill_skyshrine_drake_fly_glide_right62165 60085–60114 ———
27454kill_skyshrine_drake_fly_idle62166 60085–60114 ———
27455kill_skyshrine_drake_fly_run62167 60085–60114 ———
27456kill_skyshrine_drake_fly_strafe_left62168 60085–60114 ———
27457kill_skyshrine_drake_fly_strafe_right62169 60085–60114 ———
27458kill_skyshrine_drake_fly_turn_left62170 60085–60114 ———
27459kill_skyshrine_drake_fly_turn_right62171 60085–60114 ———
27460kill_skyshrine_drake_fly_up62172 60085–60114 ———
27461kill_skyshrine_drake_fly_walk62173 60085–60114 ———
27462kill_skyshrine_drake_idle62174 60085–60114 ———
27463kill_skyshrine_drake_idle0162175 60085–60114 ———
27464kill_skyshrine_drake_jump62176 60085–60114 ———
27465kill_skyshrine_drake_jump_substitute62177 60085–60114 ———
27466kill_skyshrine_drake_land62178 60085–60114 ———
27467kill_skyshrine_drake_long_fall62179 60085–60114 ———
25890kill_skyshrine_drake_run57681 60085–60114 ———
25891kill_skyshrine_drake_run0157682 60085–60114 ———
27468kill_skyshrine_drake_turn_left62180 60085–60114 ———
27469kill_skyshrine_drake_turn_right62181 60085–60114 ———
27470kill_skyshrine_drake_walk62182 60085–60114 ———
30855kill_skyshrine_shoot_the_moon_enter8469589 60085–60114 ———
30856kill_skyshrine_shoot_the_moon_exit8469590 60085–60114 ———
30857kill_skyshrine_shoot_the_moon_idle8469591 60085–60114 ———
30871kill_skyshrine_shoot_the_moon_zero8469839 60085–60114 ———
27237kill_sky_float_idle61387 60085–60114 ———
31574kill_sleep018488744 60085–60114 ———
31575kill_sleep028488745 60085–60114 ———
24758kill_sleep_enter54655 60085–60114 ———
24759kill_sleep_exit54656 60085–60114 ———
24747kill_sleep_idle54623 60085–60114 ———
31576kill_slep028488960 60085–60114 ———
24063kill_slime_trail_fx53153 60085–60114 ———
6037kill_slt_castfire_snd36809 1–843 ———
20292kill_slt_castfire_snd45023 60085–60114 ———
6038kill_slt_resultvortex_snd36810 1–843 ———
20293kill_slt_resultvortex_snd45024 60085–60114 ———
6039kill_slt_splode_snd36811 1–843 ———
20294kill_slt_splode_snd45025 60085–60114 ———
4001kill_slugattack_0133742 1–843 ———
20295kill_slugattack_0145026 60085–60114 ———
4002kill_slugdie_hit_0133743 1–843 ———
20296kill_slugdie_hit_0145027 60085–60114 ———
4003kill_slugdie_hit_0233744 1–843 ———
20297kill_slugdie_hit_0245028 60085–60114 ———
4004kill_slugdie_hit_0333745 1–843 ———
20298kill_slugdie_hit_0345029 60085–60114 ———
4009kill_slugpulser_0133750 1–843 ———
20303kill_slugpulser_0145034 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.