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
14366design_chronoportal_rift22945 60085–60114 ———
16277design_circle_warning_zone27922 60085–60114 ———
16340design_circle_warning_zone_blue28159 60085–60114 ———
16341design_circle_warning_zone_gold28160 60085–60114 ———
12449design_clouds_parting18763 60085–60114 ———
16147design_cloudy_dream27259 60085–60114 ———
29511design_cocoon_unravel195135 60085–60114 ———
29512design_cocoon_unravel295136 60085–60114 ———
29513design_cocoon_unravel395137 60085–60114 ———
29514design_cocoon_unravel495138 60085–60114 ———
12459design_coffin_lid18790 60085–60114 ———
12444design_coin_drop18748 60085–60114 ———
13981design_coldain_prayer_shawl21914 60085–60114 ———
13989design_coldain_ring_adamantium21932 60085–60114 ———
13990design_coldain_ring_copper21933 60085–60114 ———
13991design_coldain_ring_frostreaver21934 60085–60114 ———
13992design_coldain_ring_gold21935 60085–60114 ———
13993design_coldain_ring_hero21936 60085–60114 ———
13994design_coldain_ring_mithril21937 60085–60114 ———
13995design_coldain_ring_obsidian21938 60085–60114 ———
13996design_coldain_ring_platinum21939 60085–60114 ———
13997design_coldain_ring_silver21940 60085–60114 ———
13998design_coldain_ring_velium21941 60085–60114 ———
16626design_comm_on29274 60085–60114 ———
28487design_comm_on_drinal66208 60085–60114 ———
16037design_corrupted26931 60085–60114 ———
13600design_crater_blast21072 60085–60114 ———
12577design_crossed_swords19087 60085–60114 ———
13675design_crow_shoulder21296 60085–60114 ———
14312design_crysal_wall22817 60085–60114 ———
13338design_crystal_drop_impact20560 60085–60114 ———
29004design_crystal_explode78955 60085–60114 ———
14313design_crystal_wall22818 60085–60114 ———
29650design_cylinder_cage97159 60085–60114 ———
29651design_cylinder_spawn_warning97160 60085–60114 ———
16159design_damage_level127366 60085–60114 ———
16160design_damage_level227367 60085–60114 ———
16161design_damage_level327368 60085–60114 ———
16162design_damage_level427369 60085–60114 ———
16163design_damage_level527370 60085–60114 ———
28917design_dark_cloudy_vortex_floor75312 60085–60114 ———
29205design_dark_froth87594 60085–60114 ———
14308design_dark_ice_wall22806 60085–60114 ———
29103design_dark_mine_alert82732 60085–60114 ———
16232design_dark_portal27675 60085–60114 ———
29100design_dark_purple_mist82562 60085–60114 ———
12254design_dark_rez18321 60085–60114 ———
12452design_death_beam_p2p18771 60085–60114 ———
28940design_debuff_disease_poison76291 60085–60114 ———
28941design_debuff_fire_ice76292 60085–60114 ———
28942design_debuff_magic_mental76293 60085–60114 ———
28912design_dirt_rock_wall75077 60085–60114 ———
28913design_dirt_rock_wall_collapse75078 60085–60114 ———
29866design_disease_portal105184 60085–60114 ———
16402design_distorted28421 60085–60114 ———
14192design_distort_face22521 60085–60114 ———
16435design_divine_barrier28570 60085–60114 ———
13729design_djinn_pod_cloud21449 60085–60114 ———
17314design_dome_of_silence31824 60085–60114 ———
28931design_door_barrier_purple75949 60085–60114 ———
28932design_door_barrier_red75950 60085–60114 ———
28933design_door_barrier_yellow75951 60085–60114 ———
17235design_door_smoke31397 60085–60114 ———
28798design_dragon_teleport69156 60085–60114 ———
13173design_drain_theer_fx20123 60085–60114 ———
16845design_drake_flame_attack0130178 60085–60114 ———
16846design_drake_flame_attack0230179 60085–60114 ———
14540design_drake_pet23488 60085–60114 ———
16421design_drinals_floor_panel_blue28485 60085–60114 ———
16422design_drinals_floor_panel_challege_blue28486 60085–60114 ———
16423design_drinals_floor_panel_challege_red28487 60085–60114 ———
16424design_drinals_floor_panel_red28488 60085–60114 ———
16388design_drinals_portal28331 60085–60114 ———
16425design_drinals_vessel_arc_blue28489 60085–60114 ———
16426design_drinals_vessel_arc_red28490 60085–60114 ———
13346design_druidring_burst_fx20577 60085–60114 ———
13347design_druidring_fx20578 60085–60114 ———
28821design_druid_ring_static70370 60085–60114 ———
28813design_dust_spray69585 60085–60114 ———
29585design_earthquake_area95704 60085–60114 ———
14414design_eastern_wastes_spire_portal23057 60085–60114 ———
28399design_egg_shake65958 60085–60114 ———
28400design_egg_splode65959 60085–60114 ———
14282design_electric_barrier22696 60085–60114 ———
12208design_electric_barrier_round18200 60085–60114 ———
13603design_electro_disease_portal21082 60085–60114 ———
13959design_elemental_coalescing21873 60085–60114 ———
12178design_elemental_wall18107 60085–60114 ———
12179design_elemental_wall_breaking18108 60085–60114 ———
14692design_embedded_swords23862 60085–60114 ———
12460design_erollisi_essence18791 60085–60114 ———
12461design_erollisi_evil_essence18792 60085–60114 ———
12379design_erudin_column_charge18581 60085–60114 ———
12359design_erudin_column_fx18540 60085–60114 ———
12384design_erudin_gazer_barrier18593 60085–60114 ———
12386design_erudin_gun_plugged18601 60085–60114 ———
12387design_erudin_gun_unplugged18602 60085–60114 ———
12404design_erudin_teleport_good18649 60085–60114 ———
12405design_erudin_teleport_trap18650 60085–60114 ———
12375design_erudin_wind_boost18570 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.