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
28428design_barrier_green_fx66074 60085–60114 ———
28429design_barrier_purple_fx66075 60085–60114 ———
12356design_barrier_void18532 60085–60114 ———
28430design_barrier_white_fx66076 60085–60114 ———
28431design_barrier_yellow_fx66077 60085–60114 ———
13156design_battleground_tower_blue20089 60085–60114 ———
13157design_battleground_tower_red20090 60085–60114 ———
14050design_bat_appear22098 60085–60114 ———
12395design_bat_pet18617 60085–60114 ———
14076design_bat_smoke_attack22175 60085–60114 ———
14051design_bat_vanish22099 60085–60114 ———
14542design_bixie_face_splat23496 60085–60114 ———
12344design_bixie_pet18503 60085–60114 ———
28398design_bixie_summon_portal65957 60085–60114 ———
28292design_black_hole_area65630 60085–60114 ———
28293design_black_hole_warning65631 60085–60114 ———
16935design_blast_cage130660 60085–60114 ———
16936design_blast_cage230661 60085–60114 ———
16937design_blast_cage330662 60085–60114 ———
29172design_bloody_face_splat85234 60085–60114 ———
14279design_blood_dervish22693 60085–60114 ———
14280design_blood_fountain_blast22694 60085–60114 ———
14281design_blood_fountain_fx22695 60085–60114 ———
11205design_blood_puddle16027 60085–60114 ———
29162design_blood_pus_puddle84243 60085–60114 ———
14172design_blue_fire_wall22452 60085–60114 ———
13126design_blue_flag_pickup20040 60085–60114 ———
13154design_blue_flag_trail20082 60085–60114 ———
17093design_blue_pool31045 60085–60114 ———
12005design_blue_sun17741 60085–60114 ———
29504design_boiling_disease_area94917 60085–60114 ———
29505design_boiling_disease_warning94918 60085–60114 ———
29096design_boiling_energy_area82216 60085–60114 ———
12262design_boiling_energy_blast18342 60085–60114 ———
29065design_boiling_energy_ring81212 60085–60114 ———
12263design_boiling_energy_warning18343 60085–60114 ———
17395design_boiling_flames_warning32319 60085–60114 ———
28424design_boiling_honey66047 60085–60114 ———
13640design_boiling_pool_fx21192 60085–60114 ———
29296design_boiling_water_area93271 60085–60114 ———
29297design_boiling_water_warning93272 60085–60114 ———
28812design_bonestorm69584 60085–60114 ———
12345design_bones_shockwave18504 60085–60114 ———
12517design_bone_barrier18903 60085–60114 ———
28807design_bone_cage69372 60085–60114 ———
28808design_bone_cage_blast69373 60085–60114 ———
29663design_bone_column_fire97594 60085–60114 ———
29081design_bone_explode81633 60085–60114 ———
29649design_bone_kobold_cage97158 60085–60114 ———
28811design_bone_spray69583 60085–60114 ———
29175design_bone_wall_blast85434 60085–60114 ———
29176design_bone_wall_build85435 60085–60114 ———
13641design_book_blast21193 60085–60114 ———
12430design_book_shield118721 60085–60114 ———
12431design_book_shield218722 60085–60114 ———
12432design_book_shield318723 60085–60114 ———
13642design_book_summon21194 60085–60114 ———
12433design_book_summon118724 60085–60114 ———
12434design_book_summon218725 60085–60114 ———
12435design_book_summon318726 60085–60114 ———
13803design_book_summon_blue21555 60085–60114 ———
13804design_book_summon_red21556 60085–60114 ———
12626design_boulder_roll19228 60085–60114 ———
12627design_boulder_shatter19229 60085–60114 ———
28582design_break_boards66491 60085–60114 ———
17315design_break_chains31835 60085–60114 ———
16791design_bristlebane_collect_gold29842 60085–60114 ———
16792design_bristlebane_collect_green29843 60085–60114 ———
16793design_bristlebane_collect_red29844 60085–60114 ———
16794design_bristlebane_fish_boost29845 60085–60114 ———
16938design_cage130663 60085–60114 ———
16939design_cage230664 60085–60114 ———
16940design_cage330665 60085–60114 ———
28785design_call_of_storms_red68430 60085–60114 ———
11939design_cannon_blast17583 60085–60114 ———
11940design_cannon_chargeup17584 60085–60114 ———
29809design_cannon_fire102896 60085–60114 ———
2820design_cast_inquisitor4009 1–843 ———
7428design_cast_inquisitor4009 60085–60114 ———
3085design_cast_vision_ap24995 1–843 ———
7520design_cast_vision_ap24995 60085–60114 ———
3062design_cast_vision_living_tombs4825 1–843 ———
7508design_cast_vision_living_tombs4825 60085–60114 ———
2821design_cast_vision_nek4010 1–843 ———
7429design_cast_vision_nek4010 60085–60114 ———
11659design_cast_vision_shardofhate16807 60085–60114 ———
11984design_chained17673 60085–60114 ———
11983design_chain_release17672 60085–60114 ———
29253design_chandelier_drop91378 60085–60114 ———
29254design_chandelier_idle91379 60085–60114 ———
11198design_charasis_beams_purple16003 60085–60114 ———
11199design_charasis_beams_turquoise16004 60085–60114 ———
11213design_charasis_theater_fx16046 60085–60114 ———
11214design_charasis_vision_fens16047 60085–60114 ———
11215design_charasis_vision_jarsath16048 60085–60114 ———
11216design_charasis_vision_kunzar16049 60085–60114 ———
11217design_charasis_vision_kylong16050 60085–60114 ———
11211design_charasis_windfan_fx16039 60085–60114 ———
13344design_chessboard_collapse_fx20575 60085–60114 ———
13345design_chessboard_static_fx20576 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.