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
4751kill_griffin_idle34624 1–843 ———
19698kill_griffin_idle44425 60085–60114 ———
24237kill_griffin_idle0153564 60085–60114 ———
24238kill_griffin_jump53565 60085–60114 ———
24239kill_griffin_jump_substitute53566 60085–60114 ———
24240kill_griffin_land53567 60085–60114 ———
24241kill_griffin_long_fall53568 60085–60114 ———
24308kill_griffin_mount_backup53669 60085–60114 ———
24309kill_griffin_mount_fall53670 60085–60114 ———
24310kill_griffin_mount_fly_backup53671 60085–60114 ———
24356kill_griffin_mount_fly_climb53744 60085–60114 ———
24311kill_griffin_mount_fly_dive53672 60085–60114 ———
24357kill_griffin_mount_fly_down53745 60085–60114 ———
24312kill_griffin_mount_fly_enter53673 60085–60114 ———
24313kill_griffin_mount_fly_fall53674 60085–60114 ———
24314kill_griffin_mount_fly_glide53675 60085–60114 ———
24835kill_griffin_mount_fly_glide_left54840 60085–60114 ———
24836kill_griffin_mount_fly_glide_right54841 60085–60114 ———
24315kill_griffin_mount_fly_idle53676 60085–60114 ———
24316kill_griffin_mount_fly_idle0153677 60085–60114 ———
24317kill_griffin_mount_fly_jump53678 60085–60114 ———
24318kill_griffin_mount_fly_jumpsubstitute53679 60085–60114 ———
24373kill_griffin_mount_fly_jump_substitute53779 60085–60114 ———
24319kill_griffin_mount_fly_run53680 60085–60114 ———
24851kill_griffin_mount_fly_strafe_left54888 60085–60114 ———
24852kill_griffin_mount_fly_strafe_right54889 60085–60114 ———
24320kill_griffin_mount_fly_turn_left53681 60085–60114 ———
24321kill_griffin_mount_fly_turn_right53682 60085–60114 ———
24358kill_griffin_mount_fly_up53746 60085–60114 ———
24322kill_griffin_mount_fly_walk53683 60085–60114 ———
24323kill_griffin_mount_idle53684 60085–60114 ———
24324kill_griffin_mount_idle0153685 60085–60114 ———
24941kill_griffin_mount_idle0255137 60085–60114 ———
24325kill_griffin_mount_jump53686 60085–60114 ———
24326kill_griffin_mount_jump_substitute53687 60085–60114 ———
24327kill_griffin_mount_land53688 60085–60114 ———
24994kill_griffin_mount_launch55310 60085–60114 ———
24328kill_griffin_mount_long_fall53689 60085–60114 ———
24329kill_griffin_mount_run53690 60085–60114 ———
24330kill_griffin_mount_turn_left53691 60085–60114 ———
24331kill_griffin_mount_turn_right53692 60085–60114 ———
24332kill_griffin_mount_walk53693 60085–60114 ———
4752kill_griffin_run34625 1–843 ———
19699kill_griffin_run44426 60085–60114 ———
24242kill_griffin_turn_left53569 60085–60114 ———
24243kill_griffin_turn_right53570 60085–60114 ———
4753kill_griffin_walk34626 1–843 ———
19700kill_griffin_walk44427 60085–60114 ———
24981kill_grin55277 60085–60114 ———
21938kill_ground_blast48630 60085–60114 ———
26567kill_ground_blast_fx58801 60085–60114 ———
30055kill_ground_dead_enter8454117 60085–60114 ———
31042kill_ground_smash8479587 60085–60114 ———
5510kill_group_chargeswordglint_sound35658 1–843 ———
19701kill_group_chargeswordglint_sound44428 60085–60114 ———
5511kill_group_cloud_sound35659 1–843 ———
19702kill_group_cloud_sound44429 60085–60114 ———
5512kill_group_electricend_sound35660 1–843 ———
19703kill_group_electricend_sound44430 60085–60114 ———
24982kill_growl55278 60085–60114 ———
3638kill_grumble33079 1–843 ———
19704kill_grumble44431 60085–60114 ———
22274kill_guide_robe_green49351 60085–60114 ———
22653kill_guk_barracks_poison50167 60085–60114 ———
22654kill_guk_crystal_cleanse50168 60085–60114 ———
22655kill_guk_temple_splashes_clean50169 60085–60114 ———
22656kill_guk_temple_splashes_poison50170 60085–60114 ———
22657kill_guk_waterfalls_poison50171 60085–60114 ———
3639kill_gutcramp33080 1–843 ———
19705kill_gutcramp44432 60085–60114 ———
6321kill_gw_chargeup_snd37956 1–843 ———
19706kill_gw_chargeup_snd44433 60085–60114 ———
6322kill_gw_grantwish_snd37957 1–843 ———
19707kill_gw_grantwish_snd44434 60085–60114 ———
4838kill_gw_impact_sound34712 1–843 ———
19708kill_gw_impact_sound44435 60085–60114 ———
23182kill_habitat0151371 60085–60114 ———
23183kill_habitat0251372 60085–60114 ———
23184kill_habitat0351373 60085–60114 ———
23419kill_habitat0451990 60085–60114 ———
26990kill_halfelf_compass_hover60269 60085–60114 ———
21520kill_halfelf_female_2h_sword_wild_swing46590 60085–60114 ———
21541kill_halfelf_female_pike_charge_up46631 60085–60114 ———
21542kill_halfelf_female_pike_defensive_buff46632 60085–60114 ———
21543kill_halfelf_female_pike_offensive_buff46633 60085–60114 ———
21495kill_halfling_forestry_success46555 60085–60114 ———
27005kill_halfling_hands_cards_coins_trail60337 60085–60114 ———
30380kill_handstand_loop8455103 60085–60114 ———
27068kill_hand_blast60672 60085–60114 ———
22109kill_hand_fx_left49010 60085–60114 ———
22110kill_hand_fx_right49011 60085–60114 ———
31823kill_hang_idle8497483 60085–60114 ———
3640kill_happy33081 1–843 ———
19709kill_happy44436 60085–60114 ———
6489kill_harpy_fire_snd38874 1–843 ———
19710kill_harpy_fire_snd44437 60085–60114 ———
6490kill_harpy_spin_snd38875 1–843 ———
19711kill_harpy_spin_snd44438 60085–60114 ———
25602kill_hassan_chop56955 60085–60114 ———
4936kill_haste_sparkles_snd34814 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.