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
14314design_green_crystals_fall22819 60085–60114 ———
16295design_green_light_beam27991 60085–60114 ———
11347design_green_mist16318 60085–60114 ———
16036design_groundportal_rift26920 60085–60114 ———
16396design_groundportal_rift_gehein28371 60085–60114 ———
28815design_groundportal_rift_yellow69729 60085–60114 ———
12447design_growth_portal18756 60085–60114 ———
12400design_guardian_wisp_summon_p2p18634 60085–60114 ———
13625design_guk_portal21139 60085–60114 ———
16278design_half_circle_warning_zone27923 60085–60114 ———
16342design_half_circle_warning_zone_blue28161 60085–60114 ———
16343design_half_circle_warning_zone_gold28162 60085–60114 ———
29870design_half_ring_blue105395 60085–60114 ———
29871design_half_ring_green105396 60085–60114 ———
29872design_half_ring_purple105397 60085–60114 ———
29873design_half_ring_red105398 60085–60114 ———
29874design_half_ring_white105399 60085–60114 ———
29875design_half_ring_yellow105400 60085–60114 ———
14572design_hands_trail_clockwork23579 60085–60114 ———
12331design_hand_energy_artifact18471 60085–60114 ———
13348design_harpoon_fire20579 60085–60114 ———
13349design_harpoon_load20580 60085–60114 ———
13060design_hatched_eggs19914 60085–60114 ———
14135design_hawk_release22316 60085–60114 ———
8587design_hearts_all11337 60085–60114 ———
8588design_hearts_big_all11338 60085–60114 ———
8589design_hearts_big_blue11339 60085–60114 ———
8590design_hearts_big_purple11340 60085–60114 ———
8591design_hearts_big_red11341 60085–60114 ———
8592design_hearts_blue11342 60085–60114 ———
8593design_hearts_purple11343 60085–60114 ———
8594design_hearts_red11344 60085–60114 ———
12539design_hedge_marker18960 60085–60114 ———
12575design_hole_furnace_charge19080 60085–60114 ———
12576design_hole_furnace_essence19081 60085–60114 ———
12790design_hole_mines19526 60085–60114 ———
12791design_hole_mines_blast19527 60085–60114 ———
12548design_hole_pillar_corruption18985 60085–60114 ———
12552design_hole_summon_circle119009 60085–60114 ———
12553design_hole_summon_circle219010 60085–60114 ———
12554design_hole_summon_circle319011 60085–60114 ———
12555design_hole_summon_circle419012 60085–60114 ———
12556design_hole_summon_circles19013 60085–60114 ———
14523design_hologram0123417 60085–60114 ———
14524design_hologram0223418 60085–60114 ———
14525design_hologram0323419 60085–60114 ———
14526design_hologram0423420 60085–60114 ———
28425design_honeycomb_trap66048 60085–60114 ———
28380design_honey_drip65875 60085–60114 ———
28381design_honey_drop65876 60085–60114 ———
29803design_horizontal_target_warning_fx102472 60085–60114 ———
11692design_horse_carrot16879 60085–60114 ———
8595design_hummingbirds11345 60085–60114 ———
12514design_ice_chains18893 60085–60114 ———
16338design_ice_column_shatter28147 60085–60114 ———
11768design_ice_door_blast17115 60085–60114 ———
12131design_ice_fan_side17992 60085–60114 ———
12132design_ice_fan_up17993 60085–60114 ———
16296design_ice_pillar27992 60085–60114 ———
11773design_ice_wall_breaking17142 60085–60114 ———
12415design_icy_barrier18681 60085–60114 ———
16292design_icy_doorway27978 60085–60114 ———
13643design_icy_shadow_portal21195 60085–60114 ———
28382design_idle65877 60085–60114 ———
29215design_ignite88761 60085–60114 ———
15703design_illusion_fail25750 60085–60114 ———
13061design_inactive_eggs19915 60085–60114 ———
11941design_inno_cannon_fire117585 60085–60114 ———
11942design_inno_cannon_fire217586 60085–60114 ———
11249design_karnors_beam_center16143 60085–60114 ———
11250design_karnors_beam_left16144 60085–60114 ———
11251design_karnors_beam_right16145 60085–60114 ———
14193design_kd_rage_portal22522 60085–60114 ———
7616design_keg_filling_mug7821 60085–60114 ———
16148design_kerafyrm_barrier27260 60085–60114 ———
16171design_kerafyrm_barrier_big27410 60085–60114 ———
16172design_kerafyrm_barrier_fight27411 60085–60114 ———
16173design_kerafyrm_barrier_small27412 60085–60114 ———
29015design_kerafyrm_room_blast_area79300 60085–60114 ———
16804design_kill29909 60085–60114 ———
13078design_kobold_claw19974 60085–60114 ———
11877design_lamp_ignite17447 60085–60114 ———
28974design_laser_blast_dark77257 60085–60114 ———
29097design_laser_blast_flame_blue82217 60085–60114 ———
28975design_laser_blast_warning77258 60085–60114 ———
12013design_lattice_activate17756 60085–60114 ———
16795design_launch_boost29846 60085–60114 ———
14518design_launch_fireworks23394 60085–60114 ———
14139design_lava22327 60085–60114 ———
11221design_lava_projectile16065 60085–60114 ———
17444design_lava_wave32559 60085–60114 ———
11386design_leash16377 60085–60114 ———
29094design_lifeguide_staff82047 60085–60114 ———
17300design_light31771 60085–60114 ———
14283design_lightning_floor22697 60085–60114 ———
11387design_lightning_ground16378 60085–60114 ———
16308design_lightning_pillar_blue28040 60085–60114 ———
16326design_lightning_pillar_purple28090 60085–60114 ———
16309design_lightning_pillar_red28041 60085–60114 ———
13604design_lightning_shield21083 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.