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
14810reforge_acid_tier0124195 60085–60114 ———
14811reforge_acid_tier0224196 60085–60114 ———
14812reforge_acid_tier0324197 60085–60114 ———
14813reforge_acid_tier0424198 60085–60114 ———
14814reforge_acid_tier0524199 60085–60114 ———
14804reforge_blood_tier0124176 60085–60114 ———
14805reforge_blood_tier0224177 60085–60114 ———
14806reforge_blood_tier0324178 60085–60114 ———
14807reforge_blood_tier0424179 60085–60114 ———
14808reforge_blood_tier0524180 60085–60114 ———
14820reforge_electricity_tier0124212 60085–60114 ———
14821reforge_electricity_tier0224213 60085–60114 ———
14822reforge_electricity_tier0324214 60085–60114 ———
14823reforge_electricity_tier0424215 60085–60114 ———
14824reforge_electricity_tier0524216 60085–60114 ———
14794reforge_fire_tier0124152 60085–60114 ———
14795reforge_fire_tier0224153 60085–60114 ———
14796reforge_fire_tier0324154 60085–60114 ———
14797reforge_fire_tier0424155 60085–60114 ———
14798reforge_fire_tier0524156 60085–60114 ———
14799reforge_ice_tier0124164 60085–60114 ———
14800reforge_ice_tier0224165 60085–60114 ———
14801reforge_ice_tier0324166 60085–60114 ———
14802reforge_ice_tier0424167 60085–60114 ———
14803reforge_ice_tier0524168 60085–60114 ———
14846reforge_illusion_tier0124252 60085–60114 ———
14847reforge_illusion_tier0224253 60085–60114 ———
14848reforge_illusion_tier0324254 60085–60114 ———
14849reforge_illusion_tier0424255 60085–60114 ———
14850reforge_illusion_tier0524256 60085–60114 ———
14789reforge_nature_tier0124140 60085–60114 ———
14790reforge_nature_tier0224141 60085–60114 ———
14791reforge_nature_tier0324142 60085–60114 ———
14792reforge_nature_tier0424143 60085–60114 ———
14793reforge_nature_tier0524144 60085–60114 ———
14840reforge_pestilence_tier0124239 60085–60114 ———
14841reforge_pestilence_tier0224240 60085–60114 ———
14842reforge_pestilence_tier0324241 60085–60114 ———
14843reforge_pestilence_tier0424242 60085–60114 ———
14844reforge_pestilence_tier0524243 60085–60114 ———
14851reforge_radiance_tier0124257 60085–60114 ———
14852reforge_radiance_tier0224258 60085–60114 ———
14853reforge_radiance_tier0324259 60085–60114 ———
14854reforge_radiance_tier0424260 60085–60114 ———
14855reforge_radiance_tier0524261 60085–60114 ———
14815reforge_runic_tier0124200 60085–60114 ———
14816reforge_runic_tier0224201 60085–60114 ———
14817reforge_runic_tier0324202 60085–60114 ———
14818reforge_runic_tier0424203 60085–60114 ———
14819reforge_runic_tier0524204 60085–60114 ———
28822reindeer_mount_fly_whoosh70479 60085–60114 ———
28823reindeer_mount_idle0170480 60085–60114 ———
28824reindeer_mount_jump70481 60085–60114 ———
28825reindeer_mount_jump_substitute70482 60085–60114 ———
28826reindeer_mount_run70483 60085–60114 ———
28827reindeer_mount_snort70484 60085–60114 ———
28828reindeer_mount_snort_walk70485 60085–60114 ———
28829reindeer_mount_trot70486 60085–60114 ———
28830reindeer_mount_walk70487 60085–60114 ———
13808removemask_enter21574 60085–60114 ———
13809removemask_exit21575 60085–60114 ———
13810removemask_idle21576 60085–60114 ———
1181resilt_end_sound1422 1–843 ———
9336resilt_end_sound12091 60085–60114 ———
1414rest1674 1–843 ———
9337rest12092 60085–60114 ———
14944result_aa_claw_marks24542 60085–60114 ———
14201result_aa_cold_mesh_grow22544 60085–60114 ———
14202result_aa_crush_blast22545 60085–60114 ———
29716result_aa_dagger_storm_p2p98894 60085–60114 ———
28261result_aa_essence_channel_p2p65512 60085–60114 ———
14302result_aa_fire_comet22772 60085–60114 ———
14203result_aa_focus_spark22546 60085–60114 ———
14989result_aa_icicle_spikes24665 60085–60114 ———
14271result_aa_lightning_clash22659 60085–60114 ———
14060result_aa_lightning_debuff22124 60085–60114 ———
14204result_aa_manawall22547 60085–60114 ———
14205result_aa_mesh_grow22548 60085–60114 ———
14218result_aa_note_dagger_p2p22581 60085–60114 ———
14272result_aa_power_convert22660 60085–60114 ———
14273result_aa_protection_ward22661 60085–60114 ———
14197result_aa_pulsing_ward22533 60085–60114 ———
7611result_aa_pyramid7442 60085–60114 ———
14990result_aa_quick_heal24666 60085–60114 ———
14206result_aa_shadow_blob_p2p22549 60085–60114 ———
7602result_aa_shaman_ghost_wolf6967 60085–60114 ———
14214result_aa_slash_hit22570 60085–60114 ———
14274result_aa_soul_burn22662 60085–60114 ———
14207result_aa_swap_hate22550 60085–60114 ———
14985result_aa_tameable_fx24647 60085–60114 ———
14303result_aa_taunt22773 60085–60114 ———
14198result_aa_totem_blast22534 60085–60114 ———
14061result_aa_ward_column_blast22125 60085–60114 ———
14215result_aa_watchful_eyes22571 60085–60114 ———
14991result_aa_windy_ward24667 60085–60114 ———
14916result_aa_wispy_ward24443 60085–60114 ———
10877result_acid_rain_damage14895 60085–60114 ———
10878result_acid_storm_damage14896 60085–60114 ———
16470result_aggression_removal28796 60085–60114 ———
16471result_aggression_removal_p2p28797 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.