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
1412m1672 1–843 ———
9049m11803 60085–60114 ———
16259mace_blast27820 60085–60114 ———
12661mage_combo_trigger19289 60085–60114 ———
29011magic_shield79131 60085–60114 ———
28545male_female_bixie_attack66335 60085–60114 ———
28546male_female_bixie_attack_0166336 60085–60114 ———
28547male_female_bixie_attack_0266337 60085–60114 ———
28548male_female_bixie_attack_0366338 60085–60114 ———
28549male_female_bixie_charge_up66339 60085–60114 ———
28550male_female_bixie_combat_enter66340 60085–60114 ———
28551male_female_bixie_combat_exit66341 60085–60114 ———
28552male_female_bixie_dead_enter66342 60085–60114 ———
28553male_female_bixie_dodge66343 60085–60114 ———
28554male_female_bixie_dodge_backhand66344 60085–60114 ———
28555male_female_bixie_dodge_forehand66345 60085–60114 ———
28556male_female_bixie_dual_wield_attack66346 60085–60114 ———
28557male_female_bixie_dual_wield_attack_0366347 60085–60114 ———
28558male_female_bixie_dual_wield_dodge_ba66348 60085–60114 ———
28559male_female_bixie_dual_wield_enter66349 60085–60114 ———
28560male_female_bixie_dual_wield_exit66350 60085–60114 ———
28561male_female_bixie_dual_wield_ouch_bac66351 60085–60114 ———
28562male_female_bixie_fs66352 60085–60114 ———
28563male_female_bixie_knock_back66353 60085–60114 ———
28564male_female_bixie_knock_back_get_up66354 60085–60114 ———
28565male_female_bixie_knock_to_knees66355 60085–60114 ———
28566male_female_bixie_magic_cast_end66356 60085–60114 ———
28567male_female_bixie_magic_cast_start66357 60085–60114 ———
28568male_female_bixie_ouch66358 60085–60114 ———
28569male_female_bixie_ouch_backhand66359 60085–60114 ———
28570male_female_bixie_ouch_forehand66360 60085–60114 ———
28571male_female_bixie_shield_shove66361 60085–60114 ———
28572male_female_bixie_whirling_attack66362 60085–60114 ———
28573male_female_bixie_wild_swing66363 60085–60114 ———
28574male_female_bixie_wing_flap66364 60085–60114 ———
28786mana_drain_ring68433 60085–60114 ———
11323manipulate16262 60085–60114 ———
28342manipulate_idle65791 60085–60114 ———
9054mcp_shield11808 60085–60114 ———
2786mc_castend_snd3922 1–843 ———
9050mc_castend_snd11804 60085–60114 ———
2787mc_castopen_snd3923 1–843 ———
9051mc_castopen_snd11805 60085–60114 ———
9052mc_manna_channel_snd11806 60085–60114 ———
2788mc_resultwhip_snd3924 1–843 ———
9053mc_resultwhip_snd11807 60085–60114 ———
14148measure22377 60085–60114 ———
11777meditate17156 60085–60114 ———
2714mediumdamage_enter3740 1–843 ———
9055mediumdamage_enter11809 60085–60114 ———
2733mediumdamage_idle3784 1–843 ———
9056mediumdamage_idle11810 60085–60114 ———
2012metalworking_failure2441 1–843 ———
9057metalworking_failure11811 60085–60114 ———
1509metalworking_idle1810 1–843 ———
9058metalworking_idle11812 60085–60114 ———
2013metalworking_success2442 1–843 ———
9059metalworking_success11813 60085–60114 ———
15923mid26417 60085–60114 ———
15938mid_brows_down26494 60085–60114 ———
15939mid_brows_up26495 60085–60114 ———
29293mining93067 60085–60114 ———
2254mining_digging2811 1–843 ———
7216mining_digging2811 60085–60114 ———
2255mining_success2812 1–843 ———
7217mining_success2812 60085–60114 ———
11781miragul_puzzle_blue_flasher17173 60085–60114 ———
11782miragul_puzzle_blue_runes17174 60085–60114 ———
11783miragul_puzzle_green_flasher17175 60085–60114 ———
11784miragul_puzzle_green_runes17176 60085–60114 ———
11785miragul_puzzle_lightning_orb17177 60085–60114 ———
11786miragul_puzzle_red_flasher17178 60085–60114 ———
11787miragul_puzzle_red_runes17179 60085–60114 ———
11788miragul_puzzle_spire_beams17180 60085–60114 ———
11789miragul_puzzle_splash_column17181 60085–60114 ———
11790miragul_puzzle_yellow_flasher17182 60085–60114 ———
11791miragul_puzzle_yellow_runes17183 60085–60114 ———
17439miss32493 60085–60114 ———
28705missle_grounded67455 60085–60114 ———
28458missle_mode66117 60085–60114 ———
28987missle_statue77775 60085–60114 ———
17320misst_target_trigger31842 60085–60114 ———
2903miss_target_tigger4405 1–843 ———
9060miss_target_tigger11814 60085–60114 ———
939miss_target_trigger1144 1–843 ———
9061miss_target_trigger11815 60085–60114 ———
11985mistmoore_coffin_glow17675 60085–60114 ———
11974mistmoore_energy_flow0117658 60085–60114 ———
11975mistmoore_energy_flow0217659 60085–60114 ———
11976mistmoore_energy_flow0317660 60085–60114 ———
11977mistmoore_energy_flow0417661 60085–60114 ———
11978mistmoore_energy_flow0517662 60085–60114 ———
11746mistmoore_runes_fx17042 60085–60114 ———
11747mistmoore_sun_fx17043 60085–60114 ———
2014molten_metal2443 1–843 ———
9062molten_metal11816 60085–60114 ———
967monk_attack1181 1–843 ———
6778monk_attack1181 60085–60114 ———
984monk_attack011201 1–843 ———
6779monk_attack011201 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.