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
12882design_theer_obj_passion19687 60085–60114 ———
12883design_theer_obj_water19688 60085–60114 ———
12884design_theer_obj_wrath19689 60085–60114 ———
12885design_theer_symbol_blast19690 60085–60114 ———
13358design_theer_symbol_blast_circle20622 60085–60114 ———
13264design_theer_symbol_blue20378 60085–60114 ———
12886design_theer_symbol_evil19691 60085–60114 ———
12887design_theer_symbol_forrest19692 60085–60114 ———
12888design_theer_symbol_good19693 60085–60114 ———
13265design_theer_symbol_green20379 60085–60114 ———
12889design_theer_symbol_none19694 60085–60114 ———
12890design_theer_symbol_passion19695 60085–60114 ———
12891design_theer_symbol_water19696 60085–60114 ———
12892design_theer_symbol_wrath19697 60085–60114 ———
12893design_theer_wrath_blast19698 60085–60114 ———
16280design_third_circle_warning_zone27925 60085–60114 ———
16346design_third_circle_warning_zone_blue28165 60085–60114 ———
16347design_third_circle_warning_zone_gold28166 60085–60114 ———
12794design_th_platform19537 60085–60114 ———
12795design_th_platform_collapse19538 60085–60114 ———
12796design_th_platform_rift19539 60085–60114 ———
14298design_timestop_buff22759 60085–60114 ———
13821design_tofs_jail_barrier21632 60085–60114 ———
14165design_tofs_portal_base_fx22432 60085–60114 ———
13822design_tofs_water_orb21639 60085–60114 ———
16429design_tof_rock_collapse0128520 60085–60114 ———
16430design_tof_rock_collapse0228521 60085–60114 ———
16431design_tof_rock_collapse0328522 60085–60114 ———
16432design_tof_rock_collapse0428523 60085–60114 ———
16627design_tourbillion_flux_fx29275 60085–60114 ———
16628design_tourbillion_persist_fx29276 60085–60114 ———
28730design_tov_machine_fx67814 60085–60114 ———
28778design_tov_necro_barrier68278 60085–60114 ———
28731design_tov_pus_drips_fx67815 60085–60114 ———
28795design_tov_wall_collapse69011 60085–60114 ———
13079design_toxic_sphere019975 60085–60114 ———
13080design_toxic_sphere0119976 60085–60114 ———
13081design_toxic_sphere0219977 60085–60114 ———
13082design_toxic_sphere0319978 60085–60114 ———
13083design_toxic_sphere0419979 60085–60114 ———
13084design_toxic_sphere0519980 60085–60114 ———
29291design_transform_statue93062 60085–60114 ———
8623design_trap_spear11373 60085–60114 ———
8624design_trap_weight11374 60085–60114 ———
29675design_tribunal_guilty_dome98020 60085–60114 ———
29676design_tribunal_innocent_dome98021 60085–60114 ———
14299design_twister_blaster_buff22760 60085–60114 ———
17169design_undead_ward31261 60085–60114 ———
12451design_unsummon18765 60085–60114 ———
16320design_urn_shatter28072 60085–60114 ———
28384design_vanish65879 60085–60114 ———
12525design_vd_bone_swirls18923 60085–60114 ———
12526design_vd_portal18924 60085–60114 ———
16349design_vd_portal_red28189 60085–60114 ———
12551design_vd_shrine_blast19003 60085–60114 ———
12588design_vd_shrine_bridge19114 60085–60114 ———
12604design_vd_shrine_bridge119153 60085–60114 ———
12605design_vd_shrine_bridge219154 60085–60114 ———
12589design_vd_shrine_dome19115 60085–60114 ———
12628design_vd_teleport_fx19230 60085–60114 ———
11224design_veeshans_barrier16080 60085–60114 ———
11225design_veeshans_rock_drop16086 60085–60114 ———
13817design_vekascent_ice_bridge21605 60085–60114 ———
13816design_vekascent_lifebringer21598 60085–60114 ———
13826design_vekfortress_water_blast21656 60085–60114 ———
13827design_vekfortress_water_warning21657 60085–60114 ———
13846design_vekpools_flower_fx21709 60085–60114 ———
13828design_vekpools_water_gush21658 60085–60114 ———
13829design_vekpools_water_warning21659 60085–60114 ———
14031design_velkslab_flame_arch22047 60085–60114 ———
13830design_velks_breakable_wall21666 60085–60114 ———
13831design_velks_breakable_wall_blue21667 60085–60114 ———
14162design_vel_cannon_fire22409 60085–60114 ———
28455design_vel_flaming_scar66112 60085–60114 ———
28732design_vel_landmasses67816 60085–60114 ———
29804design_vertical_target_warning_fx102473 60085–60114 ———
14125design_vine_door_grow22276 60085–60114 ———
8625design_vision_plane_druid_ring11375 60085–60114 ———
13727design_vision_plane_map_bell21432 60085–60114 ———
12546design_vision_plane_spires18973 60085–60114 ———
11234design_vision_teleport_traks_lair16108 60085–60114 ———
11222design_vision_teleport_veeshans16066 60085–60114 ———
12224design_void_barrier18244 60085–60114 ———
12255design_void_dome18322 60085–60114 ———
12268design_void_dome_blue18355 60085–60114 ———
12269design_void_dome_red18356 60085–60114 ———
12014design_void_energy_activate17757 60085–60114 ———
13333design_void_energy_pool20548 60085–60114 ———
11840design_void_eyes17344 60085–60114 ———
11841design_void_portal17345 60085–60114 ———
28490design_void_portal_drinal66211 60085–60114 ———
12346design_void_shield18505 60085–60114 ———
12527design_void_tainted18925 60085–60114 ———
8626design_vortex_portal_blue11376 60085–60114 ———
8627design_vortex_portal_green11377 60085–60114 ———
8628design_vortex_portal_oval_blue11378 60085–60114 ———
28274design_wall_spider_crawl65535 60085–60114 ———
11694design_warg_carrot16881 60085–60114 ———
12212design_water_barrier_round18204 60085–60114 ———
28960design_water_blast76681 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.