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
22665kill_korsha_lift_blast50198 60085–60114 ———
31494kill_krassnok_pointing8487075 60085–60114 ———
4613kill_l34439 1–843 ———
19813kill_l44541 60085–60114 ———
3671kill_land33117 1–843 ———
19816kill_land44544 60085–60114 ———
6646kill_landing39550 1–843 ———
19818kill_landing44546 60085–60114 ———
26530kill_land_enter58609 60085–60114 ———
26531kill_land_exit58610 60085–60114 ———
5058kill_land_thud34952 1–843 ———
19817kill_land_thud44545 60085–60114 ———
24148kill_laugh53369 60085–60114 ———
27692kill_launch63252 60085–60114 ———
27693kill_launch263253 60085–60114 ———
27694kill_launch363254 60085–60114 ———
27695kill_launch463255 60085–60114 ———
27696kill_launch563256 60085–60114 ———
5014kill_launch_melee_projectile_trigger34897 1–843 ———
19819kill_launch_melee_projectile_trigger44547 60085–60114 ———
30925kill_lava_pygmy_attack01_f8472548 60085–60114 ———
30926kill_lava_pygmy_attack02_f8472549 60085–60114 ———
30927kill_lava_pygmy_attack03_f8472550 60085–60114 ———
30928kill_lava_pygmy_attack_f8472551 60085–60114 ———
30929kill_lava_pygmy_cast_f8472552 60085–60114 ———
30930kill_lava_pygmy_charge_up_f8472553 60085–60114 ———
30931kill_lava_pygmy_combat_enter_f8472554 60085–60114 ———
30932kill_lava_pygmy_combat_exit_f8472555 60085–60114 ———
30933kill_lava_pygmy_death_f8472556 60085–60114 ———
30934kill_lava_pygmy_dodge_backhand_f8472557 60085–60114 ———
30935kill_lava_pygmy_dodge_forehand_f8472558 60085–60114 ———
30936kill_lava_pygmy_dodge_thrust_f8472559 60085–60114 ———
31096kill_lava_pygmy_foley8482063 60085–60114 ———
30937kill_lava_pygmy_jump_f8472560 60085–60114 ———
31082kill_lava_pygmy_male_cast8481573 60085–60114 ———
30938kill_lava_pygmy_ouch_backhand_f8472561 60085–60114 ———
30939kill_lava_pygmy_ouch_down_f8472562 60085–60114 ———
30940kill_lava_pygmy_ouch_forehand_f8472563 60085–60114 ———
30941kill_lava_pygmy_ouch_thrust_f8472564 60085–60114 ———
30942kill_lava_pygmy_pike_attack_01_f8472565 60085–60114 ———
30943kill_lava_pygmy_pike_attack_02_f8472566 60085–60114 ———
30944kill_lava_pygmy_pike_attack_enter_f8472567 60085–60114 ———
30945kill_lava_pygmy_pike_attack_exit_f8472568 60085–60114 ———
30946kill_lava_pygmy_pike_attack_f8472569 60085–60114 ———
30947kill_lava_pygmy_shield_shove_f8472570 60085–60114 ———
30948kill_lava_pygmy_swim_f8472571 60085–60114 ———
31097kill_lava_pygmy_throw_molotov8482079 60085–60114 ———
30949kill_lava_pygmy_whirling_attack_f8472572 60085–60114 ———
30950kill_lava_pygmy_wild_swing8472573 60085–60114 ———
27141kill_lay_egg_hatch60946 60085–60114 ———
4646kill_la_lion_roar_02_snd34472 1–843 ———
19814kill_la_lion_roar_02_snd44542 60085–60114 ———
4647kill_la_lion_roar_snd34473 1–843 ———
19815kill_la_lion_roar_snd44543 60085–60114 ———
4717kill_lb2_zap_snd34586 1–843 ———
19820kill_lb2_zap_snd44548 60085–60114 ———
4718kill_lb_cloud_sound34587 1–843 ———
19821kill_lb_cloud_sound44549 60085–60114 ———
4719kill_lb_volts_sound34588 1–843 ———
19822kill_lb_volts_sound44550 60085–60114 ———
24776kill_leap_enter54684 60085–60114 ———
24777kill_leap_exit54685 60085–60114 ———
24778kill_leap_idle54686 60085–60114 ———
5613kill_leatherworking_failure35773 1–843 ———
19823kill_leatherworking_failure44551 60085–60114 ———
5614kill_leatherworking_idle35774 1–843 ———
19824kill_leatherworking_idle44552 60085–60114 ———
5615kill_leatherworking_success35775 1–843 ———
19825kill_leatherworking_success44553 60085–60114 ———
26726kill_left_blink59257 60085–60114 ———
26727kill_left_brow_down59258 60085–60114 ———
26728kill_left_brow_up59259 60085–60114 ———
26729kill_left_eye_wide59260 60085–60114 ———
26730kill_left_frown59261 60085–60114 ———
5616kill_left_hand_fist35776 1–843 ———
19826kill_left_hand_fist44554 60085–60114 ———
5617kill_left_hand_relaxed35777 1–843 ———
19827kill_left_hand_relaxed44555 60085–60114 ———
4672kill_levelup34521 1–843 ———
17761kill_levelup34521 60085–60114 ———
5538kill_levelup_5035694 1–843 ———
18023kill_levelup_5035694 60085–60114 ———
18399kill_levelup_achievement39769 60085–60114 ———
5539kill_levelup_hallmark35695 1–843 ———
18024kill_levelup_hallmark35695 60085–60114 ———
5618kill_level_up3d_sound35778 1–843 ———
19828kill_level_up3d_sound44556 60085–60114 ———
5916kill_lightdamage_enter36507 1–843 ———
19830kill_lightdamage_enter44558 60085–60114 ———
5935kill_lightdamage_idle36551 1–843 ———
19831kill_lightdamage_idle44559 60085–60114 ———
6609kill_lighting_blaze39422 1–843 ———
19832kill_lightning_spheres44560 60085–60114 ———
21477kill_lights46488 60085–60114 ———
24429kill_lights_baubles53940 60085–60114 ———
21484kill_lights_blue46515 60085–60114 ———
21485kill_lights_blue_slow46516 60085–60114 ———
24430kill_lights_bows53941 60085–60114 ———
22713kill_lights_eyes50294 60085–60114 ———
21486kill_lights_flocked46517 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.