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
5627kill_monk_taunt_combat_art35787 1–843 ———
19888kill_monk_taunt_combat_art44616 60085–60114 ———
3682kill_monk_walk33159 1–843 ———
19889kill_monk_walk44617 60085–60114 ———
5628kill_monk_whirling_attack35788 1–843 ———
19890kill_monk_whirling_attack44618 60085–60114 ———
5629kill_monk_wild_swing35789 1–843 ———
18046kill_monk_wild_swing35789 60085–60114 ———
5355kill_mood_afraid35460 1–843 ———
19891kill_mood_afraid44619 60085–60114 ———
5356kill_mood_angry35461 1–843 ———
19892kill_mood_angry44620 60085–60114 ———
5357kill_mood_combat35462 1–843 ———
19893kill_mood_combat44621 60085–60114 ———
21977kill_mood_dance48738 60085–60114 ———
5358kill_mood_happy35463 1–843 ———
19894kill_mood_happy44622 60085–60114 ———
5359kill_mood_idle35464 1–843 ———
19895kill_mood_idle44623 60085–60114 ———
5360kill_mood_sad35465 1–843 ———
19896kill_mood_sad44624 60085–60114 ———
5361kill_mood_tired35466 1–843 ———
19897kill_mood_tired44625 60085–60114 ———
3683kill_moon33160 1–843 ———
19898kill_moon44626 60085–60114 ———
19899kill_mount44627 60085–60114 ———
25695kill_mount_attack57161 60085–60114 ———
22049kill_mount_attack0148925 60085–60114 ———
22050kill_mount_combat_idle48926 60085–60114 ———
22051kill_mount_ouch48927 60085–60114 ———
22052kill_mount_ouch0148928 60085–60114 ———
25323kill_mount_summon_komodo_snd56208 60085–60114 ———
25324kill_mount_summon_raptor_snd56209 60085–60114 ———
25325kill_mount_summon_terrorbird_snd56210 60085–60114 ———
24983kill_mourn55280 60085–60114 ———
26733kill_mouth_down59264 60085–60114 ———
26734kill_mouth_open59265 60085–60114 ———
26735kill_mouth_up59266 60085–60114 ———
22738kill_mr_chargeup_sound50362 60085–60114 ———
4034kill_mr_chomp33775 1–843 ———
19900kill_mr_chomp44628 60085–60114 ———
4035kill_mr_curl33776 1–843 ———
19901kill_mr_curl44629 60085–60114 ———
4036kill_mr_death_yell33777 1–843 ———
19902kill_mr_death_yell44630 60085–60114 ———
4037kill_mr_fall33778 1–843 ———
19903kill_mr_fall44631 60085–60114 ———
4038kill_mr_growl33779 1–843 ———
19904kill_mr_growl44632 60085–60114 ———
22672kill_mr_lamp_fx_0150217 60085–60114 ———
22673kill_mr_lamp_fx_0250218 60085–60114 ———
22674kill_mr_lamp_fx_0350219 60085–60114 ———
22675kill_mr_lamp_fx_0450220 60085–60114 ———
22676kill_mr_lamp_fx_0550221 60085–60114 ———
22677kill_mr_lamp_fx_0650222 60085–60114 ———
22678kill_mr_lamp_ignite_sound50223 60085–60114 ———
22679kill_mr_lamp_sounds_finish50224 60085–60114 ———
22680kill_mr_lamp_sounds_start50225 60085–60114 ———
4039kill_mr_land33780 1–843 ———
19905kill_mr_land44633 60085–60114 ———
22739kill_mr_lightning_chargeup50363 60085–60114 ———
4040kill_mr_ouch_0133781 1–843 ———
19906kill_mr_ouch_0144634 60085–60114 ———
4041kill_mr_run_0133782 1–843 ———
19907kill_mr_run_0144635 60085–60114 ———
22951kill_mushroom_buff50819 60085–60114 ———
19909kill_myst_caststarsresult_snd44637 60085–60114 ———
19908kill_myst_caststars_snd44636 60085–60114 ———
19910kill_myst_stars_snd44638 60085–60114 ———
22588kill_najena_dark_rune0149968 60085–60114 ———
22589kill_najena_dark_rune0249969 60085–60114 ———
22590kill_najena_dark_rune0349970 60085–60114 ———
22591kill_najena_dark_rune0449971 60085–60114 ———
22592kill_najena_dark_rune0549972 60085–60114 ———
22587kill_najena_face_lava49961 60085–60114 ———
22604kill_najena_lava_curtain49996 60085–60114 ———
22601kill_najena_lava_god_hands49987 60085–60114 ———
22602kill_najena_lava_god_skull49988 60085–60114 ———
22593kill_najena_light_rune0149973 60085–60114 ———
22594kill_najena_light_rune0249974 60085–60114 ———
22595kill_najena_light_rune0349975 60085–60114 ———
22596kill_najena_light_rune0449976 60085–60114 ———
22597kill_najena_light_rune0549977 60085–60114 ———
22598kill_najena_puzzle_complete49978 60085–60114 ———
22605kill_najena_rune_key49997 60085–60114 ———
5514kill_nbgroup_castmagic_snd35662 1–843 ———
19918kill_nbgroup_castmagic_snd44646 60085–60114 ———
4555kill_nb_burn_01_snd34377 1–843 ———
19911kill_nb_burn_01_snd44639 60085–60114 ———
4556kill_nb_burst_02_snd34378 1–843 ———
19912kill_nb_burst_02_snd44640 60085–60114 ———
4557kill_nb_burst_snd34379 1–843 ———
19913kill_nb_burst_snd44641 60085–60114 ———
4558kill_nb_castmagic_snd34380 1–843 ———
19914kill_nb_castmagic_snd44642 60085–60114 ———
4559kill_nb_handsparks_long_snd34381 1–843 ———
19915kill_nb_handsparks_long_snd44643 60085–60114 ———
19916kill_nb_handsparks_louder_snd44644 60085–60114 ———
4560kill_nb_handsparks_snd34382 1–843 ———
19917kill_nb_handsparks_snd44645 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.