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
14779player_wing_mount_long_fall24104 60085–60114 ———
14780player_wing_mount_run24105 60085–60114 ———
14781player_wing_mount_turn_left24106 60085–60114 ———
14782player_wing_mount_turn_right24107 60085–60114 ———
14783player_wing_mount_walk24108 60085–60114 ———
9268plummet12023 60085–60114 ———
1419pl_lightning_01_snd1679 1–843 ———
9263pl_lightning_01_snd12018 60085–60114 ———
1420pl_lightning_02_snd1680 1–843 ———
9264pl_lightning_02_snd12019 60085–60114 ———
1421pl_lightning_03_snd1681 1–843 ———
9265pl_lightning_03_snd12020 60085–60114 ———
1422pl_warp_01_snd1682 1–843 ———
9266pl_warp_01_snd12021 60085–60114 ———
2761pn_castflute_sound3824 1–843 ———
9269pn_castflute_sound12024 60085–60114 ———
2762pn_resultflute_sound3825 1–843 ———
9270pn_resultflute_sound12025 60085–60114 ———
3123pof_batdrone_snd5215 1–843 ———
9271pof_batdrone_snd12026 60085–60114 ———
3124pof_casttone_snd5216 1–843 ———
9272pof_casttone_snd12027 60085–60114 ———
270point429 1–843 points.points at %t.—
9273point12028 60085–60114 points.points at %t.—
555point_right430 1–843 ———
9274point_right12029 60085–60114 ———
31835poke0 0–unlimited pokes %g2self.pokes %t.—
271ponder431 1–843 ponders.ponders %t.—
9275ponder12030 60085–60114 ponders.ponders %t.—
16226portal_jump27628 60085–60114 ———
16227portal_stomp27629 60085–60114 ———
14730port_down_fx23962 60085–60114 ———
272pout433 1–843 pouts.pouts dramatically at %t.—
9276pout12031 60085–60114 pouts.pouts dramatically at %t.—
16214powerroar27573 60085–60114 ———
16215powerslam27574 60085–60114 ———
29952power_aura_flyer_backup108169 60085–60114 ———
29953power_aura_flyer_fall108170 60085–60114 ———
29954power_aura_flyer_fly_backup108171 60085–60114 ———
29955power_aura_flyer_fly_climb108172 60085–60114 ———
29956power_aura_flyer_fly_dive108173 60085–60114 ———
29957power_aura_flyer_fly_fall108174 60085–60114 ———
29958power_aura_flyer_fly_fly_down108175 60085–60114 ———
29959power_aura_flyer_fly_glide108176 60085–60114 ———
29960power_aura_flyer_fly_glide_left108177 60085–60114 ———
29961power_aura_flyer_fly_glide_right108178 60085–60114 ———
29962power_aura_flyer_fly_idle108179 60085–60114 ———
29963power_aura_flyer_fly_jump108180 60085–60114 ———
29964power_aura_flyer_fly_land108181 60085–60114 ———
29965power_aura_flyer_fly_long_fall108182 60085–60114 ———
29966power_aura_flyer_fly_run108183 60085–60114 ———
29967power_aura_flyer_fly_strafe_left108184 60085–60114 ———
29968power_aura_flyer_fly_strafe_right108185 60085–60114 ———
29969power_aura_flyer_fly_turn_left108186 60085–60114 ———
29970power_aura_flyer_fly_turn_right108187 60085–60114 ———
29971power_aura_flyer_fly_up108188 60085–60114 ———
29972power_aura_flyer_fly_walk108189 60085–60114 ———
29973power_aura_flyer_idle108190 60085–60114 ———
29974power_aura_flyer_jump108191 60085–60114 ———
29975power_aura_flyer_land108192 60085–60114 ———
29976power_aura_flyer_long_fall108193 60085–60114 ———
29977power_aura_flyer_run108194 60085–60114 ———
29978power_aura_flyer_turn_left108195 60085–60114 ———
29979power_aura_flyer_turn_right108196 60085–60114 ———
29980power_aura_flyer_walk108197 60085–60114 ———
29981power_aura_glider_backup108198 60085–60114 ———
29982power_aura_glider_fall108199 60085–60114 ———
29983power_aura_glider_glide108200 60085–60114 ———
29984power_aura_glider_glide_left108201 60085–60114 ———
29985power_aura_glider_glide_right108202 60085–60114 ———
29986power_aura_glider_idle108203 60085–60114 ———
29987power_aura_glider_jump108204 60085–60114 ———
29988power_aura_glider_land108205 60085–60114 ———
29989power_aura_glider_long_fall108206 60085–60114 ———
29990power_aura_glider_run108207 60085–60114 ———
29991power_aura_glider_turn_left108208 60085–60114 ———
29992power_aura_glider_turn_right108209 60085–60114 ———
29993power_aura_glider_walk108210 60085–60114 ———
29994power_aura_ground_backup108211 60085–60114 ———
29995power_aura_ground_fall108212 60085–60114 ———
29996power_aura_ground_idle108213 60085–60114 ———
29997power_aura_ground_jump108214 60085–60114 ———
29998power_aura_ground_land108215 60085–60114 ———
29999power_aura_ground_long_fall108216 60085–60114 ———
30000power_aura_ground_run108217 60085–60114 ———
30001power_aura_ground_turn_left108218 60085–60114 ———
30002power_aura_ground_turn_right108219 60085–60114 ———
30003power_aura_ground_walk108220 60085–60114 ———
30004power_aura_leaper_backup108221 60085–60114 ———
30005power_aura_leaper_fall108222 60085–60114 ———
30006power_aura_leaper_fly_backup108223 60085–60114 ———
30007power_aura_leaper_fly_climb108224 60085–60114 ———
30008power_aura_leaper_fly_dive108225 60085–60114 ———
30009power_aura_leaper_fly_down108226 60085–60114 ———
30010power_aura_leaper_fly_glide108227 60085–60114 ———
30011power_aura_leaper_fly_glide_left108228 60085–60114 ———
30012power_aura_leaper_fly_glide_right108229 60085–60114 ———
30013power_aura_leaper_fly_idle108230 60085–60114 ———
30014power_aura_leaper_fly_run108231 60085–60114 ———
30015power_aura_leaper_fly_strafe_left108232 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.