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
11714bear_land16922 60085–60114 ———
11715bear_long_fall16923 60085–60114 ———
12064bear_ouch_sound17879 60085–60114 ———
11716bear_run16924 60085–60114 ———
12065bear_sniff_sound17880 60085–60114 ———
12056bear_sprint17869 60085–60114 ———
12055bear_tail17866 60085–60114 ———
11717bear_turn_left16925 60085–60114 ———
11718bear_turn_right16926 60085–60114 ———
11719bear_walk16927 60085–60114 ———
206beckon81 1–843 beckons.beckons %t to follow %g2.—
8104beckon10843 60085–60114 beckons.beckons %t to follow %g2.—
16281beckon_enter27932 60085–60114 ———
16282beckon_exit27933 60085–60114 ———
28796bedjump_0169149 60085–60114 ———
28797bedjump_0269150 60085–60114 ———
207beg82 1–843 begs.begs %t for a favor.—
8105beg10844 60085–60114 begs.begs %t for a favor.—
13263belch_fx20373 60085–60114 ———
28476bellow66193 60085–60114 ———
13352bellyslide20594 60085–60114 ———
1979bene2397 1–843 ———
8106bene10845 60085–60114 ———
11915bf_lightning_gate_rm517512 60085–60114 ———
11916bf_lightning_gate_rm917513 60085–60114 ———
16146bg_achievement_acquired27254 60085–60114 ———
2033big_saw_success2464 1–843 ———
8107big_saw_success10846 60085–60114 ———
2034big_saw_success22465 1–843 ———
8108big_saw_success210847 60085–60114 ———
2035big_smoke2466 1–843 ———
8109big_smoke10848 60085–60114 ———
16621bird_squawk_sound29253 60085–60114 ———
13648bite21209 60085–60114 ———
28635bixie_female_boss_attack66894 60085–60114 ———
28636bixie_female_boss_attack_0166895 60085–60114 ———
28637bixie_female_boss_attack_0266896 60085–60114 ———
28638bixie_female_boss_attack_0366897 60085–60114 ———
28639bixie_female_boss_cast66898 60085–60114 ———
28640bixie_female_boss_charge_up66899 60085–60114 ———
28641bixie_female_boss_dead_enter66900 60085–60114 ———
28642bixie_female_boss_dodge66901 60085–60114 ———
28643bixie_female_boss_dodge_backand66902 60085–60114 ———
28644bixie_female_boss_ouch66903 60085–60114 ———
28645bixie_female_boss_ouch_forehand66904 60085–60114 ———
28646bixie_female_boss_shield_shove66905 60085–60114 ———
28647bixie_female_boss_super_buff66906 60085–60114 ———
28648bixie_female_boss_whiriling_attack66907 60085–60114 ———
28649bixie_female_boss_wild_swing66908 60085–60114 ———
28339blacksmithing65782 60085–60114 ———
29488blade_drop_fx94428 60085–60114 ———
29489blade_rise_fx94429 60085–60114 ———
376blammo83 1–843 ———
8112blammo10851 60085–60114 ———
11987blast_bolt17686 60085–60114 ———
17353blast_rune_ring32048 60085–60114 ———
31833bleed0 1–843 bleeds quietly.bleeds all over %t.—
31832bleed0 60085–60114 bleeds quietly.bleeds all over %t.—
377blink84 1–843 ———
8113blink10852 60085–60114 ———
28877blood_bone_spray73057 60085–60114 ———
16318blue_crystal_dead28066 60085–60114 ———
16319blue_crystal_on28067 60085–60114 ———
31836blush0 0–unlimited blushes.blushes at %t.—
2055bl_castswirls_snd2522 1–843 ———
8110bl_castswirls_snd10849 60085–60114 ———
1428bl_start_particles_snd1688 1–843 ———
8111bl_start_particles_snd10850 60085–60114 ———
16631bodyfall29299 60085–60114 ———
1613boe_endspinner_sound1921 1–843 ———
8114boe_endspinner_sound10853 60085–60114 ———
1614boe_open_burst_sound1922 1–843 ———
8115boe_open_burst_sound10854 60085–60114 ———
1615boe_shield_tone_sound1923 1–843 ———
8116boe_shield_tone_sound10855 60085–60114 ———
209boggle85 1–843 boggles.boggles at the opportunities presented by %t.—
8117boggle10856 60085–60114 boggles.boggles at the opportunities presented by %t.—
1980boilover012398 1–843 ———
8118boilover0110857 60085–60114 ———
28738bolgin_bellow67941 60085–60114 ———
28739bolgin_dead_enter67942 60085–60114 ———
28740bolgin_drinking67943 60085–60114 ———
28741bolgin_kick67944 60085–60114 ———
28742bolgin_sit_exit67945 60085–60114 ———
28743bolgin_throw67946 60085–60114 ———
28744bolgin_throw_down67947 60085–60114 ———
28745bolgin_untrained_idle_0167948 60085–60114 ———
29621bomb96633 60085–60114 ———
29884bomb_explode_snd106156 60085–60114 ———
29189bone_cyclone_gather_fx86521 60085–60114 ———
2045book_white2481 1–843 ———
8119book_white10858 60085–60114 ———
13629boom_sound21145 60085–60114 ———
1658bostaff_attack1966 1–843 ———
7044bostaff_attack1966 60085–60114 ———
1659bostaff_attack011967 1–843 ———
7045bostaff_attack011967 60085–60114 ———
1660bostaff_attack021968 1–843 ———
7046bostaff_attack021968 60085–60114 ———
1661bostaff_attack031969 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.