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
31780kill_power_aura_glider_long_fall8496814 60085–60114 ———
31781kill_power_aura_glider_run8496815 60085–60114 ———
31782kill_power_aura_glider_turn_left8496816 60085–60114 ———
31783kill_power_aura_glider_turn_right8496817 60085–60114 ———
31784kill_power_aura_glider_walk8496818 60085–60114 ———
31785kill_power_aura_ground_backup8496819 60085–60114 ———
31786kill_power_aura_ground_fall8496820 60085–60114 ———
31787kill_power_aura_ground_idle8496821 60085–60114 ———
31788kill_power_aura_ground_jump8496822 60085–60114 ———
31789kill_power_aura_ground_land8496823 60085–60114 ———
31790kill_power_aura_ground_long_fall8496824 60085–60114 ———
31791kill_power_aura_ground_run8496825 60085–60114 ———
31792kill_power_aura_ground_turn_left8496826 60085–60114 ———
31793kill_power_aura_ground_turn_right8496827 60085–60114 ———
31794kill_power_aura_ground_walk8496828 60085–60114 ———
31795kill_power_aura_leaper_backup8496829 60085–60114 ———
31796kill_power_aura_leaper_fall8496830 60085–60114 ———
31797kill_power_aura_leaper_fly_backup8496831 60085–60114 ———
31798kill_power_aura_leaper_fly_climb8496832 60085–60114 ———
31799kill_power_aura_leaper_fly_dive8496833 60085–60114 ———
31800kill_power_aura_leaper_fly_down8496834 60085–60114 ———
31801kill_power_aura_leaper_fly_glide8496835 60085–60114 ———
31802kill_power_aura_leaper_fly_glide_left8496836 60085–60114 ———
31803kill_power_aura_leaper_fly_glide_right8496837 60085–60114 ———
31804kill_power_aura_leaper_fly_idle8496838 60085–60114 ———
31805kill_power_aura_leaper_fly_run8496839 60085–60114 ———
31806kill_power_aura_leaper_fly_strafe_left8496840 60085–60114 ———
31807kill_power_aura_leaper_fly_strafe_right8496841 60085–60114 ———
31808kill_power_aura_leaper_fly_turn_left8496842 60085–60114 ———
31809kill_power_aura_leaper_fly_turn_right8496843 60085–60114 ———
31810kill_power_aura_leaper_fly_up8496844 60085–60114 ———
31811kill_power_aura_leaper_fly_walk8496845 60085–60114 ———
31812kill_power_aura_leaper_idle8496846 60085–60114 ———
31813kill_power_aura_leaper_jump8496847 60085–60114 ———
31814kill_power_aura_leaper_land8496848 60085–60114 ———
31815kill_power_aura_leaper_long_fall8496849 60085–60114 ———
31816kill_power_aura_leaper_run8496850 60085–60114 ———
31817kill_power_aura_leaper_turn_left8496851 60085–60114 ———
31818kill_power_aura_leaper_turn_right8496852 60085–60114 ———
31819kill_power_aura_leaper_walk8496853 60085–60114 ———
23179kill_power_on51363 60085–60114 ———
22142kill_power_up49088 60085–60114 ———
20071kill_pp_casthi_snd44800 60085–60114 ———
20072kill_pp_stab_snd44801 60085–60114 ———
25031kill_pray55377 60085–60114 ———
26686kill_prestige_point_acquired59093 60085–60114 ———
26794kill_prestige_point_sound59455 60085–60114 ———
3712kill_procedural_hit33202 1–843 ———
17520kill_procedural_hit33202 60085–60114 ———
4064kill_procedural_ouch33821 1–843 ———
17567kill_procedural_ouch33821 60085–60114 ———
4150kill_procedural_parry33930 1–843 ———
17570kill_procedural_parry33930 60085–60114 ———
24158kill_proc_sword_head53418 60085–60114 ———
20073kill_ps_caststream_snd44802 60085–60114 ———
20074kill_ps_resultfx_snd44803 60085–60114 ———
4587kill_pugilist_attack34412 1–843 ———
17749kill_pugilist_attack34412 60085–60114 ———
4588kill_pugilist_attack0134413 1–843 ———
20075kill_pugilist_attack0144804 60085–60114 ———
4589kill_pugilist_attack0234414 1–843 ———
17750kill_pugilist_attack0234414 60085–60114 ———
6192kill_pugilist_attack0337412 1–843 ———
20076kill_pugilist_attack0344805 60085–60114 ———
4590kill_pugilist_attack_recoil34415 1–843 ———
20077kill_pugilist_attack_recoil44806 60085–60114 ———
4591kill_pugilist_attack_recoil0134416 1–843 ———
20078kill_pugilist_attack_recoil0144807 60085–60114 ———
4592kill_pugilist_attack_recoil0234417 1–843 ———
20079kill_pugilist_attack_recoil0244808 60085–60114 ———
6193kill_pugilist_attack_recoil0337413 1–843 ———
20080kill_pugilist_attack_recoil0344809 60085–60114 ———
3713kill_pugilist_backup33203 1–843 ———
20081kill_pugilist_backup44810 60085–60114 ———
5634kill_pugilist_charge_up35794 1–843 ———
20082kill_pugilist_charge_up44811 60085–60114 ———
21950kill_pugilist_charge_up_long48667 60085–60114 ———
5635kill_pugilist_defensive_buff35795 1–843 ———
20083kill_pugilist_defensive_buff44812 60085–60114 ———
6131kill_pugilist_dodge37279 1–843 ———
20084kill_pugilist_dodge44813 60085–60114 ———
6132kill_pugilist_dodge0137280 1–843 ———
20085kill_pugilist_dodge0144814 60085–60114 ———
6133kill_pugilist_dodge0237281 1–843 ———
20086kill_pugilist_dodge0244815 60085–60114 ———
4593kill_pugilist_dodge_backhand34418 1–843 ———
20087kill_pugilist_dodge_backhand44816 60085–60114 ———
4594kill_pugilist_dodge_down34419 1–843 ———
20088kill_pugilist_dodge_down44817 60085–60114 ———
4595kill_pugilist_dodge_forehand34420 1–843 ———
20089kill_pugilist_dodge_forehand44818 60085–60114 ———
6194kill_pugilist_dodge_thrust37414 1–843 ———
20090kill_pugilist_dodge_thrust44819 60085–60114 ———
3714kill_pugilist_enter33212 1–843 ———
20091kill_pugilist_enter44820 60085–60114 ———
3715kill_pugilist_exit33215 1–843 ———
20092kill_pugilist_exit44821 60085–60114 ———
5636kill_pugilist_feint35796 1–843 ———
20093kill_pugilist_feint44822 60085–60114 ———
3716kill_pugilist_idle33218 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.