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
22581kill_miragul_puzzle_red_runes49947 60085–60114 ———
22582kill_miragul_puzzle_spire_beams49948 60085–60114 ———
22583kill_miragul_puzzle_splash_column49949 60085–60114 ———
22584kill_miragul_puzzle_yellow_flasher49950 60085–60114 ———
22585kill_miragul_puzzle_yellow_runes49951 60085–60114 ———
28232kill_miss65261 60085–60114 ———
30500kill_missle_grounded8456063 60085–60114 ———
30253kill_missle_mode8454725 60085–60114 ———
30782kill_missle_statue8466383 60085–60114 ———
28113kill_misst_target_trigger64610 60085–60114 ———
6106kill_miss_target_tigger37173 1–843 ———
19854kill_miss_target_tigger44582 60085–60114 ———
4141kill_miss_target_trigger33912 1–843 ———
19855kill_miss_target_trigger44583 60085–60114 ———
22779kill_mistmoore_coffin_glow50443 60085–60114 ———
22768kill_mistmoore_energy_flow0150426 60085–60114 ———
22769kill_mistmoore_energy_flow0250427 60085–60114 ———
22770kill_mistmoore_energy_flow0350428 60085–60114 ———
22771kill_mistmoore_energy_flow0450429 60085–60114 ———
22772kill_mistmoore_energy_flow0550430 60085–60114 ———
22540kill_mistmoore_runes_fx49810 60085–60114 ———
22541kill_mistmoore_sun_fx49811 60085–60114 ———
5216kill_molten_metal35211 1–843 ———
19856kill_molten_metal44584 60085–60114 ———
4169kill_monk_attack33949 1–843 ———
17572kill_monk_attack33949 60085–60114 ———
4186kill_monk_attack0133969 1–843 ———
17573kill_monk_attack0133969 60085–60114 ———
4246kill_monk_attack0234052 1–843 ———
17604kill_monk_attack0234052 60085–60114 ———
6126kill_monk_attack0337274 1–843 ———
18262kill_monk_attack0337274 60085–60114 ———
4170kill_monk_attack_recoil33950 1–843 ———
19857kill_monk_attack_recoil44585 60085–60114 ———
4187kill_monk_attack_recoil0133970 1–843 ———
19858kill_monk_attack_recoil0144586 60085–60114 ———
4247kill_monk_attack_recoil0234053 1–843 ———
19859kill_monk_attack_recoil0244587 60085–60114 ———
6127kill_monk_attack_recoil0337275 1–843 ———
19860kill_monk_attack_recoil0344588 60085–60114 ———
3676kill_monk_backup33125 1–843 ———
19861kill_monk_backup44589 60085–60114 ———
5619kill_monk_charge_up35779 1–843 ———
19862kill_monk_charge_up44590 60085–60114 ———
5620kill_monk_defensive_buff35780 1–843 ———
19863kill_monk_defensive_buff44591 60085–60114 ———
4248kill_monk_dodge_backhand34054 1–843 ———
17605kill_monk_dodge_backhand34054 60085–60114 ———
4249kill_monk_dodge_down34055 1–843 ———
17606kill_monk_dodge_down34055 60085–60114 ———
4250kill_monk_dodge_forehand34056 1–843 ———
19864kill_monk_dodge_forehand44592 60085–60114 ———
6128kill_monk_dodge_thrust37276 1–843 ———
19865kill_monk_dodge_thrust44593 60085–60114 ———
3677kill_monk_enter33134 1–843 ———
19866kill_monk_enter44594 60085–60114 ———
3678kill_monk_exit33137 1–843 ———
19867kill_monk_exit44595 60085–60114 ———
5621kill_monk_feint35781 1–843 ———
19868kill_monk_feint44596 60085–60114 ———
3679kill_monk_idle33140 1–843 ———
17517kill_monk_idle33140 60085–60114 ———
19869kill_monk_idle0144597 60085–60114 ———
5315kill_monk_kick35407 1–843 ———
19870kill_monk_kick44598 60085–60114 ———
5316kill_monk_kick_flying35408 1–843 ———
19871kill_monk_kick_flying44599 60085–60114 ———
5317kill_monk_kick_spin35409 1–843 ———
19872kill_monk_kick_spin44600 60085–60114 ———
5622kill_monk_knockdowntoknees35782 1–843 ———
19873kill_monk_knockdowntoknees44601 60085–60114 ———
5623kill_monk_knockedtoback35783 1–843 ———
19874kill_monk_knockedtoback44602 60085–60114 ———
5624kill_monk_knockedtoback_getup35784 1–843 ———
19875kill_monk_knockedtoback_getup44603 60085–60114 ———
5625kill_monk_offensive_buff35785 1–843 ———
19876kill_monk_offensive_buff44604 60085–60114 ———
21628kill_monk_offensive_buff_short47265 60085–60114 ———
4251kill_monk_ouch_backhand34057 1–843 ———
19877kill_monk_ouch_backhand44605 60085–60114 ———
4252kill_monk_ouch_down34058 1–843 ———
19878kill_monk_ouch_down44606 60085–60114 ———
4253kill_monk_ouch_forehand34059 1–843 ———
19879kill_monk_ouch_forehand44607 60085–60114 ———
6129kill_monk_ouch_thrust37277 1–843 ———
19880kill_monk_ouch_thrust44608 60085–60114 ———
4254kill_monk_parry_backhand34060 1–843 ———
19881kill_monk_parry_backhand44609 60085–60114 ———
4255kill_monk_parry_down34061 1–843 ———
19882kill_monk_parry_down44610 60085–60114 ———
4256kill_monk_parry_forehand34062 1–843 ———
19883kill_monk_parry_forehand44611 60085–60114 ———
6130kill_monk_parry_thrust37278 1–843 ———
19884kill_monk_parry_thrust44612 60085–60114 ———
3680kill_monk_strafe_left33157 1–843 ———
19885kill_monk_strafe_left44613 60085–60114 ———
3681kill_monk_strafe_right33158 1–843 ———
19886kill_monk_strafe_right44614 60085–60114 ———
5626kill_monk_super_buff35786 1–843 ———
19887kill_monk_super_buff44615 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.