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
13002design_erudite_switch_evil19848 60085–60114 ———
13003design_erudite_switch_good19849 60085–60114 ———
12679design_eru_alcove_broken19330 60085–60114 ———
12680design_eru_alcove_working19331 60085–60114 ———
12402design_eru_book_cyclone18642 60085–60114 ———
12403design_eru_book_ramp18643 60085–60114 ———
12876design_eru_column_protection19676 60085–60114 ———
12675design_eru_lightning_barrier19315 60085–60114 ———
12603design_eru_light_bridge19152 60085–60114 ———
12681design_eru_platform_discharge19332 60085–60114 ———
12682design_eru_platform_summon19333 60085–60114 ———
12677design_eru_ring_boundary19322 60085–60114 ———
12676design_eru_water_barrier19316 60085–60114 ———
12357design_er_light_beam_p2p18533 60085–60114 ———
12358design_er_target_cube18534 60085–60114 ———
16551design_etherene_fire29063 60085–60114 ———
28725design_ethernere_cage67809 60085–60114 ———
28791design_ethernere_speed_boost_buff68722 60085–60114 ———
28792design_ethernere_speed_drop_debuff68723 60085–60114 ———
16552design_ethernere_vines29064 60085–60114 ———
29810design_explode102897 60085–60114 ———
28316design_explode_fx65695 60085–60114 ———
29802design_face_target_reticle102471 60085–60114 ———
12244design_fae_drake_pet18297 60085–60114 ———
11922design_fairy_pet17534 60085–60114 ———
16403design_fear28422 60085–60114 ———
16869design_feargate_portal30252 60085–60114 ———
29244design_fear_devastation90779 60085–60114 ———
29248design_fear_devastation_blast90977 60085–60114 ———
8584design_fear_gate_flash11334 60085–60114 ———
12446design_fear_portal18755 60085–60114 ———
12578design_feet_trail_clockwork19088 60085–60114 ———
12579design_feet_trail_confusion19089 60085–60114 ———
13620design_feet_trail_leaves21127 60085–60114 ———
12580design_feet_trail_rose_petals19090 60085–60114 ———
12581design_feet_trail_shamrocks19091 60085–60114 ———
12582design_feet_trail_skulls19092 60085–60114 ———
12583design_feet_trail_snow19093 60085–60114 ———
29811design_fire102898 60085–60114 ———
29020design_fireball_area_warning79630 60085–60114 ———
8585design_fireflies11335 60085–60114 ———
8586design_fireflies_evil11336 60085–60114 ———
11018design_fireworks_show_1015301 60085–60114 ———
11019design_fireworks_show_215302 60085–60114 ———
11020design_fireworks_show_415303 60085–60114 ———
11021design_fireworks_show_615304 60085–60114 ———
13601design_fire_area21073 60085–60114 ———
12209design_fire_barrier_round18201 60085–60114 ———
14167design_fire_big22440 60085–60114 ———
16291design_fire_doorway27977 60085–60114 ———
12574design_fire_elemental_smoke_blast19079 60085–60114 ———
14168design_fire_green22441 60085–60114 ———
12559design_fire_lit19034 60085–60114 ———
16294design_fire_pillar27990 60085–60114 ———
14169design_fire_small22442 60085–60114 ———
12165design_fire_wall18079 60085–60114 ———
12166design_fire_wall_opening18080 60085–60114 ———
11926design_fist_fireworks17543 60085–60114 ———
29820design_flak_cannon103191 60085–60114 ———
29821design_flak_impact_zone103192 60085–60114 ———
28578design_flaming_mud66378 60085–60114 ———
12470design_flaming_pumpkin_p2p18815 60085–60114 ———
10843design_flying_barrel14576 60085–60114 ———
14275design_fortress_docks_bluefire22669 60085–60114 ———
14992design_frostfell_candyfx0124674 60085–60114 ———
14993design_frostfell_candyfx0224675 60085–60114 ———
14994design_frostfell_candyfx0324676 60085–60114 ———
14995design_frostfell_candyfx0424677 60085–60114 ———
10771design_frostfell_candy_canes13937 60085–60114 ———
14738design_frostfell_portal_new23983 60085–60114 ———
29013design_full_area_lazer_beam_dark79298 60085–60114 ———
29014design_full_area_lazer_beam_warning79299 60085–60114 ———
12570design_furnace_fire_blast19063 60085–60114 ———
12259design_gas_fire_blast18333 60085–60114 ———
12266design_gas_fire_blast_up18353 60085–60114 ———
12260design_gas_fire_warning18334 60085–60114 ———
12267design_gas_fire_warning_up18354 60085–60114 ———
12365design_gazer_eye_beam_p2p18553 60085–60114 ———
12380design_gazer_main_eye_beam_p2p18582 60085–60114 ———
13623design_gf_cleansed_flowers21137 60085–60114 ———
13624design_gf_poisoned_vines21138 60085–60114 ———
13616design_gf_tree_fire21116 60085–60114 ———
13617design_gf_tree_fire_big21117 60085–60114 ———
16932design_ghostly_seafoam30647 60085–60114 ———
28272design_ghosts65533 60085–60114 ———
13676design_ghost_wurm_shoulder21297 60085–60114 ———
28330design_glow65719 60085–60114 ———
15110design_glow_eyes_blue24981 60085–60114 ———
14786design_glow_eyes_green24121 60085–60114 ———
12785design_glow_full19515 60085–60114 ———
12786design_glow_low19516 60085–60114 ———
12787design_glow_med19517 60085–60114 ———
14415design_gnomish_wormhole23058 60085–60114 ———
14416design_gnomish_wormhole_exit23059 60085–60114 ———
13304design_goblin_launch20453 60085–60114 ———
12571design_golden_fire_lit19064 60085–60114 ———
28432design_golem_green_fx66078 60085–60114 ———
28433design_golem_purple_fx66079 60085–60114 ———
28434design_golem_white_fx66080 60085–60114 ———
28435design_golem_yellow_fx66081 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.