Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Wowm is a domain specific language for describing the layout of messages used in the Client/Server communication for World of Warcraft with the intention of auto generating documentation and usable programming libraries.

The language leans heavily on syntax from C/C++ for declaring definers, built-in types, and containers. Definers are simple wrappers over regular numbers that name valid values. Containers specify the order and layout of messages.

Definers can either be flags or enums. enums can only have one valid named value, while flags can have multiple. flags are also known as bitfields.

The following is an example enum and flag:

enum TestEnum : u8 {
    TEST_ONE = 1;
    TEST_TWO = 2;
    TEST_THREE = 3;
}
/* TestEnums can only be either 1, 2, or 3. */


flag TestFlag : u8 {
    TEST_ONE = 1;
    TEST_TWO = 2;
    TEST_FOUR = 4;
}
/* TestFlags can be either 1, 2, 4 or any combination thereof like 0, 3, 7, or 5. */

The u8 after the : specifies the basic type of the definers. This is the type that is actually sent over the network. A u8 is an unsigned integer of 8 bits (1 byte). A u32 would be an unsigned little endian integer of 32 bits (4 bytes). A u32_be would be an unsigned big endian integer of 32 bits (4 bytes).

For a full list of built-in types, see the built-in types section in the specification.

Containers specify the actual message as well as structs which can be used as a type in other containers.

A full list of container variants can be found in the container section of the specification.

The following is an example of a struct using built-in types, that is itself also used as a type in an smsg (world message sent from the server):

struct TestStruct {
    u32 price_in_gold;
    u32 amount_purchased;
}

/* 
    Number after "=" is the opcode. Use hexadecimal.
    Size is automatically calculated based on contents.
*/
smsg SMSG_TEST = 0xFF {
    CString name;
    TestStruct t;
}
/* The above is functionally identical to */
smsg SMSG_TEST = 0xFF {
    CString name;
    u32 price_in_gold;
    u32 amount_purchased;
}

All objects must specify which version of the game they work with. See the section on versioning with tags

Versioning through tags

When resolving type names of dependencies the tag system is used. The compiler will accept names that are as specific or less specific than the tag on the object that needs a dependency.

So in the example:

struct User {
    Boolean has_something;
} {
    versions = "1.12";
}

enum Boolean : u8 {
    FALSE = 0;
    TRUE = 1;
} {
    versions = "1";
}

The struct User is allowed to use the enum Boolean because Boolean has a less specific versions tag than User does. That is, User is valid for all versions of 1.12, while Boolean is valid for all versions of 1. It would not be possible to be valid for all versions of 1 but not 1.12 specifically.

There can not be two objects with the same name and the same version. Two different versions can be each be valid for their own version, but it does not make sense for the same object to have two different representations for the same version.

So this is allowed:

enum Boolean : u8 {  /* Name of Boolean */
    FALSE = 0;
    TRUE = 1;
} {
    versions = "1"; /* <-- versions 1 here */
}

enum Boolean : u8 { /* <-- Same name */
    FALSE = 0;
    TRUE = 1;
    MAYBE = 2;
} {
    versions = "2" /* <-- versions 2 here */
}

But this is not:

enum Boolean : u8 {
    FALSE = 0;
    TRUE = 1;
} {
    versions = "1 2"; /* <-- Added 2 here */
}

enum Boolean : u8 {
    FALSE = 0;
    TRUE = 1;
    MAYBE = 2;
} {
    versions = "2" /* <-- Conflicts with this versions */
}

World and Login versions

clogin and slogin messages are used for communication with the realm/authentication server. These can only have login_versions.

cmsg, smsg, and msg messages are used for communication with the world/game server. These can only have versions.

Mass versioning

The #tag_all command can be used to tag all objects in a file with the same versions string.

#tag_all versions "1.11 1.12"

enum Boolean : u8 {
    FALSE = 0;
    TRUE = 1;
} /* <-- Will have "versions" = "1.11 1.12" automatically applied */


struct Thing {
    Boolean is_thing;
    u8 basic;
} /* <-- Will have "versions" = "1.11 1.12" automatically applied */

Paste versions

Versions must fully deliver what they promise. What this means is that every single field used must also cover at least the same version as the containing object. For example, if there is a Race enum that has been determined to be valid for 1 (Vanilla) and another Race enum that has determined to be valid for 2 (The Burning Crusade), it is not valid to create a single message that uses the Race enum and covers both 1 and 2. An object that only contains a vanilla Race and an object that only contains a Burning Crusade Race are not identical, despite the fields taking up the same amount of space (1 byte, a u8).

So the following is NOT VALID:

enum Race : u8 {
    HUMAN = 1;
    ORC = 2;
    DWARF = 3;
    NIGHT_ELF = 4;
    UNDEAD = 5;
    TAUREN = 6;
    GNOME = 7;
    TROLL = 8;
    GOBLIN = 9;
} {
    versions = "1"; /* <-- Only covers 1 */
}

enum Race : u8 {
    HUMAN = 1;
    ORC = 2;
    DWARF = 3;
    NIGHT_ELF = 4;
    UNDEAD = 5;
    TAUREN = 6;
    GNOME = 7;
    TROLL = 8;
    GOBLIN = 9;
    BLOOD_ELF = 10; /* <-- Clearly not the same */
    DRAENEI = 11;
    FEL_ORC = 12;
    NAGA = 13;
    BROKEN = 14;
    SKELETON = 15;
    VRYKUL = 16;
    TUSKARR = 17;
    FOREST_TROLL = 18;
} {
    versions = "2"; /* <-- Only covers 2 */
}

cmsg CMSG_INVALID_MADE_UP_MSG = 0xDEADBEEF1471D {
    Race race;
} {
    versions = "1 2"; /* <-- NOT VALID. Neither enum can cover both versions 1 and 2. */
}

There are many messages where the only difference between expansions is that they update an enum that is specific to that expansion and version. For example CMSG_EMOTE:

cmsg CMSG_EMOTE = 0x0102 {
    Emote emote; /* <-- This Emote only covers 1.12 */
} {
    versions = "1.12";
}

cmsg CMSG_EMOTE = 0x0102 {
    Emote emote; /* <-- This Emote only covers 2.4.3 */
} {
    versions = "2.4.3";
}

cmsg CMSG_EMOTE = 0x0102 {
    Emote emote; /* <-- This Emote only covers 3.3.5 */
} {
    versions = "3.3.5";
}

There can not be a single message that is valid for all 3 versions since the Emotes are different.

Instead paste_versions can be used. This effectively copy and pastes the textual wowm representation and creates 3 different messages that are each only valid for one version. The two examples above and below are effectively the same, while the bottom one has significantly less duplication. Comments, descriptions, and other tags are also duplicated for the different versions.

cmsg CMSG_EMOTE = 0x0102 {
    Emote emote;
} {
    paste_versions = "1.12 2.4.3 3.3.5";
}

paste_versions only exists for World versions (versions), not for Login versions (login_versions).

Contribution Quick Start Guide

Background

Read the introduction and versioning section. Skim the specification.

Clone the repository

Run git clone https://github.com/gtker/wow_messages.git or equivalent to clone the repository.

Touring the repository

Inside the wow_message_parser directory of the repository is the wowm directory. This contains all the wowm definitions that are parsed by the compiler. Go into the world directory and notice that it consists of subdirectories that contain wowm files.

The directory structure does not make any difference in the final output and is purely there for easier human consumption. Do not stress over which directory a specific message is supposed to go into, and feel free to create new directories.

If messages are small, keep the different versions in the same wowm file. If they are large keep them in separate files with the version appended, like smsg_update_object_3_3_5.wowm for 3.3.5.

Install Rust

Use the official site to install Rust. It is not necessary to have knowledge about Rust in order to contribute, but it is necessary to have it install in order to run the compiler. The compiler must be run after every change in the wowm. The repository manually keeps the generated files up to date to avoid having to generate them each time they are used.

Running the compiler

While inside the repository run cargo run -p wow_message_parser --release to run the compiler. This will give you output like:

    Finished release [optimized] target(s) in 0.03s
     Running `target/release/wow_message_parser`
1.12 Messages without definition:
    SMSG_COMPRESSED_UPDATE_OBJECT: Compressed
    [..]
    SMSG_COMPRESSED_MOVES: Compressed

1.12 Messages with definition: 601 / 607 (99.011536%) (6 left)
1.12 Total messages with tests: 60 / 607 (9.884679%)

2.4.3 Messages without definition:
cmsg CMSG_BOOTME = 0x0001 { unimplemented } { versions = "2.4.3"; }
[..]
smsg SMSG_SUMMON_CANCEL = 0x0423 { unimplemented } { versions = "2.4.3"; }

2.4.3 Messages with definition: 126 / 1058 (11.909263%) (932 left)
2.4.3 Total messages with tests: 17 / 1058 (1.6068052%)

3.3.5 Messages without definition:
cmsg CMSG_BOOTME = 0x0001 { unimplemented } { versions = "3.3.5"; }
[..]
smsg SMSG_MULTIPLE_MOVES = 0x051E { unimplemented } { versions = "3.3.5"; }

3.3.5 Messages with definition: 128 / 1309 (9.778457%) (1181 left)
3.3.5 Total messages with tests: 12 / 1309 (0.91673034%)

This contains a list of unimplemented messages for the versions that we currently want messages from. Under 1.12, messages with a colon (:) are followed by a reason for them not being implemented currently. So SMSG_COMPRESSED_MOVES: Compressed are not implemented because we are lacking support for compression. 1.12 messages are shown this way because are very few left for 1.12.

2.4.3 and 3.3.5 instead output a copy pastable wowm snippet that allows for less manual typing.

Implementing a message

Let’s implement a fictional message for training purposes. Imagine that when running the compiler it told you that MSG_FICTIONAL was not implemented by outputting msg MSG_FICTIONAL = 0x1337 { unimplemented } { versions = "3.3.5"; }.

Let’s break down what exactly that is for clarity:

msg MSG_FICTIONAL = 0x1337 { /* <-- Describes the message */
    unimplemented /* <-- Tells the compiler that this message is unimplemented. */
} { /* <-- Tags start */
    versions = "3.3.5"; /* <-- For version 3.3.5 */
} /* <-- Tags end */

The above is the preferred formatting for wowm files. Use 4 spaces instead of a tab, and add newlines like you see above.

Just putting the snippet into a wowm file inside the wow_message_parser/wowm/world directory would make the compiler compile it and add it to the generated code, documentation, and the Wireshark implementation, but it would not tell us anything useful about the message.

Research

Before we can implement the message we need to figure out what the layout is and if it is even used by the client.

Use SourceGraph to search through many emulators at the same time, as well as repositories you probably didn’t know existed.

If the message does not appear to be used by the client, pick a new message.

If you are absolutely certain that the message is not used, remove it from the list in wow_message_parser/src/parser/stats/wrath_messages.rs (or tbc_messages.rs if it’s for TBC).

Implementation

Let’s pretend that the MSG_FICTIONAL message is used for something auction house related.

First search for MSG_FICTIONAL in the entire wowm folder for other versions of this message. If you find any then place the new implementation next to the other ones, otherwise navigate into the wow_message_parser/wowm/world/auction directory and see that it’s split into the directories:

  • cmsg
  • msg
  • smsg

Recall that the directory layout of the wowm files do not matter for the final product, so this folder layout is not a requirement.

Go into the msg directory and create a new file called msg_fictional.wowm (all lowercase).

Paste the wowm output from before into the file with the correct formatting.

Lean on the specification, versioning with tags and other messages inside the repository for examples of how to represent the chosen message.

It is very possible that the message you are trying to implement can not be correctly represented in wowm or leads to compile errors when trying to test the libraries. In this case ask for help on the discord or go to another message.

Correct versioning

Currently you are only saying that specifically version 3.3.5 is supported by your message but it might be possible that 3.3.4 or even 3.1.0 also use the samme message. Research the emulators and decide if it seems like the message has the same format in other version as well.

For example, if the message has the same layout in both a 2.4.3 TBC emulator and a 3.3.5 Wrath emulator, you are allowed to assume that any versions in between have the same layout. You would therefore write versions = "2.4.3 3";, since you can’t know if versions prior to 2.4.3 have the same layout, but you do know that 3.3.5 is the last Wrath release and that all previous releases have the same layout.

If other objects are preventing you from applying a larger version, for example because it depends on an Emote enum that only has version 3.3.5, then simply give it the biggest possible gap you can and move on.

Comments

During your research you may discover some things that are uncommon, surprising, or noteworthy. In this case you can use the comment tag to pass on this knowledge. If you end up writing a long comment you can use multiple tags and they will all appear in the final product. Like so:

msg MSG_FICTIONAL = 0x1337 { /* <-- Describes the message */
    u8 thing; /* <-- Implementation that you should have here now. */
    u32 other_thing {
        comment = "mangoszero always sets this to 0."; /* <-- comment on this specific field */
    }
} {
    versions = "3.3.5";
    comment = "This message is entirely fictional so that the documentation doesn't go out of date as quickly.";
    comment = "But we still have some secret knowledge to share."; /* <-- Comment on the entire message. */
}

Remember that wowm comments (in between /* and */) are not propagated further than the wowm sources, so put everything related to the messages in “real” comments and only use the wowm comments for TODOs or related items.

Descriptions

If you know enough about the message or any particular fields you can also add description tags.

This step, along with the comment step, is not required but it would be nice if other people didn’t have to go digging in the sources to uncover information that was already known.

Testing

Run cargo run -p wow_message_parser --release and then cargo test --all-features. This will ensure that

  • Any changes to the wowm files are propagated.
  • All tests compile and pass.

Commit changes

Commit your changes and go on to the next message.

Questions

If you have any questions ask on the Discord channel.

Specification

A .wowm file starts with 0..* commands, and ends with 0..* statements. Commands are prefix with # and statements start with an object keyword.

Commands

The file must start with all commands. A command appearing after a statement is invalid.

Commands take the form

#<command> <command_parameters>;

For example:

#tag_all versions "1.12";

Built-in Types

The following types are not looked up but are expected to be handled by the compiler and code generator:

  • The basic integer types u8, u16, u32, and u64 are sent as little endian over the network.
  • The floating point type f32 is sent as little endian over the network.

The String type is the same as a sized u8 array (u8[len]) containing valid UTF-8 values plus a u8 for the length of the string, although it should be presented in the native string type.

The CString type is an array of valid UTF-8 u8s terminated by a null (0) byte.

The SizedCString is the same as a u32 followed by a CString, but they are kept in the same type to semantically convey that the u32 field has no purpose other than to parse the CString.

TypePurposeC Name
u8Unsigned 8 bit integer. Min value 0, max value 256.unsigned char
u16Unsigned 16 bit integer. Min value 0, max value 65536.unsigned short
u32Unsigned 32 bit integer. Min value 0, max value 4294967296.unsigned int
u64Unsigned 64 bit integer. Min value 0, max value 18446744073709551616.unsigned long long
i32Unsigned 32 bit integer. Min value -2147483648, max value 4294967296.signed int
BoolUnsigned 1 bit integer. 0 means false and all other values mean true.unsigned char
Bool32Unsigned 4 bit integer. 0 means false and all other values mean true.unsigned int
PackedGuidGuid sent in the “packed” format. See PackedGuid.-
GuidUnsigned 8 bit integer. Can be replaced with a u64.unsigned long long
NamedGuidA Guid (u64) followed by a CString if the value of the Guid is not 0.-
DateTimeu32 in a special format. See DateTime.unsigned int
f32Floating point value of 4 bytes.f32
CStringUTF-8 string type that is terminated by a zero byte value.char*
SizedCStringA u32 field that determines the size of the string followed by a UTF-8 string type that is terminated by a zero byte value.unsigned int + char*
StringUTF-8 string type of exactly length len.unsigned char + char*
UpdateMaskUpdate values sent in a relatively complex format. See UpdateMask.-
MonsterMoveSplinesArray of positions. See MonsterMoveSpline.-
AuraMaskAura values sent using a mask. See Masks.-
AchievementDoneArrayArray that terminates on a sentinel value. See AchievementDoneArray-
AchievementInProgressArrayArray that terminates on a sentinel value. See AchievementInProgressArray-
EnchantMaskEnchant values sent using a mask. See EnchantMasks.-
InspectTalentGearMaskInspectTalentGear values sent using a mask. See Masks.-
GoldAlias for u32.unsigned int
Populationf32 with the special behavior that a value of 200 always means GREEN_RECOMMENDED, 400 always means RED_FULL, and 600 always means BLUE_RECOMMENDED.float
LevelAlias for u8.unsigned char
Level16Alias for u16.unsigned short
Level32Alias for u32.unsigned int
VariableItemRandomPropertyA u32 followed by another u32 if the first value is not equal to 0.-
AddonArrayArray of Addons for TBC and Wrath that rely on externally knowing the amount of array members. See AddonArray.-
IpAddressAlias for big endian u32.unsigned int
SecondsAlias for u32.unsigned int
MillisecondsAlias for u32.unsigned int
SpellAlias for u32 that represents a spell.unsigned int
Spell16Alias for u16 that represents a spell.unsigned short
ItemAlias for u32 that represents an item entry.unsigned int
CacheMaskClient info sent using a mask. See CacheMask.-

Arrays

Arrays are semi-built-in types of the form <type>[<length>] where <type> is any built-in or user defined type, and <length> is either a constant integer value, a previous integer field in the same object, or the character - for “endless” arrays.

Endless arrays do not have a field that specifies how many items the array contains. This information is instead deduced from the total size of the message minus the sizes of any previous fields.

Statements

Statements start with one of the following keywords:

  • enum, a definer, for descriptions of values where only one value is valid.
  • flag, a definer, for descriptions of values where several values are valid at the same time.
  • struct, a container, for collections of fields that do not fit into any of the below.
  • clogin, a container, for login messages sent from the client.
  • slogin, a container, for login messages sent from the server.
  • msg, a container, for world messages that can be sent from both client and server.
  • smsg, a container, for world messages sent from the server.
  • cmsg, a container, for world messages sent from the client.
  • test, a description of a full valid message and the expected values.

A definer creates a new type that gives names to basic integer values, like an enum would do in most programming languages. A container is a collection of types that describes the order in which they are sent, as well as other information.

All statements can be followed by a tags block of the form

{
    <tags>
}

Where <tags> is of the form

<tag_name> = "<tag_value>";

Where <tag_name> is a valid identifier, and <tag_value> is a string value.

A list of tags with meaning for the compiler can be found at Tags.

Definer

Definers take the form of

enum <name> : <basic_type> {
    <enumerators>
}

Where <name> is a unique identifier, <basic_type> is an integer type u8, u16, u32, and u64.

<enumerators> is one or more enumerators of the form

<name> = <value>;

where <name> is a unique identifier inside the definer, and <value> is a valid value. Enums can not have multiple names with the same value, while flags can. Flags can not be signed types (i*), while enums can.

The allowed number formats in definers and how they are sent over the network are:

enum EnumAllowedInteger : u32 {
    INTEGER = 22; /* 22, [22, 0, 0, 0]  */
    HEXADECIMAL = 0xFF; /* 255, [255, 0, 0, 0] */
    BINARY = 0b0101; /* 5, [5, 0, 0, 0] */
    STRING = "\0AB"; /* 0x4142, [66, 65, 0, 0] */
}

The string syntax has the special case of \0 which is replaced with a single zero byte.

Container

Containers take the form of

<keyword> <name> [= <opcode>] {
    <declaration | if_statement | optional_statement>*
}

Where <keyword> is one of

  • struct.
  • clogin, for a login message sent from the client.
  • slogin, for a login message sent from the server.
  • msg, for a world message sent by both the client and server.
  • smsg, for a world message sent from the server.
  • cmsg, for a world message sent from the client.

<name> is a valid identifier.

[= <opcode>] is an allowed value in the same format as for definer values that defines the unique opcode value for the container. The <opcode> is required for every container except for structs, which have no opcodes.

For msg, smsg, and cmsg the size field is implicitly added as part of the message header. clogin and slogin messages that require a specific size field must set the field equal to self.size.

Declaration

<declaration> is of the form

[<upcast>]<type> <identifier> [= <constant_value>];

Where <type> is either a built-in or user defined type.

<identifier> is a legal identifier. Two declarations or optional statements in the same object must not have identical identifiers, even across if statement blocks.

The optional <constant_value> defines which value this field should always be sent as, used for padding values. Fields received with a different value will not lead to failed parsing.

The optional <upcast> is used for an enum which should be sent over the network as a different type than it is defined with. This is in order to prevent needing multiple enums for the same concept. Upcasts have the form ( <integer_type> ) where integer_type is an integer type of larger size or different endianness from the type in the original enum.

If Statement

<if_statement> is of the form

if (<variable_name> <operator> <definer_enumerator>
    [|| <variable_name> <operator> <definer_enumerator>]*) {
    <declaration | if_statement | optional_statement>*
} [ else if (<variable_name> <operator> <definer_enumerator> 
    [|| <variable_name> <operator> <definer_enumerator>]* {
    <declaration | if_statement | optional_statement>*
}]* [ else {
    <declaration | if_statement | optional_statement>*
}]?

Where:

  • <variable_name> is the name of a variable from a declaration that has previously appeared. The variable name must be the same in all statements.
  • <operator> is either ==, &, or !=. Restrictions apply to !=.
  • <definer_enumerator> is a valid enumerator in the type of <variable_name>.

If statements that use != can not have any else if or || options, but they can have the else option.

Optional Statement

<optional_statement> is of the form

optional <identifier> {
    <declaration | if_statement | optional_statement>*
}

Where <identifier> is a legal identifier. Two declarations or optional statements in the same object must not have identical identifiers, even across if statement blocks.

Optional statements can only occur as the last element of a message.

Test

Tests take the form of

test <name> {
    <fields>
} [
    <bytes>
]

Where <name> is a valid name of an existing container.

<fields> is zero or more field definitions of the form

<name> = <value> | "[" <array_fields>[","] "]" | "{" <subobject_fields> "}" ;

that describe which value to expect for a specific field.

<array_fields> and <subobject_fields> consist of 1 or more <fields>.

<bytes> are the raw byte values sent over the network, including the size and opcode fields in unencrypted format. The allowed formats are the same as those in definer values.

Commands

The following commands have compiler behavior defined.

tag_all

Applies the selected tag to all objects in the file.

Format

#tag_all <tag_name> "<tag_value>";

Where <tag_name> is the name of the tag to be applied and <tag_value> is the value.

If a tag already exists on an object tag_all will append the value.

Examples

#tag_all versions "1.12";

enum Boolean : u8 {
    YES = 0;
    NO = 1;
}

struct S {
    u8 basic;
}

would be the same as

enum Boolean : u8 {
    YES = 0;
    NO = 1;
} {
    versions = "1.12";
}

struct S {
    u8 basic;
} {
    versions = "1.12";
}
#tag_all "3";

enum Boolean : u8 {
    YES = 0;
    NO = 1;
} {
    versions = "1.12";
}

struct S {
    u8 basic;
} {
    versions = "1.12";
}

would be the same as

enum Boolean : u8 {
    YES = 0;
    NO = 1;
} {
    versions = "1.12 3";
}

struct S {
    u8 basic;
} {
    versions = "1.12 3";
}

Tags

The following tags have compiler defined meaning.

For Objects, Definer Enumerators, and Object Declarations

comment

Used to provide description, or describe quirks and non-obvious information regarding something. Will be shown in documentation and generated code.

The format is general text input.

For example

smsg SMSG_TEST = 0x00 {
    u8 basic;
} {
    comment = "Spell id 1337 prevents this from being sent.";
}

Multiple comment tags are allowed and will not overwrite each other. One comment tag should be used for each distinctive comment.

For example

smsg SMSG_TEST = 0x00 {
    u8 basic {
        comment = "This is one thing to say.";
        comment = "This is something else.";
    }
}

The descriptive comment version of this can also be used. Any line that starts with three forward slashes (///) will be interpreted as a comment on the item below.

So the above two examples would be:

/// Spell id 1337 prevents this from being sent.
smsg SMSG_TEST = 0x00 {
    u8 basic;
}

And

smsg SMSG_TEST = 0x00 {
    /// This is one thing to say.
    /// This is something else.
    u8 basic;
}

This is the preferred way of adding comments.

Linking

Text in comments can hyperlink to other objects by surrounding them in square brackets ([ and ]).

For example

smsg SMSG_TEST = 0x00 {
    u8 basic;
} {
    comment = "Reponse to [CMSG_TEST].";
}

For Objects

versions

Used for defining world message versions.

MUST be in the format of either:

  • <major>
  • <major>.<minor>
  • <major>.<minor>.<patch>
  • <major>.<minor>.<patch>.<build>
  • *

Or any repetition of any of the above separated by space, except for * which overrides all other options.

Where:

  • <major> is the expansion release of the game. E.g. 1 for Vanilla, 2 for The Burning Crusade.
  • <minor> is the major patch release of the game, sometimes named.
  • <patch> is the quick patch release of the game.
  • <build> is the exact build number of the client. Often different between localizations.
  • * means all known versions.

Multiple versions separated by a space are allowed.

For example

struct S {
    u8 basic;
} {
    versions = "1.12";
}

Or covering more versions

struct S {
    u8 basic;
} {
    versions = "1.12 1.11 1.8";
}

Which cover versions 1.12, 1.11, and 1.8 and no others.

paste_versions

Used for defining versions but objects that have an identical layout, but where the types inside the object have different versions so that it is not the same object.

This is intended to reduce copy pasting for objects with identical layouts across versions. Format is the same as versions.

For example

enum Complex : u8 {
    ONE = 1;
    TWO = 2;
} {
    versions = "1.12";
}

enum Complex : u8 {
    ONE = 1;
    TWO = 2;
    THREE = 3;
} {
    versions = "2.4.3";
}

struct S {
    Complex c;
} {
    paste_versions = "1.12 2.4.3"
}

would be the same as

enum Complex : u8 {
    ONE = 1;
    TWO = 2;
} {
    versions = "1.12";
}

enum Complex : u8 {
    ONE = 1;
    TWO = 2;
    THREE = 3;
} {
    versions = "2.4.3";
}

struct S {
    Complex c;
} {
    versions = "1.12"
}

struct S {
    Complex c;
} {
    versions = "2.4.3"
}

login_versions

Used for defining the protocol version used when clients initially connect.

MUST be in the format of a single positive integer.

This value is first sent by the client in CMD_AUTH_LOGON_CHALLENGE_Client or CMD_AUTH_RECONNECT_CHALLENGE_Client.

Multiple versions separated by a space are allowed.

For example

struct S {
    u8 basic;
} {
    login_versions = "2";
}

Or covering more versions

struct S {
    u8 basic;
} {
    login_versions = "2 3 8";
}

Which means that S is valid for versions 2, 3, and 8, and no other versions.

test

Used to signify that the object is made up for internal testing purposes. Objects with these should be ignored unless testing.

Allowed values are either true or false. The absence of a test tag is the same as test = "false";.

For example

smsg SMSG_TEST = 0x00 {
    u8 basic;
} {
    test = "true";
}

zero_is_always_valid

Used on flags when a zero value implicitly also means that any specific enumerator is valid.

For example on AllowedRace, a 0 value means that all races are allowed, but a 0xFFFFFFFF value also means that all races are allowed.

For Definer Enumerators

display

Used for defining how the enumerator should be displayed to users. Can be used when the “real” name contains characters that aren’t allowed in enumerators, or the enumerator name is undescriptive.

For example

enum Map : u8 {
    VASHJIR = 0 {
        display = "Vashj'ir";
    }
}

For Container Declarations

Valid Values

Specifies valid values for a integer type. Any values that do not conform to the values defined will lead to an invalid message which should be discarded. It is a good idea to use a comment tag to explain why the values are invalid.

Note that values outside of the valid range MUST be invalid in every situation, either because the client can’t handle values outside of the valid range, or if regular clients can never send values outside of the valid range.

valid_range

Specifies a range of valid values. MUST be in the format of two integers separated by a space.

Note that these values are inclusive, so for a valid range = "2 10"; both 2 and 10 are also valid values while 1 and 11 are not.

For example

struct S {
    u8 basic {
        valid_range = "0 10";
        comment = "Values outside of 0-10 crash the client";
    }
}

valid_values

Specifies the only values which are valid. MUST be in the format of one or more integers separated by a space.

For example

struct S {
    u8 basic {
        valid_values = "2 4 6 8 10";
        comment = "Odd values crash the client.";
    }
}

For Strings

Size

maximum_length

Specifices an upper limit on the size of the string. This should only be used in cases where the client absolutely can not handle larger strings.

For example

struct S {
    u32 length;
    CString basic {
        maximum_length = "200";
        comment = "Client buffer is only 200 bytes.";
    }
}

Compression

In wowm both messages and individual arrays can have the compressed tag.

Before the compressed data there is a u32 with the size of the data after decompression. This is present both for entire messages that are compressed and for individual arrays.

Both variables and messages can be decompressed with zlib.

In order to verify, the following bytes:

0x78, 0x9c, 0x75, 0xcc, 0xbd, 0x0e, 0xc2, 0x30, 0x0c,
0x04, 0xe0, 0xf2, 0x1e, 0xbc, 0x0c, 0x61, 0x40, 0x95,
0xc8, 0x42, 0xc3, 0x8c, 0x4c, 0xe2, 0x22, 0x0b, 0xc7,
0xa9, 0x8c, 0xcb, 0x4f, 0x9f, 0x1e, 0x16, 0x24, 0x06,
0x73, 0xeb, 0x77, 0x77, 0x81, 0x69, 0x59, 0x40, 0xcb,
0x69, 0x33, 0x67, 0xa3, 0x26, 0xc7, 0xbe, 0x5b, 0xd5,
0xc7, 0x7a, 0xdf, 0x7d, 0x12, 0xbe, 0x16, 0xc0, 0x8c,
0x71, 0x24, 0xe4, 0x12, 0x49, 0xa8, 0xc2, 0xe4, 0x95,
0x48, 0x0a, 0xc9, 0xc5, 0x3d, 0xd8, 0xb6, 0x7a, 0x06,
0x4b, 0xf8, 0x34, 0x0f, 0x15, 0x46, 0x73, 0x67, 0xbb,
0x38, 0xcc, 0x7a, 0xc7, 0x97, 0x8b, 0xbd, 0xdc, 0x26,
0xcc, 0xfe, 0x30, 0x42, 0xd6, 0xe6, 0xca, 0x01, 0xa8,
0xb8, 0x90, 0x80, 0x51, 0xfc, 0xb7, 0xa4, 0x50, 0x70,
0xb8, 0x12, 0xf3, 0x3f, 0x26, 0x41, 0xfd, 0xb5, 0x37,
0x90, 0x19, 0x66, 0x8f

Should decompress to the following bytes:

66, 108, 105, 122, 122, 97, 114, 100, 95, 65, 117, 99, 116, 105, 111, 110, 85, 73, 0, // [0].AddonInfo.addon_name: CString
1, // [0].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [0].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [0].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 66, 97, 116, 116, 108, 101, 102, 105, 101, 108, 100, 77, 105, 110, 105, 109, 97, 112, 0, // [1].AddonInfo.addon_name: CString
1, // [1].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [1].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [1].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 66, 105, 110, 100, 105, 110, 103, 85, 73, 0, // [2].AddonInfo.addon_name: CString
1, // [2].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [2].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [2].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 67, 111, 109, 98, 97, 116, 84, 101, 120, 116, 0, // [3].AddonInfo.addon_name: CString
1, // [3].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [3].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [3].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 67, 114, 97, 102, 116, 85, 73, 0, // [4].AddonInfo.addon_name: CString
1, // [4].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [4].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [4].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 71, 77, 83, 117, 114, 118, 101, 121, 85, 73, 0, // [5].AddonInfo.addon_name: CString
1, // [5].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [5].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [5].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 73, 110, 115, 112, 101, 99, 116, 85, 73, 0, // [6].AddonInfo.addon_name: CString
1, // [6].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [6].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [6].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 77, 97, 99, 114, 111, 85, 73, 0, // [7].AddonInfo.addon_name: CString
1, // [7].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [7].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [7].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 82, 97, 105, 100, 85, 73, 0, // [8].AddonInfo.addon_name: CString
1, // [8].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [8].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [8].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 84, 97, 108, 101, 110, 116, 85, 73, 0, // [9].AddonInfo.addon_name: CString
1, // [9].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [9].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [9].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 84, 114, 97, 100, 101, 83, 107, 105, 108, 108, 85, 73, 0, // [10].AddonInfo.addon_name: CString
1, // [10].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [10].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [10].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 84, 114, 97, 105, 110, 101, 114, 85, 73, 0, // [11].AddonInfo.addon_name: CString
1, // [11].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [11].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [11].AddonInfo.addon_extra_crc: u32

The Python standard library has a zlib module which can be used for this:

import zlib
data = bytes([0x78, 0x9c, 0x75, 0xcc, 0xbd, 0x0e, 0xc2, 0x30, 0x0c, 0x04, 0xe0, 0xf2, 0x1e, 0xbc, 0x0c, 0x61, 0x40, 0x95, 0xc8, 0x42, 0xc3, 0x8c, 0x4c, 0xe2, 0x22, 0x0b, 0xc7, 0xa9, 0x8c, 0xcb, 0x4f, 0x9f, 0x1e, 0x16, 0x24, 0x06, 0x73, 0xeb, 0x77, 0x77, 0x81, 0x69, 0x59, 0x40, 0xcb, 0x69, 0x33, 0x67, 0xa3, 0x26, 0xc7, 0xbe, 0x5b, 0xd5, 0xc7, 0x7a, 0xdf, 0x7d, 0x12, 0xbe, 0x16, 0xc0, 0x8c, 0x71, 0x24, 0xe4, 0x12, 0x49, 0xa8, 0xc2, 0xe4, 0x95, 0x48, 0x0a, 0xc9, 0xc5, 0x3d, 0xd8, 0xb6, 0x7a, 0x06, 0x4b, 0xf8, 0x34, 0x0f, 0x15, 0x46, 0x73, 0x67, 0xbb, 0x38, 0xcc, 0x7a, 0xc7, 0x97, 0x8b, 0xbd, 0xdc, 0x26, 0xcc, 0xfe, 0x30, 0x42, 0xd6, 0xe6, 0xca, 0x01, 0xa8, 0xb8, 0x90, 0x80, 0x51, 0xfc, 0xb7, 0xa4, 0x50, 0x70, 0xb8, 0x12, 0xf3, 0x3f, 0x26, 0x41, 0xfd, 0xb5, 0x37, 0x90, 0x19, 0x66, 0x8f])

decompressed_data = zlib.decompress(data)

compressed_data = zlib.compress(decompressed_data)

In order to create an uncompressed zlib stream, the following python code can be used:

def adler32(data: bytes) -> int:
    MOD_ADLER = 65521
    a = 1
    b = 0

    for i in range(0, len(data)):
        a = (a + data[i]) % MOD_ADLER
        b = (b + a) % MOD_ADLER

    return b << 16 | a

def create_zlib_stream(data: bytes) -> bytes:
    b = bytearray([
        0x78, 0x01, # zlib header
        0x01, # BFINAL and no compression
    ])
    length = len(data)
    b.append(length & 0xff)
    b.append((length & 0xff00) >> 8)

    nlength = length ^ 0xffff
    b.append(nlength & 0xff)
    b.append((nlength & 0xff00) >> 8)

    b += (data)

    b += (adler32(data).to_bytes(4, "big"))

    return b

print(create_zlib_stream(data))

This can be used instead of a library for compressing, although decompression will probably still require a library.

AchievementDoneArray

Array of AchievementDone structs that, like the AchievementInProgressArray, does not have a size variable but instead terminates if the achievement value is -1.

AchievementDoneArray is only for Wrath.

AchievementInProgressArray

Array of AchievementInProgress structs that, like the AchievementDoneArray, does not have a size variable but instead terminates if the achievement value is -1.

AchievementInProgressArray is only for Wrath.

AddonArray

Array of Addon for TBC and Wrath that rely on externally knowing the amount of array members.

Masks

Masks consist of an integer pattern mask and a member for every set bit in the pattern mask.

Vanilla

AuraMask has a pattern of 32 bits, with u16 members.

TBC

AuraMask has a pattern of 64 bits with Aura struct members.

Wrath

AuraMask has a pattern of 64 bits with Aura struct members.

pub struct AuraMask {
    auras: [Option<u16>; Self::MAX_CAPACITY],
}

impl AuraMask {
    const MAX_CAPACITY: usize = 32;

    pub fn read(r: &mut impl Read) -> Result<Self, io::Error> {
        let mut auras = [None; Self::MAX_CAPACITY];
        let bit_pattern: u32 = crate::util::read_u32_le(r)?;

        for (i, aura) in auras.iter_mut().enumerate() {
            if (bit_pattern & (1 << i)) != 0 {
                *aura = Some(crate::util::read_u16_le(r)?);
            }
        }

        Ok(Self { auras })
    }

    pub(crate) fn write_into_vec(&self, mut v: &mut Vec<u8>) -> Result<(), std::io::Error> {
        let mut bit_pattern: u32 = 0;
        for (i, &b) in self.auras().iter().enumerate() {
            if b.is_some() {
                bit_pattern |= 1 << i;
            }
        }

        std::io::Write::write_all(&mut v, bit_pattern.to_le_bytes().as_slice())?;

        for &i in self.auras() {
            if let Some(b) = i {
                std::io::Write::write_all(&mut v, b.to_le_bytes().as_slice())?;
            }
        }

        Ok(())
    }

    pub const fn auras(&self) -> &[Option<u16>] {
        self.auras.as_slice()
    }

    pub const fn size(&self) -> usize {
        std::mem::size_of::<u32>() + std::mem::size_of::<u16>() * self.auras.len()
    }
}

CacheMask

A u32 followed by a u32 for every set bit in the first u32. CacheMask is only for Wrath.

DateTime

u32 in the format of years_after_2000 << 24 | month << 20 | month_day << 14 | weekday << 11 | hours << 6 | minutes.

All values start on 0, and weekday starts on Sunday.

EnchantMask

EnchantMask has a pattern (u16) of 16 bits with 16 bit (u16) members. The EnchantMask is Wrath only.

InspectTalentGearMask

InspectTalentGearMask has a pattern of 32 bits with members the size of their individual InspectTalentGear. InspectTalentGearMask is Wrath only.

MonsterMoveSpline

Array of splines used in SMSG_MONSTER_MOVE for Vanilla/TBC/Wrath. Consists of a u32 with the amount of splines, followed by the first spline as a Vector3d (x, y, z as floats) and then the remaining splines as packed u32s.

A C function for converting to and from the packed u32s would be:

uint32_t to_packed_vector3d(float x, float y, float z)
{
    uint32_t packed = 0;
    packed |= ((uint32_t)(x / 0.25f) & 0x7FF);
    packed |= ((uint32_t)(y / 0.25f) & 0x7FF) << 11;
    packed |= ((uint32_t)(z / 0.25f) & 0x3FF) << 22;
    return packed;
}

Vector3d from_packed(uint32_t p)
{
    float x = (float)((p & 0x7FF) / 4);
    float y = (float)(((p >> 11) & 0x7FF) / 4);
    float z = (float)(((p >> 22) & 0x3FF) / 4);

    return Vector3d { x, y, z };
}

PackedGuid

NOT VALID FOR ALL VERSIONS. ONLY KNOWN VALID FOR VANILLA, TBC AND WRATH

Some messages omit zero bytes from the GUID and instead send a byte mask as the first value. The byte mask is then iterated through and every set bit indicates that a byte of the GUID has been sent.

Note that the bit positions and not the integer values determine how many GUID bytes are sent. So for example a byte mask of 0b00000010 (0x2) indicates that the second least significant byte will be sent and the rest are zero, not that two bytes will be sent.

Since this format is impossible to model elegantly in the Wowm language it is treated as a built-in type that codegen units handle.

Examples

Assume the following bytes are sent (first byte is shown as binary for ease of understanding)

0b00001010, 0xDE, 0xAD

This means that:

  • The least significant (0th) byte is zero
  • The second least significant byte (1st) byte is 0xDE
  • The third least significant (2nd) byte is zero
  • The fourth least significant (3rd) byte is 0xAD
  • The rest are zero.

Giving a final GUID of 0x00000000AD00DE00.

The following C code will parse packed GUIDs:

#include <stdint.h>
#include <stdio.h>

// Assume data is a pointer to immediately after the byte mask
uint64_t parse_packed_guid(uint8_t byte_mask, uint8_t* data) {
    uint64_t guid = 0;
    // We can't use i because only set bits move the cursor
    uint8_t cursor = 0;

    for (uint8_t i = 0; i < 8; ++i) {
        if (byte_mask & (1 << i)) {
            guid |= (data[cursor] << (i * 8));

            ++cursor;
        }
    }

    return guid;
}

int main() {
    uint8_t byte_mask = 0b00001010;
    uint8_t data[] = { 0xDE, 0xAD };

    uint64_t guid = parse_packed_guid(byte_mask, (uint8_t*)&data);

    printf("%lx", guid);
}

The following Python code will parse packed GUIDs:

# Assume data is a list of the remaining message data
def parse_packed_guid(byte_mask, data):
    guid = 0
    # We can't use i because only set bits move the cursor
    cursor = 0

    for i in range(0, 8):
        if byte_mask & (1 << i):
            guid |= (data[cursor] << (i * 8))
            cursor += 1

    return guid


byte_mask = 0b00001010
data = [0xDE, 0xAD]

print(hex(parse_packed_guid(byte_mask, data)))

NamedGuid

A u64 followed by a CString if the u64 is not equal to 0.

UpdateMask

An UpdateMask is a variable length way of sending known fields to the client. It is represented by a byte mask that decides which fields are sent afterwards.

Representation

The UpdateMask starts with a single u8 that decides how many u32 mask blocks will follow. The bit pattern in these mask blocks determine how many additional u32s of data will follow and how to interpret that data.

Examples

The absolute minimum amount of fields that need to be set to log a player into the world are:

  • OBJECT_GUID, an Object field.
  • OBJECT_TYPE, an Object field.
  • UNIT_HEALTH, a Unit field.
  • UNIT_BYTES_0, a Unit field.

To find out how many mask blocks we need to send we take the highest offset field (UNIT_BYTES_0 with 36) and divide it by the amount of bits in a u32 and rounding up. This gives us 2 mask blocks that we need to send.

To figure out which bits must be set on the mask blocks we look up the offset and sizes for our fields. A size of 1 means that only the bit at the offset should be set. A size of 2 means that the bit at the offset and the bit at the offset + 1 should be set, and so on.

Realistically you will have to store the mask blocks in an array of u32s. The correct index and bit position can then be found by dividing to find the index, and modulus to find the bit position within that index.

For UNIT_BYTES_0 with an offset of 36, this means that our index and bit position is:

index = 36 / 32 = 1
bit = 36 % 32 = 4

We do this for every field.

We then send, in order:

  1. A u8 with the amount of mask bytes.
  2. The mask bytes as u32s.
  3. The data values as u32s.

Examples

The following Python example uses the asyncio module. Additionally read_int is a function that reads a certain amount of bytes and returns it as an integer. So read_int(reader, 1) would return a u8 and read_int(reader, 4) would return a u32.

The dict[int, int] is a dictionary of integers, also called a hash map. The keys are the offsets defined below, and the values are u32 data values.

The write function uses Python’s struct module to pack the data into a byte array. The reference for struct lists the different format characters used.

The Python code below does not have the best API; users will have to fill out the dict using the offsets defined as constants without any type safety, merging of fields for Guids, or splitting of fields into smaller types. When designing your own UpdateMask type consider what API it allows you to expose.

class UpdateMask:
    fields: dict[int, int]

    @staticmethod
    async def read(reader: asyncio.StreamReader):
        amount_of_blocks = await read_int(reader, 1)

        blocks = []
        for _ in range(0, amount_of_blocks):
            blocks.append(await read_int(reader, 4))

        fields = {}
        for block_index, block in enumerate(blocks):
            for bit in range(0, 32):
                if block & 1 << bit:
                    value = await read_int(reader, 4)
                    key = block_index * 32 + bit
                    fields[key] = value

        return UpdateMask(fields=fields)

    def write(self, fmt, data):
        highest_key = max(self.fields)
        amount_of_blocks = highest_key // 32
        if highest_key % 32 != 0:
            amount_of_blocks += 1

        fmt += 'B'
        data.append(amount_of_blocks)

        blocks = [0] * amount_of_blocks

        for key in self.fields:
            block = key // 32
            index = key % 32
            blocks[block] |= 1 << index

        fmt += f'{len(blocks)}I'
        data.extend(blocks)

        for key in sorted(self.fields):
            fmt += 'I'
            data.append(self.fields[key])

        return fmt, data

    def size(self):
        highest_key = max(self.fields)
        amount_of_blocks = highest_key // 32

        extra = highest_key % 32
        if extra != 0:
            extra = 1
        else:
            extra = 0

        return 1 + (extra + amount_of_blocks + len(self.fields)) * 4

Lookup Table

Version 1.12

Taken from vmangos with some modifications.

Fields that all objects have:

NameOffsetSizeType
OBJECT_GUID0x00002GUID
OBJECT_TYPE0x00021INT
OBJECT_ENTRY0x00031INT
OBJECT_SCALE_X0x00041FLOAT

Fields that all items have:

NameOffsetSizeType
ITEM_OWNER0x00062GUID
ITEM_CONTAINED0x00082GUID
ITEM_CREATOR0x000a2GUID
ITEM_GIFTCREATOR0x000c2GUID
ITEM_STACK_COUNT0x000e1INT
ITEM_DURATION0x000f1INT
ITEM_SPELL_CHARGES0x00105INT
ITEM_FLAGS0x00151INT
ITEM_ENCHANTMENT0x001621INT
ITEM_PROPERTY_SEED0x002b1INT
ITEM_RANDOM_PROPERTIES_ID0x002c1INT
ITEM_ITEM_TEXT_ID0x002d1INT
ITEM_DURABILITY0x002e1INT
ITEM_MAXDURABILITY0x002f1INT

Fields that all containers have:

NameOffsetSizeType
CONTAINER_NUM_SLOTS0x00301INT
CONTAINER_SLOT_10x003272GUID

Fields that all units have:

NameOffsetSizeType
UNIT_CHARM0x00062GUID
UNIT_SUMMON0x00082GUID
UNIT_CHARMEDBY0x000a2GUID
UNIT_SUMMONEDBY0x000c2GUID
UNIT_CREATEDBY0x000e2GUID
UNIT_TARGET0x00102GUID
UNIT_PERSUADED0x00122GUID
UNIT_CHANNEL_OBJECT0x00142GUID
UNIT_HEALTH0x00161INT
UNIT_POWER10x00171INT
UNIT_POWER20x00181INT
UNIT_POWER30x00191INT
UNIT_POWER40x001a1INT
UNIT_POWER50x001b1INT
UNIT_MAXHEALTH0x001c1INT
UNIT_MAXPOWER10x001d1INT
UNIT_MAXPOWER20x001e1INT
UNIT_MAXPOWER30x001f1INT
UNIT_MAXPOWER40x00201INT
UNIT_MAXPOWER50x00211INT
UNIT_LEVEL0x00221INT
UNIT_FACTIONTEMPLATE0x00231INT
UNIT_BYTES_00x00241BYTES
UNIT_VIRTUAL_ITEM_SLOT_DISPLAY0x00253INT
UNIT_VIRTUAL_ITEM_INFO0x00286BYTES
UNIT_FLAGS0x002e1INT
UNIT_AURA0x002f48INT
UNIT_AURAFLAGS0x005f6BYTES
UNIT_AURALEVELS0x006512BYTES
UNIT_AURAAPPLICATIONS0x007112BYTES
UNIT_AURASTATE0x007d1INT
UNIT_BASEATTACKTIME0x007e2INT
UNIT_RANGEDATTACKTIME0x00801INT
UNIT_BOUNDINGRADIUS0x00811FLOAT
UNIT_COMBATREACH0x00821FLOAT
UNIT_DISPLAYID0x00831INT
UNIT_NATIVEDISPLAYID0x00841INT
UNIT_MOUNTDISPLAYID0x00851INT
UNIT_MINDAMAGE0x00861FLOAT
UNIT_MAXDAMAGE0x00871FLOAT
UNIT_MINOFFHANDDAMAGE0x00881FLOAT
UNIT_MAXOFFHANDDAMAGE0x00891FLOAT
UNIT_BYTES_10x008a1BYTES
UNIT_PETNUMBER0x008b1INT
UNIT_PET_NAME_TIMESTAMP0x008c1INT
UNIT_PETEXPERIENCE0x008d1INT
UNIT_PETNEXTLEVELEXP0x008e1INT
UNIT_DYNAMIC_FLAGS0x008f1INT
UNIT_CHANNEL_SPELL0x00901INT
UNIT_MOD_CAST_SPEED0x00911FLOAT
UNIT_CREATED_BY_SPELL0x00921INT
UNIT_NPC_FLAGS0x00931INT
UNIT_NPC_EMOTESTATE0x00941INT
UNIT_TRAINING_POINTS0x00951TWO_SHORT
UNIT_STRENGTH0x00961INT
UNIT_AGILITY0x00971INT
UNIT_STAMINA0x00981INT
UNIT_INTELLECT0x00991INT
UNIT_SPIRIT0x009a1INT
UNIT_NORMAL_RESISTANCE0x009b1INT
UNIT_HOLY_RESISTANCE0x009c1INT
UNIT_FIRE_RESISTANCE0x009d1INT
UNIT_NATURE_RESISTANCE0x009e1INT
UNIT_FROST_RESISTANCE0x009f1INT
UNIT_SHADOW_RESISTANCE0x00a01INT
UNIT_ARCANE_RESISTANCE0x00a11INT
UNIT_BASE_MANA0x00a21INT
UNIT_BASE_HEALTH0x00a31INT
UNIT_BYTES_20x00a41BYTES
UNIT_ATTACK_POWER0x00a51INT
UNIT_ATTACK_POWER_MODS0x00a61TWO_SHORT
UNIT_ATTACK_POWER_MULTIPLIER0x00a71FLOAT
UNIT_RANGED_ATTACK_POWER0x00a81INT
UNIT_RANGED_ATTACK_POWER_MODS0x00a91TWO_SHORT
UNIT_RANGED_ATTACK_POWER_MULTIPLIER0x00aa1FLOAT
UNIT_MINRANGEDDAMAGE0x00ab1FLOAT
UNIT_MAXRANGEDDAMAGE0x00ac1FLOAT
UNIT_POWER_COST_MODIFIER0x00ad7INT
UNIT_POWER_COST_MULTIPLIER0x00b47FLOAT

Fields that all players have:

NameOffsetSizeType
PLAYER_DUEL_ARBITER0x00bc2GUID
PLAYER_FLAGS0x00be1INT
PLAYER_GUILDID0x00bf1INT
PLAYER_GUILDRANK0x00c01INT
PLAYER_FEATURES0x00c11BYTES
PLAYER_BYTES_20x00c21BYTES
PLAYER_BYTES_30x00c31BYTES
PLAYER_DUEL_TEAM0x00c41INT
PLAYER_GUILD_TIMESTAMP0x00c51INT
PLAYER_QUEST_LOG_1_10x00c61INT
PLAYER_QUEST_LOG_1_20x00c72INT
PLAYER_QUEST_LOG_2_10x00c91INT
PLAYER_QUEST_LOG_2_20x00ca2INT
PLAYER_QUEST_LOG_3_10x00cc1INT
PLAYER_QUEST_LOG_3_20x00cd2INT
PLAYER_QUEST_LOG_4_10x00cf1INT
PLAYER_QUEST_LOG_4_20x00d02INT
PLAYER_QUEST_LOG_5_10x00d21INT
PLAYER_QUEST_LOG_5_20x00d32INT
PLAYER_QUEST_LOG_6_10x00d51INT
PLAYER_QUEST_LOG_6_20x00d62INT
PLAYER_QUEST_LOG_7_10x00d81INT
PLAYER_QUEST_LOG_7_20x00d92INT
PLAYER_QUEST_LOG_8_10x00db1INT
PLAYER_QUEST_LOG_8_20x00dc2INT
PLAYER_QUEST_LOG_9_10x00de1INT
PLAYER_QUEST_LOG_9_20x00df2INT
PLAYER_QUEST_LOG_10_10x00e11INT
PLAYER_QUEST_LOG_10_20x00e22INT
PLAYER_QUEST_LOG_11_10x00e41INT
PLAYER_QUEST_LOG_11_20x00e52INT
PLAYER_QUEST_LOG_12_10x00e71INT
PLAYER_QUEST_LOG_12_20x00e82INT
PLAYER_QUEST_LOG_13_10x00ea1INT
PLAYER_QUEST_LOG_13_20x00eb2INT
PLAYER_QUEST_LOG_14_10x00ed1INT
PLAYER_QUEST_LOG_14_20x00ee2INT
PLAYER_QUEST_LOG_15_10x00f01INT
PLAYER_QUEST_LOG_15_20x00f12INT
PLAYER_QUEST_LOG_16_10x00f31INT
PLAYER_QUEST_LOG_16_20x00f42INT
PLAYER_QUEST_LOG_17_10x00f61INT
PLAYER_QUEST_LOG_17_20x00f72INT
PLAYER_QUEST_LOG_18_10x00f91INT
PLAYER_QUEST_LOG_18_20x00fa2INT
PLAYER_QUEST_LOG_19_10x00fc1INT
PLAYER_QUEST_LOG_19_20x00fd2INT
PLAYER_QUEST_LOG_20_10x00ff1INT
PLAYER_QUEST_LOG_20_20x01002INT
PLAYER_VISIBLE_ITEM0x0102228CUSTOM
PLAYER_FIELD_INV0x01e6226CUSTOM
PLAYER_FARSIGHT0x02c82GUID
PLAYER_FIELD_COMBO_TARGET0x02ca2GUID
PLAYER_XP0x02cc1INT
PLAYER_NEXT_LEVEL_XP0x02cd1INT
PLAYER_SKILL_INFO0x02ce384CUSTOM
PLAYER_CHARACTER_POINTS10x044e1INT
PLAYER_CHARACTER_POINTS20x044f1INT
PLAYER_TRACK_CREATURES0x04501INT
PLAYER_TRACK_RESOURCES0x04511INT
PLAYER_BLOCK_PERCENTAGE0x04521FLOAT
PLAYER_DODGE_PERCENTAGE0x04531FLOAT
PLAYER_PARRY_PERCENTAGE0x04541FLOAT
PLAYER_CRIT_PERCENTAGE0x04551FLOAT
PLAYER_RANGED_CRIT_PERCENTAGE0x04561FLOAT
PLAYER_EXPLORED_ZONES_10x045764BYTES
PLAYER_REST_STATE_EXPERIENCE0x04971INT
PLAYER_FIELD_COINAGE0x04981INT
PLAYER_FIELD_POSSTAT00x04991INT
PLAYER_FIELD_POSSTAT10x049a1INT
PLAYER_FIELD_POSSTAT20x049b1INT
PLAYER_FIELD_POSSTAT30x049c1INT
PLAYER_FIELD_POSSTAT40x049d1INT
PLAYER_FIELD_NEGSTAT00x049e1INT
PLAYER_FIELD_NEGSTAT10x049f1INT
PLAYER_FIELD_NEGSTAT20x04a01INT
PLAYER_FIELD_NEGSTAT30x04a11INT
PLAYER_FIELD_NEGSTAT40x04a21INT
PLAYER_FIELD_RESISTANCEBUFFMODSPOSITIVE0x04a37INT
PLAYER_FIELD_RESISTANCEBUFFMODSNEGATIVE0x04aa7INT
PLAYER_FIELD_MOD_DAMAGE_DONE_POS0x04b17INT
PLAYER_FIELD_MOD_DAMAGE_DONE_NEG0x04b87INT
PLAYER_FIELD_MOD_DAMAGE_DONE_PCT0x04bf7INT
PLAYER_FIELD_BYTES0x04c61BYTES
PLAYER_AMMO_ID0x04c71INT
PLAYER_SELF_RES_SPELL0x04c81INT
PLAYER_FIELD_PVP_MEDALS0x04c91INT
PLAYER_FIELD_BUYBACK_PRICE_10x04ca12INT
PLAYER_FIELD_BUYBACK_TIMESTAMP_10x04d612INT
PLAYER_FIELD_SESSION_KILLS0x04e21TWO_SHORT
PLAYER_FIELD_YESTERDAY_KILLS0x04e31TWO_SHORT
PLAYER_FIELD_LAST_WEEK_KILLS0x04e41TWO_SHORT
PLAYER_FIELD_THIS_WEEK_KILLS0x04e51TWO_SHORT
PLAYER_FIELD_THIS_WEEK_CONTRIBUTION0x04e61INT
PLAYER_FIELD_LIFETIME_HONORBALE_KILLS0x04e71INT
PLAYER_FIELD_LIFETIME_DISHONORBALE_KILLS0x04e81INT
PLAYER_FIELD_YESTERDAY_CONTRIBUTION0x04e91INT
PLAYER_FIELD_LAST_WEEK_CONTRIBUTION0x04ea1INT
PLAYER_FIELD_LAST_WEEK_RANK0x04eb1INT
PLAYER_FIELD_BYTES20x04ec1BYTES
PLAYER_FIELD_WATCHED_FACTION_INDEX0x04ed1INT
PLAYER_FIELD_COMBAT_RATING_10x04ee20INT

Fields that all gameobjects have:

NameOffsetSizeType
GAMEOBJECT_CREATED_BY0x00062GUID
GAMEOBJECT_DISPLAYID0x00081INT
GAMEOBJECT_FLAGS0x00091INT
GAMEOBJECT_ROTATION0x000a4FLOAT
GAMEOBJECT_STATE0x000e1INT
GAMEOBJECT_POS_X0x000f1FLOAT
GAMEOBJECT_POS_Y0x00101FLOAT
GAMEOBJECT_POS_Z0x00111FLOAT
GAMEOBJECT_FACING0x00121FLOAT
GAMEOBJECT_DYN_FLAGS0x00131INT
GAMEOBJECT_FACTION0x00141INT
GAMEOBJECT_TYPE_ID0x00151INT
GAMEOBJECT_LEVEL0x00161INT
GAMEOBJECT_ARTKIT0x00171INT
GAMEOBJECT_ANIMPROGRESS0x00181INT

Fields that all dynamicobjects have:

NameOffsetSizeType
DYNAMICOBJECT_CASTER0x00062GUID
DYNAMICOBJECT_BYTES0x00081BYTES
DYNAMICOBJECT_SPELLID0x00091INT
DYNAMICOBJECT_RADIUS0x000a1FLOAT
DYNAMICOBJECT_POS_X0x000b1FLOAT
DYNAMICOBJECT_POS_Y0x000c1FLOAT
DYNAMICOBJECT_POS_Z0x000d1FLOAT
DYNAMICOBJECT_FACING0x000e1FLOAT

Fields that all corpses have:

NameOffsetSizeType
CORPSE_OWNER0x00062GUID
CORPSE_FACING0x00081FLOAT
CORPSE_POS_X0x00091FLOAT
CORPSE_POS_Y0x000a1FLOAT
CORPSE_POS_Z0x000b1FLOAT
CORPSE_DISPLAY_ID0x000c1INT
CORPSE_ITEM0x000d19INT
CORPSE_BYTES_10x00201BYTES
CORPSE_BYTES_20x00211BYTES
CORPSE_GUILD0x00221INT
CORPSE_FLAGS0x00231INT
CORPSE_DYNAMIC_FLAGS0x00241INT

Version 2.4.3

Taken from mangosone with some modifications.

Fields that all objects have:

NameOffsetSizeType
OBJECT_GUID0x00002GUID
OBJECT_TYPE0x00021INT
OBJECT_ENTRY0x00031INT
OBJECT_SCALE_X0x00041FLOAT
OBJECT_CREATED_BY0x00062GUID

Fields that all items have:

NameOffsetSizeType
ITEM_OWNER0x00062GUID
ITEM_CONTAINED0x00082GUID
ITEM_CREATOR0x000a2GUID
ITEM_GIFTCREATOR0x000c2GUID
ITEM_STACK_COUNT0x000e1INT
ITEM_DURATION0x000f1INT
ITEM_SPELL_CHARGES0x00105INT
ITEM_FLAGS0x00151INT
ITEM_ENCHANTMENT_1_10x001633INT
ITEM_PROPERTY_SEED0x00371INT
ITEM_RANDOM_PROPERTIES_ID0x00381INT
ITEM_ITEM_TEXT_ID0x00391INT
ITEM_DURABILITY0x003a1INT
ITEM_MAXDURABILITY0x003b1INT

Fields that all containers have:

NameOffsetSizeType
CONTAINER_NUM_SLOTS0x003c1INT
CONTAINER_SLOT_10x003e72GUID

Fields that all units have:

NameOffsetSizeType
UNIT_CHARM0x00062GUID
UNIT_SUMMON0x00082GUID
UNIT_CHARMEDBY0x000a2GUID
UNIT_SUMMONEDBY0x000c2GUID
UNIT_CREATEDBY0x000e2GUID
UNIT_TARGET0x00102GUID
UNIT_PERSUADED0x00122GUID
UNIT_CHANNEL_OBJECT0x00142GUID
UNIT_HEALTH0x00161INT
UNIT_POWER10x00171INT
UNIT_POWER20x00181INT
UNIT_POWER30x00191INT
UNIT_POWER40x001a1INT
UNIT_POWER50x001b1INT
UNIT_MAXHEALTH0x001c1INT
UNIT_MAXPOWER10x001d1INT
UNIT_MAXPOWER20x001e1INT
UNIT_MAXPOWER30x001f1INT
UNIT_MAXPOWER40x00201INT
UNIT_MAXPOWER50x00211INT
UNIT_LEVEL0x00221INT
UNIT_FACTIONTEMPLATE0x00231INT
UNIT_BYTES_00x00241BYTES
UNIT_VIRTUAL_ITEM_SLOT_DISPLAY0x00253INT
UNIT_VIRTUAL_ITEM_INFO0x00286BYTES
UNIT_FLAGS0x002e1INT
UNIT_FLAGS_20x002f1INT
UNIT_AURA0x003056INT
UNIT_AURAFLAGS0x006814BYTES
UNIT_AURALEVELS0x007614BYTES
UNIT_AURAAPPLICATIONS0x008414BYTES
UNIT_AURASTATE0x00921INT
UNIT_BASEATTACKTIME0x00932INT
UNIT_RANGEDATTACKTIME0x00951INT
UNIT_BOUNDINGRADIUS0x00961FLOAT
UNIT_COMBATREACH0x00971FLOAT
UNIT_DISPLAYID0x00981INT
UNIT_NATIVEDISPLAYID0x00991INT
UNIT_MOUNTDISPLAYID0x009a1INT
UNIT_MINDAMAGE0x009b1FLOAT
UNIT_MAXDAMAGE0x009c1FLOAT
UNIT_MINOFFHANDDAMAGE0x009d1FLOAT
UNIT_MAXOFFHANDDAMAGE0x009e1FLOAT
UNIT_BYTES_10x009f1BYTES
UNIT_PETNUMBER0x00a01INT
UNIT_PET_NAME_TIMESTAMP0x00a11INT
UNIT_PETEXPERIENCE0x00a21INT
UNIT_PETNEXTLEVELEXP0x00a31INT
UNIT_DYNAMIC_FLAGS0x00a41INT
UNIT_CHANNEL_SPELL0x00a51INT
UNIT_MOD_CAST_SPEED0x00a61FLOAT
UNIT_CREATED_BY_SPELL0x00a71INT
UNIT_NPC_FLAGS0x00a81INT
UNIT_NPC_EMOTESTATE0x00a91INT
UNIT_TRAINING_POINTS0x00aa1TWO_SHORT
UNIT_STRENGTH0x00ab1INT
UNIT_AGILITY0x00ac1INT
UNIT_STAMINA0x00ad1INT
UNIT_INTELLECT0x00ae1INT
UNIT_SPIRIT0x00af1INT
UNIT_POSSTAT10x00b11INT
UNIT_POSSTAT20x00b21INT
UNIT_POSSTAT30x00b31INT
UNIT_NEGSTAT10x00b61INT
UNIT_NEGSTAT20x00b71INT
UNIT_NEGSTAT30x00b81INT
UNIT_RESISTANCES0x00ba7INT
UNIT_BASE_MANA0x00cf1INT
UNIT_BASE_HEALTH0x00d01INT
UNIT_BYTES_20x00d11BYTES
UNIT_ATTACK_POWER0x00d21INT
UNIT_ATTACK_POWER_MODS0x00d31TWO_SHORT
UNIT_ATTACK_POWER_MULTIPLIER0x00d41FLOAT
UNIT_RANGED_ATTACK_POWER0x00d51INT
UNIT_RANGED_ATTACK_POWER_MODS0x00d61TWO_SHORT
UNIT_RANGED_ATTACK_POWER_MULTIPLIER0x00d71FLOAT
UNIT_MINRANGEDDAMAGE0x00d81FLOAT
UNIT_MAXRANGEDDAMAGE0x00d91FLOAT
UNIT_POWER_COST_MODIFIER0x00da7INT
UNIT_POWER_COST_MULTIPLIER0x00e17FLOAT
UNIT_MAXHEALTHMODIFIER0x00e81FLOAT

Fields that all players have:

NameOffsetSizeType
PLAYER_POSSTAT00x00b01INT
PLAYER_POSSTAT40x00b41INT
PLAYER_NEGSTAT00x00b51INT
PLAYER_NEGSTAT40x00b91INT
PLAYER_RESISTANCEBUFFMODSPOSITIVE0x00c17INT
PLAYER_RESISTANCEBUFFMODSNEGATIVE0x00c87INT
PLAYER_DUEL_ARBITER0x00ea2GUID
PLAYER_FLAGS0x00ec1INT
PLAYER_GUILDID0x00ed1INT
PLAYER_GUILDRANK0x00ee1INT
PLAYER_FIELD_BYTES0x00ef1BYTES
PLAYER_BYTES_20x00f01BYTES
PLAYER_BYTES_30x00f11BYTES
PLAYER_DUEL_TEAM0x00f21INT
PLAYER_GUILD_TIMESTAMP0x00f31INT
PLAYER_QUEST_LOG_1_10x00f41INT
PLAYER_QUEST_LOG_1_20x00f51INT
PLAYER_QUEST_LOG_1_30x00f61BYTES
PLAYER_QUEST_LOG_1_40x00f71INT
PLAYER_QUEST_LOG_2_10x00f81INT
PLAYER_QUEST_LOG_2_20x00f91INT
PLAYER_QUEST_LOG_2_30x00fa1BYTES
PLAYER_QUEST_LOG_2_40x00fb1INT
PLAYER_QUEST_LOG_3_10x00fc1INT
PLAYER_QUEST_LOG_3_20x00fd1INT
PLAYER_QUEST_LOG_3_30x00fe1BYTES
PLAYER_QUEST_LOG_3_40x00ff1INT
PLAYER_QUEST_LOG_4_10x01001INT
PLAYER_QUEST_LOG_4_20x01011INT
PLAYER_QUEST_LOG_4_30x01021BYTES
PLAYER_QUEST_LOG_4_40x01031INT
PLAYER_QUEST_LOG_5_10x01041INT
PLAYER_QUEST_LOG_5_20x01051INT
PLAYER_QUEST_LOG_5_30x01061BYTES
PLAYER_QUEST_LOG_5_40x01071INT
PLAYER_QUEST_LOG_6_10x01081INT
PLAYER_QUEST_LOG_6_20x01091INT
PLAYER_QUEST_LOG_6_30x010a1BYTES
PLAYER_QUEST_LOG_6_40x010b1INT
PLAYER_QUEST_LOG_7_10x010c1INT
PLAYER_QUEST_LOG_7_20x010d1INT
PLAYER_QUEST_LOG_7_30x010e1BYTES
PLAYER_QUEST_LOG_7_40x010f1INT
PLAYER_QUEST_LOG_8_10x01101INT
PLAYER_QUEST_LOG_8_20x01111INT
PLAYER_QUEST_LOG_8_30x01121BYTES
PLAYER_QUEST_LOG_8_40x01131INT
PLAYER_QUEST_LOG_9_10x01141INT
PLAYER_QUEST_LOG_9_20x01151INT
PLAYER_QUEST_LOG_9_30x01161BYTES
PLAYER_QUEST_LOG_9_40x01171INT
PLAYER_QUEST_LOG_10_10x01181INT
PLAYER_QUEST_LOG_10_20x01191INT
PLAYER_QUEST_LOG_10_30x011a1BYTES
PLAYER_QUEST_LOG_10_40x011b1INT
PLAYER_QUEST_LOG_11_10x011c1INT
PLAYER_QUEST_LOG_11_20x011d1INT
PLAYER_QUEST_LOG_11_30x011e1BYTES
PLAYER_QUEST_LOG_11_40x011f1INT
PLAYER_QUEST_LOG_12_10x01201INT
PLAYER_QUEST_LOG_12_20x01211INT
PLAYER_QUEST_LOG_12_30x01221BYTES
PLAYER_QUEST_LOG_12_40x01231INT
PLAYER_QUEST_LOG_13_10x01241INT
PLAYER_QUEST_LOG_13_20x01251INT
PLAYER_QUEST_LOG_13_30x01261BYTES
PLAYER_QUEST_LOG_13_40x01271INT
PLAYER_QUEST_LOG_14_10x01281INT
PLAYER_QUEST_LOG_14_20x01291INT
PLAYER_QUEST_LOG_14_30x012a1BYTES
PLAYER_QUEST_LOG_14_40x012b1INT
PLAYER_QUEST_LOG_15_10x012c1INT
PLAYER_QUEST_LOG_15_20x012d1INT
PLAYER_QUEST_LOG_15_30x012e1BYTES
PLAYER_QUEST_LOG_15_40x012f1INT
PLAYER_QUEST_LOG_16_10x01301INT
PLAYER_QUEST_LOG_16_20x01311INT
PLAYER_QUEST_LOG_16_30x01321BYTES
PLAYER_QUEST_LOG_16_40x01331INT
PLAYER_QUEST_LOG_17_10x01341INT
PLAYER_QUEST_LOG_17_20x01351INT
PLAYER_QUEST_LOG_17_30x01361BYTES
PLAYER_QUEST_LOG_17_40x01371INT
PLAYER_QUEST_LOG_18_10x01381INT
PLAYER_QUEST_LOG_18_20x01391INT
PLAYER_QUEST_LOG_18_30x013a1BYTES
PLAYER_QUEST_LOG_18_40x013b1INT
PLAYER_QUEST_LOG_19_10x013c1INT
PLAYER_QUEST_LOG_19_20x013d1INT
PLAYER_QUEST_LOG_19_30x013e1BYTES
PLAYER_QUEST_LOG_19_40x013f1INT
PLAYER_QUEST_LOG_20_10x01401INT
PLAYER_QUEST_LOG_20_20x01411INT
PLAYER_QUEST_LOG_20_30x01421BYTES
PLAYER_QUEST_LOG_20_40x01431INT
PLAYER_QUEST_LOG_21_10x01441INT
PLAYER_QUEST_LOG_21_20x01451INT
PLAYER_QUEST_LOG_21_30x01461BYTES
PLAYER_QUEST_LOG_21_40x01471INT
PLAYER_QUEST_LOG_22_10x01481INT
PLAYER_QUEST_LOG_22_20x01491INT
PLAYER_QUEST_LOG_22_30x014a1BYTES
PLAYER_QUEST_LOG_22_40x014b1INT
PLAYER_QUEST_LOG_23_10x014c1INT
PLAYER_QUEST_LOG_23_20x014d1INT
PLAYER_QUEST_LOG_23_30x014e1BYTES
PLAYER_QUEST_LOG_23_40x014f1INT
PLAYER_QUEST_LOG_24_10x01501INT
PLAYER_QUEST_LOG_24_20x01511INT
PLAYER_QUEST_LOG_24_30x01521BYTES
PLAYER_QUEST_LOG_24_40x01531INT
PLAYER_QUEST_LOG_25_10x01541INT
PLAYER_QUEST_LOG_25_20x01551INT
PLAYER_QUEST_LOG_25_30x01561BYTES
PLAYER_QUEST_LOG_25_40x01571INT
PLAYER_VISIBLE_ITEM0x0158228CUSTOM
PLAYER_CHOSEN_TITLE0x02881INT
PLAYER_FIELD_INV0x01e6272CUSTOM
PLAYER_FARSIGHT0x039a2GUID
PLAYER_KNOWN_TITLES0x039c2GUID
PLAYER_XP0x039e1INT
PLAYER_NEXT_LEVEL_XP0x039f1INT
PLAYER_SKILL_INFO0x03a0384CUSTOM
PLAYER_CHARACTER_POINTS10x05201INT
PLAYER_CHARACTER_POINTS20x05211INT
PLAYER_TRACK_CREATURES0x05221INT
PLAYER_TRACK_RESOURCES0x05231INT
PLAYER_BLOCK_PERCENTAGE0x05241FLOAT
PLAYER_DODGE_PERCENTAGE0x05251FLOAT
PLAYER_PARRY_PERCENTAGE0x05261FLOAT
PLAYER_EXPERTISE0x05271INT
PLAYER_OFFHAND_EXPERTISE0x05281INT
PLAYER_CRIT_PERCENTAGE0x05291FLOAT
PLAYER_RANGED_CRIT_PERCENTAGE0x052a1FLOAT
PLAYER_OFFHAND_CRIT_PERCENTAGE0x052b1FLOAT
PLAYER_SPELL_CRIT_PERCENTAGE10x052c7FLOAT
PLAYER_SHIELD_BLOCK0x05331INT
PLAYER_EXPLORED_ZONES_10x0534128BYTES
PLAYER_REST_STATE_EXPERIENCE0x05b41INT
PLAYER_COINAGE0x05b51INT
PLAYER_MOD_DAMAGE_DONE_POS0x05b67INT
PLAYER_MOD_DAMAGE_DONE_NEG0x05bd7INT
PLAYER_MOD_DAMAGE_DONE_PCT0x05c47INT
PLAYER_MOD_HEALING_DONE_POS0x05cb1INT
PLAYER_MOD_TARGET_RESISTANCE0x05cc1INT
PLAYER_MOD_TARGET_PHYSICAL_RESISTANCE0x05cd1INT
PLAYER_FEATURES0x05ce1BYTES
PLAYER_AMMO_ID0x05cf1INT
PLAYER_SELF_RES_SPELL0x05d01INT
PLAYER_PVP_MEDALS0x05d11INT
PLAYER_BUYBACK_PRICE_10x05d212INT
PLAYER_BUYBACK_TIMESTAMP_10x05de12INT
PLAYER_KILLS0x05ea1TWO_SHORT
PLAYER_TODAY_CONTRIBUTION0x05eb1INT
PLAYER_YESTERDAY_CONTRIBUTION0x05ec1INT
PLAYER_LIFETIME_HONORABLE_KILLS0x05ed1INT
PLAYER_BYTES2_GLOW0x05ee1BYTES
PLAYER_WATCHED_FACTION_INDEX0x05ef1INT
PLAYER_COMBAT_RATING_10x05f024INT
PLAYER_ARENA_TEAM_INFO_1_10x060818INT
PLAYER_HONOR_CURRENCY0x061a1INT
PLAYER_ARENA_CURRENCY0x061b1INT
PLAYER_MOD_MANA_REGEN0x061c1FLOAT
PLAYER_MOD_MANA_REGEN_INTERRUPT0x061d1FLOAT
PLAYER_MAX_LEVEL0x061e1INT
PLAYER_DAILY_QUESTS_10x061f25INT

Fields that all gameobjects have:

NameOffsetSizeType
GAMEOBJECT_DISPLAYID0x00081INT
GAMEOBJECT_FLAGS0x00091INT
GAMEOBJECT_ROTATION0x000a4FLOAT
GAMEOBJECT_STATE0x000e1INT
GAMEOBJECT_POS_X0x000f1FLOAT
GAMEOBJECT_POS_Y0x00101FLOAT
GAMEOBJECT_POS_Z0x00111FLOAT
GAMEOBJECT_FACING0x00121FLOAT
GAMEOBJECT_DYN_FLAGS0x00131INT
GAMEOBJECT_FACTION0x00141INT
GAMEOBJECT_TYPE_ID0x00151INT
GAMEOBJECT_LEVEL0x00161INT
GAMEOBJECT_ARTKIT0x00171INT
GAMEOBJECT_ANIMPROGRESS0x00181INT

Fields that all dynamicobjects have:

NameOffsetSizeType
DYNAMICOBJECT_CASTER0x00062GUID
DYNAMICOBJECT_BYTES0x00081BYTES
DYNAMICOBJECT_SPELLID0x00091INT
DYNAMICOBJECT_RADIUS0x000a1FLOAT
DYNAMICOBJECT_POS_X0x000b1FLOAT
DYNAMICOBJECT_POS_Y0x000c1FLOAT
DYNAMICOBJECT_POS_Z0x000d1FLOAT
DYNAMICOBJECT_FACING0x000e1FLOAT
DYNAMICOBJECT_CASTTIME0x000f1INT

Fields that all corpses have:

NameOffsetSizeType
CORPSE_OWNER0x00062GUID
CORPSE_PARTY0x00082GUID
CORPSE_FACING0x000a1FLOAT
CORPSE_POS_X0x000b1FLOAT
CORPSE_POS_Y0x000c1FLOAT
CORPSE_POS_Z0x000d1FLOAT
CORPSE_DISPLAY_ID0x000e1INT
CORPSE_ITEM0x000f19INT
CORPSE_BYTES_10x00221BYTES
CORPSE_BYTES_20x00231BYTES
CORPSE_GUILD0x00241INT
CORPSE_FLAGS0x00251INT
CORPSE_DYNAMIC_FLAGS0x00261INT

Version 3.3.5

Taken from ArcEmu with some modifications.

Fields that all objects have:

NameOffsetSizeType
OBJECT_GUID0x00002GUID
OBJECT_TYPE0x00021INT
OBJECT_ENTRY0x00031INT
OBJECT_SCALE_X0x00041FLOAT
OBJECT_CREATED_BY0x00062GUID

Fields that all items have:

NameOffsetSizeType
ITEM_OWNER0x00062GUID
ITEM_CONTAINED0x00082GUID
ITEM_CREATOR0x000a2GUID
ITEM_GIFTCREATOR0x000c2GUID
ITEM_STACK_COUNT0x000e1INT
ITEM_DURATION0x000f1INT
ITEM_SPELL_CHARGES0x00105INT
ITEM_FLAGS0x00151INT
ITEM_ENCHANTMENT_1_10x00162INT
ITEM_ENCHANTMENT_1_30x00181TWO_SHORT
ITEM_ENCHANTMENT_2_10x00192INT
ITEM_ENCHANTMENT_2_30x001b1TWO_SHORT
ITEM_ENCHANTMENT_3_10x001c2INT
ITEM_ENCHANTMENT_3_30x001e1TWO_SHORT
ITEM_ENCHANTMENT_4_10x001f2INT
ITEM_ENCHANTMENT_4_30x00211TWO_SHORT
ITEM_ENCHANTMENT_5_10x00222INT
ITEM_ENCHANTMENT_5_30x00241TWO_SHORT
ITEM_ENCHANTMENT_6_10x00252INT
ITEM_ENCHANTMENT_6_30x00271TWO_SHORT
ITEM_ENCHANTMENT_7_10x00282INT
ITEM_ENCHANTMENT_7_30x002a1TWO_SHORT
ITEM_ENCHANTMENT_8_10x002b2INT
ITEM_ENCHANTMENT_8_30x002d1TWO_SHORT
ITEM_ENCHANTMENT_9_10x002e2INT
ITEM_ENCHANTMENT_9_30x00301TWO_SHORT
ITEM_ENCHANTMENT_10_10x00312INT
ITEM_ENCHANTMENT_10_30x00331TWO_SHORT
ITEM_ENCHANTMENT_11_10x00342INT
ITEM_ENCHANTMENT_11_30x00361TWO_SHORT
ITEM_ENCHANTMENT_12_10x00372INT
ITEM_ENCHANTMENT_12_30x00391TWO_SHORT
ITEM_PROPERTY_SEED0x003a1INT
ITEM_RANDOM_PROPERTIES_ID0x003b1INT
ITEM_DURABILITY0x003c1INT
ITEM_MAXDURABILITY0x003d1INT
ITEM_CREATE_PLAYED_TIME0x003e1INT

Fields that all containers have:

NameOffsetSizeType
CONTAINER_NUM_SLOTS0x00401INT
CONTAINER_SLOT_10x004272GUID

Fields that all units have:

NameOffsetSizeType
UNIT_CHARM0x00062GUID
UNIT_SUMMON0x00082GUID
UNIT_CRITTER0x000a2GUID
UNIT_CHARMEDBY0x000c2GUID
UNIT_SUMMONEDBY0x000e2GUID
UNIT_CREATEDBY0x00102GUID
UNIT_TARGET0x00122GUID
UNIT_CHANNEL_OBJECT0x00142GUID
UNIT_CHANNEL_SPELL0x00161INT
UNIT_BYTES_00x00171BYTES
UNIT_HEALTH0x00181INT
UNIT_POWER10x00191INT
UNIT_POWER20x001a1INT
UNIT_POWER30x001b1INT
UNIT_POWER40x001c1INT
UNIT_POWER50x001d1INT
UNIT_POWER60x001e1INT
UNIT_POWER70x001f1INT
UNIT_MAXHEALTH0x00201INT
UNIT_MAXPOWER10x00211INT
UNIT_MAXPOWER20x00221INT
UNIT_MAXPOWER30x00231INT
UNIT_MAXPOWER40x00241INT
UNIT_MAXPOWER50x00251INT
UNIT_MAXPOWER60x00261INT
UNIT_MAXPOWER70x00271INT
UNIT_POWER_REGEN_FLAT_MODIFIER0x00287FLOAT
UNIT_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER0x002f7FLOAT
UNIT_LEVEL0x00361INT
UNIT_FACTIONTEMPLATE0x00371INT
UNIT_VIRTUAL_ITEM_SLOT_ID0x00383INT
UNIT_FLAGS0x003b1INT
UNIT_FLAGS_20x003c1INT
UNIT_AURASTATE0x003d1INT
UNIT_BASEATTACKTIME0x003e2INT
UNIT_RANGEDATTACKTIME0x00401INT
UNIT_BOUNDINGRADIUS0x00411FLOAT
UNIT_COMBATREACH0x00421FLOAT
UNIT_DISPLAYID0x00431INT
UNIT_NATIVEDISPLAYID0x00441INT
UNIT_MOUNTDISPLAYID0x00451INT
UNIT_MINDAMAGE0x00461FLOAT
UNIT_MAXDAMAGE0x00471FLOAT
UNIT_MINOFFHANDDAMAGE0x00481FLOAT
UNIT_MAXOFFHANDDAMAGE0x00491FLOAT
UNIT_BYTES_10x004a1BYTES
UNIT_PETNUMBER0x004b1INT
UNIT_PET_NAME_TIMESTAMP0x004c1INT
UNIT_PETEXPERIENCE0x004d1INT
UNIT_PETNEXTLEVELEXP0x004e1INT
UNIT_DYNAMIC_FLAGS0x004f1INT
UNIT_MOD_CAST_SPEED0x00501FLOAT
UNIT_CREATED_BY_SPELL0x00511INT
UNIT_NPC_FLAGS0x00521INT
UNIT_NPC_EMOTESTATE0x00531INT
UNIT_STRENGTH0x00541INT
UNIT_AGILITY0x00551INT
UNIT_STAMINA0x00561INT
UNIT_INTELLECT0x00571INT
UNIT_SPIRIT0x00581INT
UNIT_POSSTAT00x00591INT
UNIT_POSSTAT10x005a1INT
UNIT_POSSTAT20x005b1INT
UNIT_POSSTAT30x005c1INT
UNIT_POSSTAT40x005d1INT
UNIT_NEGSTAT00x005e1INT
UNIT_NEGSTAT10x005f1INT
UNIT_NEGSTAT20x00601INT
UNIT_NEGSTAT30x00611INT
UNIT_NEGSTAT40x00621INT
UNIT_RESISTANCES0x00637INT
UNIT_RESISTANCEBUFFMODSPOSITIVE0x006a7INT
UNIT_RESISTANCEBUFFMODSNEGATIVE0x00717INT
UNIT_BASE_MANA0x00781INT
UNIT_BASE_HEALTH0x00791INT
UNIT_BYTES_20x007a1BYTES
UNIT_ATTACK_POWER0x007b1INT
UNIT_ATTACK_POWER_MODS0x007c1TWO_SHORT
UNIT_ATTACK_POWER_MULTIPLIER0x007d1FLOAT
UNIT_RANGED_ATTACK_POWER0x007e1INT
UNIT_RANGED_ATTACK_POWER_MODS0x007f1TWO_SHORT
UNIT_RANGED_ATTACK_POWER_MULTIPLIER0x00801FLOAT
UNIT_MINRANGEDDAMAGE0x00811FLOAT
UNIT_MAXRANGEDDAMAGE0x00821FLOAT
UNIT_POWER_COST_MODIFIER0x00837INT
UNIT_POWER_COST_MULTIPLIER0x008a7FLOAT
UNIT_MAXHEALTHMODIFIER0x00911FLOAT
UNIT_HOVERHEIGHT0x00921FLOAT

Fields that all players have:

NameOffsetSizeType
PLAYER_DUEL_ARBITER0x00942GUID
PLAYER_FLAGS0x00961INT
PLAYER_GUILDID0x00971INT
PLAYER_GUILDRANK0x00981INT
PLAYER_FIELD_BYTES0x00991BYTES
PLAYER_BYTES_20x009a1BYTES
PLAYER_BYTES_30x009b1BYTES
PLAYER_DUEL_TEAM0x009c1INT
PLAYER_GUILD_TIMESTAMP0x009d1INT
PLAYER_QUEST_LOG_1_10x009e1INT
PLAYER_QUEST_LOG_1_20x009f1INT
PLAYER_QUEST_LOG_1_30x00a02TWO_SHORT
PLAYER_QUEST_LOG_1_40x00a21INT
PLAYER_QUEST_LOG_2_10x00a31INT
PLAYER_QUEST_LOG_2_20x00a41INT
PLAYER_QUEST_LOG_2_30x00a52TWO_SHORT
PLAYER_QUEST_LOG_2_50x00a71INT
PLAYER_QUEST_LOG_3_10x00a81INT
PLAYER_QUEST_LOG_3_20x00a91INT
PLAYER_QUEST_LOG_3_30x00aa2TWO_SHORT
PLAYER_QUEST_LOG_3_50x00ac1INT
PLAYER_QUEST_LOG_4_10x00ad1INT
PLAYER_QUEST_LOG_4_20x00ae1INT
PLAYER_QUEST_LOG_4_30x00af2TWO_SHORT
PLAYER_QUEST_LOG_4_50x00b11INT
PLAYER_QUEST_LOG_5_10x00b21INT
PLAYER_QUEST_LOG_5_20x00b31INT
PLAYER_QUEST_LOG_5_30x00b42TWO_SHORT
PLAYER_QUEST_LOG_5_50x00b61INT
PLAYER_QUEST_LOG_6_10x00b71INT
PLAYER_QUEST_LOG_6_20x00b81INT
PLAYER_QUEST_LOG_6_30x00b92TWO_SHORT
PLAYER_QUEST_LOG_6_50x00bb1INT
PLAYER_QUEST_LOG_7_10x00bc1INT
PLAYER_QUEST_LOG_7_20x00bd1INT
PLAYER_QUEST_LOG_7_30x00be2TWO_SHORT
PLAYER_QUEST_LOG_7_50x00c01INT
PLAYER_QUEST_LOG_8_10x00c11INT
PLAYER_QUEST_LOG_8_20x00c21INT
PLAYER_QUEST_LOG_8_30x00c32TWO_SHORT
PLAYER_QUEST_LOG_8_50x00c51INT
PLAYER_QUEST_LOG_9_10x00c61INT
PLAYER_QUEST_LOG_9_20x00c71INT
PLAYER_QUEST_LOG_9_30x00c82TWO_SHORT
PLAYER_QUEST_LOG_9_50x00ca1INT
PLAYER_QUEST_LOG_10_10x00cb1INT
PLAYER_QUEST_LOG_10_20x00cc1INT
PLAYER_QUEST_LOG_10_30x00cd2TWO_SHORT
PLAYER_QUEST_LOG_10_50x00cf1INT
PLAYER_QUEST_LOG_11_10x00d01INT
PLAYER_QUEST_LOG_11_20x00d11INT
PLAYER_QUEST_LOG_11_30x00d22TWO_SHORT
PLAYER_QUEST_LOG_11_50x00d41INT
PLAYER_QUEST_LOG_12_10x00d51INT
PLAYER_QUEST_LOG_12_20x00d61INT
PLAYER_QUEST_LOG_12_30x00d72TWO_SHORT
PLAYER_QUEST_LOG_12_50x00d91INT
PLAYER_QUEST_LOG_13_10x00da1INT
PLAYER_QUEST_LOG_13_20x00db1INT
PLAYER_QUEST_LOG_13_30x00dc2TWO_SHORT
PLAYER_QUEST_LOG_13_50x00de1INT
PLAYER_QUEST_LOG_14_10x00df1INT
PLAYER_QUEST_LOG_14_20x00e01INT
PLAYER_QUEST_LOG_14_30x00e12TWO_SHORT
PLAYER_QUEST_LOG_14_50x00e31INT
PLAYER_QUEST_LOG_15_10x00e41INT
PLAYER_QUEST_LOG_15_20x00e51INT
PLAYER_QUEST_LOG_15_30x00e62TWO_SHORT
PLAYER_QUEST_LOG_15_50x00e81INT
PLAYER_QUEST_LOG_16_10x00e91INT
PLAYER_QUEST_LOG_16_20x00ea1INT
PLAYER_QUEST_LOG_16_30x00eb2TWO_SHORT
PLAYER_QUEST_LOG_16_50x00ed1INT
PLAYER_QUEST_LOG_17_10x00ee1INT
PLAYER_QUEST_LOG_17_20x00ef1INT
PLAYER_QUEST_LOG_17_30x00f02TWO_SHORT
PLAYER_QUEST_LOG_17_50x00f21INT
PLAYER_QUEST_LOG_18_10x00f31INT
PLAYER_QUEST_LOG_18_20x00f41INT
PLAYER_QUEST_LOG_18_30x00f52TWO_SHORT
PLAYER_QUEST_LOG_18_50x00f71INT
PLAYER_QUEST_LOG_19_10x00f81INT
PLAYER_QUEST_LOG_19_20x00f91INT
PLAYER_QUEST_LOG_19_30x00fa2TWO_SHORT
PLAYER_QUEST_LOG_19_50x00fc1INT
PLAYER_QUEST_LOG_20_10x00fd1INT
PLAYER_QUEST_LOG_20_20x00fe1INT
PLAYER_QUEST_LOG_20_30x00ff2TWO_SHORT
PLAYER_QUEST_LOG_20_50x01011INT
PLAYER_QUEST_LOG_21_10x01021INT
PLAYER_QUEST_LOG_21_20x01031INT
PLAYER_QUEST_LOG_21_30x01042TWO_SHORT
PLAYER_QUEST_LOG_21_50x01061INT
PLAYER_QUEST_LOG_22_10x01071INT
PLAYER_QUEST_LOG_22_20x01081INT
PLAYER_QUEST_LOG_22_30x01092TWO_SHORT
PLAYER_QUEST_LOG_22_50x010b1INT
PLAYER_QUEST_LOG_23_10x010c1INT
PLAYER_QUEST_LOG_23_20x010d1INT
PLAYER_QUEST_LOG_23_30x010e2TWO_SHORT
PLAYER_QUEST_LOG_23_50x01101INT
PLAYER_QUEST_LOG_24_10x01111INT
PLAYER_QUEST_LOG_24_20x01121INT
PLAYER_QUEST_LOG_24_30x01132TWO_SHORT
PLAYER_QUEST_LOG_24_50x01151INT
PLAYER_QUEST_LOG_25_10x01161INT
PLAYER_QUEST_LOG_25_20x01171INT
PLAYER_QUEST_LOG_25_30x01182TWO_SHORT
PLAYER_QUEST_LOG_25_50x011a1INT
PLAYER_VISIBLE_ITEM0x011b38CUSTOM
PLAYER_CHOSEN_TITLE0x01411INT
PLAYER_FAKE_INEBRIATION0x01421INT
PLAYER_FIELD_INV0x0144300CUSTOM
PLAYER_FARSIGHT0x02702GUID
PLAYER_KNOWN_TITLES0x02722GUID
PLAYER_KNOWN_TITLES10x02742GUID
PLAYER_KNOWN_TITLES20x02762GUID
PLAYER_KNOWN_CURRENCIES0x02782GUID
PLAYER_XP0x027a1INT
PLAYER_NEXT_LEVEL_XP0x027b1INT
PLAYER_SKILL_INFO0x027c384CUSTOM
PLAYER_CHARACTER_POINTS10x03fc1INT
PLAYER_CHARACTER_POINTS20x03fd1INT
PLAYER_TRACK_CREATURES0x03fe1INT
PLAYER_TRACK_RESOURCES0x03ff1INT
PLAYER_BLOCK_PERCENTAGE0x04001FLOAT
PLAYER_DODGE_PERCENTAGE0x04011FLOAT
PLAYER_PARRY_PERCENTAGE0x04021FLOAT
PLAYER_EXPERTISE0x04031INT
PLAYER_OFFHAND_EXPERTISE0x04041INT
PLAYER_CRIT_PERCENTAGE0x04051FLOAT
PLAYER_RANGED_CRIT_PERCENTAGE0x04061FLOAT
PLAYER_OFFHAND_CRIT_PERCENTAGE0x04071FLOAT
PLAYER_SPELL_CRIT_PERCENTAGE10x04087FLOAT
PLAYER_SHIELD_BLOCK0x040f1INT
PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE0x04101FLOAT
PLAYER_EXPLORED_ZONES_10x0411128BYTES
PLAYER_REST_STATE_EXPERIENCE0x04911INT
PLAYER_COINAGE0x04921INT
PLAYER_MOD_DAMAGE_DONE_POS0x04937INT
PLAYER_MOD_DAMAGE_DONE_NEG0x049a7INT
PLAYER_MOD_DAMAGE_DONE_PCT0x04a17INT
PLAYER_MOD_HEALING_DONE_POS0x04a81INT
PLAYER_MOD_HEALING_PCT0x04a91FLOAT
PLAYER_MOD_HEALING_DONE_PCT0x04aa1FLOAT
PLAYER_MOD_TARGET_RESISTANCE0x04ab1INT
PLAYER_MOD_TARGET_PHYSICAL_RESISTANCE0x04ac1INT
PLAYER_FEATURES0x04ad1BYTES
PLAYER_AMMO_ID0x04ae1INT
PLAYER_SELF_RES_SPELL0x04af1INT
PLAYER_PVP_MEDALS0x04b01INT
PLAYER_BUYBACK_PRICE_10x04b112INT
PLAYER_BUYBACK_TIMESTAMP_10x04bd12INT
PLAYER_KILLS0x04c91TWO_SHORT
PLAYER_TODAY_CONTRIBUTION0x04ca1INT
PLAYER_YESTERDAY_CONTRIBUTION0x04cb1INT
PLAYER_LIFETIME_HONORBALE_KILLS0x04cc1INT
PLAYER_BYTES2_GLOW0x04cd1BYTES
PLAYER_WATCHED_FACTION_INDEX0x04ce1INT
PLAYER_COMBAT_RATING_10x04cf25INT
PLAYER_ARENA_TEAM_INFO_1_10x04e821INT
PLAYER_HONOR_CURRENCY0x04fd1INT
PLAYER_ARENA_CURRENCY0x04fe1INT
PLAYER_MAX_LEVEL0x04ff1INT
PLAYER_DAILY_QUESTS_10x050025INT
PLAYER_RUNE_REGEN_10x05194FLOAT
PLAYER_NO_REAGENT_COST_10x051d3INT
PLAYER_GLYPH_SLOTS_10x05206INT
PLAYER_GLYPHS_10x05266INT
PLAYER_GLYPHS_ENABLED0x052c1INT
PLAYER_PET_SPELL_POWER0x052d1INT

Fields that all gameobjects have:

NameOffsetSizeType
GAMEOBJECT_DISPLAYID0x00081INT
GAMEOBJECT_FLAGS0x00091INT
GAMEOBJECT_PARENTROTATION0x000a4FLOAT
GAMEOBJECT_DYNAMIC0x000e1TWO_SHORT
GAMEOBJECT_FACTION0x000f1INT
GAMEOBJECT_LEVEL0x00101INT
GAMEOBJECT_BYTES_10x00111BYTES

Fields that all dynamicobjects have:

NameOffsetSizeType
DYNAMICOBJECT_CASTER0x00062GUID
DYNAMICOBJECT_BYTES0x00081BYTES
DYNAMICOBJECT_SPELLID0x00091INT
DYNAMICOBJECT_RADIUS0x000a1FLOAT
DYNAMICOBJECT_CASTTIME0x000b1INT

Fields that all corpses have:

NameOffsetSizeType
CORPSE_OWNER0x00062GUID
CORPSE_PARTY0x00082GUID
CORPSE_DISPLAY_ID0x000a1INT
CORPSE_ITEM0x000b19INT
CORPSE_BYTES_10x001e1BYTES
CORPSE_BYTES_20x001f1BYTES
CORPSE_GUILD0x00201INT
CORPSE_FLAGS0x00211INT
CORPSE_DYNAMIC_FLAGS0x00221INT

VariableItemRandomProperty

This type is simply a u32 followed by another u32 if the first one was not equal to 0. VariableItemRandomProperty is only for TBC and Wrath.

The first u32 is the item_random_property_id, the second is the item_suffix_factor.

u48

A u32 followed by a u16. This is a workaround to MovementFlags for 3.3.5 requiring control flow from both a u32 and a separate u16, which complicates the implementation.

The lower 32 bits (4 bytes) are sent first as little endian, then followed by the upper 16 bits (2 bytes) as little endian.

Introduction

The wowm data contained in this repository can be read in a structured manner from the intermediate_representation.json file. It uses the JSON Typedef schema in the intermediate_representation_schema.json file.

jtd-codegen can be used to automatically create language bindings in some modern languages, including TypeScript and Python.

It is highly recommended to automatically generate bindings rather than manually parsing the JSON.

If JSON Typedef doesn’t work for you for whatever reason, it is also possible to deduce a JSON Schema of the intermediate_representation.json file and autogenerate bindings from that. They will likely be of much lower quality though.

After generating the bindings, take a look at Implementing login messages.

Tests

Some containers have associated tests that consist of binary data as well as what is expected to be parsed. Creating simple tests that read the raw bytes, asserts that the read went successfully, writing the bytes back and asserting that raw bytes match, as well as testing that the size is calculated correctly will save you a lot of effort.

Design of types

Before writing the auto generator it’s a good idea to know what you actually want to generate. For this reason I suggest manually writing the implementations for a few select types, and using it to have a client connect. This will allow you to detect things that need to be changed as early as possible as well as having executable code that can be used to test your auto generated code later, even in interpreted languages.

Implementing login messages

The login message data can be found in the intermediate_representation.json file. The intermediate_representation_schema.json contains a JSON type def schema for the intermediate_representation.json. The json-typedef-codegen program can be used to generate bindings for many popular languages.

The wow_messages_python repository contains the Python code used to generate the Python message library. It can be used as inspiration for your own implementation. The generator directory contains the actual code generation, and the wow_login_messages directory contains the generated library.

Python code will be shown in this document to provide examples of how libraries could be implemented. If you want to use the Python library then just bypass this and use the library directly instead. A C# library is available here.

Message Layout

All interactions start with the client sending a message, then reading the reply from the server.

All login messages start with an opcode field field that specifies the message contents. This is the only thing the messages have in common.

The only way to know how much data to expect in a message is by a combination of the protocol version sent in the very first message by the client, CMD_AUTH_LOGON_CHALLENGE_Client, and the opcode.

Take a look at the wiki page on login in order to get an understanding for what is going to happen.

Types used for login messages

Login messages use the following types, including enums, flags, and structs:

TypePurposeC Name
u8Unsigned 8 bit integer. Min value 0, max value 256.unsigned char
u16Unsigned 16 bit integer. Min value 0, max value 65536.unsigned short
u32Unsigned 32 bit integer. Min value 0, max value 4294967296.unsigned int
u64Unsigned 64 bit integer. Min value 0, max value 18446744073709551616.unsigned long long
i32Unsigned 32 bit integer. Min value -2147483648, max value 4294967296.signed int
BoolUnsigned 1 bit integer. 0 means false and all other values mean true.unsigned char
CStringUTF-8 string type that is terminated by a zero byte value.char*
StringUTF-8 string type of exactly length len.unsigned char + char*
Populationf32 with the special behavior that a value of 200 always means GREEN_RECOMMENDED, 400 always means RED_FULL, and 600 always means BLUE_RECOMMENDED.float
IpAddressAlias for big endian u32.unsigned int

Library layout

Consider what you want the layout of the library to look like regarding files and directories.

There are several different protocol versions, objects that are valid for more than one version, as well as objects that are valid for all versions. Consider if your programming language benefits from having a type that is identical, but for a different version actually be the same type.

For the Python library, I chose to have a Python file for each version, as well as one for all. Objects that are valid for more than one version are reexported from the lowest version.

The folder layout for the Python library is as follows:

├── README.md
└── wow_login_messages
    ├── all.py
    ├── __init__.py
    ├── opcodes.py
    ├── util.py
    ├── version2.py
    ├── version3.py
    ├── version5.py
    ├── version6.py
    ├── version7.py
    └── version8.py

The __init__.py file is what is imported when just importing wow_login_messages. The opcodes.py file just contains the opcode values for the different messages. The util.py file contains utility functions intended to be used by the user of the library, such as a function that reads the opcode and automatically reads the remaining fields and returns the message as a Python class.

Enums

Enums can only have a single enumerator value, and it can not have any other values than those specifically described. Consider how you would implement and use the ProtocolVersion enum in your programming language.

Newer Python versions have the enum module, which provide an easy way of creating enum types.

So the ProtocolVersion enum in Python looks like:

import enum


class ProtocolVersion(enum.Enum):
    TWO = 2
    THREE = 3
    FIVE = 5
    SIX = 6
    SEVEN = 7
    EIGHT = 8


protocol_version = ProtocolVersion(2)
value = protocol_version.value

This simple snippet allows construction of ProtocolVersion types through ProtocolVersion(2) and getting the value of an enumerator through protocol_version.value.

I have chosen not to include a read or write function on the enum, since this is handled by the object that needs to read/write the enum.

The python library places all imports at the top of the file, and all objects for the same version are in the same file, so it is not necessary to import enum for every enum.

Flags

Flags are like enums, but can have multiple enumerator values at the same time, or none of them. Consider how you would implement and use the RealmFlag flag in your programming language.

The enum module used for enums can also be used for flags.

So the RealmFlag enum in Python looks like:

import enum


class RealmFlag(enum.Flag):
    NONE = 0
    INVALID = 1
    OFFLINE = 2
    FORCE_BLUE_RECOMMENDED = 32
    FORCE_GREEN_RECOMMENDED = 64
    FORCE_RED_FULL = 128


realm_flag = RealmFlag(32) | RealmFlag(2)

assert realm_flag.OFFLINE
assert realm_flag.FORCE_BLUE_RECOMMENDED

value = realm_flag.value

This snippet allows the construction of RealmFlag through RealmFlag(32), the bitwise or through the | operator and getting the value through realm_flag.value.

Flags also do not handle reading and writing, that is handled by the objects containing them, although it could be different in your programming language.

CMD_AUTH_LOGON_CHALLENGE_Client

This is the first message sent by the client. It is sent automatically upon connecting.

It is the only message to have the String type, which is a single length byte (u8) followed by as many bytes as the length byte says of string. All other messages use the CString type, which is an arbitrary amount of bytes terminated by a 0 byte.

It is the only message that contains the IpAddress type alias. This is not a “real” type, but simply a u32 that should be interpreted as an IP address if the programming language has built in ways of dealing with IP addresses.

It contains the ProtocolVersion enum, which determines which version of messages is used.

It contains the Version struct.

For writing a server, it requires being able to be read, and for clients it requires being able to be written. When sent by clients, it has to calculate how large the actual message being sent is, and put it in the size field.

In Python, the definition would be:

import dataclasses


@dataclasses.dataclass
class CMD_AUTH_LOGON_CHALLENGE_Client:
    protocol_version: ProtocolVersion
    version: Version
    platform: Platform
    os: Os
    locale: Locale
    utc_timezone_offset: int
    client_ip_address: int
    account_name: str

The types after the colon (:) are type hints. The @dataclasses.dataclass attribute adds some niceties like automatic constructors.

All containers have read, write and _size methods. The underscore in _size is a Python way of signalling that the method should be private.

The read function looks like

@staticmethod
async def read(reader: asyncio.StreamReader):
    # protocol_version: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U8: 'U8'>, type_name='ProtocolVersion', upcast=False))
    protocol_version = ProtocolVersion(int.from_bytes(await reader.readexactly(1), 'little'))

    # size: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U16: 'U16'>)
    _size = int.from_bytes(await reader.readexactly(2), 'little')

    # game_name: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U32: 'U32'>)
    _game_name = int.from_bytes(await reader.readexactly(4), 'little')

    # version: DataTypeStruct(data_type_tag='Struct', content=DataTypeStructContent(sizes=Sizes(constant_sized=True, maximum_size=5, minimum_size=5), type_name='Version'))
    version = await Version.read(reader)

    # platform: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U32: 'U32'>, type_name='Platform', upcast=False))
    platform = Platform(int.from_bytes(await reader.readexactly(4), 'little'))

    # os: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U32: 'U32'>, type_name='Os', upcast=False))
    os = Os(int.from_bytes(await reader.readexactly(4), 'little'))

    # locale: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U32: 'U32'>, type_name='Locale', upcast=False))
    locale = Locale(int.from_bytes(await reader.readexactly(4), 'little'))

    # utc_timezone_offset: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U32: 'U32'>)
    utc_timezone_offset = int.from_bytes(await reader.readexactly(4), 'little')

    # client_ip_address: DataTypeIPAddress(data_type_tag='IpAddress')
    client_ip_address = int.from_bytes(await reader.readexactly(4), 'big')

    # account_name: DataTypeString(data_type_tag='String')
    account_name = int.from_bytes(await reader.readexactly(1), 'little')
    account_name = (await reader.readexactly(account_name)).decode('utf-8')

    return CMD_AUTH_LOGON_CHALLENGE_Client(
        protocol_version,
        version,
        platform,
        os,
        locale,
        utc_timezone_offset,
        client_ip_address,
        account_name,
    )

It reads every member in sequence before returning an object with all the fields. The comments print the name and type of variables, in order to make debugging easier.

This showcases how enums are ready by reading an appropriately sized integer and then passing it into the enum constructor.

The struct Version is read by calling a read function defined on that object.

The IpAddress is simply read as an integer.

Python allows changing the type of a variable, so the account_name variable is first used for the length, and then for the contents.

_size is not included in the object, since manually modifying the size is error prone and tedious. It is instead calculated automatically in write. _game_name is not included in the object since it has a constant value.

The write function looks like

def write(self, writer: asyncio.StreamWriter):
    fmt = '<B'  # opcode
    data = [0]

    # protocol_version: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U8: 'U8'>, type_name='ProtocolVersion', upcast=False))
    fmt += 'B'
    data.append(self.protocol_version.value)

    # size: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U16: 'U16'>)
    fmt += 'H'
    data.append(self.size())

    # game_name: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U32: 'U32'>)
    fmt += 'I'
    data.append(5730135)

    # version: DataTypeStruct(data_type_tag='Struct', content=DataTypeStructContent(sizes=Sizes(constant_sized=True, maximum_size=5, minimum_size=5), type_name='Version'))
    fmt, data = self.version.write(fmt, data)

    # platform: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U32: 'U32'>, type_name='Platform', upcast=False))
    fmt += 'I'
    data.append(self.platform.value)

    # os: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U32: 'U32'>, type_name='Os', upcast=False))
    fmt += 'I'
    data.append(self.os.value)

    # locale: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U32: 'U32'>, type_name='Locale', upcast=False))
    fmt += 'I'
    data.append(self.locale.value)

    # utc_timezone_offset: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U32: 'U32'>)
    fmt += 'I'
    data.append(self.utc_timezone_offset)

    # client_ip_address: DataTypeIPAddress(data_type_tag='IpAddress')
    fmt += 'I'
    data.append(self.client_ip_address)

    # account_name: DataTypeString(data_type_tag='String')
    fmt += f'B{len(self.account_name)}s'
    data.append(len(self.account_name))
    data.append(self.account_name.encode('utf-8'))

    data = struct.pack(fmt, *data)
    writer.write(data)

The complexity of this is because of how Pythons struct module for writing values to bytes works. The line with data = struct.pack(fmt, *data) writes the data to a byte array that is then written to the stream on the next line. Hopefully your programming language has a more sane way of writing data to a stream.

The final part is the size calculations, it looks like

def size(self):
    size = 0

    # protocol_version: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U8: 'U8'>, type_name='ProtocolVersion', upcast=False))
    size += 1

    # size: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U16: 'U16'>)
    size += 2

    # game_name: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U32: 'U32'>)
    size += 4

    # version: DataTypeStruct(data_type_tag='Struct', content=DataTypeStructContent(sizes=Sizes(constant_sized=True, maximum_size=5, minimum_size=5), type_name='Version'))
    size += 5

    # platform: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U32: 'U32'>, type_name='Platform', upcast=False))
    size += 4

    # os: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U32: 'U32'>, type_name='Os', upcast=False))
    size += 4

    # locale: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U32: 'U32'>, type_name='Locale', upcast=False))
    size += 4

    # utc_timezone_offset: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U32: 'U32'>)
    size += 4

    # client_ip_address: DataTypeIPAddress(data_type_tag='IpAddress')
    size += 4

    # account_name: DataTypeString(data_type_tag='String')
    size += len(self.account_name)

    return size - 3

This sums up the sizes of all members, and then subtracts the fields that come before the size field.

CMD_AUTH_LOGON_CHALLENGE_Server

The servers reply to the client has the same opcode as the initial message, and it provides the first example of a message that has control flow (if statements).

@dataclasses.dataclass
class CMD_AUTH_LOGON_CHALLENGE_Server:
    result: LoginResult
    server_public_key: typing.Optional[typing.List[int]]
    generator: typing.Optional[typing.List[int]]
    large_safe_prime: typing.Optional[typing.List[int]]
    salt: typing.Optional[typing.List[int]]
    crc_salt: typing.Optional[typing.List[int]]

The Python version solves this issue by making every variable that is not certain to be in the message Optional. This type hint means that the variables can also be None, and have no value of their actual type.

The python code for reading reads the result and then branches based on the value.

    @staticmethod


async def read(reader: asyncio.StreamReader):
    server_public_key = None
    generator_length = None
    generator = None
    large_safe_prime_length = None
    large_safe_prime = None
    salt = None
    crc_salt = None

    # protocol_version: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U8: 'U8'>)
    _protocol_version = int.from_bytes(await reader.readexactly(1), "little")

    # result: DataTypeEnum(data_type_tag='Enum', content=DataTypeEnumContent(integer_type=<IntegerType.U8: 'U8'>, type_name='LoginResult', upcast=False))
    result = LoginResult(int.from_bytes(await reader.readexactly(1), "little"))

    if result == LoginResult.SUCCESS:
        # server_public_key: DataTypeArray(data_type_tag='Array', content=Array(inner_type=ArrayTypeInteger(array_type_tag='Integer', inner_type=<IntegerType.U8: 'U8'>), size=ArraySizeFixed(array_size_tag='Fixed', size='32')))
        server_public_key = []
        for _ in range(0, 32):
            server_public_key.append(
                int.from_bytes(await reader.readexactly(1), "little")
            )

        # generator_length: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U8: 'U8'>)
        generator_length = int.from_bytes(await reader.readexactly(1), "little")

        # generator: DataTypeArray(data_type_tag='Array', content=Array(inner_type=ArrayTypeInteger(array_type_tag='Integer', inner_type=<IntegerType.U8: 'U8'>), size=ArraySizeVariable(array_size_tag='Variable', size='generator_length')))
        generator = []
        for _ in range(0, generator_length):
            generator.append(int.from_bytes(await reader.readexactly(1), "little"))

        # large_safe_prime_length: DataTypeInteger(data_type_tag='Integer', content=<IntegerType.U8: 'U8'>)
        large_safe_prime_length = int.from_bytes(
            await reader.readexactly(1), "little"
        )

        # large_safe_prime: DataTypeArray(data_type_tag='Array', content=Array(inner_type=ArrayTypeInteger(array_type_tag='Integer', inner_type=<IntegerType.U8: 'U8'>), size=ArraySizeVariable(array_size_tag='Variable', size='large_safe_prime_length')))
        large_safe_prime = []
        for _ in range(0, large_safe_prime_length):
            large_safe_prime.append(
                int.from_bytes(await reader.readexactly(1), "little")
            )

        # salt: DataTypeArray(data_type_tag='Array', content=Array(inner_type=ArrayTypeInteger(array_type_tag='Integer', inner_type=<IntegerType.U8: 'U8'>), size=ArraySizeFixed(array_size_tag='Fixed', size='32')))
        salt = []
        for _ in range(0, 32):
            salt.append(int.from_bytes(await reader.readexactly(1), "little"))

        # crc_salt: DataTypeArray(data_type_tag='Array', content=Array(inner_type=ArrayTypeInteger(array_type_tag='Integer', inner_type=<IntegerType.U8: 'U8'>), size=ArraySizeFixed(array_size_tag='Fixed', size='16')))
        crc_salt = []
        for _ in range(0, 16):
            crc_salt.append(int.from_bytes(await reader.readexactly(1), "little"))

    return CMD_AUTH_LOGON_CHALLENGE_Server(
        result,
        server_public_key,
        generator,
        large_safe_prime,
        salt,
        crc_salt,
    )

CMD_AUTH_LOGON_PROOF_Client

This message is much like the others, but it contains an array of structs.

CMD_REALM_LIST_Client

This message is not empty, but has a padding variable that should always be a constant value, so it becomes empty if constant values are removed.

CMD_XFER_ACCEPT

This message has an empty body.

CMD_REALM_LIST_Server

This message has a bunch of padding and an array of Realm structs, as well as having a size field.

Realm

This struct has several CString variables, which are read by reading until finding a 0 byte.

It also has the Population alias, which can just be substituted for a 4 byte floating point value.

Version 8 additionally has an if statement that uses a flag instead of an enum.

Implementing world messages

If you have autogenerated the login messages you will have a reasonable base for proceeding with the world messages, however this is not a requirement.

The world message data can be found in the intermediate_representation.json file. The intermediate_representation_schema.json contains a JSON type def schema for the intermediate_representation.json. The json-typedef-codegen program can be used to generate bindings for many popular languages.

The wow_messages_python repository contains the Python code used to generate the Python message library. It can be used as inspiration for your own implementation. The generator directory contains the actual code generation, and the wow_world_messages directory contains the generated library.

Python code will be shown in this document to provide examples of how libraries could be implemented. If you want to use the Python library then just bypass this and use the library directly instead. A C# library is available here.

Message Layout

For Vanilla and TBC, all messages start with a 2 byte big endian size field.

For Wrath, all messages from the client (CMSG) start with a 2 byte big endian size field, but at some unknown point in Wrath the possibility of having SMSG with 3 byte opcode was added. If the most significant (first) byte of the size field has the most significant bit set (that is, first_size_byte & 0x80 != 0) the size field is 3 bytes instead of 2. When sending messages from the server you must handle this special case for messages that are larger than 0x7FF bytes.

For all versions, messages sent from the server (SMSG) have a 2 byte opcode field and messages sent from the client (CMSG) have a 4 byte opcode field.

For all versions, the size field contains the size of the opcode field and the size of the remaining message body.

So in the case of the CMSG_PLAYER_LOGIN message:

test CMSG_PLAYER_LOGIN {
    guid = 0xDEADBEEF;
} [
    0x00, 0x0C, /* size */
    0x3D, 0x00, 0x00, 0x00, /* opcode */
    0xEF, 0xBE, 0xAD, 0xDE, 0x00, 0x00, 0x00, 0x00, /* guid */
]

Has a single Guid field (of 8 bytes), but the reported size is 0x0C/12 because it includes the 4 byte opcode field.

Encryption

SMSG_AUTH_CHALLENGE and CMSG_AUTH_RESPONSE are sent in plain text and used to negotiate a simple header encryption based on the session key. It is described in detail for 1.12 in this blog post The wow_srp library written in Rust has implementations for Vanilla (1.12), TBC (2.4.3), and Wrath (3.3.5).

CMSG_PING and SMSG_PONG can also be sent unencrypted if the client has not yet received a reply to CMSG_AUTH_SESSION. These four messages are the only messages that can be sent unencrypted.

Types used for login messages

World messages use the following types, including enums, flags, and structs:

TypePurposeC Name
u8Unsigned 8 bit integer. Min value 0, max value 256.unsigned char
u16Unsigned 16 bit integer. Min value 0, max value 65536.unsigned short
u32Unsigned 32 bit integer. Min value 0, max value 4294967296.unsigned int
u64Unsigned 64 bit integer. Min value 0, max value 18446744073709551616.unsigned long long
i32Unsigned 32 bit integer. Min value -2147483648, max value 4294967296.signed int
BoolUnsigned 1 bit integer. 0 means false and all other values mean true.unsigned char
Bool32Unsigned 4 bit integer. 0 means false and all other values mean true.unsigned int
PackedGuidGuid sent in the “packed” format. See PackedGuid.-
GuidUnsigned 8 bit integer. Can be replaced with a u64.unsigned long long
NamedGuidA Guid (u64) followed by a CString if the value of the Guid is not 0.-
DateTimeu32 in a special format. See DateTime.unsigned int
f32Floating point value of 4 bytes.f32
CStringUTF-8 string type that is terminated by a zero byte value.char*
SizedCStringA u32 field that determines the size of the string followed by a UTF-8 string type that is terminated by a zero byte value.unsigned int + char*
UpdateMaskUpdate values sent in a relatively complex format. See UpdateMask.-
MonsterMoveSplinesArray of positions. See MonsterMoveSpline.-
AuraMaskAura values sent using a mask. See Masks.-
AchievementDoneArrayArray that terminates on a sentinel value. See AchievementDoneArray-
AchievementInProgressArrayArray that terminates on a sentinel value. See AchievementInProgressArray-
EnchantMaskEnchant values sent using a mask. See EnchantMasks.-
InspectTalentGearMaskInspectTalentGear values sent using a mask. See Masks.-
GoldAlias for u32.unsigned int
LevelAlias for u8.unsigned char
Level16Alias for u16.unsigned short
Level32Alias for u32.unsigned int
VariableItemRandomPropertyA u32 followed by another u32 if the first value is not equal to 0.-
AddonArrayArray of Addons for TBC and Wrath that rely on externally knowing the amount of array members. See AddonArray.-
SecondsAlias for u32.unsigned int
MillisecondsAlias for u32.unsigned int
SpellAlias for u32 that represents a spell.unsigned int
Spell16Alias for u16 that represents a spell.unsigned short
ItemAlias for u32 that represents an item entry.unsigned int
CacheMaskClient info sent using a mask. See CacheMask.-

Library layout

Consider what you want the layout of the library to look like regarding files and directories.

You will likely want to limit yourself to a limited set of client versions such as Vanilla (1.12), TBC (2.4.3), and Wrath (3.3.5).

The exact layout of your library will depend on the scope. For the Python library I decided to have a single wow_world_messages package with a module each for Vanilla, TBC, and Wrath.

This is the layout of the Python library:

├── README.md
└── wow_world_messages
    ├── __init__.py
    ├── wrath.py
    ├── tbc.py
    ├── util.py
    └── vanilla.py

AreaFlags

Client Version 1.12

Used in AreaTable.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/area_flags.wowm:2.

flag AreaFlags : u16 {
    SNOW = 0x01;
    UNK = 0x02;
    DEVELOPMENT = 0x04;
    UNK2 = 0x08;
    UNK3 = 0x10;
    CITY_SLAVE = 0x20;
    CITY_ALLOW_DUELS = 0x40;
    UNK4 = 0x80;
    CITY = 0x100;
    TEST = 0x200;
}

Type

The basic type is u16, a 2 byte (16 bit) little endian integer.

Enumerators

EnumeratorValueComment
SNOW1 (0x01)
UNK2 (0x02)
DEVELOPMENT4 (0x04)
UNK28 (0x08)
UNK316 (0x10)
CITY_SLAVE32 (0x20)
CITY_ALLOW_DUELS64 (0x40)
UNK4128 (0x80)
CITY256 (0x100)
TEST512 (0x200)

Used in:

ArenaTeamRole

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_team_roster.wowm:10.

enum ArenaTeamRole : u8 {
    CAPTAIN = 0;
    MEMBER = 1;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
CAPTAIN0 (0x00)
MEMBER1 (0x01)

Used in:

AttackHand

Client Version 1.12

Used in AttackAnimKits.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/attack_hand.wowm:2.

enum AttackHand : u8 {
    MAIN_HAND = 0;
    OFF_HAND = 1;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
MAIN_HAND0 (0x00)
OFF_HAND1 (0x01)

Used in:

AttributesEx1

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/external_spell_1_12.wowm:42.

flag AttributesEx1 : u32 {
    NONE = 0x00;
    DISMISS_PET_FIRST = 0x00000001;
    USE_ALL_MANA = 0x00000002;
    IS_CHANNELED = 0x00000004;
    NO_REDIRECTION = 0x00000008;
    NO_SKILL_INCREASE = 0x00000010;
    ALLOW_WHILE_STEALTHED = 0x00000020;
    IS_SELF_CHANNELED = 0x00000040;
    NO_REFLECTION = 0x00000080;
    ONLY_PEACEFUL_TARGETS = 0x00000100;
    INITIATES_COMBAT_ENABLES_AUTO_ATTACK = 0x00000200;
    NO_THREAT = 0x00000400;
    AURA_UNIQUE = 0x00000800;
    FAILURE_BREAKS_STEALTH = 0x00001000;
    TOGGLE_FARSIGHT = 0x00002000;
    TRACK_TARGET_IN_CHANNEL = 0x00004000;
    IMMUNITY_PURGES_EFFECT = 0x00008000;
    IMMUNITY_TO_HOSTILE_AND_FRIENDLY_EFFECTS = 0x00010000;
    NO_AUTOCAST_AI = 0x00020000;
    PREVENTS_ANIM = 0x00040000;
    EXCLUDE_CASTER = 0x00080000;
    FINISHING_MOVE_DAMAGE = 0x00100000;
    THREAT_ONLY_ON_MISS = 0x00200000;
    FINISHING_MOVE_DURATION = 0x00400000;
    UNK23 = 0x00800000;
    SPECIAL_SKILLUP = 0x01000000;
    AURA_STAYS_AFTER_COMBAT = 0x02000000;
    REQUIRE_ALL_TARGETS = 0x04000000;
    DISCOUNT_POWER_ON_MISS = 0x08000000;
    NO_AURA_ICON = 0x10000000;
    NAME_IN_CHANNEL_BAR = 0x20000000;
    COMBO_ON_BLOCK = 0x40000000;
    CAST_WHEN_LEARNED = 0x80000000;
}

Type

The basic type is u32, a 4 byte (32 bit) little endian integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
DISMISS_PET_FIRST1 (0x01)
USE_ALL_MANA2 (0x02)
IS_CHANNELED4 (0x04)
NO_REDIRECTION8 (0x08)
NO_SKILL_INCREASE16 (0x10)
ALLOW_WHILE_STEALTHED32 (0x20)
IS_SELF_CHANNELED64 (0x40)
NO_REFLECTION128 (0x80)
ONLY_PEACEFUL_TARGETS256 (0x100)
INITIATES_COMBAT_ENABLES_AUTO_ATTACK512 (0x200)
NO_THREAT1024 (0x400)
AURA_UNIQUE2048 (0x800)
FAILURE_BREAKS_STEALTH4096 (0x1000)
TOGGLE_FARSIGHT8192 (0x2000)
TRACK_TARGET_IN_CHANNEL16384 (0x4000)
IMMUNITY_PURGES_EFFECT32768 (0x8000)
IMMUNITY_TO_HOSTILE_AND_FRIENDLY_EFFECTS65536 (0x10000)
NO_AUTOCAST_AI131072 (0x20000)
PREVENTS_ANIM262144 (0x40000)
EXCLUDE_CASTER524288 (0x80000)
FINISHING_MOVE_DAMAGE1048576 (0x100000)
THREAT_ONLY_ON_MISS2097152 (0x200000)
FINISHING_MOVE_DURATION4194304 (0x400000)
UNK238388608 (0x800000)
SPECIAL_SKILLUP16777216 (0x1000000)
AURA_STAYS_AFTER_COMBAT33554432 (0x2000000)
REQUIRE_ALL_TARGETS67108864 (0x4000000)
DISCOUNT_POWER_ON_MISS134217728 (0x8000000)
NO_AURA_ICON268435456 (0x10000000)
NAME_IN_CHANNEL_BAR536870912 (0x20000000)
COMBO_ON_BLOCK1073741824 (0x40000000)
CAST_WHEN_LEARNED2147483648 (0x80000000)

Used in:

AttributesEx2

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/external_spell_1_12.wowm:81.

flag AttributesEx2 : u32 {
    NONE = 0x00;
    ALLOW_DEAD_TARGET = 0x00000001;
    NO_SHAPESHIFT_UI = 0x00000002;
    IGNORE_LINE_OF_SIGHT = 0x00000004;
    ALLOW_LOW_LEVEL_BUFF = 0x00000008;
    USE_SHAPESHIFT_BAR = 0x00000010;
    AUTO_REPEAT = 0x00000020;
    CANNOT_CAST_ON_TAPPED = 0x00000040;
    DO_NOT_REPORT_SPELL_FAILURE = 0x00000080;
    INCLUDE_IN_ADVANCED_COMBAT_LOG = 0x00000100;
    ALWAYS_CAST_AS_UNIT = 0x00000200;
    SPECIAL_TAMING_FLAG = 0x00000400;
    NO_TARGET_PER_SECOND_COSTS = 0x00000800;
    CHAIN_FROM_CASTER = 0x00001000;
    ENCHANT_OWN_ITEM_ONLY = 0x00002000;
    ALLOW_WHILE_INVISIBLE = 0x00004000;
    UNK15 = 0x00008000;
    NO_ACTIVE_PETS = 0x00010000;
    DO_NOT_RESET_COMBAT_TIMERS = 0x00020000;
    REQ_DEAD_PET = 0x00040000;
    ALLOW_WHILE_NOT_SHAPESHIFTED = 0x00080000;
    INITIATE_COMBAT_POST_CAST = 0x00100000;
    FAIL_ON_ALL_TARGETS_IMMUNE = 0x00200000;
    NO_INITIAL_THREAT = 0x00400000;
    PROC_COOLDOWN_ON_FAILURE = 0x00800000;
    ITEM_CAST_WITH_OWNER_SKILL = 0x01000000;
    DONT_BLOCK_MANA_REGEN = 0x02000000;
    NO_SCHOOL_IMMUNITIES = 0x04000000;
    IGNORE_WEAPONSKILL = 0x08000000;
    NOT_AN_ACTION = 0x10000000;
    CANT_CRIT = 0x20000000;
    ACTIVE_THREAT = 0x40000000;
    RETAIN_ITEM_CAST = 0x80000000;
}

Type

The basic type is u32, a 4 byte (32 bit) little endian integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
ALLOW_DEAD_TARGET1 (0x01)
NO_SHAPESHIFT_UI2 (0x02)
IGNORE_LINE_OF_SIGHT4 (0x04)
ALLOW_LOW_LEVEL_BUFF8 (0x08)
USE_SHAPESHIFT_BAR16 (0x10)
AUTO_REPEAT32 (0x20)
CANNOT_CAST_ON_TAPPED64 (0x40)
DO_NOT_REPORT_SPELL_FAILURE128 (0x80)
INCLUDE_IN_ADVANCED_COMBAT_LOG256 (0x100)
ALWAYS_CAST_AS_UNIT512 (0x200)
SPECIAL_TAMING_FLAG1024 (0x400)
NO_TARGET_PER_SECOND_COSTS2048 (0x800)
CHAIN_FROM_CASTER4096 (0x1000)
ENCHANT_OWN_ITEM_ONLY8192 (0x2000)
ALLOW_WHILE_INVISIBLE16384 (0x4000)
UNK1532768 (0x8000)
NO_ACTIVE_PETS65536 (0x10000)
DO_NOT_RESET_COMBAT_TIMERS131072 (0x20000)
REQ_DEAD_PET262144 (0x40000)
ALLOW_WHILE_NOT_SHAPESHIFTED524288 (0x80000)
INITIATE_COMBAT_POST_CAST1048576 (0x100000)
FAIL_ON_ALL_TARGETS_IMMUNE2097152 (0x200000)
NO_INITIAL_THREAT4194304 (0x400000)
PROC_COOLDOWN_ON_FAILURE8388608 (0x800000)
ITEM_CAST_WITH_OWNER_SKILL16777216 (0x1000000)
DONT_BLOCK_MANA_REGEN33554432 (0x2000000)
NO_SCHOOL_IMMUNITIES67108864 (0x4000000)
IGNORE_WEAPONSKILL134217728 (0x8000000)
NOT_AN_ACTION268435456 (0x10000000)
CANT_CRIT536870912 (0x20000000)
ACTIVE_THREAT1073741824 (0x40000000)
RETAIN_ITEM_CAST2147483648 (0x80000000)

Used in:

AttributesEx3

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/external_spell_1_12.wowm:120.

flag AttributesEx3 : u32 {
    NONE = 0x00;
    PVP_ENABLING = 0x00000001;
    NO_PROC_EQUIP_REQUIREMENT = 0x00000002;
    NO_CASTING_BAR_TEXT = 0x00000004;
    COMPLETELY_BLOCKED = 0x00000008;
    NO_RES_TIMER = 0x00000010;
    NO_DURABILITY_LOSS = 0x00000020;
    NO_AVOIDANCE = 0x00000040;
    DOT_STACKING_RULE = 0x00000080;
    ONLY_ON_PLAYER = 0x00000100;
    NOT_A_PROC = 0x00000200;
    REQUIRES_MAIN_HAND_WEAPON = 0x00000400;
    ONLY_BATTLEGROUNDS = 0x00000800;
    ONLY_ON_GHOSTS = 0x00001000;
    HIDE_CHANNEL_BAR = 0x00002000;
    HIDE_IN_RAID_FILTER = 0x00004000;
    NORMAL_RANGED_ATTACK = 0x00008000;
    SUPPRESS_CASTER_PROCS = 0x00010000;
    SUPPRESS_TARGET_PROCS = 0x00020000;
    ALWAYS_HIT = 0x00040000;
    INSTANT_TARGET_PROCS = 0x00080000;
    ALLOW_AURA_WHILE_DEAD = 0x00100000;
    ONLY_PROC_OUTDOORS = 0x00200000;
    CASTING_CANCELS_AUTOREPEAT = 0x00400000;
    NO_DAMAGE_HISTORY = 0x00800000;
    REQUIRES_OFFHAND_WEAPON = 0x01000000;
    TREAT_AS_PERIODIC = 0x02000000;
    CAN_PROC_FROM_PROCS = 0x04000000;
    ONLY_PROC_ON_CASTER = 0x08000000;
    IGNORE_CASTER_AND_TARGET_RESTRICTIONS = 0x10000000;
    IGNORE_CASTER_MODIFIERS = 0x20000000;
    DO_NOT_DISPLAY_RANGE = 0x40000000;
    NOT_ON_AOE_IMMUNE = 0x80000000;
}

Type

The basic type is u32, a 4 byte (32 bit) little endian integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
PVP_ENABLING1 (0x01)
NO_PROC_EQUIP_REQUIREMENT2 (0x02)
NO_CASTING_BAR_TEXT4 (0x04)
COMPLETELY_BLOCKED8 (0x08)
NO_RES_TIMER16 (0x10)
NO_DURABILITY_LOSS32 (0x20)
NO_AVOIDANCE64 (0x40)
DOT_STACKING_RULE128 (0x80)
ONLY_ON_PLAYER256 (0x100)
NOT_A_PROC512 (0x200)
REQUIRES_MAIN_HAND_WEAPON1024 (0x400)
ONLY_BATTLEGROUNDS2048 (0x800)
ONLY_ON_GHOSTS4096 (0x1000)
HIDE_CHANNEL_BAR8192 (0x2000)
HIDE_IN_RAID_FILTER16384 (0x4000)
NORMAL_RANGED_ATTACK32768 (0x8000)
SUPPRESS_CASTER_PROCS65536 (0x10000)
SUPPRESS_TARGET_PROCS131072 (0x20000)
ALWAYS_HIT262144 (0x40000)
INSTANT_TARGET_PROCS524288 (0x80000)
ALLOW_AURA_WHILE_DEAD1048576 (0x100000)
ONLY_PROC_OUTDOORS2097152 (0x200000)
CASTING_CANCELS_AUTOREPEAT4194304 (0x400000)
NO_DAMAGE_HISTORY8388608 (0x800000)
REQUIRES_OFFHAND_WEAPON16777216 (0x1000000)
TREAT_AS_PERIODIC33554432 (0x2000000)
CAN_PROC_FROM_PROCS67108864 (0x4000000)
ONLY_PROC_ON_CASTER134217728 (0x8000000)
IGNORE_CASTER_AND_TARGET_RESTRICTIONS268435456 (0x10000000)
IGNORE_CASTER_MODIFIERS536870912 (0x20000000)
DO_NOT_DISPLAY_RANGE1073741824 (0x40000000)
NOT_ON_AOE_IMMUNE2147483648 (0x80000000)

Used in:

AttributesEx4

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/external_spell_1_12.wowm:159.

flag AttributesEx4 : u32 {
    NONE = 0x00;
    NO_CAST_LOG = 0x00000001;
    CLASS_TRIGGER_ONLY_ON_TARGET = 0x00000002;
    AURA_EXPIRES_OFFLINE = 0x00000004;
    NO_HELPFUL_THREAT = 0x00000008;
    NO_HARMFUL_THREAT = 0x00000010;
    ALLOW_CLIENT_TARGETING = 0x00000020;
    CANNOT_BE_STOLEN = 0x00000040;
    ALLOW_CAST_WHILE_CASTING = 0x00000080;
    IGNORE_DAMAGE_TAKEN_MODIFIERS = 0x00000100;
    COMBAT_FEEDBACK_WHEN_USABLE = 0x00000200;
    WEAPON_SPEED_COST_SCALING = 0x00000400;
    NO_PARTIAL_IMMUNITY = 0x00000800;
}

Type

The basic type is u32, a 4 byte (32 bit) little endian integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
NO_CAST_LOG1 (0x01)
CLASS_TRIGGER_ONLY_ON_TARGET2 (0x02)
AURA_EXPIRES_OFFLINE4 (0x04)
NO_HELPFUL_THREAT8 (0x08)
NO_HARMFUL_THREAT16 (0x10)
ALLOW_CLIENT_TARGETING32 (0x20)
CANNOT_BE_STOLEN64 (0x40)
ALLOW_CAST_WHILE_CASTING128 (0x80)
IGNORE_DAMAGE_TAKEN_MODIFIERS256 (0x100)
COMBAT_FEEDBACK_WHEN_USABLE512 (0x200)
WEAPON_SPEED_COST_SCALING1024 (0x400)
NO_PARTIAL_IMMUNITY2048 (0x800)

Used in:

Attributes

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/external_spell_1_12.wowm:3.

flag Attributes : u32 {
    NONE = 0x00;
    PROC_FAILURE_BURNS_CHARGE = 0x00000001;
    USES_RANGED_SLOT = 0x00000002;
    ON_NEXT_SWING_NO_DAMAGE = 0x00000004;
    NEED_EXOTIC_AMMO = 0x00000008;
    IS_ABILITY = 0x00000010;
    IS_TRADESKILL = 0x00000020;
    PASSIVE = 0x00000040;
    DO_NOT_DISPLAY = 0x00000080;
    DO_NOT_LOG = 0x00000100;
    HELD_ITEM_ONLY = 0x00000200;
    ON_NEXT_SWING = 0x00000400;
    WEARER_CASTS_PROC_TRIGGER = 0x00000800;
    DAYTIME_ONLY = 0x00001000;
    NIGHT_ONLY = 0x00002000;
    ONLY_INDOORS = 0x00004000;
    ONLY_OUTDOORS = 0x00008000;
    NOT_SHAPESHIFT = 0x00010000;
    ONLY_STEALTHED = 0x00020000;
    DO_NOT_SHEATH = 0x00040000;
    SCALES_WITH_CREATURE_LEVEL = 0x00080000;
    CANCELS_AUTO_ATTACK_COMBAT = 0x00100000;
    NO_ACTIVE_DEFENSE = 0x00200000;
    TRACK_TARGET_IN_CAST_PLAYER_ONLY = 0x00400000;
    ALLOW_CAST_WHILE_DEAD = 0x00800000;
    ALLOW_WHILE_MOUNTED = 0x01000000;
    COOLDOWN_ON_EVENT = 0x02000000;
    AURA_IS_DEBUFF = 0x04000000;
    ALLOW_WHILE_SITTING = 0x08000000;
    NOT_IN_COMBAT_ONLY_PEACEFUL = 0x10000000;
    NO_IMMUNITIES = 0x20000000;
    HEARTBEAT_RESIST = 0x40000000;
    NO_AURA_CANCEL = 0x80000000;
}

Type

The basic type is u32, a 4 byte (32 bit) little endian integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
PROC_FAILURE_BURNS_CHARGE1 (0x01)
USES_RANGED_SLOT2 (0x02)
ON_NEXT_SWING_NO_DAMAGE4 (0x04)
NEED_EXOTIC_AMMO8 (0x08)
IS_ABILITY16 (0x10)
IS_TRADESKILL32 (0x20)
PASSIVE64 (0x40)
DO_NOT_DISPLAY128 (0x80)
DO_NOT_LOG256 (0x100)
HELD_ITEM_ONLY512 (0x200)
ON_NEXT_SWING1024 (0x400)
WEARER_CASTS_PROC_TRIGGER2048 (0x800)
DAYTIME_ONLY4096 (0x1000)
NIGHT_ONLY8192 (0x2000)
ONLY_INDOORS16384 (0x4000)
ONLY_OUTDOORS32768 (0x8000)
NOT_SHAPESHIFT65536 (0x10000)
ONLY_STEALTHED131072 (0x20000)
DO_NOT_SHEATH262144 (0x40000)
SCALES_WITH_CREATURE_LEVEL524288 (0x80000)
CANCELS_AUTO_ATTACK_COMBAT1048576 (0x100000)
NO_ACTIVE_DEFENSE2097152 (0x200000)
TRACK_TARGET_IN_CAST_PLAYER_ONLY4194304 (0x400000)
ALLOW_CAST_WHILE_DEAD8388608 (0x800000)
ALLOW_WHILE_MOUNTED16777216 (0x1000000)
COOLDOWN_ON_EVENT33554432 (0x2000000)
AURA_IS_DEBUFF67108864 (0x4000000)
ALLOW_WHILE_SITTING134217728 (0x8000000)
NOT_IN_COMBAT_ONLY_PEACEFUL268435456 (0x10000000)
NO_IMMUNITIES536870912 (0x20000000)
HEARTBEAT_RESIST1073741824 (0x40000000)
NO_AURA_CANCEL2147483648 (0x80000000)

Used in:

AuraMod

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/external_spell_1_12.wowm:178.

enum AuraMod : u32 {
    NONE = 0;
    BIND_SIGHT = 1;
    MOD_POSSESS = 2;
    PERIODIC_DAMAGE = 3;
    DUMMY = 4;
    MOD_CONFUSE = 5;
    MOD_CHARM = 6;
    MOD_FEAR = 7;
    PERIODIC_HEAL = 8;
    MOD_ATTACKSPEED = 9;
    MOD_THREAT = 10;
    MOD_TAUNT = 11;
    MOD_STUN = 12;
    MOD_DAMAGE_DONE = 13;
    MOD_DAMAGE_TAKEN = 14;
    DAMAGE_SHIELD = 15;
    MOD_STEALTH = 16;
    MOD_STEALTH_DETECT = 17;
    MOD_INVISIBILITY = 18;
    MOD_INVISIBILITY_DETECTION = 19;
    OBS_MOD_HEALTH = 20;
    OBS_MOD_MANA = 21;
    MOD_RESISTANCE = 22;
    PERIODIC_TRIGGER_SPELL = 23;
    PERIODIC_ENERGIZE = 24;
    MOD_PACIFY = 25;
    MOD_ROOT = 26;
    MOD_SILENCE = 27;
    REFLECT_SPELLS = 28;
    MOD_STAT = 29;
    MOD_SKILL = 30;
    MOD_INCREASE_SPEED = 31;
    MOD_INCREASE_MOUNTED_SPEED = 32;
    MOD_DECREASE_SPEED = 33;
    MOD_INCREASE_HEALTH = 34;
    MOD_INCREASE_ENERGY = 35;
    MOD_SHAPESHIFT = 36;
    EFFECT_IMMUNITY = 37;
    STATE_IMMUNITY = 38;
    SCHOOL_IMMUNITY = 39;
    DAMAGE_IMMUNITY = 40;
    DISPEL_IMMUNITY = 41;
    PROC_TRIGGER_SPELL = 42;
    PROC_TRIGGER_DAMAGE = 43;
    TRACK_CREATURES = 44;
    TRACK_RESOURCES = 45;
    MOD_PARRY_SKILL = 46;
    MOD_PARRY_PERCENT = 47;
    MOD_DODGE_SKILL = 48;
    MOD_DODGE_PERCENT = 49;
    MOD_BLOCK_SKILL = 50;
    MOD_BLOCK_PERCENT = 51;
    MOD_CRIT_PERCENT = 52;
    PERIODIC_LEECH = 53;
    MOD_HIT_CHANCE = 54;
    MOD_SPELL_HIT_CHANCE = 55;
    TRANSFORM = 56;
    MOD_SPELL_CRIT_CHANCE = 57;
    MOD_INCREASE_SWIM_SPEED = 58;
    MOD_DAMAGE_DONE_CREATURE = 59;
    MOD_PACIFY_SILENCE = 60;
    MOD_SCALE = 61;
    PERIODIC_HEALTH_FUNNEL = 62;
    PERIODIC_MANA_FUNNEL = 63;
    PERIODIC_MANA_LEECH = 64;
    MOD_CASTING_SPEED_NOT_STACK = 65;
    FEIGN_DEATH = 66;
    MOD_DISARM = 67;
    MOD_STALKED = 68;
    SCHOOL_ABSORB = 69;
    EXTRA_ATTACKS = 70;
    MOD_SPELL_CRIT_CHANCE_SCHOOL = 71;
    MOD_POWER_COST_SCHOOL_PCT = 72;
    MOD_POWER_COST_SCHOOL = 73;
    REFLECT_SPELLS_SCHOOL = 74;
    MOD_LANGUAGE = 75;
    FAR_SIGHT = 76;
    MECHANIC_IMMUNITY = 77;
    MOUNTED = 78;
    MOD_DAMAGE_PERCENT_DONE = 79;
    MOD_PERCENT_STAT = 80;
    SPLIT_DAMAGE_PCT = 81;
    WATER_BREATHING = 82;
    MOD_BASE_RESISTANCE = 83;
    MOD_REGEN = 84;
    MOD_POWER_REGEN = 85;
    CHANNEL_DEATH_ITEM = 86;
    MOD_DAMAGE_PERCENT_TAKEN = 87;
    MOD_HEALTH_REGEN_PERCENT = 88;
    PERIODIC_DAMAGE_PERCENT = 89;
    MOD_RESIST_CHANCE = 90;
    MOD_DETECT_RANGE = 91;
    PREVENTS_FLEEING = 92;
    MOD_UNATTACKABLE = 93;
    INTERRUPT_REGEN = 94;
    GHOST = 95;
    SPELL_MAGNET = 96;
    MANA_SHIELD = 97;
    MOD_SKILL_TALENT = 98;
    MOD_ATTACK_POWER = 99;
    AURAS_VISIBLE = 100;
    MOD_RESISTANCE_PCT = 101;
    MOD_MELEE_ATTACK_POWER_VERSUS = 102;
    MOD_TOTAL_THREAT = 103;
    WATER_WALK = 104;
    FEATHER_FALL = 105;
    HOVER = 106;
    ADD_FLAT_MODIFIER = 107;
    ADD_PCT_MODIFIER = 108;
    ADD_TARGET_TRIGGER = 109;
    MOD_POWER_REGEN_PERCENT = 110;
    ADD_CASTER_HIT_TRIGGER = 111;
    OVERRIDE_CLASS_SCRIPTS = 112;
    MOD_RANGED_DAMAGE_TAKEN = 113;
    MOD_RANGED_DAMAGE_TAKEN_PCT = 114;
    MOD_HEALING = 115;
    MOD_REGEN_DURING_COMBAT = 116;
    MOD_MECHANIC_RESISTANCE = 117;
    MOD_HEALING_PCT = 118;
    SHARE_PET_TRACKING = 119;
    UNTRACKABLE = 120;
    EMPATHY = 121;
    MOD_OFFHAND_DAMAGE_PCT = 122;
    MOD_TARGET_RESISTANCE = 123;
    MOD_RANGED_ATTACK_POWER = 124;
    MOD_MELEE_DAMAGE_TAKEN = 125;
    MOD_MELEE_DAMAGE_TAKEN_PCT = 126;
    RANGED_ATTACK_POWER_ATTACKER_BONUS = 127;
    MOD_POSSESS_PET = 128;
    MOD_SPEED_ALWAYS = 129;
    MOD_MOUNTED_SPEED_ALWAYS = 130;
    MOD_RANGED_ATTACK_POWER_VERSUS = 131;
    MOD_INCREASE_ENERGY_PERCENT = 132;
    MOD_INCREASE_HEALTH_PERCENT = 133;
    MOD_MANA_REGEN_INTERRUPT = 134;
    MOD_HEALING_DONE = 135;
    MOD_HEALING_DONE_PERCENT = 136;
    MOD_TOTAL_STAT_PERCENTAGE = 137;
    MOD_MELEE_HASTE = 138;
    FORCE_REACTION = 139;
    MOD_RANGED_HASTE = 140;
    MOD_RANGED_AMMO_HASTE = 141;
    MOD_BASE_RESISTANCE_PCT = 142;
    MOD_RESISTANCE_EXCLUSIVE = 143;
    SAFE_FALL = 144;
    CHARISMA = 145;
    PERSUADED = 146;
    MECHANIC_IMMUNITY_MASK = 147;
    RETAIN_COMBO_POINTS = 148;
    RESIST_PUSHBACK = 149;
    MOD_SHIELD_BLOCKVALUE_PCT = 150;
    TRACK_STEALTHED = 151;
    MOD_DETECTED_RANGE = 152;
    SPLIT_DAMAGE_FLAT = 153;
    MOD_STEALTH_LEVEL = 154;
    MOD_WATER_BREATHING = 155;
    MOD_REPUTATION_GAIN = 156;
    PET_DAMAGE_MULTI = 157;
    MOD_SHIELD_BLOCKVALUE = 158;
    NO_PVP_CREDIT = 159;
    MOD_AOE_AVOIDANCE = 160;
    MOD_HEALTH_REGEN_IN_COMBAT = 161;
    POWER_BURN_MANA = 162;
    MOD_CRIT_DAMAGE_BONUS = 163;
    UNKNOWN164 = 164;
    MELEE_ATTACK_POWER_ATTACKER_BONUS = 165;
    MOD_ATTACK_POWER_PCT = 166;
    MOD_RANGED_ATTACK_POWER_PCT = 167;
    MOD_DAMAGE_DONE_VERSUS = 168;
    MOD_CRIT_PERCENT_VERSUS = 169;
    DETECT_AMORE = 170;
    MOD_SPEED_NOT_STACK = 171;
    MOD_MOUNTED_SPEED_NOT_STACK = 172;
    ALLOW_CHAMPION_SPELLS = 173;
    MOD_SPELL_DAMAGE_OF_STAT_PERCENT = 174;
    MOD_SPELL_HEALING_OF_STAT_PERCENT = 175;
    SPIRIT_OF_REDEMPTION = 176;
    AOE_CHARM = 177;
    MOD_DEBUFF_RESISTANCE = 178;
    MOD_ATTACKER_SPELL_CRIT_CHANCE = 179;
    MOD_FLAT_SPELL_DAMAGE_VERSUS = 180;
    MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS = 181;
    MOD_RESISTANCE_OF_STAT_PERCENT = 182;
    MOD_CRITICAL_THREAT = 183;
    MOD_ATTACKER_MELEE_HIT_CHANCE = 184;
    MOD_ATTACKER_RANGED_HIT_CHANCE = 185;
    MOD_ATTACKER_SPELL_HIT_CHANCE = 186;
    MOD_ATTACKER_MELEE_CRIT_CHANCE = 187;
    MOD_ATTACKER_RANGED_CRIT_CHANCE = 188;
    MOD_RATING = 189;
    MOD_FACTION_REPUTATION_GAIN = 190;
    USE_NORMAL_MOVEMENT_SPEED = 191;
}

Type

The basic type is u32, a 4 byte (32 bit) little endian integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
BIND_SIGHT1 (0x01)
MOD_POSSESS2 (0x02)
PERIODIC_DAMAGE3 (0x03)
DUMMY4 (0x04)
MOD_CONFUSE5 (0x05)
MOD_CHARM6 (0x06)
MOD_FEAR7 (0x07)
PERIODIC_HEAL8 (0x08)
MOD_ATTACKSPEED9 (0x09)
MOD_THREAT10 (0x0A)
MOD_TAUNT11 (0x0B)
MOD_STUN12 (0x0C)
MOD_DAMAGE_DONE13 (0x0D)
MOD_DAMAGE_TAKEN14 (0x0E)
DAMAGE_SHIELD15 (0x0F)
MOD_STEALTH16 (0x10)
MOD_STEALTH_DETECT17 (0x11)
MOD_INVISIBILITY18 (0x12)
MOD_INVISIBILITY_DETECTION19 (0x13)
OBS_MOD_HEALTH20 (0x14)
OBS_MOD_MANA21 (0x15)
MOD_RESISTANCE22 (0x16)
PERIODIC_TRIGGER_SPELL23 (0x17)
PERIODIC_ENERGIZE24 (0x18)
MOD_PACIFY25 (0x19)
MOD_ROOT26 (0x1A)
MOD_SILENCE27 (0x1B)
REFLECT_SPELLS28 (0x1C)
MOD_STAT29 (0x1D)
MOD_SKILL30 (0x1E)
MOD_INCREASE_SPEED31 (0x1F)
MOD_INCREASE_MOUNTED_SPEED32 (0x20)
MOD_DECREASE_SPEED33 (0x21)
MOD_INCREASE_HEALTH34 (0x22)
MOD_INCREASE_ENERGY35 (0x23)
MOD_SHAPESHIFT36 (0x24)
EFFECT_IMMUNITY37 (0x25)
STATE_IMMUNITY38 (0x26)
SCHOOL_IMMUNITY39 (0x27)
DAMAGE_IMMUNITY40 (0x28)
DISPEL_IMMUNITY41 (0x29)
PROC_TRIGGER_SPELL42 (0x2A)
PROC_TRIGGER_DAMAGE43 (0x2B)
TRACK_CREATURES44 (0x2C)
TRACK_RESOURCES45 (0x2D)
MOD_PARRY_SKILL46 (0x2E)
MOD_PARRY_PERCENT47 (0x2F)
MOD_DODGE_SKILL48 (0x30)
MOD_DODGE_PERCENT49 (0x31)
MOD_BLOCK_SKILL50 (0x32)
MOD_BLOCK_PERCENT51 (0x33)
MOD_CRIT_PERCENT52 (0x34)
PERIODIC_LEECH53 (0x35)
MOD_HIT_CHANCE54 (0x36)
MOD_SPELL_HIT_CHANCE55 (0x37)
TRANSFORM56 (0x38)
MOD_SPELL_CRIT_CHANCE57 (0x39)
MOD_INCREASE_SWIM_SPEED58 (0x3A)
MOD_DAMAGE_DONE_CREATURE59 (0x3B)
MOD_PACIFY_SILENCE60 (0x3C)
MOD_SCALE61 (0x3D)
PERIODIC_HEALTH_FUNNEL62 (0x3E)
PERIODIC_MANA_FUNNEL63 (0x3F)
PERIODIC_MANA_LEECH64 (0x40)
MOD_CASTING_SPEED_NOT_STACK65 (0x41)
FEIGN_DEATH66 (0x42)
MOD_DISARM67 (0x43)
MOD_STALKED68 (0x44)
SCHOOL_ABSORB69 (0x45)
EXTRA_ATTACKS70 (0x46)
MOD_SPELL_CRIT_CHANCE_SCHOOL71 (0x47)
MOD_POWER_COST_SCHOOL_PCT72 (0x48)
MOD_POWER_COST_SCHOOL73 (0x49)
REFLECT_SPELLS_SCHOOL74 (0x4A)
MOD_LANGUAGE75 (0x4B)
FAR_SIGHT76 (0x4C)
MECHANIC_IMMUNITY77 (0x4D)
MOUNTED78 (0x4E)
MOD_DAMAGE_PERCENT_DONE79 (0x4F)
MOD_PERCENT_STAT80 (0x50)
SPLIT_DAMAGE_PCT81 (0x51)
WATER_BREATHING82 (0x52)
MOD_BASE_RESISTANCE83 (0x53)
MOD_REGEN84 (0x54)
MOD_POWER_REGEN85 (0x55)
CHANNEL_DEATH_ITEM86 (0x56)
MOD_DAMAGE_PERCENT_TAKEN87 (0x57)
MOD_HEALTH_REGEN_PERCENT88 (0x58)
PERIODIC_DAMAGE_PERCENT89 (0x59)
MOD_RESIST_CHANCE90 (0x5A)
MOD_DETECT_RANGE91 (0x5B)
PREVENTS_FLEEING92 (0x5C)
MOD_UNATTACKABLE93 (0x5D)
INTERRUPT_REGEN94 (0x5E)
GHOST95 (0x5F)
SPELL_MAGNET96 (0x60)
MANA_SHIELD97 (0x61)
MOD_SKILL_TALENT98 (0x62)
MOD_ATTACK_POWER99 (0x63)
AURAS_VISIBLE100 (0x64)
MOD_RESISTANCE_PCT101 (0x65)
MOD_MELEE_ATTACK_POWER_VERSUS102 (0x66)
MOD_TOTAL_THREAT103 (0x67)
WATER_WALK104 (0x68)
FEATHER_FALL105 (0x69)
HOVER106 (0x6A)
ADD_FLAT_MODIFIER107 (0x6B)
ADD_PCT_MODIFIER108 (0x6C)
ADD_TARGET_TRIGGER109 (0x6D)
MOD_POWER_REGEN_PERCENT110 (0x6E)
ADD_CASTER_HIT_TRIGGER111 (0x6F)
OVERRIDE_CLASS_SCRIPTS112 (0x70)
MOD_RANGED_DAMAGE_TAKEN113 (0x71)
MOD_RANGED_DAMAGE_TAKEN_PCT114 (0x72)
MOD_HEALING115 (0x73)
MOD_REGEN_DURING_COMBAT116 (0x74)
MOD_MECHANIC_RESISTANCE117 (0x75)
MOD_HEALING_PCT118 (0x76)
SHARE_PET_TRACKING119 (0x77)
UNTRACKABLE120 (0x78)
EMPATHY121 (0x79)
MOD_OFFHAND_DAMAGE_PCT122 (0x7A)
MOD_TARGET_RESISTANCE123 (0x7B)
MOD_RANGED_ATTACK_POWER124 (0x7C)
MOD_MELEE_DAMAGE_TAKEN125 (0x7D)
MOD_MELEE_DAMAGE_TAKEN_PCT126 (0x7E)
RANGED_ATTACK_POWER_ATTACKER_BONUS127 (0x7F)
MOD_POSSESS_PET128 (0x80)
MOD_SPEED_ALWAYS129 (0x81)
MOD_MOUNTED_SPEED_ALWAYS130 (0x82)
MOD_RANGED_ATTACK_POWER_VERSUS131 (0x83)
MOD_INCREASE_ENERGY_PERCENT132 (0x84)
MOD_INCREASE_HEALTH_PERCENT133 (0x85)
MOD_MANA_REGEN_INTERRUPT134 (0x86)
MOD_HEALING_DONE135 (0x87)
MOD_HEALING_DONE_PERCENT136 (0x88)
MOD_TOTAL_STAT_PERCENTAGE137 (0x89)
MOD_MELEE_HASTE138 (0x8A)
FORCE_REACTION139 (0x8B)
MOD_RANGED_HASTE140 (0x8C)
MOD_RANGED_AMMO_HASTE141 (0x8D)
MOD_BASE_RESISTANCE_PCT142 (0x8E)
MOD_RESISTANCE_EXCLUSIVE143 (0x8F)
SAFE_FALL144 (0x90)
CHARISMA145 (0x91)
PERSUADED146 (0x92)
MECHANIC_IMMUNITY_MASK147 (0x93)
RETAIN_COMBO_POINTS148 (0x94)
RESIST_PUSHBACK149 (0x95)
MOD_SHIELD_BLOCKVALUE_PCT150 (0x96)
TRACK_STEALTHED151 (0x97)
MOD_DETECTED_RANGE152 (0x98)
SPLIT_DAMAGE_FLAT153 (0x99)
MOD_STEALTH_LEVEL154 (0x9A)
MOD_WATER_BREATHING155 (0x9B)
MOD_REPUTATION_GAIN156 (0x9C)
PET_DAMAGE_MULTI157 (0x9D)
MOD_SHIELD_BLOCKVALUE158 (0x9E)
NO_PVP_CREDIT159 (0x9F)
MOD_AOE_AVOIDANCE160 (0xA0)
MOD_HEALTH_REGEN_IN_COMBAT161 (0xA1)
POWER_BURN_MANA162 (0xA2)
MOD_CRIT_DAMAGE_BONUS163 (0xA3)
UNKNOWN164164 (0xA4)
MELEE_ATTACK_POWER_ATTACKER_BONUS165 (0xA5)
MOD_ATTACK_POWER_PCT166 (0xA6)
MOD_RANGED_ATTACK_POWER_PCT167 (0xA7)
MOD_DAMAGE_DONE_VERSUS168 (0xA8)
MOD_CRIT_PERCENT_VERSUS169 (0xA9)
DETECT_AMORE170 (0xAA)
MOD_SPEED_NOT_STACK171 (0xAB)
MOD_MOUNTED_SPEED_NOT_STACK172 (0xAC)
ALLOW_CHAMPION_SPELLS173 (0xAD)
MOD_SPELL_DAMAGE_OF_STAT_PERCENT174 (0xAE)
MOD_SPELL_HEALING_OF_STAT_PERCENT175 (0xAF)
SPIRIT_OF_REDEMPTION176 (0xB0)
AOE_CHARM177 (0xB1)
MOD_DEBUFF_RESISTANCE178 (0xB2)
MOD_ATTACKER_SPELL_CRIT_CHANCE179 (0xB3)
MOD_FLAT_SPELL_DAMAGE_VERSUS180 (0xB4)
MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS181 (0xB5)
MOD_RESISTANCE_OF_STAT_PERCENT182 (0xB6)
MOD_CRITICAL_THREAT183 (0xB7)
MOD_ATTACKER_MELEE_HIT_CHANCE184 (0xB8)
MOD_ATTACKER_RANGED_HIT_CHANCE185 (0xB9)
MOD_ATTACKER_SPELL_HIT_CHANCE186 (0xBA)
MOD_ATTACKER_MELEE_CRIT_CHANCE187 (0xBB)
MOD_ATTACKER_RANGED_CRIT_CHANCE188 (0xBC)
MOD_RATING189 (0xBD)
MOD_FACTION_REPUTATION_GAIN190 (0xBE)
USE_NORMAL_MOVEMENT_SPEED191 (0xBF)

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/external_spell_2_4_3.wowm:3.

enum AuraMod : u32 {
    NONE = 0;
    BIND_SIGHT = 1;
    MOD_POSSESS = 2;
    PERIODIC_DAMAGE = 3;
    DUMMY = 4;
    MOD_CONFUSE = 5;
    MOD_CHARM = 6;
    MOD_FEAR = 7;
    PERIODIC_HEAL = 8;
    MOD_ATTACKSPEED = 9;
    MOD_THREAT = 10;
    MOD_TAUNT = 11;
    MOD_STUN = 12;
    MOD_DAMAGE_DONE = 13;
    MOD_DAMAGE_TAKEN = 14;
    DAMAGE_SHIELD = 15;
    MOD_STEALTH = 16;
    MOD_STEALTH_DETECT = 17;
    MOD_INVISIBILITY = 18;
    MOD_INVISIBILITY_DETECTION = 19;
    OBS_MOD_HEALTH = 20;
    OBS_MOD_MANA = 21;
    MOD_RESISTANCE = 22;
    PERIODIC_TRIGGER_SPELL = 23;
    PERIODIC_ENERGIZE = 24;
    MOD_PACIFY = 25;
    MOD_ROOT = 26;
    MOD_SILENCE = 27;
    REFLECT_SPELLS = 28;
    MOD_STAT = 29;
    MOD_SKILL = 30;
    MOD_INCREASE_SPEED = 31;
    MOD_INCREASE_MOUNTED_SPEED = 32;
    MOD_DECREASE_SPEED = 33;
    MOD_INCREASE_HEALTH = 34;
    MOD_INCREASE_ENERGY = 35;
    MOD_SHAPESHIFT = 36;
    EFFECT_IMMUNITY = 37;
    STATE_IMMUNITY = 38;
    SCHOOL_IMMUNITY = 39;
    DAMAGE_IMMUNITY = 40;
    DISPEL_IMMUNITY = 41;
    PROC_TRIGGER_SPELL = 42;
    PROC_TRIGGER_DAMAGE = 43;
    TRACK_CREATURES = 44;
    TRACK_RESOURCES = 45;
    UNKNOWN46 = 46;
    MOD_PARRY_PERCENT = 47;
    UNKNOWN48 = 48;
    MOD_DODGE_PERCENT = 49;
    MOD_BLOCK_SKILL = 50;
    MOD_BLOCK_PERCENT = 51;
    MOD_CRIT_PERCENT = 52;
    PERIODIC_LEECH = 53;
    MOD_HIT_CHANCE = 54;
    MOD_SPELL_HIT_CHANCE = 55;
    TRANSFORM = 56;
    MOD_SPELL_CRIT_CHANCE = 57;
    MOD_INCREASE_SWIM_SPEED = 58;
    MOD_DAMAGE_DONE_CREATURE = 59;
    MOD_PACIFY_SILENCE = 60;
    MOD_SCALE = 61;
    PERIODIC_HEALTH_FUNNEL = 62;
    PERIODIC_MANA_FUNNEL = 63;
    PERIODIC_MANA_LEECH = 64;
    MOD_CASTING_SPEED_NOT_STACK = 65;
    FEIGN_DEATH = 66;
    MOD_DISARM = 67;
    MOD_STALKED = 68;
    SCHOOL_ABSORB = 69;
    EXTRA_ATTACKS = 70;
    MOD_SPELL_CRIT_CHANCE_SCHOOL = 71;
    MOD_POWER_COST_SCHOOL_PCT = 72;
    MOD_POWER_COST_SCHOOL = 73;
    REFLECT_SPELLS_SCHOOL = 74;
    MOD_LANGUAGE = 75;
    FAR_SIGHT = 76;
    MECHANIC_IMMUNITY = 77;
    MOUNTED = 78;
    MOD_DAMAGE_PERCENT_DONE = 79;
    MOD_PERCENT_STAT = 80;
    SPLIT_DAMAGE_PCT = 81;
    WATER_BREATHING = 82;
    MOD_BASE_RESISTANCE = 83;
    MOD_REGEN = 84;
    MOD_POWER_REGEN = 85;
    CHANNEL_DEATH_ITEM = 86;
    MOD_DAMAGE_PERCENT_TAKEN = 87;
    MOD_HEALTH_REGEN_PERCENT = 88;
    PERIODIC_DAMAGE_PERCENT = 89;
    MOD_RESIST_CHANCE = 90;
    MOD_DETECT_RANGE = 91;
    PREVENTS_FLEEING = 92;
    MOD_UNATTACKABLE = 93;
    INTERRUPT_REGEN = 94;
    GHOST = 95;
    SPELL_MAGNET = 96;
    MANA_SHIELD = 97;
    MOD_SKILL_TALENT = 98;
    MOD_ATTACK_POWER = 99;
    AURAS_VISIBLE = 100;
    MOD_RESISTANCE_PCT = 101;
    MOD_MELEE_ATTACK_POWER_VERSUS = 102;
    MOD_TOTAL_THREAT = 103;
    WATER_WALK = 104;
    FEATHER_FALL = 105;
    HOVER = 106;
    ADD_FLAT_MODIFIER = 107;
    ADD_PCT_MODIFIER = 108;
    ADD_TARGET_TRIGGER = 109;
    MOD_POWER_REGEN_PERCENT = 110;
    ADD_CASTER_HIT_TRIGGER = 111;
    OVERRIDE_CLASS_SCRIPTS = 112;
    MOD_RANGED_DAMAGE_TAKEN = 113;
    MOD_RANGED_DAMAGE_TAKEN_PCT = 114;
    MOD_HEALING = 115;
    MOD_REGEN_DURING_COMBAT = 116;
    MOD_MECHANIC_RESISTANCE = 117;
    MOD_HEALING_PCT = 118;
    SHARE_PET_TRACKING = 119;
    UNTRACKABLE = 120;
    EMPATHY = 121;
    MOD_OFFHAND_DAMAGE_PCT = 122;
    MOD_TARGET_RESISTANCE = 123;
    MOD_RANGED_ATTACK_POWER = 124;
    MOD_MELEE_DAMAGE_TAKEN = 125;
    MOD_MELEE_DAMAGE_TAKEN_PCT = 126;
    RANGED_ATTACK_POWER_ATTACKER_BONUS = 127;
    MOD_POSSESS_PET = 128;
    MOD_SPEED_ALWAYS = 129;
    MOD_MOUNTED_SPEED_ALWAYS = 130;
    MOD_RANGED_ATTACK_POWER_VERSUS = 131;
    MOD_INCREASE_ENERGY_PERCENT = 132;
    MOD_INCREASE_HEALTH_PERCENT = 133;
    MOD_MANA_REGEN_INTERRUPT = 134;
    MOD_HEALING_DONE = 135;
    MOD_HEALING_DONE_PERCENT = 136;
    MOD_TOTAL_STAT_PERCENTAGE = 137;
    MOD_MELEE_HASTE = 138;
    FORCE_REACTION = 139;
    MOD_RANGED_HASTE = 140;
    MOD_RANGED_AMMO_HASTE = 141;
    MOD_BASE_RESISTANCE_PCT = 142;
    MOD_RESISTANCE_EXCLUSIVE = 143;
    SAFE_FALL = 144;
    CHARISMA = 145;
    PERSUADED = 146;
    MECHANIC_IMMUNITY_MASK = 147;
    RETAIN_COMBO_POINTS = 148;
    RESIST_PUSHBACK = 149;
    MOD_SHIELD_BLOCKVALUE_PCT = 150;
    TRACK_STEALTHED = 151;
    MOD_DETECTED_RANGE = 152;
    SPLIT_DAMAGE_FLAT = 153;
    MOD_STEALTH_LEVEL = 154;
    MOD_WATER_BREATHING = 155;
    MOD_REPUTATION_GAIN = 156;
    PET_DAMAGE_MULTI = 157;
    MOD_SHIELD_BLOCKVALUE = 158;
    NO_PVP_CREDIT = 159;
    MOD_AOE_AVOIDANCE = 160;
    MOD_HEALTH_REGEN_IN_COMBAT = 161;
    POWER_BURN_MANA = 162;
    MOD_CRIT_DAMAGE_BONUS = 163;
    UNKNOWN164 = 164;
    MELEE_ATTACK_POWER_ATTACKER_BONUS = 165;
    MOD_ATTACK_POWER_PCT = 166;
    MOD_RANGED_ATTACK_POWER_PCT = 167;
    MOD_DAMAGE_DONE_VERSUS = 168;
    MOD_CRIT_PERCENT_VERSUS = 169;
    DETECT_AMORE = 170;
    MOD_SPEED_NOT_STACK = 171;
    MOD_MOUNTED_SPEED_NOT_STACK = 172;
    ALLOW_CHAMPION_SPELLS = 173;
    MOD_SPELL_DAMAGE_OF_STAT_PERCENT = 174;
    MOD_SPELL_HEALING_OF_STAT_PERCENT = 175;
    SPIRIT_OF_REDEMPTION = 176;
    AOE_CHARM = 177;
    MOD_DEBUFF_RESISTANCE = 178;
    MOD_ATTACKER_SPELL_CRIT_CHANCE = 179;
    MOD_FLAT_SPELL_DAMAGE_VERSUS = 180;
    MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS = 181;
    MOD_RESISTANCE_OF_STAT_PERCENT = 182;
    MOD_CRITICAL_THREAT = 183;
    MOD_ATTACKER_MELEE_HIT_CHANCE = 184;
    MOD_ATTACKER_RANGED_HIT_CHANCE = 185;
    MOD_ATTACKER_SPELL_HIT_CHANCE = 186;
    MOD_ATTACKER_MELEE_CRIT_CHANCE = 187;
    MOD_ATTACKER_RANGED_CRIT_CHANCE = 188;
    MOD_RATING = 189;
    MOD_FACTION_REPUTATION_GAIN = 190;
    USE_NORMAL_MOVEMENT_SPEED = 191;
    MOD_MELEE_RANGED_HASTE = 192;
    HASTE_ALL = 193;
    MOD_DEPRICATED_1 = 194;
    MOD_DEPRICATED_2 = 195;
    MOD_COOLDOWN = 196;
    MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE = 197;
    MOD_ALL_WEAPON_SKILLS = 198;
    MOD_INCREASES_SPELL_PCT_TO_HIT = 199;
    MOD_XP_PCT = 200;
    FLY = 201;
    IGNORE_COMBAT_RESULT = 202;
    MOD_ATTACKER_MELEE_CRIT_DAMAGE = 203;
    MOD_ATTACKER_RANGED_CRIT_DAMAGE = 204;
    MOD_ATTACKER_SPELL_CRIT_DAMAGE = 205;
    MOD_FLIGHT_SPEED = 206;
    MOD_FLIGHT_SPEED_MOUNTED = 207;
    MOD_FLIGHT_SPEED_STACKING = 208;
    MOD_FLIGHT_SPEED_MOUNTED_STACKING = 209;
    MOD_FLIGHT_SPEED_NOT_STACKING = 210;
    MOD_FLIGHT_SPEED_MOUNTED_NOT_STACKING = 211;
    MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT = 212;
    MOD_RAGE_FROM_DAMAGE_DEALT = 213;
    UNKNOWN214 = 214;
    ARENA_PREPARATION = 215;
    HASTE_SPELLS = 216;
    UNKNOWN217 = 217;
    HASTE_RANGED = 218;
    MOD_MANA_REGEN_FROM_STAT = 219;
    MOD_RATING_FROM_STAT = 220;
    UNKNOWN221 = 221;
    UNKNOWN222 = 222;
    UNKNOWN223 = 223;
    UNKNOWN224 = 224;
    PRAYER_OF_MENDING = 225;
    PERIODIC_DUMMY = 226;
    PERIODIC_TRIGGER_SPELL_WITH_VALUE = 227;
    DETECT_STEALTH = 228;
    MOD_AOE_DAMAGE_AVOIDANCE = 229;
    UNKNOWN230 = 230;
    PROC_TRIGGER_SPELL_WITH_VALUE = 231;
    MECHANIC_DURATION_MOD = 232;
    UNKNOWN233 = 233;
    MECHANIC_DURATION_MOD_NOT_STACK = 234;
    MOD_DISPEL_RESIST = 235;
    UNKNOWN236 = 236;
    MOD_SPELL_DAMAGE_OF_ATTACK_POWER = 237;
    MOD_SPELL_HEALING_OF_ATTACK_POWER = 238;
    MOD_SCALE_2 = 239;
    MOD_EXPERTISE = 240;
    FORCE_MOVE_FORWARD = 241;
    UNKNOWN242 = 242;
    UNKNOWN243 = 243;
    COMPREHEND_LANGUAGE = 244;
    UNKNOWN245 = 245;
    UNKNOWN246 = 246;
    MIRROR_IMAGE = 247;
    MOD_COMBAT_RESULT_CHANCE = 248;
    UNKNOWN249 = 249;
    MOD_INCREASE_HEALTH_2 = 250;
    MOD_ENEMY_DODGE = 251;
    UNKNOWN252 = 252;
    UNKNOWN253 = 253;
    UNKNOWN254 = 254;
    UNKNOWN255 = 255;
    UNKNOWN256 = 256;
    UNKNOWN257 = 257;
    UNKNOWN258 = 258;
    UNKNOWN259 = 259;
    UNKNOWN260 = 260;
    UNKNOWN261 = 261;
}

Type

The basic type is u32, a 4 byte (32 bit) little endian integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
BIND_SIGHT1 (0x01)
MOD_POSSESS2 (0x02)
PERIODIC_DAMAGE3 (0x03)
DUMMY4 (0x04)
MOD_CONFUSE5 (0x05)
MOD_CHARM6 (0x06)
MOD_FEAR7 (0x07)
PERIODIC_HEAL8 (0x08)
MOD_ATTACKSPEED9 (0x09)
MOD_THREAT10 (0x0A)
MOD_TAUNT11 (0x0B)
MOD_STUN12 (0x0C)
MOD_DAMAGE_DONE13 (0x0D)
MOD_DAMAGE_TAKEN14 (0x0E)
DAMAGE_SHIELD15 (0x0F)
MOD_STEALTH16 (0x10)
MOD_STEALTH_DETECT17 (0x11)
MOD_INVISIBILITY18 (0x12)
MOD_INVISIBILITY_DETECTION19 (0x13)
OBS_MOD_HEALTH20 (0x14)
OBS_MOD_MANA21 (0x15)
MOD_RESISTANCE22 (0x16)
PERIODIC_TRIGGER_SPELL23 (0x17)
PERIODIC_ENERGIZE24 (0x18)
MOD_PACIFY25 (0x19)
MOD_ROOT26 (0x1A)
MOD_SILENCE27 (0x1B)
REFLECT_SPELLS28 (0x1C)
MOD_STAT29 (0x1D)
MOD_SKILL30 (0x1E)
MOD_INCREASE_SPEED31 (0x1F)
MOD_INCREASE_MOUNTED_SPEED32 (0x20)
MOD_DECREASE_SPEED33 (0x21)
MOD_INCREASE_HEALTH34 (0x22)
MOD_INCREASE_ENERGY35 (0x23)
MOD_SHAPESHIFT36 (0x24)
EFFECT_IMMUNITY37 (0x25)
STATE_IMMUNITY38 (0x26)
SCHOOL_IMMUNITY39 (0x27)
DAMAGE_IMMUNITY40 (0x28)
DISPEL_IMMUNITY41 (0x29)
PROC_TRIGGER_SPELL42 (0x2A)
PROC_TRIGGER_DAMAGE43 (0x2B)
TRACK_CREATURES44 (0x2C)
TRACK_RESOURCES45 (0x2D)
UNKNOWN4646 (0x2E)
MOD_PARRY_PERCENT47 (0x2F)
UNKNOWN4848 (0x30)
MOD_DODGE_PERCENT49 (0x31)
MOD_BLOCK_SKILL50 (0x32)
MOD_BLOCK_PERCENT51 (0x33)
MOD_CRIT_PERCENT52 (0x34)
PERIODIC_LEECH53 (0x35)
MOD_HIT_CHANCE54 (0x36)
MOD_SPELL_HIT_CHANCE55 (0x37)
TRANSFORM56 (0x38)
MOD_SPELL_CRIT_CHANCE57 (0x39)
MOD_INCREASE_SWIM_SPEED58 (0x3A)
MOD_DAMAGE_DONE_CREATURE59 (0x3B)
MOD_PACIFY_SILENCE60 (0x3C)
MOD_SCALE61 (0x3D)
PERIODIC_HEALTH_FUNNEL62 (0x3E)
PERIODIC_MANA_FUNNEL63 (0x3F)
PERIODIC_MANA_LEECH64 (0x40)
MOD_CASTING_SPEED_NOT_STACK65 (0x41)
FEIGN_DEATH66 (0x42)
MOD_DISARM67 (0x43)
MOD_STALKED68 (0x44)
SCHOOL_ABSORB69 (0x45)
EXTRA_ATTACKS70 (0x46)
MOD_SPELL_CRIT_CHANCE_SCHOOL71 (0x47)
MOD_POWER_COST_SCHOOL_PCT72 (0x48)
MOD_POWER_COST_SCHOOL73 (0x49)
REFLECT_SPELLS_SCHOOL74 (0x4A)
MOD_LANGUAGE75 (0x4B)
FAR_SIGHT76 (0x4C)
MECHANIC_IMMUNITY77 (0x4D)
MOUNTED78 (0x4E)
MOD_DAMAGE_PERCENT_DONE79 (0x4F)
MOD_PERCENT_STAT80 (0x50)
SPLIT_DAMAGE_PCT81 (0x51)
WATER_BREATHING82 (0x52)
MOD_BASE_RESISTANCE83 (0x53)
MOD_REGEN84 (0x54)
MOD_POWER_REGEN85 (0x55)
CHANNEL_DEATH_ITEM86 (0x56)
MOD_DAMAGE_PERCENT_TAKEN87 (0x57)
MOD_HEALTH_REGEN_PERCENT88 (0x58)
PERIODIC_DAMAGE_PERCENT89 (0x59)
MOD_RESIST_CHANCE90 (0x5A)
MOD_DETECT_RANGE91 (0x5B)
PREVENTS_FLEEING92 (0x5C)
MOD_UNATTACKABLE93 (0x5D)
INTERRUPT_REGEN94 (0x5E)
GHOST95 (0x5F)
SPELL_MAGNET96 (0x60)
MANA_SHIELD97 (0x61)
MOD_SKILL_TALENT98 (0x62)
MOD_ATTACK_POWER99 (0x63)
AURAS_VISIBLE100 (0x64)
MOD_RESISTANCE_PCT101 (0x65)
MOD_MELEE_ATTACK_POWER_VERSUS102 (0x66)
MOD_TOTAL_THREAT103 (0x67)
WATER_WALK104 (0x68)
FEATHER_FALL105 (0x69)
HOVER106 (0x6A)
ADD_FLAT_MODIFIER107 (0x6B)
ADD_PCT_MODIFIER108 (0x6C)
ADD_TARGET_TRIGGER109 (0x6D)
MOD_POWER_REGEN_PERCENT110 (0x6E)
ADD_CASTER_HIT_TRIGGER111 (0x6F)
OVERRIDE_CLASS_SCRIPTS112 (0x70)
MOD_RANGED_DAMAGE_TAKEN113 (0x71)
MOD_RANGED_DAMAGE_TAKEN_PCT114 (0x72)
MOD_HEALING115 (0x73)
MOD_REGEN_DURING_COMBAT116 (0x74)
MOD_MECHANIC_RESISTANCE117 (0x75)
MOD_HEALING_PCT118 (0x76)
SHARE_PET_TRACKING119 (0x77)
UNTRACKABLE120 (0x78)
EMPATHY121 (0x79)
MOD_OFFHAND_DAMAGE_PCT122 (0x7A)
MOD_TARGET_RESISTANCE123 (0x7B)
MOD_RANGED_ATTACK_POWER124 (0x7C)
MOD_MELEE_DAMAGE_TAKEN125 (0x7D)
MOD_MELEE_DAMAGE_TAKEN_PCT126 (0x7E)
RANGED_ATTACK_POWER_ATTACKER_BONUS127 (0x7F)
MOD_POSSESS_PET128 (0x80)
MOD_SPEED_ALWAYS129 (0x81)
MOD_MOUNTED_SPEED_ALWAYS130 (0x82)
MOD_RANGED_ATTACK_POWER_VERSUS131 (0x83)
MOD_INCREASE_ENERGY_PERCENT132 (0x84)
MOD_INCREASE_HEALTH_PERCENT133 (0x85)
MOD_MANA_REGEN_INTERRUPT134 (0x86)
MOD_HEALING_DONE135 (0x87)
MOD_HEALING_DONE_PERCENT136 (0x88)
MOD_TOTAL_STAT_PERCENTAGE137 (0x89)
MOD_MELEE_HASTE138 (0x8A)
FORCE_REACTION139 (0x8B)
MOD_RANGED_HASTE140 (0x8C)
MOD_RANGED_AMMO_HASTE141 (0x8D)
MOD_BASE_RESISTANCE_PCT142 (0x8E)
MOD_RESISTANCE_EXCLUSIVE143 (0x8F)
SAFE_FALL144 (0x90)
CHARISMA145 (0x91)
PERSUADED146 (0x92)
MECHANIC_IMMUNITY_MASK147 (0x93)
RETAIN_COMBO_POINTS148 (0x94)
RESIST_PUSHBACK149 (0x95)
MOD_SHIELD_BLOCKVALUE_PCT150 (0x96)
TRACK_STEALTHED151 (0x97)
MOD_DETECTED_RANGE152 (0x98)
SPLIT_DAMAGE_FLAT153 (0x99)
MOD_STEALTH_LEVEL154 (0x9A)
MOD_WATER_BREATHING155 (0x9B)
MOD_REPUTATION_GAIN156 (0x9C)
PET_DAMAGE_MULTI157 (0x9D)
MOD_SHIELD_BLOCKVALUE158 (0x9E)
NO_PVP_CREDIT159 (0x9F)
MOD_AOE_AVOIDANCE160 (0xA0)
MOD_HEALTH_REGEN_IN_COMBAT161 (0xA1)
POWER_BURN_MANA162 (0xA2)
MOD_CRIT_DAMAGE_BONUS163 (0xA3)
UNKNOWN164164 (0xA4)
MELEE_ATTACK_POWER_ATTACKER_BONUS165 (0xA5)
MOD_ATTACK_POWER_PCT166 (0xA6)
MOD_RANGED_ATTACK_POWER_PCT167 (0xA7)
MOD_DAMAGE_DONE_VERSUS168 (0xA8)
MOD_CRIT_PERCENT_VERSUS169 (0xA9)
DETECT_AMORE170 (0xAA)
MOD_SPEED_NOT_STACK171 (0xAB)
MOD_MOUNTED_SPEED_NOT_STACK172 (0xAC)
ALLOW_CHAMPION_SPELLS173 (0xAD)
MOD_SPELL_DAMAGE_OF_STAT_PERCENT174 (0xAE)
MOD_SPELL_HEALING_OF_STAT_PERCENT175 (0xAF)
SPIRIT_OF_REDEMPTION176 (0xB0)
AOE_CHARM177 (0xB1)
MOD_DEBUFF_RESISTANCE178 (0xB2)
MOD_ATTACKER_SPELL_CRIT_CHANCE179 (0xB3)
MOD_FLAT_SPELL_DAMAGE_VERSUS180 (0xB4)
MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS181 (0xB5)
MOD_RESISTANCE_OF_STAT_PERCENT182 (0xB6)
MOD_CRITICAL_THREAT183 (0xB7)
MOD_ATTACKER_MELEE_HIT_CHANCE184 (0xB8)
MOD_ATTACKER_RANGED_HIT_CHANCE185 (0xB9)
MOD_ATTACKER_SPELL_HIT_CHANCE186 (0xBA)
MOD_ATTACKER_MELEE_CRIT_CHANCE187 (0xBB)
MOD_ATTACKER_RANGED_CRIT_CHANCE188 (0xBC)
MOD_RATING189 (0xBD)
MOD_FACTION_REPUTATION_GAIN190 (0xBE)
USE_NORMAL_MOVEMENT_SPEED191 (0xBF)
MOD_MELEE_RANGED_HASTE192 (0xC0)
HASTE_ALL193 (0xC1)
MOD_DEPRICATED_1194 (0xC2)
MOD_DEPRICATED_2195 (0xC3)
MOD_COOLDOWN196 (0xC4)
MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE197 (0xC5)
MOD_ALL_WEAPON_SKILLS198 (0xC6)
MOD_INCREASES_SPELL_PCT_TO_HIT199 (0xC7)
MOD_XP_PCT200 (0xC8)
FLY201 (0xC9)
IGNORE_COMBAT_RESULT202 (0xCA)
MOD_ATTACKER_MELEE_CRIT_DAMAGE203 (0xCB)
MOD_ATTACKER_RANGED_CRIT_DAMAGE204 (0xCC)
MOD_ATTACKER_SPELL_CRIT_DAMAGE205 (0xCD)
MOD_FLIGHT_SPEED206 (0xCE)
MOD_FLIGHT_SPEED_MOUNTED207 (0xCF)
MOD_FLIGHT_SPEED_STACKING208 (0xD0)
MOD_FLIGHT_SPEED_MOUNTED_STACKING209 (0xD1)
MOD_FLIGHT_SPEED_NOT_STACKING210 (0xD2)
MOD_FLIGHT_SPEED_MOUNTED_NOT_STACKING211 (0xD3)
MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT212 (0xD4)
MOD_RAGE_FROM_DAMAGE_DEALT213 (0xD5)
UNKNOWN214214 (0xD6)
ARENA_PREPARATION215 (0xD7)
HASTE_SPELLS216 (0xD8)
UNKNOWN217217 (0xD9)
HASTE_RANGED218 (0xDA)
MOD_MANA_REGEN_FROM_STAT219 (0xDB)
MOD_RATING_FROM_STAT220 (0xDC)
UNKNOWN221221 (0xDD)
UNKNOWN222222 (0xDE)
UNKNOWN223223 (0xDF)
UNKNOWN224224 (0xE0)
PRAYER_OF_MENDING225 (0xE1)
PERIODIC_DUMMY226 (0xE2)
PERIODIC_TRIGGER_SPELL_WITH_VALUE227 (0xE3)
DETECT_STEALTH228 (0xE4)
MOD_AOE_DAMAGE_AVOIDANCE229 (0xE5)
UNKNOWN230230 (0xE6)
PROC_TRIGGER_SPELL_WITH_VALUE231 (0xE7)
MECHANIC_DURATION_MOD232 (0xE8)
UNKNOWN233233 (0xE9)
MECHANIC_DURATION_MOD_NOT_STACK234 (0xEA)
MOD_DISPEL_RESIST235 (0xEB)
UNKNOWN236236 (0xEC)
MOD_SPELL_DAMAGE_OF_ATTACK_POWER237 (0xED)
MOD_SPELL_HEALING_OF_ATTACK_POWER238 (0xEE)
MOD_SCALE_2239 (0xEF)
MOD_EXPERTISE240 (0xF0)
FORCE_MOVE_FORWARD241 (0xF1)
UNKNOWN242242 (0xF2)
UNKNOWN243243 (0xF3)
COMPREHEND_LANGUAGE244 (0xF4)
UNKNOWN245245 (0xF5)
UNKNOWN246246 (0xF6)
MIRROR_IMAGE247 (0xF7)
MOD_COMBAT_RESULT_CHANCE248 (0xF8)
UNKNOWN249249 (0xF9)
MOD_INCREASE_HEALTH_2250 (0xFA)
MOD_ENEMY_DODGE251 (0xFB)
UNKNOWN252252 (0xFC)
UNKNOWN253253 (0xFD)
UNKNOWN254254 (0xFE)
UNKNOWN255255 (0xFF)
UNKNOWN256256 (0x100)
UNKNOWN257257 (0x101)
UNKNOWN258258 (0x102)
UNKNOWN259259 (0x103)
UNKNOWN260260 (0x104)
UNKNOWN261261 (0x105)

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/external_spell_3_3_5.wowm:3.

enum AuraMod : u32 {
    NONE = 0;
    BIND_SIGHT = 1;
    MOD_POSSESS = 2;
    PERIODIC_DAMAGE = 3;
    DUMMY = 4;
    MOD_CONFUSE = 5;
    MOD_CHARM = 6;
    MOD_FEAR = 7;
    PERIODIC_HEAL = 8;
    MOD_ATTACKSPEED = 9;
    MOD_THREAT = 10;
    MOD_TAUNT = 11;
    MOD_STUN = 12;
    MOD_DAMAGE_DONE = 13;
    MOD_DAMAGE_TAKEN = 14;
    DAMAGE_SHIELD = 15;
    MOD_STEALTH = 16;
    MOD_STEALTH_DETECT = 17;
    MOD_INVISIBILITY = 18;
    MOD_INVISIBILITY_DETECT = 19;
    OBS_MOD_HEALTH = 20;
    OBS_MOD_POWER = 21;
    MOD_RESISTANCE = 22;
    PERIODIC_TRIGGER_SPELL = 23;
    PERIODIC_ENERGIZE = 24;
    MOD_PACIFY = 25;
    MOD_ROOT = 26;
    MOD_SILENCE = 27;
    REFLECT_SPELLS = 28;
    MOD_STAT = 29;
    MOD_SKILL = 30;
    MOD_INCREASE_SPEED = 31;
    MOD_INCREASE_MOUNTED_SPEED = 32;
    MOD_DECREASE_SPEED = 33;
    MOD_INCREASE_HEALTH = 34;
    MOD_INCREASE_ENERGY = 35;
    MOD_SHAPESHIFT = 36;
    EFFECT_IMMUNITY = 37;
    STATE_IMMUNITY = 38;
    SCHOOL_IMMUNITY = 39;
    DAMAGE_IMMUNITY = 40;
    DISPEL_IMMUNITY = 41;
    PROC_TRIGGER_SPELL = 42;
    PROC_TRIGGER_DAMAGE = 43;
    TRACK_CREATURES = 44;
    TRACK_RESOURCES = 45;
    UNKNOWN46 = 46;
    MOD_PARRY_PERCENT = 47;
    PERIODIC_TRIGGER_SPELL_FROM_CLIENT = 48;
    MOD_DODGE_PERCENT = 49;
    MOD_CRITICAL_HEALING_AMOUNT = 50;
    MOD_BLOCK_PERCENT = 51;
    MOD_WEAPON_CRIT_PERCENT = 52;
    PERIODIC_LEECH = 53;
    MOD_HIT_CHANCE = 54;
    MOD_SPELL_HIT_CHANCE = 55;
    TRANSFORM = 56;
    MOD_SPELL_CRIT_CHANCE = 57;
    MOD_INCREASE_SWIM_SPEED = 58;
    MOD_DAMAGE_DONE_CREATURE = 59;
    MOD_PACIFY_SILENCE = 60;
    MOD_SCALE = 61;
    PERIODIC_HEALTH_FUNNEL = 62;
    UNKNOWN63 = 63;
    PERIODIC_MANA_LEECH = 64;
    MOD_CASTING_SPEED_NOT_STACK = 65;
    FEIGN_DEATH = 66;
    MOD_DISARM = 67;
    MOD_STALKED = 68;
    SCHOOL_ABSORB = 69;
    EXTRA_ATTACKS = 70;
    MOD_SPELL_CRIT_CHANCE_SCHOOL = 71;
    MOD_POWER_COST_SCHOOL_PCT = 72;
    MOD_POWER_COST_SCHOOL = 73;
    REFLECT_SPELLS_SCHOOL = 74;
    MOD_LANGUAGE = 75;
    FAR_SIGHT = 76;
    MECHANIC_IMMUNITY = 77;
    MOUNTED = 78;
    MOD_DAMAGE_PERCENT_DONE = 79;
    MOD_PERCENT_STAT = 80;
    SPLIT_DAMAGE_PCT = 81;
    WATER_BREATHING = 82;
    MOD_BASE_RESISTANCE = 83;
    MOD_REGEN = 84;
    MOD_POWER_REGEN = 85;
    CHANNEL_DEATH_ITEM = 86;
    MOD_DAMAGE_PERCENT_TAKEN = 87;
    MOD_HEALTH_REGEN_PERCENT = 88;
    PERIODIC_DAMAGE_PERCENT = 89;
    UNKNOWN90 = 90;
    MOD_DETECT_RANGE = 91;
    PREVENTS_FLEEING = 92;
    MOD_UNATTACKABLE = 93;
    INTERRUPT_REGEN = 94;
    GHOST = 95;
    SPELL_MAGNET = 96;
    MANA_SHIELD = 97;
    MOD_SKILL_TALENT = 98;
    MOD_ATTACK_POWER = 99;
    AURAS_VISIBLE = 100;
    MOD_RESISTANCE_PCT = 101;
    MOD_MELEE_ATTACK_POWER_VERSUS = 102;
    MOD_TOTAL_THREAT = 103;
    WATER_WALK = 104;
    FEATHER_FALL = 105;
    HOVER = 106;
    ADD_FLAT_MODIFIER = 107;
    ADD_PCT_MODIFIER = 108;
    ADD_TARGET_TRIGGER = 109;
    MOD_POWER_REGEN_PERCENT = 110;
    ADD_CASTER_HIT_TRIGGER = 111;
    OVERRIDE_CLASS_SCRIPTS = 112;
    MOD_RANGED_DAMAGE_TAKEN = 113;
    MOD_RANGED_DAMAGE_TAKEN_PCT = 114;
    MOD_HEALING = 115;
    MOD_REGEN_DURING_COMBAT = 116;
    MOD_MECHANIC_RESISTANCE = 117;
    MOD_HEALING_PCT = 118;
    UNKNOWN119 = 119;
    UNTRACKABLE = 120;
    EMPATHY = 121;
    MOD_OFFHAND_DAMAGE_PCT = 122;
    MOD_TARGET_RESISTANCE = 123;
    MOD_RANGED_ATTACK_POWER = 124;
    MOD_MELEE_DAMAGE_TAKEN = 125;
    MOD_MELEE_DAMAGE_TAKEN_PCT = 126;
    RANGED_ATTACK_POWER_ATTACKER_BONUS = 127;
    MOD_POSSESS_PET = 128;
    MOD_SPEED_ALWAYS = 129;
    MOD_MOUNTED_SPEED_ALWAYS = 130;
    MOD_RANGED_ATTACK_POWER_VERSUS = 131;
    MOD_INCREASE_ENERGY_PERCENT = 132;
    MOD_INCREASE_HEALTH_PERCENT = 133;
    MOD_MANA_REGEN_INTERRUPT = 134;
    MOD_HEALING_DONE = 135;
    MOD_HEALING_DONE_PERCENT = 136;
    MOD_TOTAL_STAT_PERCENTAGE = 137;
    MOD_MELEE_HASTE = 138;
    FORCE_REACTION = 139;
    MOD_RANGED_HASTE = 140;
    MOD_RANGED_AMMO_HASTE = 141;
    MOD_BASE_RESISTANCE_PCT = 142;
    MOD_RESISTANCE_EXCLUSIVE = 143;
    SAFE_FALL = 144;
    MOD_PET_TALENT_POINTS = 145;
    ALLOW_TAME_PET_TYPE = 146;
    MECHANIC_IMMUNITY_MASK = 147;
    RETAIN_COMBO_POINTS = 148;
    REDUCE_PUSHBACK = 149;
    MOD_SHIELD_BLOCKVALUE_PCT = 150;
    TRACK_STEALTHED = 151;
    MOD_DETECTED_RANGE = 152;
    SPLIT_DAMAGE_FLAT = 153;
    MOD_STEALTH_LEVEL = 154;
    MOD_WATER_BREATHING = 155;
    MOD_REPUTATION_GAIN = 156;
    PET_DAMAGE_MULTI = 157;
    MOD_SHIELD_BLOCKVALUE = 158;
    NO_PVP_CREDIT = 159;
    MOD_AOE_AVOIDANCE = 160;
    MOD_HEALTH_REGEN_IN_COMBAT = 161;
    POWER_BURN = 162;
    MOD_CRIT_DAMAGE_BONUS = 163;
    UNKNOWN164 = 164;
    MELEE_ATTACK_POWER_ATTACKER_BONUS = 165;
    MOD_ATTACK_POWER_PCT = 166;
    MOD_RANGED_ATTACK_POWER_PCT = 167;
    MOD_DAMAGE_DONE_VERSUS = 168;
    MOD_CRIT_PERCENT_VERSUS = 169;
    DETECT_AMORE = 170;
    MOD_SPEED_NOT_STACK = 171;
    MOD_MOUNTED_SPEED_NOT_STACK = 172;
    UNKNOWN173 = 173;
    MOD_SPELL_DAMAGE_OF_STAT_PERCENT = 174;
    MOD_SPELL_HEALING_OF_STAT_PERCENT = 175;
    SPIRIT_OF_REDEMPTION = 176;
    AOE_CHARM = 177;
    MOD_DEBUFF_RESISTANCE = 178;
    MOD_ATTACKER_SPELL_CRIT_CHANCE = 179;
    MOD_FLAT_SPELL_DAMAGE_VERSUS = 180;
    UNKNOWN181 = 181;
    MOD_RESISTANCE_OF_STAT_PERCENT = 182;
    MOD_CRITICAL_THREAT = 183;
    MOD_ATTACKER_MELEE_HIT_CHANCE = 184;
    MOD_ATTACKER_RANGED_HIT_CHANCE = 185;
    MOD_ATTACKER_SPELL_HIT_CHANCE = 186;
    MOD_ATTACKER_MELEE_CRIT_CHANCE = 187;
    MOD_ATTACKER_RANGED_CRIT_CHANCE = 188;
    MOD_RATING = 189;
    MOD_FACTION_REPUTATION_GAIN = 190;
    USE_NORMAL_MOVEMENT_SPEED = 191;
    MOD_MELEE_RANGED_HASTE = 192;
    MELEE_SLOW = 193;
    MOD_TARGET_ABSORB_SCHOOL = 194;
    MOD_TARGET_ABILITY_ABSORB_SCHOOL = 195;
    MOD_COOLDOWN = 196;
    MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE = 197;
    UNKNOWN198 = 198;
    MOD_INCREASES_SPELL_PCT_TO_HIT = 199;
    MOD_XP_PCT = 200;
    FLY = 201;
    IGNORE_COMBAT_RESULT = 202;
    MOD_ATTACKER_MELEE_CRIT_DAMAGE = 203;
    MOD_ATTACKER_RANGED_CRIT_DAMAGE = 204;
    MOD_SCHOOL_CRIT_DMG_TAKEN = 205;
    MOD_INCREASE_VEHICLE_FLIGHT_SPEED = 206;
    MOD_INCREASE_MOUNTED_FLIGHT_SPEED = 207;
    MOD_INCREASE_FLIGHT_SPEED = 208;
    MOD_MOUNTED_FLIGHT_SPEED_ALWAYS = 209;
    MOD_VEHICLE_SPEED_ALWAYS = 210;
    MOD_FLIGHT_SPEED_NOT_STACK = 211;
    MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT = 212;
    MOD_RAGE_FROM_DAMAGE_DEALT = 213;
    UNKNOWN214 = 214;
    ARENA_PREPARATION = 215;
    HASTE_SPELLS = 216;
    MOD_MELEE_HASTE_2 = 217;
    HASTE_RANGED = 218;
    MOD_MANA_REGEN_FROM_STAT = 219;
    MOD_RATING_FROM_STAT = 220;
    MOD_DETAUNT = 221;
    UNKNOWN222 = 222;
    RAID_PROC_FROM_CHARGE = 223;
    UNKNOWN224 = 224;
    RAID_PROC_FROM_CHARGE_WITH_VALUE = 225;
    PERIODIC_DUMMY = 226;
    PERIODIC_TRIGGER_SPELL_WITH_VALUE = 227;
    DETECT_STEALTH = 228;
    MOD_AOE_DAMAGE_AVOIDANCE = 229;
    UNKNOWN230 = 230;
    PROC_TRIGGER_SPELL_WITH_VALUE = 231;
    MECHANIC_DURATION_MOD = 232;
    CHANGE_MODEL_FOR_ALL_HUMANOIDS = 233;
    MECHANIC_DURATION_MOD_NOT_STACK = 234;
    MOD_DISPEL_RESIST = 235;
    CONTROL_VEHICLE = 236;
    MOD_SPELL_DAMAGE_OF_ATTACK_POWER = 237;
    MOD_SPELL_HEALING_OF_ATTACK_POWER = 238;
    MOD_SCALE_2 = 239;
    MOD_EXPERTISE = 240;
    FORCE_MOVE_FORWARD = 241;
    MOD_SPELL_DAMAGE_FROM_HEALING = 242;
    MOD_FACTION = 243;
    COMPREHEND_LANGUAGE = 244;
    MOD_AURA_DURATION_BY_DISPEL = 245;
    MOD_AURA_DURATION_BY_DISPEL_NOT_STACK = 246;
    CLONE_CASTER = 247;
    MOD_COMBAT_RESULT_CHANCE = 248;
    CONVERT_RUNE = 249;
    MOD_INCREASE_HEALTH_2 = 250;
    MOD_ENEMY_DODGE = 251;
    MOD_SPEED_SLOW_ALL = 252;
    MOD_BLOCK_CRIT_CHANCE = 253;
    MOD_DISARM_OFFHAND = 254;
    MOD_MECHANIC_DAMAGE_TAKEN_PERCENT = 255;
    NO_REAGENT_USE = 256;
    MOD_TARGET_RESIST_BY_SPELL_CLASS = 257;
    UNKNOWN258 = 258;
    MOD_HOT_PCT = 259;
    SCREEN_EFFECT = 260;
    PHASE = 261;
    ABILITY_IGNORE_AURASTATE = 262;
    ALLOW_ONLY_ABILITY = 263;
    UNKNOWN264 = 264;
    UNKNOWN265 = 265;
    UNKNOWN266 = 266;
    MOD_IMMUNE_AURA_APPLY_SCHOOL = 267;
    MOD_ATTACK_POWER_OF_STAT_PERCENT = 268;
    MOD_IGNORE_TARGET_RESIST = 269;
    MOD_ABILITY_IGNORE_TARGET_RESIST = 270;
    MOD_DAMAGE_FROM_CASTER = 271;
    IGNORE_MELEE_RESET = 272;
    X_RAY = 273;
    ABILITY_CONSUME_NO_AMMO = 274;
    MOD_IGNORE_SHAPESHIFT = 275;
    MOD_DAMAGE_DONE_FOR_MECHANIC = 276;
    MOD_MAX_AFFECTED_TARGETS = 277;
    MOD_DISARM_RANGED = 278;
    INITIALIZE_IMAGES = 279;
    MOD_ARMOR_PENETRATION_PCT = 280;
    MOD_HONOR_GAIN_PCT = 281;
    MOD_BASE_HEALTH_PCT = 282;
    MOD_HEALING_RECEIVED = 283;
    LINKED = 284;
    MOD_ATTACK_POWER_OF_ARMOR = 285;
    ABILITY_PERIODIC_CRIT = 286;
    DEFLECT_SPELLS = 287;
    IGNORE_HIT_DIRECTION = 288;
    PREVENT_DURABILITY_LOSS = 289;
    MOD_CRIT_PCT = 290;
    MOD_XP_QUEST_PCT = 291;
    OPEN_STABLE = 292;
    OVERRIDE_SPELLS = 293;
    PREVENT_REGENERATE_POWER = 294;
    UNKNOWN295 = 295;
    SET_VEHICLE_ID = 296;
    BLOCK_SPELL_FAMILY = 297;
    STRANGULATE = 298;
    UNKNOWN299 = 299;
    SHARE_DAMAGE_PCT = 300;
    SCHOOL_HEAL_ABSORB = 301;
    UNKNOWN302 = 302;
    MOD_DAMAGE_DONE_VERSUS_AURASTATE = 303;
    MOD_FAKE_INEBRIATE = 304;
    MOD_MINIMUM_SPEED = 305;
    UNKNOWN306 = 306;
    HEAL_ABSORB_TEST = 307;
    MOD_CRIT_CHANCE_FOR_CASTER = 308;
    UNKNOWN309 = 309;
    MOD_CREATURE_AOE_DAMAGE_AVOIDANCE = 310;
    UNKNOWN311 = 311;
    UNKNOWN312 = 312;
    UNKNOWN313 = 313;
    PREVENT_RESURRECTION = 314;
    UNDERWATER_WALKING = 315;
    PERIODIC_HASTE = 316;
}

Type

The basic type is u32, a 4 byte (32 bit) little endian integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
BIND_SIGHT1 (0x01)
MOD_POSSESS2 (0x02)
PERIODIC_DAMAGE3 (0x03)
DUMMY4 (0x04)
MOD_CONFUSE5 (0x05)
MOD_CHARM6 (0x06)
MOD_FEAR7 (0x07)
PERIODIC_HEAL8 (0x08)
MOD_ATTACKSPEED9 (0x09)
MOD_THREAT10 (0x0A)
MOD_TAUNT11 (0x0B)
MOD_STUN12 (0x0C)
MOD_DAMAGE_DONE13 (0x0D)
MOD_DAMAGE_TAKEN14 (0x0E)
DAMAGE_SHIELD15 (0x0F)
MOD_STEALTH16 (0x10)
MOD_STEALTH_DETECT17 (0x11)
MOD_INVISIBILITY18 (0x12)
MOD_INVISIBILITY_DETECT19 (0x13)
OBS_MOD_HEALTH20 (0x14)
OBS_MOD_POWER21 (0x15)
MOD_RESISTANCE22 (0x16)
PERIODIC_TRIGGER_SPELL23 (0x17)
PERIODIC_ENERGIZE24 (0x18)
MOD_PACIFY25 (0x19)
MOD_ROOT26 (0x1A)
MOD_SILENCE27 (0x1B)
REFLECT_SPELLS28 (0x1C)
MOD_STAT29 (0x1D)
MOD_SKILL30 (0x1E)
MOD_INCREASE_SPEED31 (0x1F)
MOD_INCREASE_MOUNTED_SPEED32 (0x20)
MOD_DECREASE_SPEED33 (0x21)
MOD_INCREASE_HEALTH34 (0x22)
MOD_INCREASE_ENERGY35 (0x23)
MOD_SHAPESHIFT36 (0x24)
EFFECT_IMMUNITY37 (0x25)
STATE_IMMUNITY38 (0x26)
SCHOOL_IMMUNITY39 (0x27)
DAMAGE_IMMUNITY40 (0x28)
DISPEL_IMMUNITY41 (0x29)
PROC_TRIGGER_SPELL42 (0x2A)
PROC_TRIGGER_DAMAGE43 (0x2B)
TRACK_CREATURES44 (0x2C)
TRACK_RESOURCES45 (0x2D)
UNKNOWN4646 (0x2E)
MOD_PARRY_PERCENT47 (0x2F)
PERIODIC_TRIGGER_SPELL_FROM_CLIENT48 (0x30)
MOD_DODGE_PERCENT49 (0x31)
MOD_CRITICAL_HEALING_AMOUNT50 (0x32)
MOD_BLOCK_PERCENT51 (0x33)
MOD_WEAPON_CRIT_PERCENT52 (0x34)
PERIODIC_LEECH53 (0x35)
MOD_HIT_CHANCE54 (0x36)
MOD_SPELL_HIT_CHANCE55 (0x37)
TRANSFORM56 (0x38)
MOD_SPELL_CRIT_CHANCE57 (0x39)
MOD_INCREASE_SWIM_SPEED58 (0x3A)
MOD_DAMAGE_DONE_CREATURE59 (0x3B)
MOD_PACIFY_SILENCE60 (0x3C)
MOD_SCALE61 (0x3D)
PERIODIC_HEALTH_FUNNEL62 (0x3E)
UNKNOWN6363 (0x3F)
PERIODIC_MANA_LEECH64 (0x40)
MOD_CASTING_SPEED_NOT_STACK65 (0x41)
FEIGN_DEATH66 (0x42)
MOD_DISARM67 (0x43)
MOD_STALKED68 (0x44)
SCHOOL_ABSORB69 (0x45)
EXTRA_ATTACKS70 (0x46)
MOD_SPELL_CRIT_CHANCE_SCHOOL71 (0x47)
MOD_POWER_COST_SCHOOL_PCT72 (0x48)
MOD_POWER_COST_SCHOOL73 (0x49)
REFLECT_SPELLS_SCHOOL74 (0x4A)
MOD_LANGUAGE75 (0x4B)
FAR_SIGHT76 (0x4C)
MECHANIC_IMMUNITY77 (0x4D)
MOUNTED78 (0x4E)
MOD_DAMAGE_PERCENT_DONE79 (0x4F)
MOD_PERCENT_STAT80 (0x50)
SPLIT_DAMAGE_PCT81 (0x51)
WATER_BREATHING82 (0x52)
MOD_BASE_RESISTANCE83 (0x53)
MOD_REGEN84 (0x54)
MOD_POWER_REGEN85 (0x55)
CHANNEL_DEATH_ITEM86 (0x56)
MOD_DAMAGE_PERCENT_TAKEN87 (0x57)
MOD_HEALTH_REGEN_PERCENT88 (0x58)
PERIODIC_DAMAGE_PERCENT89 (0x59)
UNKNOWN9090 (0x5A)
MOD_DETECT_RANGE91 (0x5B)
PREVENTS_FLEEING92 (0x5C)
MOD_UNATTACKABLE93 (0x5D)
INTERRUPT_REGEN94 (0x5E)
GHOST95 (0x5F)
SPELL_MAGNET96 (0x60)
MANA_SHIELD97 (0x61)
MOD_SKILL_TALENT98 (0x62)
MOD_ATTACK_POWER99 (0x63)
AURAS_VISIBLE100 (0x64)
MOD_RESISTANCE_PCT101 (0x65)
MOD_MELEE_ATTACK_POWER_VERSUS102 (0x66)
MOD_TOTAL_THREAT103 (0x67)
WATER_WALK104 (0x68)
FEATHER_FALL105 (0x69)
HOVER106 (0x6A)
ADD_FLAT_MODIFIER107 (0x6B)
ADD_PCT_MODIFIER108 (0x6C)
ADD_TARGET_TRIGGER109 (0x6D)
MOD_POWER_REGEN_PERCENT110 (0x6E)
ADD_CASTER_HIT_TRIGGER111 (0x6F)
OVERRIDE_CLASS_SCRIPTS112 (0x70)
MOD_RANGED_DAMAGE_TAKEN113 (0x71)
MOD_RANGED_DAMAGE_TAKEN_PCT114 (0x72)
MOD_HEALING115 (0x73)
MOD_REGEN_DURING_COMBAT116 (0x74)
MOD_MECHANIC_RESISTANCE117 (0x75)
MOD_HEALING_PCT118 (0x76)
UNKNOWN119119 (0x77)
UNTRACKABLE120 (0x78)
EMPATHY121 (0x79)
MOD_OFFHAND_DAMAGE_PCT122 (0x7A)
MOD_TARGET_RESISTANCE123 (0x7B)
MOD_RANGED_ATTACK_POWER124 (0x7C)
MOD_MELEE_DAMAGE_TAKEN125 (0x7D)
MOD_MELEE_DAMAGE_TAKEN_PCT126 (0x7E)
RANGED_ATTACK_POWER_ATTACKER_BONUS127 (0x7F)
MOD_POSSESS_PET128 (0x80)
MOD_SPEED_ALWAYS129 (0x81)
MOD_MOUNTED_SPEED_ALWAYS130 (0x82)
MOD_RANGED_ATTACK_POWER_VERSUS131 (0x83)
MOD_INCREASE_ENERGY_PERCENT132 (0x84)
MOD_INCREASE_HEALTH_PERCENT133 (0x85)
MOD_MANA_REGEN_INTERRUPT134 (0x86)
MOD_HEALING_DONE135 (0x87)
MOD_HEALING_DONE_PERCENT136 (0x88)
MOD_TOTAL_STAT_PERCENTAGE137 (0x89)
MOD_MELEE_HASTE138 (0x8A)
FORCE_REACTION139 (0x8B)
MOD_RANGED_HASTE140 (0x8C)
MOD_RANGED_AMMO_HASTE141 (0x8D)
MOD_BASE_RESISTANCE_PCT142 (0x8E)
MOD_RESISTANCE_EXCLUSIVE143 (0x8F)
SAFE_FALL144 (0x90)
MOD_PET_TALENT_POINTS145 (0x91)
ALLOW_TAME_PET_TYPE146 (0x92)
MECHANIC_IMMUNITY_MASK147 (0x93)
RETAIN_COMBO_POINTS148 (0x94)
REDUCE_PUSHBACK149 (0x95)
MOD_SHIELD_BLOCKVALUE_PCT150 (0x96)
TRACK_STEALTHED151 (0x97)
MOD_DETECTED_RANGE152 (0x98)
SPLIT_DAMAGE_FLAT153 (0x99)
MOD_STEALTH_LEVEL154 (0x9A)
MOD_WATER_BREATHING155 (0x9B)
MOD_REPUTATION_GAIN156 (0x9C)
PET_DAMAGE_MULTI157 (0x9D)
MOD_SHIELD_BLOCKVALUE158 (0x9E)
NO_PVP_CREDIT159 (0x9F)
MOD_AOE_AVOIDANCE160 (0xA0)
MOD_HEALTH_REGEN_IN_COMBAT161 (0xA1)
POWER_BURN162 (0xA2)
MOD_CRIT_DAMAGE_BONUS163 (0xA3)
UNKNOWN164164 (0xA4)
MELEE_ATTACK_POWER_ATTACKER_BONUS165 (0xA5)
MOD_ATTACK_POWER_PCT166 (0xA6)
MOD_RANGED_ATTACK_POWER_PCT167 (0xA7)
MOD_DAMAGE_DONE_VERSUS168 (0xA8)
MOD_CRIT_PERCENT_VERSUS169 (0xA9)
DETECT_AMORE170 (0xAA)
MOD_SPEED_NOT_STACK171 (0xAB)
MOD_MOUNTED_SPEED_NOT_STACK172 (0xAC)
UNKNOWN173173 (0xAD)
MOD_SPELL_DAMAGE_OF_STAT_PERCENT174 (0xAE)
MOD_SPELL_HEALING_OF_STAT_PERCENT175 (0xAF)
SPIRIT_OF_REDEMPTION176 (0xB0)
AOE_CHARM177 (0xB1)
MOD_DEBUFF_RESISTANCE178 (0xB2)
MOD_ATTACKER_SPELL_CRIT_CHANCE179 (0xB3)
MOD_FLAT_SPELL_DAMAGE_VERSUS180 (0xB4)
UNKNOWN181181 (0xB5)
MOD_RESISTANCE_OF_STAT_PERCENT182 (0xB6)
MOD_CRITICAL_THREAT183 (0xB7)
MOD_ATTACKER_MELEE_HIT_CHANCE184 (0xB8)
MOD_ATTACKER_RANGED_HIT_CHANCE185 (0xB9)
MOD_ATTACKER_SPELL_HIT_CHANCE186 (0xBA)
MOD_ATTACKER_MELEE_CRIT_CHANCE187 (0xBB)
MOD_ATTACKER_RANGED_CRIT_CHANCE188 (0xBC)
MOD_RATING189 (0xBD)
MOD_FACTION_REPUTATION_GAIN190 (0xBE)
USE_NORMAL_MOVEMENT_SPEED191 (0xBF)
MOD_MELEE_RANGED_HASTE192 (0xC0)
MELEE_SLOW193 (0xC1)
MOD_TARGET_ABSORB_SCHOOL194 (0xC2)
MOD_TARGET_ABILITY_ABSORB_SCHOOL195 (0xC3)
MOD_COOLDOWN196 (0xC4)
MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE197 (0xC5)
UNKNOWN198198 (0xC6)
MOD_INCREASES_SPELL_PCT_TO_HIT199 (0xC7)
MOD_XP_PCT200 (0xC8)
FLY201 (0xC9)
IGNORE_COMBAT_RESULT202 (0xCA)
MOD_ATTACKER_MELEE_CRIT_DAMAGE203 (0xCB)
MOD_ATTACKER_RANGED_CRIT_DAMAGE204 (0xCC)
MOD_SCHOOL_CRIT_DMG_TAKEN205 (0xCD)
MOD_INCREASE_VEHICLE_FLIGHT_SPEED206 (0xCE)
MOD_INCREASE_MOUNTED_FLIGHT_SPEED207 (0xCF)
MOD_INCREASE_FLIGHT_SPEED208 (0xD0)
MOD_MOUNTED_FLIGHT_SPEED_ALWAYS209 (0xD1)
MOD_VEHICLE_SPEED_ALWAYS210 (0xD2)
MOD_FLIGHT_SPEED_NOT_STACK211 (0xD3)
MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT212 (0xD4)
MOD_RAGE_FROM_DAMAGE_DEALT213 (0xD5)
UNKNOWN214214 (0xD6)
ARENA_PREPARATION215 (0xD7)
HASTE_SPELLS216 (0xD8)
MOD_MELEE_HASTE_2217 (0xD9)
HASTE_RANGED218 (0xDA)
MOD_MANA_REGEN_FROM_STAT219 (0xDB)
MOD_RATING_FROM_STAT220 (0xDC)
MOD_DETAUNT221 (0xDD)
UNKNOWN222222 (0xDE)
RAID_PROC_FROM_CHARGE223 (0xDF)
UNKNOWN224224 (0xE0)
RAID_PROC_FROM_CHARGE_WITH_VALUE225 (0xE1)
PERIODIC_DUMMY226 (0xE2)
PERIODIC_TRIGGER_SPELL_WITH_VALUE227 (0xE3)
DETECT_STEALTH228 (0xE4)
MOD_AOE_DAMAGE_AVOIDANCE229 (0xE5)
UNKNOWN230230 (0xE6)
PROC_TRIGGER_SPELL_WITH_VALUE231 (0xE7)
MECHANIC_DURATION_MOD232 (0xE8)
CHANGE_MODEL_FOR_ALL_HUMANOIDS233 (0xE9)
MECHANIC_DURATION_MOD_NOT_STACK234 (0xEA)
MOD_DISPEL_RESIST235 (0xEB)
CONTROL_VEHICLE236 (0xEC)
MOD_SPELL_DAMAGE_OF_ATTACK_POWER237 (0xED)
MOD_SPELL_HEALING_OF_ATTACK_POWER238 (0xEE)
MOD_SCALE_2239 (0xEF)
MOD_EXPERTISE240 (0xF0)
FORCE_MOVE_FORWARD241 (0xF1)
MOD_SPELL_DAMAGE_FROM_HEALING242 (0xF2)
MOD_FACTION243 (0xF3)
COMPREHEND_LANGUAGE244 (0xF4)
MOD_AURA_DURATION_BY_DISPEL245 (0xF5)
MOD_AURA_DURATION_BY_DISPEL_NOT_STACK246 (0xF6)
CLONE_CASTER247 (0xF7)
MOD_COMBAT_RESULT_CHANCE248 (0xF8)
CONVERT_RUNE249 (0xF9)
MOD_INCREASE_HEALTH_2250 (0xFA)
MOD_ENEMY_DODGE251 (0xFB)
MOD_SPEED_SLOW_ALL252 (0xFC)
MOD_BLOCK_CRIT_CHANCE253 (0xFD)
MOD_DISARM_OFFHAND254 (0xFE)
MOD_MECHANIC_DAMAGE_TAKEN_PERCENT255 (0xFF)
NO_REAGENT_USE256 (0x100)
MOD_TARGET_RESIST_BY_SPELL_CLASS257 (0x101)
UNKNOWN258258 (0x102)
MOD_HOT_PCT259 (0x103)
SCREEN_EFFECT260 (0x104)
PHASE261 (0x105)
ABILITY_IGNORE_AURASTATE262 (0x106)
ALLOW_ONLY_ABILITY263 (0x107)
UNKNOWN264264 (0x108)
UNKNOWN265265 (0x109)
UNKNOWN266266 (0x10A)
MOD_IMMUNE_AURA_APPLY_SCHOOL267 (0x10B)
MOD_ATTACK_POWER_OF_STAT_PERCENT268 (0x10C)
MOD_IGNORE_TARGET_RESIST269 (0x10D)
MOD_ABILITY_IGNORE_TARGET_RESIST270 (0x10E)
MOD_DAMAGE_FROM_CASTER271 (0x10F)
IGNORE_MELEE_RESET272 (0x110)
X_RAY273 (0x111)
ABILITY_CONSUME_NO_AMMO274 (0x112)
MOD_IGNORE_SHAPESHIFT275 (0x113)
MOD_DAMAGE_DONE_FOR_MECHANIC276 (0x114)
MOD_MAX_AFFECTED_TARGETS277 (0x115)
MOD_DISARM_RANGED278 (0x116)
INITIALIZE_IMAGES279 (0x117)
MOD_ARMOR_PENETRATION_PCT280 (0x118)
MOD_HONOR_GAIN_PCT281 (0x119)
MOD_BASE_HEALTH_PCT282 (0x11A)
MOD_HEALING_RECEIVED283 (0x11B)
LINKED284 (0x11C)
MOD_ATTACK_POWER_OF_ARMOR285 (0x11D)
ABILITY_PERIODIC_CRIT286 (0x11E)
DEFLECT_SPELLS287 (0x11F)
IGNORE_HIT_DIRECTION288 (0x120)
PREVENT_DURABILITY_LOSS289 (0x121)
MOD_CRIT_PCT290 (0x122)
MOD_XP_QUEST_PCT291 (0x123)
OPEN_STABLE292 (0x124)
OVERRIDE_SPELLS293 (0x125)
PREVENT_REGENERATE_POWER294 (0x126)
UNKNOWN295295 (0x127)
SET_VEHICLE_ID296 (0x128)
BLOCK_SPELL_FAMILY297 (0x129)
STRANGULATE298 (0x12A)
UNKNOWN299299 (0x12B)
SHARE_DAMAGE_PCT300 (0x12C)
SCHOOL_HEAL_ABSORB301 (0x12D)
UNKNOWN302302 (0x12E)
MOD_DAMAGE_DONE_VERSUS_AURASTATE303 (0x12F)
MOD_FAKE_INEBRIATE304 (0x130)
MOD_MINIMUM_SPEED305 (0x131)
UNKNOWN306306 (0x132)
HEAL_ABSORB_TEST307 (0x133)
MOD_CRIT_CHANCE_FOR_CASTER308 (0x134)
UNKNOWN309309 (0x135)
MOD_CREATURE_AOE_DAMAGE_AVOIDANCE310 (0x136)
UNKNOWN311311 (0x137)
UNKNOWN312312 (0x138)
UNKNOWN313313 (0x139)
PREVENT_RESURRECTION314 (0x13A)
UNDERWATER_WALKING315 (0x13B)
PERIODIC_HASTE316 (0x13C)

Used in:

CharacterRaceFlags

Client Version 1.12

Used in ChrRaces.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/character_race_flags.wowm:2.

flag CharacterRaceFlags : u8 {
    NONE = 0x00;
    NOT_PLAYABLE = 0x01;
    BARE_FEET = 0x02;
    CAN_CURRENT_FORM_MOUNT = 0x04;
    UNKNOWN2 = 0x08;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
NOT_PLAYABLE1 (0x01)
BARE_FEET2 (0x02)
CAN_CURRENT_FORM_MOUNT4 (0x04)
UNKNOWN28 (0x08)

Used in:

ClientLanguage

Client Version 1.12

Used in GMSurveyCurrentSurvey.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/client_language.wowm:2.

enum ClientLanguage : u8 {
    ENGLISH = 0;
    KOREAN = 1;
    FRENCH = 2;
    GERMAN = 3;
    CHINESE = 4;
    TAIWANESE = 5;
    SPANISH_SPAIN = 6;
    SPANISH_LATIN_AMERICA = 7;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
ENGLISH0 (0x00)
KOREAN1 (0x01)
FRENCH2 (0x02)
GERMAN3 (0x03)
CHINESE4 (0x04)
TAIWANESE5 (0x05)
SPANISH_SPAIN6 (0x06)
SPANISH_LATIN_AMERICA7 (0x07)

Used in:

DefaultChannelFlags

Client Version 1.12

Used in ChatChannels.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/channel_flags.wowm:2.

flag DefaultChannelFlags : u32 {
    NONE = 0x00;
    INITIAL = 0x01;
    ZONE_DEPENDENCY = 0x02;
    GLOBAL = 0x04;
    TRADE = 0x08;
    CITY_ONLY = 0x10;
    CITY_ONLY_2 = 0x20;
    DEFENCE = 0x10000;
    UNSELECTED = 0x40000;
}

Type

The basic type is u32, a 4 byte (32 bit) little endian integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
INITIAL1 (0x01)
ZONE_DEPENDENCY2 (0x02)
GLOBAL4 (0x04)
TRADE8 (0x08)
CITY_ONLY16 (0x10)
CITY_ONLY_232 (0x20)
DEFENCE65536 (0x10000)
UNSELECTED262144 (0x40000)

Used in:

EmoteFlags

Client Version 1.12

Used in Emotes.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/emote_flags.wowm:2.

flag EmoteFlags : u8 {
    TALK = 0x08;
    QUESTION = 0x10;
    EXCLAMATION = 0x20;
    SHOUT = 0x40;
    LAUGH = 0x80;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
TALK8 (0x08)
QUESTION16 (0x10)
EXCLAMATION32 (0x20)
SHOUT64 (0x40)
LAUGH128 (0x80)

Used in:

EmoteSpecProc

Client Version 1.12

Used in Emotes.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/emote_spec_proc.wowm:2.

enum EmoteSpecProc : u8 {
    NO_LOOP = 0;
    LOOP = 1;
    LOOP_WITH_SOUND = 2;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
NO_LOOP0 (0x00)
LOOP1 (0x01)
LOOP_WITH_SOUND2 (0x02)

Used in:

FluidSpeed

Client Version 1.12

Used in SoundWaterType.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/fluid_speed.wowm:2.

enum FluidSpeed : u8 {
    STILL = 0;
    SLOW = 4;
    RAPID = 8;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
STILL0 (0x00)
SLOW4 (0x04)
RAPID8 (0x08)

Used in:

InstanceType

Client Version 1.12

Used in Map.dbc, and LFGDungeons.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/instance_type.wowm:2.

enum InstanceType : u8 {
    NORMAL = 0x00;
    GROUP_INSTANCE = 0x01;
    RAID_INSTANCE = 0x02;
    BATTLEGROUND = 0x03;
    WORLD_ZONE = 0x04;
    BATTLEGROUND2 = 0x05;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
NORMAL0 (0x00)
GROUP_INSTANCE1 (0x01)
RAID_INSTANCE2 (0x02)
BATTLEGROUND3 (0x03)
WORLD_ZONE4 (0x04)
BATTLEGROUND25 (0x05)

Used in:

ItemEnvTypes

Client Version 1.12

Used in SheatheSoundLookups.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/item_env_types.wowm:2.

enum ItemEnvTypes : u8 {
    SHIELD = 0;
    METAL_WEAPON = 1;
    WOOD_WEAPON = 2;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
SHIELD0 (0x00)
METAL_WEAPON1 (0x01)
WOOD_WEAPON2 (0x02)

Used in:

ItemWeaponClass

Client Version 1.12

Used in ItemClass.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/item_weapon_class.wowm:2.

enum ItemWeaponClass : u8 {
    ITEM = 0;
    WEAPON = 1;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
ITEM0 (0x00)
WEAPON1 (0x01)

Used in:

LfgFaction

Client Version 1.12

Used in LFGDungeons.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/lfg_faction.wowm:2.

enum LfgFaction : i8 {
    NEUTRAL = -1;
    HORDE = 0;
    ALLIANCE = 1;
}

Type

The basic type is i8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
NEUTRAL-1 (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)
HORDE0 (0x00)
ALLIANCE1 (0x01)

Used in:

LockType

Client Version 1.12

Used in Lock.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/lock_type.wowm:2.

enum LockType : u8 {
    NONE = 0;
    ITEM_REQUIRED = 1;
    LOCKTYPE_REFERENCE = 2;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
NONE0 (0x00)
ITEM_REQUIRED1 (0x01)
LOCKTYPE_REFERENCE2 (0x02)

Used in:

OceanType

Client Version 1.12

Used in LiquidType.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/ocean_type.wowm:2.

enum OceanType : u8 {
    FIRE = 0;
    SLIME = 2;
    WATER = 3;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
FIRE0 (0x00)
SLIME2 (0x02)
WATER3 (0x03)

Used in:

PvpFlags

Client Version 1.12

Used in FactionTemplate.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/pvp_flags.wowm:2.

flag PvpFlags : u16 {
    PVP_FLAGGED = 0x800;
    ATTACK_PVPING_PLAYERS = 0x1000;
}

Type

The basic type is u16, a 2 byte (16 bit) little endian integer.

Enumerators

EnumeratorValueComment
PVP_FLAGGED2048 (0x800)
ATTACK_PVPING_PLAYERS4096 (0x1000)

Used in:

Race

Client Version 0.5.4

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/enums/race.wowm:1.

enum Race : u8 {
    HUMAN = 1;
    ORC = 2;
    DWARF = 3;
    NIGHT_ELF = 4;
    UNDEAD = 5;
    TAUREN = 6;
    GNOME = 7;
    TROLL = 8;
    GOBLIN = 9;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
HUMAN1 (0x01)
ORC2 (0x02)
DWARF3 (0x03)
NIGHT_ELF4 (0x04)
UNDEAD5 (0x05)
TAUREN6 (0x06)
GNOME7 (0x07)
TROLL8 (0x08)
GOBLIN9 (0x09)

Used in:

Client Version 0.5.5, Client Version 0.6, Client Version 0.7, Client Version 0.8, Client Version 0.9, Client Version 0.10, Client Version 0.11, Client Version 0.12, Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/enums/race.wowm:15.

enum Race : u8 {
    HUMAN = 1;
    ORC = 2;
    DWARF = 3;
    NIGHT_ELF = 4;
    UNDEAD = 5;
    TAUREN = 6;
    GNOME = 7;
    TROLL = 8;
    GOBLIN = 9;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
HUMAN1 (0x01)
ORC2 (0x02)
DWARF3 (0x03)
NIGHT_ELF4 (0x04)
UNDEAD5 (0x05)
TAUREN6 (0x06)
GNOME7 (0x07)
TROLL8 (0x08)
GOBLIN9 (0x09)

Used in:

Client Version 2.4.3, Client Version 3.0, Client Version 3.1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/enums/race.wowm:30.

enum Race : u8 {
    HUMAN = 1;
    ORC = 2;
    DWARF = 3;
    NIGHT_ELF = 4;
    UNDEAD = 5;
    TAUREN = 6;
    GNOME = 7;
    TROLL = 8;
    GOBLIN = 9;
    BLOOD_ELF = 10;
    DRAENEI = 11;
    FEL_ORC = 12;
    NAGA = 13;
    BROKEN = 14;
    SKELETON = 15;
    VRYKUL = 16;
    TUSKARR = 17;
    FOREST_TROLL = 18;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
HUMAN1 (0x01)
ORC2 (0x02)
DWARF3 (0x03)
NIGHT_ELF4 (0x04)
UNDEAD5 (0x05)
TAUREN6 (0x06)
GNOME7 (0x07)
TROLL8 (0x08)
GOBLIN9 (0x09)
BLOOD_ELF10 (0x0A)
DRAENEI11 (0x0B)
FEL_ORC12 (0x0C)
NAGA13 (0x0D)
BROKEN14 (0x0E)
SKELETON15 (0x0F)
VRYKUL16 (0x10)
TUSKARR17 (0x11)
FOREST_TROLL18 (0x12)

Used in:

Client Version 3.2, Client Version 3.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/enums/race.wowm:54.

enum Race : u8 {
    HUMAN = 1;
    ORC = 2;
    DWARF = 3;
    NIGHT_ELF = 4;
    UNDEAD = 5;
    TAUREN = 6;
    GNOME = 7;
    TROLL = 8;
    GOBLIN = 9;
    BLOOD_ELF = 10;
    DRAENEI = 11;
    FEL_ORC = 12;
    NAGA = 13;
    BROKEN = 14;
    SKELETON = 15;
    VRYKUL = 16;
    TUSKARR = 17;
    FOREST_TROLL = 18;
    TAUNKA = 19;
    NORTHREND_SKELETON = 20;
    ICE_TROLL = 21;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
HUMAN1 (0x01)
ORC2 (0x02)
DWARF3 (0x03)
NIGHT_ELF4 (0x04)
UNDEAD5 (0x05)
TAUREN6 (0x06)
GNOME7 (0x07)
TROLL8 (0x08)
GOBLIN9 (0x09)
BLOOD_ELF10 (0x0A)
DRAENEI11 (0x0B)
FEL_ORC12 (0x0C)
NAGA13 (0x0D)
BROKEN14 (0x0E)
SKELETON15 (0x0F)
VRYKUL16 (0x10)
TUSKARR17 (0x11)
FOREST_TROLL18 (0x12)
TAUNKA19 (0x13)
NORTHREND_SKELETON20 (0x14)
ICE_TROLL21 (0x15)

Used in:

ReputationFlags

Client Version 1.12

Used in Faction.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/reputation_flags.wowm:2.

flag ReputationFlags : u8 {
    VISIBLE_TO_CLIENT = 0x01;
    ENABLE_AT_WAR = 0x02;
    HIDE_IN_CLIENT = 0x04;
    FORCE_HIDE_IN_CLIENT = 0x08;
    FORCE_AT_PEACE = 0x10;
    FACTION_INACTIVE = 0x20;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
VISIBLE_TO_CLIENT1 (0x01)
ENABLE_AT_WAR2 (0x02)
HIDE_IN_CLIENT4 (0x04)
FORCE_HIDE_IN_CLIENT8 (0x08)
FORCE_AT_PEACE16 (0x10)
FACTION_INACTIVE32 (0x20)

Used in:

Scalp

Client Version 1.12

Used in CharHairGeosets.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/scalp.wowm:2.

enum Scalp : u8 {
    HAIR = 0;
    BALD = 1;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
HAIR0 (0x00)
BALD1 (0x01)

Used in:

SelectionType

Client Version 1.12

Used in CharSections.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/selection_type.wowm:2.

enum SelectionType : u8 {
    BASE_SKIN = 0x00;
    FACE = 0x01;
    FACIAL_HAIR = 0x02;
    HAIR = 0x03;
    UNDERWEAR = 0x04;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
BASE_SKIN0 (0x00)
FACE1 (0x01)
FACIAL_HAIR2 (0x02)
HAIR3 (0x03)
UNDERWEAR4 (0x04)

Used in:

ServerCategory

Client Version 1.12

Used in Cfg_Categories.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/server_category.wowm:2.

enum ServerCategory : u8 {
    ONE = 1;
    TWO = 2;
    THREE = 3;
    FIVE = 5;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
ONE1 (0x01)
TWO2 (0x02)
THREE3 (0x03)
FIVE5 (0x05)

Used in:

ServerRegion

Client Version 1.12

Used in Cfg_Categories.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/server_region.wowm:2.

enum ServerRegion : u8 {
    UNITED_STATES = 1;
    KOREA = 2;
    EUROPE = 3;
    TAIWAN = 4;
    CHINA = 5;
    TEST_SERVER = 99;
    QA_SERVER = 101;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
UNITED_STATES1 (0x01)
KOREA2 (0x02)
EUROPE3 (0x03)
TAIWAN4 (0x04)
CHINA5 (0x05)
TEST_SERVER99 (0x63)
QA_SERVER101 (0x65)

Used in:

SizeClass

Client Version 1.12, Client Version 2, Client Version 3

Used in the CreatureDisplayInfo.dbc, CreatureModelData.dbc and DeathThudLookups.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/size_class.wowm:2.

enum SizeClass : i8 {
    NONE = -1;
    SMALL = 0;
    MEDIUM = 1;
    LARGE = 2;
    GIANT = 3;
    COLOSSAL = 4;
}

Type

The basic type is i8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
NONE-1 (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)
SMALL0 (0x00)
MEDIUM1 (0x01)
LARGE2 (0x02)
GIANT3 (0x03)
COLOSSAL4 (0x04)

Used in:

SkillCategory

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/skill_category.wowm:3.

enum SkillCategory : u8 {
    ATTRIBUTE = 5;
    WEAPON = 6;
    CLASS = 7;
    ARMOR = 8;
    SECONDARY_PROFESSION = 9;
    LANGUAGE = 10;
    PRIMARY_PROFESSION = 11;
    GENERIC = 12;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
ATTRIBUTE5 (0x05)Not used for anything in Vanilla and TBC, only used for Pet - Exotic Spirit Beast in Wrath.
WEAPON6 (0x06)
CLASS7 (0x07)
ARMOR8 (0x08)
SECONDARY_PROFESSION9 (0x09)
LANGUAGE10 (0x0A)
PRIMARY_PROFESSION11 (0x0B)
GENERIC12 (0x0C)

Used in:

SoundType

Client Version 1.12

Used in SoundEntries.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/sound_type.wowm:2.

enum SoundType : u8 {
    UNUSED = 0x00;
    SPELLS = 0x01;
    UI = 0x02;
    FOOTSTEPS = 0x03;
    WEAPON_IMPACT = 0x04;
    WEAPON_MISS = 0x06;
    PICK_UP_PUT_DOWN = 0x09;
    NPC_COMBAT = 0x0A;
    ERRORS = 0x0C;
    OBJECTS = 0x0E;
    DEATH = 0x10;
    NPC_GREETINGS = 0x11;
    TEST = 0x12;
    ARMOUR_FOLEY = 0x13;
    FOOTSTEPS_2 = 0x14;
    WATER_CHARACTER = 0x15;
    WATER_LIQUID = 0x16;
    TRADESKILLS = 0x17;
    DOODADS = 0x19;
    SPELL_FIZZLE = 0x1A;
    NPC_LOOPS = 0x1B;
    ZONE_MUSIC = 0x1C;
    EMOTES = 0x1D;
    NARRATION_MUSIC = 0x1E;
    NARRATION = 0x1F;
    ZONE_AMBIENCE = 0x32;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
UNUSED0 (0x00)
SPELLS1 (0x01)
UI2 (0x02)
FOOTSTEPS3 (0x03)
WEAPON_IMPACT4 (0x04)
WEAPON_MISS6 (0x06)
PICK_UP_PUT_DOWN9 (0x09)
NPC_COMBAT10 (0x0A)
ERRORS12 (0x0C)
OBJECTS14 (0x0E)
DEATH16 (0x10)
NPC_GREETINGS17 (0x11)
TEST18 (0x12)
ARMOUR_FOLEY19 (0x13)
FOOTSTEPS_220 (0x14)
WATER_CHARACTER21 (0x15)
WATER_LIQUID22 (0x16)
TRADESKILLS23 (0x17)
DOODADS25 (0x19)
SPELL_FIZZLE26 (0x1A)
NPC_LOOPS27 (0x1B)
ZONE_MUSIC28 (0x1C)
EMOTES29 (0x1D)
NARRATION_MUSIC30 (0x1E)
NARRATION31 (0x1F)
ZONE_AMBIENCE50 (0x32)

Used in:

SwingType

Client Version 1.12

Used in WeaponSwingSounds2.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/swing_type.wowm:2.

enum SwingType : u8 {
    LIGHT = 0;
    MEDIUM = 1;
    HEAVY = 2;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
LIGHT0 (0x00)
MEDIUM1 (0x01)
HEAVY2 (0x02)

Used in:

WeaponFlags

Client Version 1.12

Used in AnimationData.dbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/external/weapon_flags.wowm:2.

flag WeaponFlags : u8 {
    WEAPON_NOT_AFFECTED_BY_ANIMATION = 0x00;
    SHEATHE_WEAPONS_AUTOMATICALLY = 0x04;
    SHEATHE_WEAPONS_AUTOMATICALLY_2 = 0x10;
    UNSHEATHE_WEAPONS = 0x20;
}

Type

The basic type is u8, a 1 byte (8 bit) integer.

Enumerators

EnumeratorValueComment
WEAPON_NOT_AFFECTED_BY_ANIMATION0 (0x00)
SHEATHE_WEAPONS_AUTOMATICALLY4 (0x04)
SHEATHE_WEAPONS_AUTOMATICALLY_216 (0x10)
UNSHEATHE_WEAPONS32 (0x20)

Used in:

CMD_AUTH_LOGON_CHALLENGE_Client

Protocol Version *

First message sent by the client when attempting to connect. The server will respond with CMD_AUTH_LOGON_CHALLENGE_Server.

Has the exact same layout as CMD_AUTH_RECONNECT_CHALLENGE_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/challenge_client.wowm:21.

clogin CMD_AUTH_LOGON_CHALLENGE_Client = 0x00 {
    ProtocolVersion protocol_version;
    u16 size = self.size;
    u32 game_name = "\0WoW";
    Version version;
    Platform platform;
    Os os;
    Locale locale;
    i32 utc_timezone_offset;
    IpAddress client_ip_address;
    String account_name;
}

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -ProtocolVersionprotocol_versionDetermines which version of messages are used for further communication.
0x022 / Littleu16size
0x044 / Littleu32game_name
0x085 / -Versionversion
0x0D4 / -Platformplatform
0x114 / -Osos
0x154 / -Localelocale
0x194 / Littlei32utc_timezone_offsetOffset in minutes from UTC time. 180 would be UTC+3
0x1D4 / BigIpAddressclient_ip_address
0x21- / -Stringaccount_nameReal clients can send a maximum of 16 UTF-8 characters. This is not necessarily 16 bytes since one character can be more than one byte.
Real clients will send a fully uppercased username, and will perform authentication calculations on the uppercased version.
Uppercasing in regards to non-ASCII values is little weird. See https://docs.rs/wow_srp/latest/wow_srp/normalized_string/index.html for more info.

Examples

Example 1

Comment

x86 Windows user on enGB attempting to log in with username ‘A’.

0, // opcode (0)
3, // protocol_version: ProtocolVersion THREE (3)
31, 0, // size: u16
87, 111, 87, 0, // game_name: u32
1, // Version.major: u8
12, // Version.minor: u8
1, // Version.patch: u8
243, 22, // Version.build: u16
54, 56, 120, 0, // platform: Platform X86 ("\0x86")
110, 105, 87, 0, // os: Os WINDOWS ("\0Win")
66, 71, 110, 101, // locale: Locale EN_GB ("enGB")
60, 0, 0, 0, // utc_timezone_offset: i32
127, 0, 0, 1, // client_ip_address: IpAddress
1, // string length
65, // account_name: String

CMD_AUTH_LOGON_CHALLENGE_Server

Protocol Version 2

Reply to CMD_AUTH_LOGON_CHALLENGE_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/challenge_server.wowm:2.

slogin CMD_AUTH_LOGON_CHALLENGE_Server = 0x00 {
    u8 protocol_version = 0;
    LoginResult result;
    if (result == SUCCESS) {
        u8[32] server_public_key;
        u8 generator_length;
        u8[generator_length] generator;
        u8 large_safe_prime_length;
        u8[large_safe_prime_length] large_safe_prime;
        u8[32] salt;
        u8[16] crc_salt;
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -u8protocol_versionMangos statically sets this to 0. It is unknown exactly what it does.
0x021 / -LoginResultresult

If result is equal to SUCCESS:

OffsetSize / EndiannessTypeNameComment
0x0332 / -u8[32]server_public_key
0x231 / -u8generator_lengthThe only realistic values for the generator are well below 255, so there’s no reason for this to anything other than 1.
0x24? / -u8[generator_length]generator
-1 / -u8large_safe_prime_lengthClient can not handle arrays greater than 32.
-? / -u8[large_safe_prime_length]large_safe_prime
-32 / -u8[32]salt
-16 / -u8[16]crc_saltUsed for the crc_hash in CMD_AUTH_LOGON_PROOF_Client.

Examples

Example 1

Comment

Reply to CMD_AUTH_LOGON_CHALLENGE_Client.

0, // opcode (0)
0, // protocol_version: u8
0, // result: LoginResult SUCCESS (0x00)
73, 216, 194, 188, 104, 92, 43, 206, 74, 244, 250, 7, 10, 71, 147, 120, 88, 120, 
70, 181, 131, 212, 65, 130, 158, 36, 216, 135, 206, 218, 52, 70, // server_public_key: u8[32]
1, // generator_length: u8
7, // generator: u8[generator_length]
32, // large_safe_prime_length: u8
183, 155, 62, 42, 135, 130, 60, 171, 143, 94, 191, 191, 142, 177, 1, 8, 83, 80, 
6, 41, 139, 91, 173, 189, 91, 83, 225, 137, 94, 100, 75, 137, // large_safe_prime: u8[large_safe_prime_length]
199, 9, 135, 125, 140, 101, 82, 102, 165, 125, 184, 101, 61, 110, 166, 43, 181, 
84, 242, 11, 207, 116, 214, 74, 119, 167, 211, 61, 243, 48, 144, 135, // salt: u8[32]
186, 163, 30, 153, 160, 11, 33, 87, 252, 55, 63, 179, 105, 205, 210, 241, // crc_salt: u8[16]

Protocol Version 3

Reply to CMD_AUTH_LOGON_CHALLENGE_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/challenge_server.wowm:76.

slogin CMD_AUTH_LOGON_CHALLENGE_Server = 0x00 {
    u8 protocol_version = 0;
    LoginResult result;
    if (result == SUCCESS) {
        u8[32] server_public_key;
        u8 generator_length;
        u8[generator_length] generator;
        u8 large_safe_prime_length;
        u8[large_safe_prime_length] large_safe_prime;
        u8[32] salt;
        u8[16] crc_salt;
        SecurityFlag security_flag;
        if (security_flag == PIN) {
            u32 pin_grid_seed;
            u8[16] pin_salt;
        }
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Examples

Example 1

0, // opcode (0)
0, // protocol_version: u8
0, // result: LoginResult SUCCESS (0x00)
73, 216, 194, 188, 104, 92, 43, 206, 74, 244, 250, 7, 10, 71, 147, 120, 88, 120, 
70, 181, 131, 212, 65, 130, 158, 36, 216, 135, 206, 218, 52, 70, // server_public_key: u8[32]
1, // generator_length: u8
7, // generator: u8[generator_length]
32, // large_safe_prime_length: u8
183, 155, 62, 42, 135, 130, 60, 171, 143, 94, 191, 191, 142, 177, 1, 8, 83, 80, 
6, 41, 139, 91, 173, 189, 91, 83, 225, 137, 94, 100, 75, 137, // large_safe_prime: u8[large_safe_prime_length]
199, 9, 135, 125, 140, 101, 82, 102, 165, 125, 184, 101, 61, 110, 166, 43, 181, 
84, 242, 11, 207, 116, 214, 74, 119, 167, 211, 61, 243, 48, 144, 135, // salt: u8[32]
186, 163, 30, 153, 160, 11, 33, 87, 252, 55, 63, 179, 105, 205, 210, 241, // crc_salt: u8[16]
1, // security_flag: SecurityFlag PIN (0x1)
239, 190, 173, 222, // pin_grid_seed: u32
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // pin_salt: u8[16]

Example 2

0, // opcode (0)
0, // protocol_version: u8
0, // result: LoginResult SUCCESS (0x00)
73, 216, 194, 188, 104, 92, 43, 206, 74, 244, 250, 7, 10, 71, 147, 120, 88, 120, 
70, 181, 131, 212, 65, 130, 158, 36, 216, 135, 206, 218, 52, 70, // server_public_key: u8[32]
1, // generator_length: u8
7, // generator: u8[generator_length]
32, // large_safe_prime_length: u8
183, 155, 62, 42, 135, 130, 60, 171, 143, 94, 191, 191, 142, 177, 1, 8, 83, 80, 
6, 41, 139, 91, 173, 189, 91, 83, 225, 137, 94, 100, 75, 137, // large_safe_prime: u8[large_safe_prime_length]
199, 9, 135, 125, 140, 101, 82, 102, 165, 125, 184, 101, 61, 110, 166, 43, 181, 
84, 242, 11, 207, 116, 214, 74, 119, 167, 211, 61, 243, 48, 144, 135, // salt: u8[32]
186, 163, 30, 153, 160, 11, 33, 87, 252, 55, 63, 179, 105, 205, 210, 241, // crc_salt: u8[16]
0, // security_flag: SecurityFlag NONE (0x0)

Protocol Version 5, Protocol Version 6, Protocol Version 7

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/challenge_server.wowm:219.

slogin CMD_AUTH_LOGON_CHALLENGE_Server = 0x00 {
    u8 protocol_version = 0;
    LoginResult result;
    if (result == SUCCESS) {
        u8[32] server_public_key;
        u8 generator_length;
        u8[generator_length] generator;
        u8 large_safe_prime_length;
        u8[large_safe_prime_length] large_safe_prime;
        u8[32] salt;
        u8[16] crc_salt;
        SecurityFlag security_flag;
        if (security_flag & PIN) {
            u32 pin_grid_seed;
            u8[16] pin_salt;
        }
        if (security_flag & MATRIX_CARD) {
            u8 width;
            u8 height;
            u8 digit_count;
            u8 challenge_count;
            u64 seed;
        }
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Examples

Example 1

0, // opcode (0)
0, // protocol_version: u8
0, // result: LoginResult SUCCESS (0x00)
58, 43, 237, 162, 169, 101, 37, 78, 69, 4, 195, 168, 246, 106, 134, 201, 81, 114, 
215, 99, 107, 54, 137, 237, 192, 63, 252, 193, 66, 165, 121, 50, // server_public_key: u8[32]
1, // generator_length: u8
7, // generator: u8[generator_length]
32, // large_safe_prime_length: u8
183, 155, 62, 42, 135, 130, 60, 171, 143, 94, 191, 191, 142, 177, 1, 8, 83, 80, 
6, 41, 139, 91, 173, 189, 91, 83, 225, 137, 94, 100, 75, 137, // large_safe_prime: u8[large_safe_prime_length]
174, 120, 124, 96, 218, 20, 21, 219, 130, 36, 67, 72, 71, 108, 63, 211, 188, 22, 
60, 89, 21, 128, 86, 5, 146, 59, 82, 46, 114, 18, 41, 82, // salt: u8[32]
70, 15, 184, 237, 114, 71, 169, 255, 31, 242, 228, 96, 253, 255, 127, 249, // crc_salt: u8[16]
3, // security_flag: SecurityFlag  PIN| MATRIX_CARD (3)
0, 0, 0, 0, // pin_grid_seed: u32
89, 29, 166, 11, 52, 253, 100, 94, 56, 108, 84, 192, 24, 182, 167, 47, // pin_salt: u8[16]
8, // width: u8
8, // height: u8
2, // digit_count: u8
1, // challenge_count: u8
194, 216, 23, 56, 5, 251, 84, 143, // seed: u64

Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/challenge_server.wowm:300.

slogin CMD_AUTH_LOGON_CHALLENGE_Server = 0x00 {
    u8 protocol_version = 0;
    LoginResult result;
    if (result == SUCCESS) {
        u8[32] server_public_key;
        u8 generator_length;
        u8[generator_length] generator;
        u8 large_safe_prime_length;
        u8[large_safe_prime_length] large_safe_prime;
        u8[32] salt;
        u8[16] crc_salt;
        SecurityFlag security_flag;
        if (security_flag & PIN) {
            u32 pin_grid_seed;
            u8[16] pin_salt;
        }
        if (security_flag & MATRIX_CARD) {
            u8 width;
            u8 height;
            u8 digit_count;
            u8 challenge_count;
            u64 seed;
        }
        if (security_flag & AUTHENTICATOR) {
            u8 required;
        }
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Examples

Example 1

0, // opcode (0)
0, // protocol_version: u8
0, // result: LoginResult SUCCESS (0x00)
73, 216, 194, 188, 104, 92, 43, 206, 74, 244, 250, 7, 10, 71, 147, 120, 88, 120, 
70, 181, 131, 212, 65, 130, 158, 36, 216, 135, 206, 218, 52, 70, // server_public_key: u8[32]
1, // generator_length: u8
7, // generator: u8[generator_length]
32, // large_safe_prime_length: u8
183, 155, 62, 42, 135, 130, 60, 171, 143, 94, 191, 191, 142, 177, 1, 8, 83, 80, 
6, 41, 139, 91, 173, 189, 91, 83, 225, 137, 94, 100, 75, 137, // large_safe_prime: u8[large_safe_prime_length]
199, 9, 135, 125, 140, 101, 82, 102, 165, 125, 184, 101, 61, 110, 166, 43, 181, 
84, 242, 11, 207, 116, 214, 74, 119, 167, 211, 61, 243, 48, 144, 135, // salt: u8[32]
186, 163, 30, 153, 160, 11, 33, 87, 252, 55, 63, 179, 105, 205, 210, 241, // crc_salt: u8[16]
0, // security_flag: SecurityFlag  NONE (0)

Example 2

0, // opcode (0)
0, // protocol_version: u8
0, // result: LoginResult SUCCESS (0x00)
73, 216, 194, 188, 104, 92, 43, 206, 74, 244, 250, 7, 10, 71, 147, 120, 88, 120, 
70, 181, 131, 212, 65, 130, 158, 36, 216, 135, 206, 218, 52, 70, // server_public_key: u8[32]
1, // generator_length: u8
7, // generator: u8[generator_length]
32, // large_safe_prime_length: u8
183, 155, 62, 42, 135, 130, 60, 171, 143, 94, 191, 191, 142, 177, 1, 8, 83, 80, 
6, 41, 139, 91, 173, 189, 91, 83, 225, 137, 94, 100, 75, 137, // large_safe_prime: u8[large_safe_prime_length]
199, 9, 135, 125, 140, 101, 82, 102, 165, 125, 184, 101, 61, 110, 166, 43, 181, 
84, 242, 11, 207, 116, 214, 74, 119, 167, 211, 61, 243, 48, 144, 135, // salt: u8[32]
186, 163, 30, 153, 160, 11, 33, 87, 252, 55, 63, 179, 105, 205, 210, 241, // crc_salt: u8[16]
1, // security_flag: SecurityFlag  PIN (1)
239, 190, 173, 222, // pin_grid_seed: u32
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // pin_salt: u8[16]

Example 3

0, // opcode (0)
0, // protocol_version: u8
0, // result: LoginResult SUCCESS (0x00)
73, 216, 194, 188, 104, 92, 43, 206, 74, 244, 250, 7, 10, 71, 147, 120, 88, 120, 
70, 181, 131, 212, 65, 130, 158, 36, 216, 135, 206, 218, 52, 70, // server_public_key: u8[32]
1, // generator_length: u8
7, // generator: u8[generator_length]
32, // large_safe_prime_length: u8
183, 155, 62, 42, 135, 130, 60, 171, 143, 94, 191, 191, 142, 177, 1, 8, 83, 80, 
6, 41, 139, 91, 173, 189, 91, 83, 225, 137, 94, 100, 75, 137, // large_safe_prime: u8[large_safe_prime_length]
199, 9, 135, 125, 140, 101, 82, 102, 165, 125, 184, 101, 61, 110, 166, 43, 181, 
84, 242, 11, 207, 116, 214, 74, 119, 167, 211, 61, 243, 48, 144, 135, // salt: u8[32]
186, 163, 30, 153, 160, 11, 33, 87, 252, 55, 63, 179, 105, 205, 210, 241, // crc_salt: u8[16]
4, // security_flag: SecurityFlag  AUTHENTICATOR (4)
1, // required: u8

Example 4

0, // opcode (0)
0, // protocol_version: u8
0, // result: LoginResult SUCCESS (0x00)
73, 216, 194, 188, 104, 92, 43, 206, 74, 244, 250, 7, 10, 71, 147, 120, 88, 120, 
70, 181, 131, 212, 65, 130, 158, 36, 216, 135, 206, 218, 52, 70, // server_public_key: u8[32]
1, // generator_length: u8
7, // generator: u8[generator_length]
32, // large_safe_prime_length: u8
183, 155, 62, 42, 135, 130, 60, 171, 143, 94, 191, 191, 142, 177, 1, 8, 83, 80, 
6, 41, 139, 91, 173, 189, 91, 83, 225, 137, 94, 100, 75, 137, // large_safe_prime: u8[large_safe_prime_length]
199, 9, 135, 125, 140, 101, 82, 102, 165, 125, 184, 101, 61, 110, 166, 43, 181, 
84, 242, 11, 207, 116, 214, 74, 119, 167, 211, 61, 243, 48, 144, 135, // salt: u8[32]
186, 163, 30, 153, 160, 11, 33, 87, 252, 55, 63, 179, 105, 205, 210, 241, // crc_salt: u8[16]
2, // security_flag: SecurityFlag  MATRIX_CARD (2)
255, // width: u8
238, // height: u8
221, // digit_count: u8
204, // challenge_count: u8
222, 202, 250, 239, 190, 173, 222, 0, // seed: u64

Example 5

0, // opcode (0)
0, // protocol_version: u8
5, // result: LoginResult FAIL_INCORRECT_PASSWORD (0x05)

Example 6

0, // opcode (0)
0, // protocol_version: u8
0, // result: LoginResult SUCCESS (0x00)
73, 216, 194, 188, 104, 92, 43, 206, 74, 244, 250, 7, 10, 71, 147, 120, 88, 120, 
70, 181, 131, 212, 65, 130, 158, 36, 216, 135, 206, 218, 52, 70, // server_public_key: u8[32]
1, // generator_length: u8
7, // generator: u8[generator_length]
32, // large_safe_prime_length: u8
183, 155, 62, 42, 135, 130, 60, 171, 143, 94, 191, 191, 142, 177, 1, 8, 83, 80, 
6, 41, 139, 91, 173, 189, 91, 83, 225, 137, 94, 100, 75, 137, // large_safe_prime: u8[large_safe_prime_length]
199, 9, 135, 125, 140, 101, 82, 102, 165, 125, 184, 101, 61, 110, 166, 43, 181, 
84, 242, 11, 207, 116, 214, 74, 119, 167, 211, 61, 243, 48, 144, 135, // salt: u8[32]
186, 163, 30, 153, 160, 11, 33, 87, 252, 55, 63, 179, 105, 205, 210, 241, // crc_salt: u8[16]
6, // security_flag: SecurityFlag  MATRIX_CARD| AUTHENTICATOR (6)
255, // width: u8
238, // height: u8
221, // digit_count: u8
204, // challenge_count: u8
222, 202, 250, 239, 190, 173, 222, 0, // seed: u64
1, // required: u8

Example 7

0, // opcode (0)
0, // protocol_version: u8
5, // result: LoginResult FAIL_INCORRECT_PASSWORD (0x05)

CMD_AUTH_LOGON_PROOF_Client

Protocol Version 2

Reply after successful CMD_AUTH_LOGON_CHALLENGE_Server.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/proof_client.wowm:13.

clogin CMD_AUTH_LOGON_PROOF_Client = 0x01 {
    u8[32] client_public_key;
    u8[20] client_proof;
    u8[20] crc_hash;
    u8 number_of_telemetry_keys;
    TelemetryKey[number_of_telemetry_keys] telemetry_keys;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0132 / -u8[32]client_public_key
0x2120 / -u8[20]client_proof
0x3520 / -u8[20]crc_hash
0x491 / -u8number_of_telemetry_keys
0x4A? / -TelemetryKey[number_of_telemetry_keys]telemetry_keys

Examples

Example 1

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
2, // number_of_telemetry_keys: u8
255, 0, // [0].TelemetryKey.unknown1: u16
239, 190, 173, 222, // [0].TelemetryKey.unknown2: u32
1, 2, 3, 4, // [0].TelemetryKey.unknown3: u8[4]
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // [0].TelemetryKey.cd_key_proof: u8[20]
254, 0, // [1].TelemetryKey.unknown1: u16
238, 190, 173, 222, // [1].TelemetryKey.unknown2: u32
0, 1, 2, 3, // [1].TelemetryKey.unknown3: u8[4]
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, // [1].TelemetryKey.cd_key_proof: u8[20]
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]

Example 2

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
1, // number_of_telemetry_keys: u8
255, 0, // [0].TelemetryKey.unknown1: u16
239, 190, 173, 222, // [0].TelemetryKey.unknown2: u32
1, 2, 3, 4, // [0].TelemetryKey.unknown3: u8[4]
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // [0].TelemetryKey.cd_key_proof: u8[20]
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]

Example 3

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
0, // number_of_telemetry_keys: u8
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]

Protocol Version 3

Reply after successful CMD_AUTH_LOGON_CHALLENGE_Server.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/proof_client.wowm:143.

clogin CMD_AUTH_LOGON_PROOF_Client = 0x01 {
    u8[32] client_public_key;
    u8[20] client_proof;
    u8[20] crc_hash;
    u8 number_of_telemetry_keys;
    TelemetryKey[number_of_telemetry_keys] telemetry_keys;
    SecurityFlag security_flag;
    if (security_flag == PIN) {
        u8[16] pin_salt;
        u8[20] pin_hash;
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0132 / -u8[32]client_public_key
0x2120 / -u8[20]client_proof
0x3520 / -u8[20]crc_hash
0x491 / -u8number_of_telemetry_keys
0x4A? / -TelemetryKey[number_of_telemetry_keys]telemetry_keys
-1 / -SecurityFlagsecurity_flag

If security_flag is equal to PIN:

OffsetSize / EndiannessTypeNameComment
-16 / -u8[16]pin_salt
-20 / -u8[20]pin_hash

Examples

Example 1

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
2, // number_of_telemetry_keys: u8
255, 0, // [0].TelemetryKey.unknown1: u16
239, 190, 173, 222, // [0].TelemetryKey.unknown2: u32
1, 2, 3, 4, // [0].TelemetryKey.unknown3: u8[4]
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // [0].TelemetryKey.cd_key_proof: u8[20]
254, 0, // [1].TelemetryKey.unknown1: u16
238, 190, 173, 222, // [1].TelemetryKey.unknown2: u32
0, 1, 2, 3, // [1].TelemetryKey.unknown3: u8[4]
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, // [1].TelemetryKey.cd_key_proof: u8[20]
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]
0, // security_flag: SecurityFlag NONE (0x0)

Example 2

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
1, // number_of_telemetry_keys: u8
255, 0, // [0].TelemetryKey.unknown1: u16
239, 190, 173, 222, // [0].TelemetryKey.unknown2: u32
1, 2, 3, 4, // [0].TelemetryKey.unknown3: u8[4]
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // [0].TelemetryKey.cd_key_proof: u8[20]
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]
0, // security_flag: SecurityFlag NONE (0x0)

Example 3

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
0, // number_of_telemetry_keys: u8
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]
0, // security_flag: SecurityFlag NONE (0x0)

Example 4

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
0, // number_of_telemetry_keys: u8
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]
1, // security_flag: SecurityFlag PIN (0x1)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // pin_salt: u8[16]
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // pin_hash: u8[20]

Protocol Version 5, Protocol Version 6, Protocol Version 7

Reply after successful CMD_AUTH_LOGON_CHALLENGE_Server.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/proof_client.wowm:319.

clogin CMD_AUTH_LOGON_PROOF_Client = 0x01 {
    u8[32] client_public_key;
    u8[20] client_proof;
    u8[20] crc_hash;
    u8 number_of_telemetry_keys;
    TelemetryKey[number_of_telemetry_keys] telemetry_keys;
    SecurityFlag security_flag;
    if (security_flag & PIN) {
        u8[16] pin_salt;
        u8[20] pin_hash;
    }
    if (security_flag & MATRIX_CARD) {
        u8[20] matrix_card_proof;
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0132 / -u8[32]client_public_key
0x2120 / -u8[20]client_proof
0x3520 / -u8[20]crc_hash
0x491 / -u8number_of_telemetry_keys
0x4A? / -TelemetryKey[number_of_telemetry_keys]telemetry_keys
-1 / -SecurityFlagsecurity_flag

If security_flag contains PIN:

OffsetSize / EndiannessTypeNameComment
-16 / -u8[16]pin_salt
-20 / -u8[20]pin_hash

If security_flag contains MATRIX_CARD:

OffsetSize / EndiannessTypeNameComment
-20 / -u8[20]matrix_card_proofClient proof of matrix input.
Implementation details at https://gist.github.com/barncastle/979c12a9c5e64d810a28ad1728e7e0f9.

Examples

Example 1

1, // opcode (1)
4, 73, 87, 221, 32, 81, 98, 245, 250, 254, 179, 103, 7, 114, 9, 81, 86, 32, 8, 8, 
32, 193, 38, 202, 200, 247, 59, 70, 251, 136, 50, 6, // client_public_key: u8[32]
130, 201, 151, 96, 66, 228, 117, 249, 124, 96, 98, 228, 84, 102, 166, 254, 220, 
233, 170, 124, // client_proof: u8[20]
254, 116, 218, 112, 136, 204, 118, 36, 196, 40, 136, 181, 239, 196, 29, 180, 107, 
197, 44, 251, // crc_hash: u8[20]
0, // number_of_telemetry_keys: u8
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]
3, // security_flag: SecurityFlag  PIN| MATRIX_CARD (3)
221, 105, 240, 247, 88, 76, 88, 240, 134, 54, 58, 26, 190, 110, 30, 77, // pin_salt: u8[16]
90, 78, 192, 86, 88, 136, 230, 41, 1, 108, 191, 61, 247, 142, 130, 147, 111, 29, 
190, 229, // pin_hash: u8[20]
105, 52, 205, 8, 130, 148, 239, 93, 15, 150, 159, 252, 23, 11, 228, 66, 8, 46, 209, 
16, // matrix_card_proof: u8[20]

Protocol Version 8

Reply after successful CMD_AUTH_LOGON_CHALLENGE_Server.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/proof_client.wowm:365.

clogin CMD_AUTH_LOGON_PROOF_Client = 0x01 {
    u8[32] client_public_key;
    u8[20] client_proof;
    u8[20] crc_hash;
    u8 number_of_telemetry_keys;
    TelemetryKey[number_of_telemetry_keys] telemetry_keys;
    SecurityFlag security_flag;
    if (security_flag & PIN) {
        u8[16] pin_salt;
        u8[20] pin_hash;
    }
    if (security_flag & MATRIX_CARD) {
        u8[20] matrix_card_proof;
    }
    if (security_flag & AUTHENTICATOR) {
        String authenticator;
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0132 / -u8[32]client_public_key
0x2120 / -u8[20]client_proof
0x3520 / -u8[20]crc_hash
0x491 / -u8number_of_telemetry_keys
0x4A? / -TelemetryKey[number_of_telemetry_keys]telemetry_keys
-1 / -SecurityFlagsecurity_flag

If security_flag contains PIN:

OffsetSize / EndiannessTypeNameComment
-16 / -u8[16]pin_salt
-20 / -u8[20]pin_hash

If security_flag contains MATRIX_CARD:

OffsetSize / EndiannessTypeNameComment
-20 / -u8[20]matrix_card_proofClient proof of matrix input.
Implementation details at https://gist.github.com/barncastle/979c12a9c5e64d810a28ad1728e7e0f9.

If security_flag contains AUTHENTICATOR:

OffsetSize / EndiannessTypeNameComment
-- / -StringauthenticatorString entered by the user in the “Authenticator” popup.
Can be empty and up to 16 characters.
Is not used by the client in any way but just sent directly, so this could in theory be used for anything.

Examples

Example 1

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
2, // number_of_telemetry_keys: u8
255, 0, // [0].TelemetryKey.unknown1: u16
239, 190, 173, 222, // [0].TelemetryKey.unknown2: u32
1, 2, 3, 4, // [0].TelemetryKey.unknown3: u8[4]
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // [0].TelemetryKey.cd_key_proof: u8[20]
254, 0, // [1].TelemetryKey.unknown1: u16
238, 190, 173, 222, // [1].TelemetryKey.unknown2: u32
0, 1, 2, 3, // [1].TelemetryKey.unknown3: u8[4]
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, // [1].TelemetryKey.cd_key_proof: u8[20]
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]
0, // security_flag: SecurityFlag  NONE (0)

Example 2

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
1, // number_of_telemetry_keys: u8
255, 0, // [0].TelemetryKey.unknown1: u16
239, 190, 173, 222, // [0].TelemetryKey.unknown2: u32
1, 2, 3, 4, // [0].TelemetryKey.unknown3: u8[4]
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // [0].TelemetryKey.cd_key_proof: u8[20]
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]
0, // security_flag: SecurityFlag  NONE (0)

Example 3

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
0, // number_of_telemetry_keys: u8
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]
0, // security_flag: SecurityFlag  NONE (0)

Example 4

1, // opcode (1)
241, 62, 229, 209, 131, 196, 200, 169, 80, 14, 63, 90, 93, 138, 238, 78, 46, 69, 
225, 247, 204, 143, 28, 245, 238, 142, 17, 206, 211, 29, 215, 8, // client_public_key: u8[32]
107, 30, 72, 27, 77, 4, 161, 24, 216, 242, 222, 92, 89, 213, 92, 129, 46, 101, 236, 
62, // client_proof: u8[20]
78, 245, 45, 225, 128, 94, 26, 103, 21, 236, 200, 65, 238, 184, 144, 138, 88, 187, 
0, 208, // crc_hash: u8[20]
0, // number_of_telemetry_keys: u8
// telemetry_keys: TelemetryKey[number_of_telemetry_keys]
1, // security_flag: SecurityFlag  PIN (1)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // pin_salt: u8[16]
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // pin_hash: u8[20]

CMD_AUTH_LOGON_PROOF_Server

Protocol Version 2, Protocol Version 3

Reply to CMD_AUTH_LOGON_PROOF_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/proof_server.wowm:2.

slogin CMD_AUTH_LOGON_PROOF_Server = 0x01 {
    LoginResult result;
    if (result == SUCCESS) {
        u8[20] server_proof;
        u32 hardware_survey_id;
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -LoginResultresult

If result is equal to SUCCESS:

OffsetSize / EndiannessTypeNameComment
0x0220 / -u8[20]server_proof
0x164 / Littleu32hardware_survey_id

Examples

Example 1

1, // opcode (1)
0, // result: LoginResult SUCCESS (0x00)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // server_proof: u8[20]
239, 190, 173, 222, // hardware_survey_id: u32

Protocol Version 5, Protocol Version 6, Protocol Version 7

Reply to CMD_AUTH_LOGON_PROOF_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/proof_server.wowm:35.

slogin CMD_AUTH_LOGON_PROOF_Server = 0x01 {
    LoginResult result;
    if (result == SUCCESS) {
        u8[20] server_proof;
        u32 hardware_survey_id;
        u16 unknown;
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -LoginResultresult

If result is equal to SUCCESS:

OffsetSize / EndiannessTypeNameComment
0x0220 / -u8[20]server_proof
0x164 / Littleu32hardware_survey_id
0x1A2 / Littleu16unknown

Examples

Example 1

1, // opcode (1)
0, // result: LoginResult SUCCESS (0x00)
25, 255, 233, 250, 100, 169, 155, 175, 246, 179, 141, 156, 17, 171, 220, 174, 128, 
196, 210, 231, // server_proof: u8[20]
0, 0, 0, 0, // hardware_survey_id: u32
0, 0, // unknown: u16

Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/proof_server.wowm:61.

slogin CMD_AUTH_LOGON_PROOF_Server = 0x01 {
    LoginResult result;
    if (result == SUCCESS) {
        u8[20] server_proof;
        AccountFlag account_flag;
        u32 hardware_survey_id;
        u16 unknown;
    }
    else {
        u16 padding = 0;
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -LoginResultresult

If result is equal to SUCCESS:

OffsetSize / EndiannessTypeNameComment
0x0220 / -u8[20]server_proof
0x164 / -AccountFlagaccount_flag
0x1A4 / Littleu32hardware_survey_id
0x1E2 / Littleu16unknown

Else: | 0x20 | 2 / Little | u16 | padding | |

Examples

Example 1

Comment

Reply to CMD_AUTH_LOGON_PROOF_Client.

1, // opcode (1)
7, // result: LoginResult FAIL_NO_TIME (0x07)
0, 0, // padding: u16

Example 2

1, // opcode (1)
8, // result: LoginResult FAIL_DB_BUSY (0x08)
0, 0, // padding: u16

CMD_AUTH_RECONNECT_CHALLENGE_Client

Protocol Version *

First message sent by the client when attempting to reconnect. The server will respond with CMD_AUTH_RECONNECT_CHALLENGE_Server.

Has the exact same layout as CMD_AUTH_LOGON_CHALLENGE_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_reconnect/challenge_client.wowm:5.

clogin CMD_AUTH_RECONNECT_CHALLENGE_Client = 0x02 {
    ProtocolVersion protocol_version;
    u16 size = self.size;
    u32 game_name = "\0WoW";
    Version version;
    Platform platform;
    Os os;
    Locale locale;
    i32 utc_timezone_offset;
    IpAddress client_ip_address;
    String account_name;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -ProtocolVersionprotocol_versionDetermines which version of messages are used for further communication.
0x022 / Littleu16size
0x044 / Littleu32game_name
0x085 / -Versionversion
0x0D4 / -Platformplatform
0x114 / -Osos
0x154 / -Localelocale
0x194 / Littlei32utc_timezone_offsetOffset in minutes from UTC time. 180 would be UTC+3
0x1D4 / BigIpAddressclient_ip_address
0x21- / -Stringaccount_nameReal clients can send a maximum of 16 UTF-8 characters. This is not necessarily 16 bytes since one character can be more than one byte.
Real clients will send a fully uppercased username, and will perform authentication calculations on the uppercased version.
Uppercasing in regards to non-ASCII values is little weird. See https://docs.rs/wow_srp/latest/wow_srp/normalized_string/index.html for more info.

Examples

Example 1

2, // opcode (2)
2, // protocol_version: ProtocolVersion TWO (2)
31, 0, // size: u16
87, 111, 87, 0, // game_name: u32
1, // Version.major: u8
12, // Version.minor: u8
1, // Version.patch: u8
243, 22, // Version.build: u16
54, 56, 120, 0, // platform: Platform X86 ("\0x86")
110, 105, 87, 0, // os: Os WINDOWS ("\0Win")
66, 71, 110, 101, // locale: Locale EN_GB ("enGB")
60, 0, 0, 0, // utc_timezone_offset: i32
127, 0, 0, 1, // client_ip_address: IpAddress
1, // string length
65, // account_name: String

Example 2

2, // opcode (2)
2, // protocol_version: ProtocolVersion TWO (2)
46, 0, // size: u16
87, 111, 87, 0, // game_name: u32
1, // Version.major: u8
12, // Version.minor: u8
1, // Version.patch: u8
243, 22, // Version.build: u16
54, 56, 120, 0, // platform: Platform X86 ("\0x86")
110, 105, 87, 0, // os: Os WINDOWS ("\0Win")
66, 71, 110, 101, // locale: Locale EN_GB ("enGB")
60, 0, 0, 0, // utc_timezone_offset: i32
127, 0, 0, 1, // client_ip_address: IpAddress
16, // string length
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, // account_name: String

CMD_AUTH_RECONNECT_CHALLENGE_Server

Protocol Version 2, Protocol Version 5, Protocol Version 6, Protocol Version 7

Reply to CMD_AUTH_RECONNECT_CHALLENGE_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_reconnect/challenge_server.wowm:2.

slogin CMD_AUTH_RECONNECT_CHALLENGE_Server = 0x02 {
    LoginResult result;
    if (result == SUCCESS) {
        u8[16] challenge_data;
        u8[16] checksum_salt;
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -LoginResultresult

If result is equal to SUCCESS:

OffsetSize / EndiannessTypeNameComment
0x0216 / -u8[16]challenge_data
0x1216 / -u8[16]checksum_salt

Examples

Example 1

2, // opcode (2)
0, // result: LoginResult SUCCESS (0x00)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // challenge_data: u8[16]
255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, // checksum_salt: u8[16]

Example 2

2, // opcode (2)
3, // result: LoginResult FAIL_BANNED (0x03)

Protocol Version 8

Reply to CMD_AUTH_RECONNECT_CHALLENGE_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_reconnect/challenge_server.wowm:35.

slogin CMD_AUTH_RECONNECT_CHALLENGE_Server = 0x02 {
    LoginResult result;
    if (result == SUCCESS) {
        u8[16] challenge_data;
        u8[16] checksum_salt;
    }
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -LoginResultresult

If result is equal to SUCCESS:

OffsetSize / EndiannessTypeNameComment
0x0216 / -u8[16]challenge_data
0x1216 / -u8[16]checksum_salt

Examples

Example 1

2, // opcode (2)
0, // result: LoginResult SUCCESS (0x00)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // challenge_data: u8[16]
255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, // checksum_salt: u8[16]

Example 2

2, // opcode (2)
3, // result: LoginResult FAIL_BANNED (0x03)

CMD_AUTH_RECONNECT_PROOF_Client

Protocol Version 2, Protocol Version 5, Protocol Version 6, Protocol Version 7, Protocol Version 8

Reply to CMD_AUTH_RECONNECT_CHALLENGE_Server.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_reconnect/proof_client.wowm:4.

clogin CMD_AUTH_RECONNECT_PROOF_Client = 0x03 {
    u8[16] proof_data;
    u8[20] client_proof;
    u8[20] client_checksum;
    u8 key_count = 0;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0116 / -u8[16]proof_data
0x1120 / -u8[20]client_proof
0x2520 / -u8[20]client_checksum
0x391 / -u8key_count

Examples

Example 1

3, // opcode (3)
234, 250, 185, 198, 24, 21, 11, 242, 249, 50, 206, 39, 98, 121, 150, 153, // proof_data: u8[16]
107, 109, 26, 13, 243, 165, 158, 106, 56, 2, 231, 11, 225, 47, 5, 113, 186, 71, 
140, 163, // client_proof: u8[20]
40, 167, 158, 154, 36, 40, 230, 130, 237, 236, 199, 201, 232, 110, 241, 59, 123, 
225, 224, 245, // client_checksum: u8[20]
0, // key_count: u8

CMD_AUTH_RECONNECT_PROOF_Server

Protocol Version 2

Reply to CMD_AUTH_RECONNECT_PROOF_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_reconnect/proof_server.wowm:2.

slogin CMD_AUTH_RECONNECT_PROOF_Server = 0x03 {
    LoginResult result;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -LoginResultresult

Examples

Example 1

3, // opcode (3)
0, // result: LoginResult SUCCESS (0x00)

Example 2

3, // opcode (3)
14, // result: LoginResult SUCCESS_SURVEY (0x0E)

Example 3

3, // opcode (3)
14, // result: LoginResult SUCCESS_SURVEY (0x0E)

Protocol Version 5, Protocol Version 6, Protocol Version 7

Reply to CMD_AUTH_RECONNECT_PROOF_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_reconnect/proof_server.wowm:27.

slogin CMD_AUTH_RECONNECT_PROOF_Server = 0x03 {
    LoginResult result;
    u16 padding = 0;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -LoginResultresult
0x022 / Littleu16padding

Examples

Example 1

3, // opcode (3)
0, // result: LoginResult SUCCESS (0x00)
0, 0, // padding: u16

Protocol Version 8

Reply to CMD_AUTH_RECONNECT_PROOF_Client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_reconnect/proof_server.wowm:45.

slogin CMD_AUTH_RECONNECT_PROOF_Server = 0x03 {
    LoginResult result;
    u16 padding = 0;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x011 / -LoginResultresult
0x022 / Littleu16padding

Examples

Example 1

3, // opcode (3)
0, // result: LoginResult SUCCESS (0x00)
0, 0, // padding: u16

Example 2

3, // opcode (3)
16, // result: LoginResult FAIL_LOCKED_ENFORCED (0x10)
0, 0, // padding: u16

CMD_REALM_LIST_Client

Protocol Version 2, Protocol Version 3, Protocol Version 5, Protocol Version 6, Protocol Version 7, Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_realm/client.wowm:3.

clogin CMD_REALM_LIST_Client = 0x10 {
    u32 padding = 0;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x014 / Littleu32padding

Examples

Example 1

16, // opcode (16)
0, 0, 0, 0, // padding: u32

CMD_REALM_LIST_Server

Protocol Version 2, Protocol Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_realm/server.wowm:57.

slogin CMD_REALM_LIST_Server = 0x10 {
    u16 size = self.size;
    u32 header_padding = 0;
    u8 number_of_realms;
    Realm[number_of_realms] realms;
    u16 footer_padding = 0;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x012 / Littleu16size
0x034 / Littleu32header_padding
0x071 / -u8number_of_realms
0x08? / -Realm[number_of_realms]realms
-2 / Littleu16footer_padding

Examples

Example 1

16, // opcode (16)
23, 0, // size: u16
0, 0, 0, 0, // header_padding: u32
1, // number_of_realms: u8
0, 0, 0, 0, // [0].Realm.realm_type: RealmType PLAYER_VS_ENVIRONMENT (0)
0, // [0].Realm.flag: RealmFlag  NONE (0)
65, 0, // [0].Realm.name: CString
65, 0, // [0].Realm.address: CString
0, 0, 200, 67, // [0].Realm.population: Population
1, // [0].Realm.number_of_characters_on_realm: u8
0, // [0].Realm.category: RealmCategory DEFAULT (0x0)
2, // [0].Realm.realm_id: u8
// realms: Realm[number_of_realms]
0, 0, // footer_padding: u16

Example 2

16, // opcode (16)
23, 0, // size: u16
0, 0, 0, 0, // header_padding: u32
1, // number_of_realms: u8
0, 0, 0, 0, // [0].Realm.realm_type: RealmType PLAYER_VS_ENVIRONMENT (0)
3, // [0].Realm.flag: RealmFlag  INVALID| OFFLINE (3)
65, 0, // [0].Realm.name: CString
65, 0, // [0].Realm.address: CString
0, 0, 200, 67, // [0].Realm.population: Population
1, // [0].Realm.number_of_characters_on_realm: u8
0, // [0].Realm.category: RealmCategory DEFAULT (0x0)
2, // [0].Realm.realm_id: u8
// realms: Realm[number_of_realms]
0, 0, // footer_padding: u16

Protocol Version 5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_realm/server.wowm:81.

slogin CMD_REALM_LIST_Server = 0x10 {
    u16 size = self.size;
    u32 header_padding = 0;
    u8 number_of_realms;
    Realm[number_of_realms] realms;
    u16 footer_padding = 0;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x012 / Littleu16size
0x034 / Littleu32header_padding
0x071 / -u8number_of_realms
0x08? / -Realm[number_of_realms]realms
-2 / Littleu16footer_padding

Examples

Example 1

16, // opcode (16)
80, 0, // size: u16
0, 0, 0, 0, // header_padding: u32
2, // number_of_realms: u8
0, // [0].Realm.realm_type: RealmType PLAYER_VS_ENVIRONMENT (0)
0, // [0].Realm.locked: Bool
0, // [0].Realm.flag: RealmFlag  NONE (0)
84, 101, 115, 116, 32, 82, 101, 97, 108, 109, 50, 0, // [0].Realm.name: CString
108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 56, 48, 56, 53, 0, // [0].Realm.address: CString
0, 0, 72, 67, // [0].Realm.population: Population
3, // [0].Realm.number_of_characters_on_realm: u8
1, // [0].Realm.category: RealmCategory ONE (0x1)
1, // [0].Realm.realm_id: u8
0, // [1].Realm.realm_type: RealmType PLAYER_VS_ENVIRONMENT (0)
0, // [1].Realm.locked: Bool
0, // [1].Realm.flag: RealmFlag  NONE (0)
84, 101, 115, 116, 32, 82, 101, 97, 108, 109, 0, // [1].Realm.name: CString
108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 56, 48, 56, 53, 0, // [1].Realm.address: CString
0, 0, 72, 67, // [1].Realm.population: Population
3, // [1].Realm.number_of_characters_on_realm: u8
2, // [1].Realm.category: RealmCategory TWO (0x2)
0, // [1].Realm.realm_id: u8
// realms: Realm[number_of_realms]
0, 0, // footer_padding: u16

Protocol Version 6, Protocol Version 7

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_realm/server.wowm:151.

slogin CMD_REALM_LIST_Server = 0x10 {
    u16 size = self.size;
    u32 header_padding = 0;
    u16 number_of_realms;
    Realm[number_of_realms] realms;
    u16 footer_padding = 0;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x012 / Littleu16size
0x034 / Littleu32header_padding
0x072 / Littleu16number_of_realms
0x09? / -Realm[number_of_realms]realms
-2 / Littleu16footer_padding

Examples

Example 1

16, // opcode (16)
81, 0, // size: u16
0, 0, 0, 0, // header_padding: u32
2, 0, // number_of_realms: u16
0, // [0].Realm.realm_type: RealmType PLAYER_VS_ENVIRONMENT (0)
0, // [0].Realm.locked: Bool
0, // [0].Realm.flag: RealmFlag  NONE (0)
84, 101, 115, 116, 32, 82, 101, 97, 108, 109, 50, 0, // [0].Realm.name: CString
108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 56, 48, 56, 53, 0, // [0].Realm.address: CString
0, 0, 72, 67, // [0].Realm.population: Population
3, // [0].Realm.number_of_characters_on_realm: u8
1, // [0].Realm.category: RealmCategory ONE (0x1)
1, // [0].Realm.realm_id: u8
0, // [1].Realm.realm_type: RealmType PLAYER_VS_ENVIRONMENT (0)
0, // [1].Realm.locked: Bool
0, // [1].Realm.flag: RealmFlag  NONE (0)
84, 101, 115, 116, 32, 82, 101, 97, 108, 109, 0, // [1].Realm.name: CString
108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 56, 48, 56, 53, 0, // [1].Realm.address: CString
0, 0, 72, 67, // [1].Realm.population: Population
3, // [1].Realm.number_of_characters_on_realm: u8
2, // [1].Realm.category: RealmCategory TWO (0x2)
0, // [1].Realm.realm_id: u8
// realms: Realm[number_of_realms]
0, 0, // footer_padding: u16

Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_realm/server.wowm:301.

slogin CMD_REALM_LIST_Server = 0x10 {
    u16 size = self.size;
    u32 header_padding = 0;
    u16 number_of_realms;
    Realm[number_of_realms] realms;
    u16 footer_padding = 0;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x012 / Littleu16size
0x034 / Littleu32header_padding
0x072 / Littleu16number_of_realms
0x09? / -Realm[number_of_realms]realms
-2 / Littleu16footer_padding

Examples

Example 1

16, // opcode (16)
22, 0, // size: u16
0, 0, 0, 0, // header_padding: u32
1, 0, // number_of_realms: u16
0, // [0].Realm.realm_type: RealmType PLAYER_VS_ENVIRONMENT (0)
0, // [0].Realm.locked: Bool
3, // [0].Realm.flag: RealmFlag  INVALID| OFFLINE (3)
65, 0, // [0].Realm.name: CString
65, 0, // [0].Realm.address: CString
0, 0, 200, 67, // [0].Realm.population: Population
1, // [0].Realm.number_of_characters_on_realm: u8
0, // [0].Realm.category: RealmCategory DEFAULT (0x0)
2, // [0].Realm.realm_id: u8
// realms: Realm[number_of_realms]
0, 0, // footer_padding: u16

Example 2

16, // opcode (16)
27, 0, // size: u16
0, 0, 0, 0, // header_padding: u32
1, 0, // number_of_realms: u16
0, // [0].Realm.realm_type: RealmType PLAYER_VS_ENVIRONMENT (0)
0, // [0].Realm.locked: Bool
4, // [0].Realm.flag: RealmFlag  SPECIFY_BUILD (4)
65, 0, // [0].Realm.name: CString
65, 0, // [0].Realm.address: CString
0, 0, 200, 67, // [0].Realm.population: Population
1, // [0].Realm.number_of_characters_on_realm: u8
0, // [0].Realm.category: RealmCategory DEFAULT (0x0)
2, // [0].Realm.realm_id: u8
1, // Version.major: u8
12, // Version.minor: u8
1, // Version.patch: u8
243, 22, // Version.build: u16
// realms: Realm[number_of_realms]
0, 0, // footer_padding: u16

CMD_SURVEY_RESULT

Protocol Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/survey_result.wowm:3.

clogin CMD_SURVEY_RESULT = 0x04 {
    u32 survey_id;
    u8 error;
    u16 compressed_data_length;
    u8[compressed_data_length] data;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x014 / Littleu32survey_id
0x051 / -u8error
0x062 / Littleu16compressed_data_length
0x08? / -u8[compressed_data_length]data

Examples

Example 1

4, // opcode (4)
222, 250, 0, 0, // survey_id: u32
0, // error: u8
1, 0, // compressed_data_length: u16
255, // data: u8[compressed_data_length]

CMD_XFER_ACCEPT

Protocol Version 2, Protocol Version 3, Protocol Version 5, Protocol Version 6, Protocol Version 7, Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_xfer.wowm:42.

clogin CMD_XFER_ACCEPT = 0x32 {
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

Comment

Client does not already have part of a file with the MD5 sent in CMD_XFER_INITIATE and it wants to download the entire file.

50, // opcode (50)

CMD_XFER_CANCEL

Protocol Version 2, Protocol Version 3, Protocol Version 5, Protocol Version 6, Protocol Version 7, Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_xfer.wowm:69.

clogin CMD_XFER_CANCEL = 0x34 {
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

Comment

Client clicking ‘cancel’ in the updating menu.

52, // opcode (52)

CMD_XFER_DATA

Protocol Version 2, Protocol Version 3, Protocol Version 5, Protocol Version 6, Protocol Version 7, Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_xfer.wowm:23.

slogin CMD_XFER_DATA = 0x31 {
    u16 size;
    u8[size] data;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x012 / Littleu16size
0x03? / -u8[size]data

Examples

Example 1

Comment

Sending first bytes of 1.12.1 to 1.12.2 update patch.

49, // opcode (49)
64, 0, // size: u16
77, 80, 81, 26, 44, 0, 0, 0, 60, 224, 38, 0, 1, 0, 3, 0, 252, 217, 38, 0, 252, 221, 
38, 0, 64, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 120, 218, 
236, 125, 123, 124, 84, 197, 245, 248, 110, 246, 134, 92, 116, 37, 11, 174, 184, // data: u8[size]

CMD_XFER_INITIATE

Protocol Version 2, Protocol Version 3, Protocol Version 5, Protocol Version 6, Protocol Version 7, Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_xfer.wowm:1.

slogin CMD_XFER_INITIATE = 0x30 {
    String filename;
    u64 file_size;
    u8[16] file_md5;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x01- / -Stringfilename
-8 / Littleu64file_size
-16 / -u8[16]file_md5

Examples

Example 1

Comment

Sending 1.12.1 to 1.12.2 update patch. filename must be ‘Patch’ otherwise client will ignore the message.

48, // opcode (48)
5, // string length
80, 97, 116, 99, 104, // filename: String
188, 9, 0, 0, 0, 0, 0, 0, // file_size: u64
17, 91, 85, 89, 127, 183, 223, 14, 134, 217, 179, 174, 90, 235, 203, 98, // file_md5: u8[16]

CMD_XFER_RESUME

Protocol Version 2, Protocol Version 3, Protocol Version 5, Protocol Version 6, Protocol Version 7, Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_xfer.wowm:53.

clogin CMD_XFER_RESUME = 0x33 {
    u64 offset;
}

Header

Login messages have a header of 1 byte with an opcode. Some messages also have a size field but this is not considered part of the header.

Login Header

OffsetSize / EndiannessTypeNameDescription
0x001 / -uint8opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x018 / Littleu64offset

Examples

Example 1

Comment

Client already has first 64 bytes of file with MD5 sent in CMD_XFER_INITIATE and wants to resume download from there.

51, // opcode (51)
64, 0, 0, 0, 0, 0, 0, 0, // offset: u64

Realm

Protocol Version 2, Protocol Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_realm/server.wowm:44.

struct Realm {
    (u32)RealmType realm_type;
    RealmFlag flag;
    CString name;
    CString address;
    Population population;
    u8 number_of_characters_on_realm;
    RealmCategory category;
    u8 realm_id;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -RealmTyperealm_type
0x041 / -RealmFlagflag
0x05- / -CStringname
-- / -CStringaddress
-4 / LittlePopulationpopulation
-1 / -u8number_of_characters_on_realm
-1 / -RealmCategorycategory
-1 / -u8realm_id

Used in:

Protocol Version 5, Protocol Version 6, Protocol Version 7

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_realm/server.wowm:67.

struct Realm {
    RealmType realm_type;
    Bool locked;
    RealmFlag flag;
    CString name;
    CString address;
    Population population;
    u8 number_of_characters_on_realm;
    RealmCategory category;
    u8 realm_id;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -RealmTyperealm_type
0x011 / -Boollocked
0x021 / -RealmFlagflag
0x03- / -CStringname
-- / -CStringaddress
-4 / LittlePopulationpopulation
-1 / -u8number_of_characters_on_realm
-1 / -RealmCategorycategory
-1 / -u8realm_id

Used in:

Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_realm/server.wowm:283.

struct Realm {
    RealmType realm_type;
    Bool locked;
    RealmFlag flag;
    CString name;
    CString address;
    Population population;
    u8 number_of_characters_on_realm;
    RealmCategory category;
    u8 realm_id;
    if (flag & SPECIFY_BUILD) {
        Version version;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -RealmTyperealm_typevmangos: this is the second column in Cfg_Configs.dbc
0x011 / -Boollocked
0x021 / -RealmFlagflag
0x03- / -CStringname
-- / -CStringaddress
-4 / LittlePopulationpopulation
-1 / -u8number_of_characters_on_realm
-1 / -RealmCategorycategory
-1 / -u8realm_id

If flag contains SPECIFY_BUILD:

OffsetSize / EndiannessTypeNameComment
-5 / -Versionversion

Used in:

TelemetryKey

Protocol Version 2, Protocol Version 3, Protocol Version 5, Protocol Version 6, Protocol Version 7, Protocol Version 8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/cmd_auth_logon/proof_client.wowm:2.

struct TelemetryKey {
    u16 unknown1;
    u32 unknown2;
    u8[4] unknown3;
    u8[20] cd_key_proof;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / Littleu16unknown1
0x024 / Littleu32unknown2
0x064 / -u8[4]unknown3
0x0A20 / -u8[20]cd_key_proofSHA1 hash of the session key, server public key, and an unknown 20 byte value.

Used in:

Version

Protocol Version *

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/login/challenge_client_commons.wowm:30.

struct Version {
    u8 major;
    u8 minor;
    u8 patch;
    u16 build;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8major
0x011 / -u8minor
0x021 / -u8patch
0x032 / Littleu16build

Used in:

AchievementDone

Client Version 3.3.5

Used in the AchievementDoneArray built-in type.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/achievement/smsg_respond_inspect_achievements.wowm:17.

struct AchievementDone {
    u32 achievement;
    DateTime time;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32achievement
0x044 / LittleDateTimetime

Used in:

AchievementInProgress

Client Version 3.3.5

Used in the AchievementInProgressArray built-in type.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/achievement/smsg_respond_inspect_achievements.wowm:25.

struct AchievementInProgress {
    u32 achievement;
    PackedGuid counter;
    PackedGuid player;
    Bool32 timed_criteria_failed;
    DateTime progress_date;
    u32 time_since_progress;
    u32 time_since_progress2;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32achievement
0x04- / -PackedGuidcounter
-- / -PackedGuidplayer
-4 / LittleBool32timed_criteria_failed
-4 / LittleDateTimeprogress_date
-4 / Littleu32time_since_progress
-4 / Littleu32time_since_progress2

Used in:

ActionButton

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_action_buttons.wowm:13.

struct ActionButton {
    u16 action;
    u8 action_type;
    u8 misc;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / Littleu16action
0x021 / -u8action_type
0x031 / -u8misc

Used in:

AddonInfo

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_auth_session.wowm:1.

struct AddonInfo {
    CString addon_name;
    u8 addon_has_signature;
    u32 addon_crc;
    u32 addon_extra_crc;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -CStringaddon_name
-1 / -u8addon_has_signature
-4 / Littleu32addon_crc
-4 / Littleu32addon_extra_crc

Used in:

Addon

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_addon_info.wowm:40.

struct Addon {
    AddonType addon_type;
    InfoBlock info_block;
    if (info_block == AVAILABLE) {
        KeyVersion key_version;
        if (key_version != ZERO) {
            u8[256] public_key;
        }
        u32 update_available_flag;
    }
    UrlInfo url_info;
    if (url_info == AVAILABLE) {
        CString url;
    }
}

Used in:

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_addon_info.wowm:64.

struct Addon {
    u8 addon_type;
    u8 uses_crc;
    Bool uses_diffent_public_key;
    u32 unknown1;
    u8 unknown2;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8addon_typeOther emus hardcode this to 2. More research is required
0x011 / -u8uses_crcOther emus hardcode this to 1.
0x021 / -Booluses_diffent_public_key
0x034 / Littleu32unknown1Other emus hardcode this to 0
0x071 / -u8unknown2Other emus hardcode this to 0

Used in:

ArenaTeamMember

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_team_roster.wowm:17.

struct ArenaTeamMember {
    Guid guid;
    Bool online;
    CString name;
    Level level;
    Class class;
    u32 games_played_this_week;
    u32 wins_this_week;
    u32 games_played_this_season;
    u32 wins_this_season;
    u32 personal_rating;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x081 / -Boolonline
0x09- / -CStringname
-1 / -Levellevel
-1 / -Classclass
-4 / Littleu32games_played_this_week
-4 / Littleu32wins_this_week
-4 / Littleu32games_played_this_season
-4 / Littleu32wins_this_season
-4 / Littleu32personal_rating

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_team_roster.wowm:17.

struct ArenaTeamMember {
    Guid guid;
    Bool online;
    CString name;
    Level level;
    Class class;
    u32 games_played_this_week;
    u32 wins_this_week;
    u32 games_played_this_season;
    u32 wins_this_season;
    u32 personal_rating;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x081 / -Boolonline
0x09- / -CStringname
-1 / -Levellevel
-1 / -Classclass
-4 / Littleu32games_played_this_week
-4 / Littleu32wins_this_week
-4 / Littleu32games_played_this_season
-4 / Littleu32wins_this_season
-4 / Littleu32personal_rating

Used in:

AuctionEnchantment

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/auction_common.wowm:20.

struct AuctionEnchantment {
    u32 enchant_id;
    u32 enchant_duration;
    u32 enchant_charges;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32enchant_id
0x044 / Littleu32enchant_duration
0x084 / Littleu32enchant_charges

Used in:

AuctionListItem

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/auction_common.wowm:1.

struct AuctionListItem {
    u32 id;
    Item item;
    u32 item_enchantment;
    u32 item_random_property_id;
    u32 item_suffix_factor;
    u32 item_count;
    u32 item_charges;
    Guid item_owner;
    u32 start_bid;
    u32 minimum_bid;
    u32 buyout_amount;
    Milliseconds time_left;
    Guid highest_bidder;
    u32 highest_bid;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32id
0x044 / LittleItemitem
0x084 / Littleu32item_enchantment
0x0C4 / Littleu32item_random_property_id
0x104 / Littleu32item_suffix_factor
0x144 / Littleu32item_count
0x184 / Littleu32item_charges
0x1C8 / LittleGuiditem_owner
0x244 / Littleu32start_bid
0x284 / Littleu32minimum_bid
0x2C4 / Littleu32buyout_amount
0x304 / LittleMillisecondstime_left
0x348 / LittleGuidhighest_bidder
0x3C4 / Littleu32highest_bid

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/auction_common.wowm:28.

struct AuctionListItem {
    u32 id;
    Item item;
    AuctionEnchantment[6] enchantments;
    u32 item_random_property_id;
    u32 item_suffix_factor;
    u32 item_count;
    u32 item_charges;
    u32 item_flags;
    Guid item_owner;
    u32 start_bid;
    u32 minimum_bid;
    u32 buyout_amount;
    Milliseconds time_left;
    Guid highest_bidder;
    u32 highest_bid;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32id
0x044 / LittleItemitem
0x0872 / -AuctionEnchantment[6]enchantments
0x504 / Littleu32item_random_property_id
0x544 / Littleu32item_suffix_factor
0x584 / Littleu32item_count
0x5C4 / Littleu32item_charges
0x604 / Littleu32item_flagsmangosone: item flags (dynamic?) (0x04 no lockId?)
0x648 / LittleGuiditem_owner
0x6C4 / Littleu32start_bid
0x704 / Littleu32minimum_bid
0x744 / Littleu32buyout_amount
0x784 / LittleMillisecondstime_left
0x7C8 / LittleGuidhighest_bidder
0x844 / Littleu32highest_bid

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/auction_common.wowm:49.

struct AuctionListItem {
    u32 id;
    Item item;
    AuctionEnchantment[7] enchantments;
    u32 item_random_property_id;
    u32 item_suffix_factor;
    u32 item_count;
    u32 item_charges;
    u32 item_flags;
    Guid item_owner;
    u32 start_bid;
    u32 minimum_bid;
    u32 buyout_amount;
    Milliseconds time_left;
    Guid highest_bidder;
    u32 highest_bid;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32id
0x044 / LittleItemitem
0x0884 / -AuctionEnchantment[7]enchantments
0x5C4 / Littleu32item_random_property_id
0x604 / Littleu32item_suffix_factor
0x644 / Littleu32item_count
0x684 / Littleu32item_charges
0x6C4 / Littleu32item_flagsmangosone: item flags (dynamic?) (0x04 no lockId?)
0x708 / LittleGuiditem_owner
0x784 / Littleu32start_bid
0x7C4 / Littleu32minimum_bid
0x804 / Littleu32buyout_amount
0x844 / LittleMillisecondstime_left
0x888 / LittleGuidhighest_bidder
0x904 / Littleu32highest_bid

Used in:

AuctionSort

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_list_items.wowm:16.

struct AuctionSort {
    u8 column;
    u8 reversed;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8column
0x011 / -u8reversed

Used in:

AuraLog

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_periodicauralog.wowm:242.

struct AuraLog {
    AuraType aura_type;
    if (aura_type == PERIODIC_DAMAGE
        || aura_type == PERIODIC_DAMAGE_PERCENT) {
        u32 damage1;
        SpellSchool school;
        u32 absorbed;
        u32 resisted;
    }
    else if (aura_type == PERIODIC_HEAL
        || aura_type == OBS_MOD_HEALTH) {
        u32 damage2;
    }
    else if (aura_type == OBS_MOD_MANA
        || aura_type == PERIODIC_ENERGIZE) {
        u32 misc_value1;
        u32 damage3;
    }
    else if (aura_type == PERIODIC_MANA_LEECH) {
        u32 misc_value2;
        u32 damage;
        f32 gain_multiplier;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -AuraTypeaura_type

If aura_type is equal to PERIODIC_DAMAGE or is equal to PERIODIC_DAMAGE_PERCENT:

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32damage1
0x081 / -SpellSchoolschool
0x094 / Littleu32absorbed
0x0D4 / Littleu32resistedvmangos: Sent as int32

Else If aura_type is equal to PERIODIC_HEAL or is equal to OBS_MOD_HEALTH:

OffsetSize / EndiannessTypeNameComment
0x114 / Littleu32damage2

Else If aura_type is equal to OBS_MOD_MANA or is equal to PERIODIC_ENERGIZE:

OffsetSize / EndiannessTypeNameComment
0x154 / Littleu32misc_value1vmangos: A miscvalue that is dependent on what the aura will do, this is usually decided by the AuraType, ie: with AuraType::SPELL_AURA_MOD_BASE_RESISTANCE_PCT this value could be SpellSchoolMask::SPELL_SCHOOL_MASK_NORMAL which would tell the aura that it should change armor. If Modifier::m_auraname would have been AuraType::SPELL_AURA_MOUNTED then m_miscvalue would have decided which model the mount should have
0x194 / Littleu32damage3

Else If aura_type is equal to PERIODIC_MANA_LEECH:

OffsetSize / EndiannessTypeNameComment
0x1D4 / Littleu32misc_value2vmangos: A miscvalue that is dependent on what the aura will do, this is usually decided by the AuraType, ie: with AuraType::SPELL_AURA_MOD_BASE_RESISTANCE_PCT this value could be SpellSchoolMask::SPELL_SCHOOL_MASK_NORMAL which would tell the aura that it should change armor. If Modifier::m_auraname would have been AuraType::SPELL_AURA_MOUNTED then m_miscvalue would have decided which model the mount should have
0x214 / Littleu32damage
0x254 / Littlef32gain_multiplier

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_periodicauralog.wowm:579.

struct AuraLog {
    AuraType aura_type;
    if (aura_type == PERIODIC_DAMAGE
        || aura_type == PERIODIC_DAMAGE_PERCENT) {
        u32 damage1;
        SpellSchool school;
        u32 absorbed;
        u32 resisted;
    }
    else if (aura_type == PERIODIC_HEAL
        || aura_type == OBS_MOD_HEALTH) {
        u32 damage2;
    }
    else if (aura_type == OBS_MOD_MANA
        || aura_type == PERIODIC_ENERGIZE) {
        u32 misc_value1;
        u32 damage3;
    }
    else if (aura_type == PERIODIC_MANA_LEECH) {
        u32 misc_value2;
        u32 damage;
        f32 gain_multiplier;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -AuraTypeaura_type

If aura_type is equal to PERIODIC_DAMAGE or is equal to PERIODIC_DAMAGE_PERCENT:

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32damage1
0x081 / -SpellSchoolschool
0x094 / Littleu32absorbed
0x0D4 / Littleu32resistedvmangos: Sent as int32

Else If aura_type is equal to PERIODIC_HEAL or is equal to OBS_MOD_HEALTH:

OffsetSize / EndiannessTypeNameComment
0x114 / Littleu32damage2

Else If aura_type is equal to OBS_MOD_MANA or is equal to PERIODIC_ENERGIZE:

OffsetSize / EndiannessTypeNameComment
0x154 / Littleu32misc_value1vmangos: A miscvalue that is dependent on what the aura will do, this is usually decided by the AuraType, ie: with AuraType::SPELL_AURA_MOD_BASE_RESISTANCE_PCT this value could be SpellSchoolMask::SPELL_SCHOOL_MASK_NORMAL which would tell the aura that it should change armor. If Modifier::m_auraname would have been AuraType::SPELL_AURA_MOUNTED then m_miscvalue would have decided which model the mount should have
0x194 / Littleu32damage3

Else If aura_type is equal to PERIODIC_MANA_LEECH:

OffsetSize / EndiannessTypeNameComment
0x1D4 / Littleu32misc_value2vmangos: A miscvalue that is dependent on what the aura will do, this is usually decided by the AuraType, ie: with AuraType::SPELL_AURA_MOD_BASE_RESISTANCE_PCT this value could be SpellSchoolMask::SPELL_SCHOOL_MASK_NORMAL which would tell the aura that it should change armor. If Modifier::m_auraname would have been AuraType::SPELL_AURA_MOUNTED then m_miscvalue would have decided which model the mount should have
0x214 / Littleu32damage
0x254 / Littlef32gain_multiplier

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_periodicauralog.wowm:956.

struct AuraLog {
    AuraType aura_type;
    if (aura_type == PERIODIC_DAMAGE
        || aura_type == PERIODIC_DAMAGE_PERCENT) {
        u32 damage1;
        u32 overkill_damage;
        SpellSchool school;
        u32 absorb1;
        u32 resisted;
        Bool critical1;
    }
    else if (aura_type == PERIODIC_HEAL
        || aura_type == OBS_MOD_HEALTH) {
        u32 damage2;
        u32 over_damage;
        u32 absorb2;
        Bool critical2;
    }
    else if (aura_type == OBS_MOD_POWER
        || aura_type == PERIODIC_ENERGIZE) {
        u32 misc_value1;
        u32 damage3;
    }
    else if (aura_type == PERIODIC_MANA_LEECH) {
        u32 misc_value2;
        u32 damage4;
        f32 gain_multiplier;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -AuraTypeaura_type

If aura_type is equal to PERIODIC_DAMAGE or is equal to PERIODIC_DAMAGE_PERCENT:

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32damage1
0x084 / Littleu32overkill_damage
0x0C1 / -SpellSchoolschool
0x0D4 / Littleu32absorb1
0x114 / Littleu32resistedvmangos: Sent as int32
0x151 / -Boolcritical1new 3.1.2 critical tick

Else If aura_type is equal to PERIODIC_HEAL or is equal to OBS_MOD_HEALTH:

OffsetSize / EndiannessTypeNameComment
0x164 / Littleu32damage2
0x1A4 / Littleu32over_damage
0x1E4 / Littleu32absorb2
0x221 / -Boolcritical2new 3.1.2 critical tick

Else If aura_type is equal to OBS_MOD_POWER or is equal to PERIODIC_ENERGIZE:

OffsetSize / EndiannessTypeNameComment
0x234 / Littleu32misc_value1vmangos: A miscvalue that is dependent on what the aura will do, this is usually decided by the AuraType, ie: with AuraType::SPELL_AURA_MOD_BASE_RESISTANCE_PCT this value could be SpellSchoolMask::SPELL_SCHOOL_MASK_NORMAL which would tell the aura that it should change armor. If Modifier::m_auraname would have been AuraType::SPELL_AURA_MOUNTED then m_miscvalue would have decided which model the mount should have
0x274 / Littleu32damage3

Else If aura_type is equal to PERIODIC_MANA_LEECH:

OffsetSize / EndiannessTypeNameComment
0x2B4 / Littleu32misc_value2vmangos: A miscvalue that is dependent on what the aura will do, this is usually decided by the AuraType, ie: with AuraType::SPELL_AURA_MOD_BASE_RESISTANCE_PCT this value could be SpellSchoolMask::SPELL_SCHOOL_MASK_NORMAL which would tell the aura that it should change armor. If Modifier::m_auraname would have been AuraType::SPELL_AURA_MOUNTED then m_miscvalue would have decided which model the mount should have
0x2F4 / Littleu32damage4
0x334 / Littlef32gain_multiplier

Used in:

AuraUpdate

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_aura_update_all.wowm:17.

struct AuraUpdate {
    u8 visual_slot;
    Spell spell;
    AuraFlag flags;
    Level level;
    u8 aura_stack_count;
    if (flags & NOT_CASTER) {
        PackedGuid caster;
    }
    if (flags & DURATION) {
        u32 duration;
        u32 time_left;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8visual_slot
0x014 / LittleSpellspell
0x051 / -AuraFlagflags
0x061 / -Levellevel
0x071 / -u8aura_stack_count

If flags contains NOT_CASTER:

OffsetSize / EndiannessTypeNameComment
0x08- / -PackedGuidcaster

If flags contains DURATION:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32duration
-4 / Littleu32time_left

Used in:

Aura

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_member_stats.wowm:140.

struct Aura {
    u16 aura;
    u8 unknown;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / Littleu16aura
0x021 / -u8unknown

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_member_stats.wowm:219.

struct Aura {
    u32 aura;
    u8 unknown;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32aura
0x041 / -u8unknown

Used in:

BankTab

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_guild_permissions.wowm:9.

struct BankTab {
    u32 flags;
    u32 stacks_per_day;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32flags
0x044 / Littleu32stacks_per_day

Used in:

BattlegroundPlayerPosition

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/msg_battleground_player_positions.wowm:5.

struct BattlegroundPlayerPosition {
    Guid player;
    f32 position_x;
    f32 position_y;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidplayer
0x084 / Littlef32position_x
0x0C4 / Littlef32position_y

Used in:

BattlegroundPlayer

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pvp/msg_pvp_log_data_server.wowm:14.

struct BattlegroundPlayer {
    Guid player;
    (u32)PvpRank rank;
    u32 killing_blows;
    u32 honorable_kills;
    u32 deaths;
    u32 bonus_honor;
    u32 amount_of_extra_fields;
    u32[amount_of_extra_fields] fields;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidplayer
0x084 / -PvpRankrank
0x0C4 / Littleu32killing_blows
0x104 / Littleu32honorable_kills
0x144 / Littleu32deaths
0x184 / Littleu32bonus_honor
0x1C4 / Littleu32amount_of_extra_fields
0x20? / -u32[amount_of_extra_fields]fieldsThis depends on the BG in question. AV expects 7: Graveyards Assaulted, Graveyards Defended, Towers Assaulted, Towers Defended, Secondary Objectives, LieutenantCount, SecondaryNpc
WSG expects 2: Flag captures and flag returns
AB expects 2: Bases assaulted and bases defended

Used in:

CMSG_ACCEPT_LEVEL_GRANT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_accept_level_grant.wowm:1.

cmsg CMSG_ACCEPT_LEVEL_GRANT = 0x041F {
    PackedGuid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_accept_level_grant.wowm:7.

cmsg CMSG_ACCEPT_LEVEL_GRANT = 0x0420 {
    PackedGuid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid

CMSG_ACCEPT_TRADE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/cmsg_accept_trade.wowm:3.

cmsg CMSG_ACCEPT_TRADE = 0x011A {
    u32 unknown1;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32unknown1Skipped in vmangos and set to 1 for bots

CMSG_ACTIVATETAXIEXPRESS

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_activatetaxiexpress.wowm:1.

cmsg CMSG_ACTIVATETAXIEXPRESS = 0x0312 {
    Guid guid;
    u32 total_cost;
    u32 node_count;
    u32[node_count] nodes;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32total_costvmangos/mangosone: Never used.
0x124 / Littleu32node_count
0x16? / -u32[node_count]nodes

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_activatetaxiexpress.wowm:11.

cmsg CMSG_ACTIVATETAXIEXPRESS = 0x0312 {
    Guid guid;
    u32 node_count;
    u32[node_count] nodes;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32node_count
0x12? / -u32[node_count]nodes

CMSG_ACTIVATETAXI

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_activatetaxi.wowm:3.

cmsg CMSG_ACTIVATETAXI = 0x01AD {
    Guid guid;
    u32 source_node;
    u32 destination_node;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32source_node
0x124 / Littleu32destination_node

CMSG_ADD_FRIEND

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_add_friend.wowm:1.

cmsg CMSG_ADD_FRIEND = 0x0069 {
    CString name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_add_friend.wowm:7.

cmsg CMSG_ADD_FRIEND = 0x0069 {
    CString name;
    CString note;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname
-- / -CStringnote

CMSG_ADD_IGNORE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_add_ignore.wowm:3.

cmsg CMSG_ADD_IGNORE = 0x006C {
    CString name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname

CMSG_ALTER_APPEARANCE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_alter_appearance.wowm:1.

cmsg CMSG_ALTER_APPEARANCE = 0x0426 {
    u32 hair;
    u32 hair_color;
    u32 facial_hair;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32hair
0x0A4 / Littleu32hair_color
0x0E4 / Littleu32facial_hair

CMSG_AREATRIGGER

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/cmsg_areatrigger.wowm:3.

cmsg CMSG_AREATRIGGER = 0x00B4 {
    u32 trigger_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32trigger_id

CMSG_AREA_SPIRIT_HEALER_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_area_spirit_healer_query.wowm:3.

cmsg CMSG_AREA_SPIRIT_HEALER_QUERY = 0x02E2 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_AREA_SPIRIT_HEALER_QUEUE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/cmsg_area_spirit_healer_queue.wowm:3.

cmsg CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x02E3 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_ARENA_TEAM_ACCEPT

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/cmsg_arena_team_accept.wowm:1.

cmsg CMSG_ARENA_TEAM_ACCEPT = 0x0351 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_ARENA_TEAM_DECLINE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/cmsg_arena_team_decline.wowm:1.

cmsg CMSG_ARENA_TEAM_DECLINE = 0x0352 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_ARENA_TEAM_DISBAND

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/cmsg_arena_team_disband.wowm:1.

cmsg CMSG_ARENA_TEAM_DISBAND = 0x0355 {
    u32 arena_team;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32arena_team

CMSG_ARENA_TEAM_INVITE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/cmsg_arena_team_invite.wowm:1.

cmsg CMSG_ARENA_TEAM_INVITE = 0x034F {
    u32 arena_team;
    CString player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32arena_team
0x0A- / -CStringplayer

CMSG_ARENA_TEAM_LEADER

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/cmsg_arena_team_leader.wowm:1.

cmsg CMSG_ARENA_TEAM_LEADER = 0x0356 {
    u32 arena_team;
    CString player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32arena_team
0x0A- / -CStringplayer

CMSG_ARENA_TEAM_LEAVE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/cmsg_arena_team_leave.wowm:1.

cmsg CMSG_ARENA_TEAM_LEAVE = 0x0353 {
    u32 arena_team;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32arena_team

CMSG_ARENA_TEAM_REMOVE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/cmsg_arena_team_remove.wowm:1.

cmsg CMSG_ARENA_TEAM_REMOVE = 0x0354 {
    u32 arena_team;
    CString player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32arena_team
0x0A- / -CStringplayer

CMSG_ARENA_TEAM_ROSTER

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/cmsg_arena_team_roster.wowm:1.

cmsg CMSG_ARENA_TEAM_ROSTER = 0x034D {
    u32 arena_team;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32arena_team

CMSG_ATTACKSTOP

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/cmsg_attackstop.wowm:3.

cmsg CMSG_ATTACKSTOP = 0x0142 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_ATTACKSWING

Client Version 1, Client Version 2, Client Version 3

Signals that client has right clicked an opponent and is in the attack stance.

Server should reply with SMSG_ATTACKSTART.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/cmsg_attackswing.wowm:5.

cmsg CMSG_ATTACKSWING = 0x0141 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

Examples

Example 1

Comment

Player starts attacking creature with GUID 100.

0, 12, // size
65, 1, 0, 0, // opcode (321)
100, 0, 0, 0, 0, 0, 0, 0, // guid: Guid

CMSG_AUCTION_LIST_BIDDER_ITEMS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_list_bidder_items.wowm:3.

cmsg CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x0264 {
    Guid auctioneer;
    u32 start_from_page;
    u32 amount_of_outbid_items;
    u32[amount_of_outbid_items] outbid_item_ids;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer
0x0E4 / Littleu32start_from_page
0x124 / Littleu32amount_of_outbid_items
0x16? / -u32[amount_of_outbid_items]outbid_item_ids

CMSG_AUCTION_LIST_ITEMS

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_list_items.wowm:1.

cmsg CMSG_AUCTION_LIST_ITEMS = 0x0258 {
    Guid auctioneer;
    u32 list_start_item;
    CString searched_name;
    u8 minimum_level;
    u8 maximum_level;
    u32 auction_slot_id;
    u32 auction_main_category;
    u32 auction_sub_category;
    (u32)ItemQuality auction_quality;
    u8 usable;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer
0x0E4 / Littleu32list_start_item
0x12- / -CStringsearched_name
-1 / -u8minimum_level
-1 / -u8maximum_level
-4 / Littleu32auction_slot_id
-4 / Littleu32auction_main_category
-4 / Littleu32auction_sub_category
-4 / -ItemQualityauction_quality
-1 / -u8usable

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_list_items.wowm:23.

cmsg CMSG_AUCTION_LIST_ITEMS = 0x0258 {
    Guid auctioneer;
    u32 list_start_item;
    CString searched_name;
    u8 minimum_level;
    u8 maximum_level;
    u32 auction_slot_id;
    u32 auction_main_category;
    u32 auction_sub_category;
    (u32)ItemQuality auction_quality;
    u8 usable;
    u8 is_full;
    u8 amount_of_sorted_auctions;
    AuctionSort[amount_of_sorted_auctions] sorted_auctions;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer
0x0E4 / Littleu32list_start_item
0x12- / -CStringsearched_name
-1 / -u8minimum_level
-1 / -u8maximum_level
-4 / Littleu32auction_slot_id
-4 / Littleu32auction_main_category
-4 / Littleu32auction_sub_category
-4 / -ItemQualityauction_quality
-1 / -u8usable
-1 / -u8is_full
-1 / -u8amount_of_sorted_auctions
-? / -AuctionSort[amount_of_sorted_auctions]sorted_auctions

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_list_items.wowm:23.

cmsg CMSG_AUCTION_LIST_ITEMS = 0x0258 {
    Guid auctioneer;
    u32 list_start_item;
    CString searched_name;
    u8 minimum_level;
    u8 maximum_level;
    u32 auction_slot_id;
    u32 auction_main_category;
    u32 auction_sub_category;
    (u32)ItemQuality auction_quality;
    u8 usable;
    u8 is_full;
    u8 amount_of_sorted_auctions;
    AuctionSort[amount_of_sorted_auctions] sorted_auctions;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer
0x0E4 / Littleu32list_start_item
0x12- / -CStringsearched_name
-1 / -u8minimum_level
-1 / -u8maximum_level
-4 / Littleu32auction_slot_id
-4 / Littleu32auction_main_category
-4 / Littleu32auction_sub_category
-4 / -ItemQualityauction_quality
-1 / -u8usable
-1 / -u8is_full
-1 / -u8amount_of_sorted_auctions
-? / -AuctionSort[amount_of_sorted_auctions]sorted_auctions

CMSG_AUCTION_LIST_OWNER_ITEMS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_list_owner_items.wowm:3.

cmsg CMSG_AUCTION_LIST_OWNER_ITEMS = 0x0259 {
    Guid auctioneer;
    u32 list_from;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer
0x0E4 / Littleu32list_from

CMSG_AUCTION_LIST_PENDING_SALES

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_list_pending_sales.wowm:1.

cmsg CMSG_AUCTION_LIST_PENDING_SALES = 0x048F {
    Guid auctioneer;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer

CMSG_AUCTION_PLACE_BID

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_place_bid.wowm:3.

cmsg CMSG_AUCTION_PLACE_BID = 0x025A {
    Guid auctioneer;
    u32 auction_id;
    Gold price;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer
0x0E4 / Littleu32auction_id
0x124 / LittleGoldprice

CMSG_AUCTION_REMOVE_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_remove_item.wowm:3.

cmsg CMSG_AUCTION_REMOVE_ITEM = 0x0257 {
    Guid auctioneer;
    u32 auction_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer
0x0E4 / Littleu32auction_id

CMSG_AUCTION_SELL_ITEM

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_sell_item.wowm:1.

cmsg CMSG_AUCTION_SELL_ITEM = 0x0256 {
    Guid auctioneer;
    Guid item;
    u32 starting_bid;
    u32 buyout;
    u32 auction_duration_in_minutes;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer
0x0E8 / LittleGuiditem
0x164 / Littleu32starting_bid
0x1A4 / Littleu32buyout
0x1E4 / Littleu32auction_duration_in_minutes

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/cmsg/cmsg_auction_sell_item.wowm:11.

cmsg CMSG_AUCTION_SELL_ITEM = 0x0256 {
    Guid auctioneer;
    u32 unknown1;
    Guid item;
    u32 unknown2;
    u32 starting_bid;
    u32 buyout;
    u32 auction_duration_in_minutes;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer
0x0E4 / Littleu32unknown1
0x128 / LittleGuiditem
0x1A4 / Littleu32unknown2
0x1E4 / Littleu32starting_bid
0x224 / Littleu32buyout
0x264 / Littleu32auction_duration_in_minutes

CMSG_AUTH_SESSION

Client Version 1, Client Version 2

Sent after receiving SMSG_AUTH_CHALLENGE.

Followed by SMSG_AUTH_RESPONSE.

This message is never encrypted.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_auth_session.wowm:13.

cmsg CMSG_AUTH_SESSION = 0x01ED {
    u32 build;
    u32 server_id;
    CString username;
    u32 client_seed;
    u8[20] client_proof;
    AddonInfo[-] addon_info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32build
0x0A4 / Littleu32server_idThis is sent to the client in CMD_REALM_LIST_Server.
0x0E- / -CStringusername
-4 / Littleu32client_seed
-20 / -u8[20]client_proof
-? / -AddonInfo[-]addon_info

Examples

Example 1

0, 172, // size
237, 1, 0, 0, // opcode (493)
243, 22, 0, 0, // build: u32
0, 0, 0, 0, // server_id: u32
65, 0, // username: CString
136, 2, 216, 73, // client_seed: u32
136, 157, 239, 5, 37, 187, 193, 171, 167, 138, 219, 164, 251, 163, 231, 126, 103, 
172, 234, 198, // client_proof: u8[20]
86, 1, 0, 0, // addon_info_decompressed_size: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 65, 117, 99, 116, 105, 111, 110, 85, 73, 0, // [0].AddonInfo.addon_name: CString
1, // [0].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [0].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [0].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 66, 97, 116, 116, 108, 101, 102, 105, 101, 108, 100, 77, 105, 110, 105, 109, 97, 112, 0, // [1].AddonInfo.addon_name: CString
1, // [1].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [1].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [1].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 66, 105, 110, 100, 105, 110, 103, 85, 73, 0, // [2].AddonInfo.addon_name: CString
1, // [2].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [2].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [2].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 67, 111, 109, 98, 97, 116, 84, 101, 120, 116, 0, // [3].AddonInfo.addon_name: CString
1, // [3].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [3].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [3].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 67, 114, 97, 102, 116, 85, 73, 0, // [4].AddonInfo.addon_name: CString
1, // [4].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [4].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [4].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 71, 77, 83, 117, 114, 118, 101, 121, 85, 73, 0, // [5].AddonInfo.addon_name: CString
1, // [5].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [5].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [5].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 73, 110, 115, 112, 101, 99, 116, 85, 73, 0, // [6].AddonInfo.addon_name: CString
1, // [6].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [6].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [6].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 77, 97, 99, 114, 111, 85, 73, 0, // [7].AddonInfo.addon_name: CString
1, // [7].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [7].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [7].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 82, 97, 105, 100, 85, 73, 0, // [8].AddonInfo.addon_name: CString
1, // [8].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [8].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [8].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 84, 97, 108, 101, 110, 116, 85, 73, 0, // [9].AddonInfo.addon_name: CString
1, // [9].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [9].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [9].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 84, 114, 97, 100, 101, 83, 107, 105, 108, 108, 85, 73, 0, // [10].AddonInfo.addon_name: CString
1, // [10].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [10].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [10].AddonInfo.addon_extra_crc: u32
66, 108, 105, 122, 122, 97, 114, 100, 95, 84, 114, 97, 105, 110, 101, 114, 85, 73, 0, // [11].AddonInfo.addon_name: CString
1, // [11].AddonInfo.addon_has_signature: u8
109, 119, 28, 76, // [11].AddonInfo.addon_crc: u32
0, 0, 0, 0, // [11].AddonInfo.addon_extra_crc: u32
// addon_info: AddonInfo[-]

Client Version 3.3.5

Sent after receiving SMSG_AUTH_CHALLENGE.

This message is never encrypted.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_auth_session.wowm:144.

cmsg CMSG_AUTH_SESSION = 0x01ED {
    u32 client_build;
    u32 login_server_id;
    CString username;
    u32 login_server_type;
    u32 client_seed;
    u32 region_id;
    u32 battleground_id;
    u32 realm_id;
    u64 dos_response;
    u8[20] client_proof;
    u8[-] addon_info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32client_build
0x0A4 / Littleu32login_server_id
0x0E- / -CStringusername
-4 / Littleu32login_server_type
-4 / Littleu32client_seed
-4 / Littleu32region_id
-4 / Littleu32battleground_id
-4 / Littleu32realm_id
-8 / Littleu64dos_responsePurpose and exact meaning of name unknown.
TrinityCore has this name but never uses the variable afterwards.
-20 / -u8[20]client_proof
-? / -u8[-]addon_info

CMSG_AUTOBANK_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_autobank_item.wowm:3.

cmsg CMSG_AUTOBANK_ITEM = 0x0283 {
    u8 bag_index;
    u8 slot_index;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8bag_index
0x071 / -u8slot_index

CMSG_AUTOEQUIP_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_autoequip_item.wowm:1.

cmsg CMSG_AUTOEQUIP_ITEM = 0x010A {
    u8 source_bag;
    u8 source_slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8source_bag
0x071 / -u8source_slot

Examples

Example 1

0, 6, // size
10, 1, 0, 0, // opcode (266)
255, // source_bag: u8
24, // source_slot: u8

CMSG_AUTOEQUIP_ITEM_SLOT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_autoequip_item_slot.wowm:1.

cmsg CMSG_AUTOEQUIP_ITEM_SLOT = 0x010F {
    Guid guid;
    u8 destination_slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E1 / -u8destination_slot

CMSG_AUTOSTORE_BAG_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_autostore_bag_item.wowm:3.

cmsg CMSG_AUTOSTORE_BAG_ITEM = 0x010B {
    u8 source_bag;
    u8 source_slot;
    u8 destination_bag;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8source_bag
0x071 / -u8source_slot
0x081 / -u8destination_bag

CMSG_AUTOSTORE_BANK_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_autostore_bank_item.wowm:3.

cmsg CMSG_AUTOSTORE_BANK_ITEM = 0x0282 {
    u8 bag_index;
    u8 slot_index;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8bag_index
0x071 / -u8slot_index

CMSG_AUTOSTORE_LOOT_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/cmsg_autostore_loot_item.wowm:3.

cmsg CMSG_AUTOSTORE_LOOT_ITEM = 0x0108 {
    u8 item_slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8item_slot

CMSG_BANKER_ACTIVATE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_banker_activate.wowm:3.

cmsg CMSG_BANKER_ACTIVATE = 0x01B7 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_BATTLEFIELD_JOIN

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_join.wowm:3.

cmsg CMSG_BATTLEFIELD_JOIN = 0x023E {
    Map map;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Mapmap

CMSG_BATTLEFIELD_LIST

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_list.wowm:1.

cmsg CMSG_BATTLEFIELD_LIST = 0x023C {
    Map map;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Mapmap

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_list.wowm:1.

cmsg CMSG_BATTLEFIELD_LIST = 0x023C {
    Map map;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Mapmap

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_list.wowm:16.

cmsg CMSG_BATTLEFIELD_LIST = 0x023C {
    BattlegroundType battleground_type;
    BattlefieldListLocation location;
    Bool can_gain_exp;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -BattlegroundTypebattleground_type
0x0A1 / -BattlefieldListLocationlocation
0x0B1 / -Boolcan_gain_expazerothcore: players with locked xp have their own bg queue on retail

CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_mgr_entry_invite_response.wowm:1.

cmsg CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE = 0x04DF {
    u32 battle_id;
    Bool accepted;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32battle_id
0x0A1 / -Boolaccepted

CMSG_BATTLEFIELD_MGR_EXIT_REQUEST

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_mgr_exit_request.wowm:1.

cmsg CMSG_BATTLEFIELD_MGR_EXIT_REQUEST = 0x04E7 {
    u32 battle_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32battle_id

CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_mgr_queue_invite_response.wowm:1.

cmsg CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE = 0x04E2 {
    u32 battle_id;
    Bool accepted;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32battle_id
0x0A1 / -Boolaccepted

CMSG_BATTLEFIELD_PORT

Client Version 1.1, Client Version 1.2, Client Version 1.3, Client Version 1.4, Client Version 1.5, Client Version 1.6, Client Version 1.7, Client Version 1.8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_port.wowm:15.

cmsg CMSG_BATTLEFIELD_PORT = 0x02D5 {
    BattlefieldPortAction action;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -BattlefieldPortActionaction

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_port.wowm:8.

cmsg CMSG_BATTLEFIELD_PORT = 0x02D5 {
    Map map;
    BattlefieldPortAction action;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Mapmap
0x0A1 / -BattlefieldPortActionaction

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_port.wowm:21.

cmsg CMSG_BATTLEFIELD_PORT = 0x02D5 {
    u8 arena_type;
    u8 unknown1;
    u32 bg_type_id;
    u16 unknown2;
    BattlefieldPortAction action;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8arena_typemangosone/mangos-tbc/azerothcore: arenatype if arena
0x071 / -u8unknown1mangosone/mangos-tbc/azerothcore: unk, can be 0x0 (may be if was invited?) and 0x1
0x084 / Littleu32bg_type_idmangosone/mangos-tbc/azerothcore: type id from dbc
0x0C2 / Littleu16unknown2mangosone/mangos-tbc/azerothcore: 0x1F90 constant?
0x0E1 / -BattlefieldPortActionaction

CMSG_BATTLEFIELD_STATUS

Client Version 1, Client Version 2, Client Version 3

Sent when the client enters the world.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlefield_status.wowm:2.

cmsg CMSG_BATTLEFIELD_STATUS = 0x02D3 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 4, // size
211, 2, 0, 0, // opcode (723)

CMSG_BATTLEMASTER_HELLO

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlemaster_hello.wowm:3.

cmsg CMSG_BATTLEMASTER_HELLO = 0x02D7 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_BATTLEMASTER_JOIN

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlemaster_join.wowm:1.

cmsg CMSG_BATTLEMASTER_JOIN = 0x02EE {
    Guid guid;
    Map map;
    u32 instance_id;
    Bool join_as_group;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguidvmangos: battlemaster guid, or player guid if joining queue from BG portal
0x0E4 / -Mapmap
0x124 / Littleu32instance_idvmangos: 0 if First Available selected
0x161 / -Booljoin_as_group

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlemaster_join.wowm:1.

cmsg CMSG_BATTLEMASTER_JOIN = 0x02EE {
    Guid guid;
    Map map;
    u32 instance_id;
    Bool join_as_group;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguidvmangos: battlemaster guid, or player guid if joining queue from BG portal
0x0E4 / -Mapmap
0x124 / Littleu32instance_idvmangos: 0 if First Available selected
0x161 / -Booljoin_as_group

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlemaster_join.wowm:1.

cmsg CMSG_BATTLEMASTER_JOIN = 0x02EE {
    Guid guid;
    Map map;
    u32 instance_id;
    Bool join_as_group;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguidvmangos: battlemaster guid, or player guid if joining queue from BG portal
0x0E4 / -Mapmap
0x124 / Littleu32instance_idvmangos: 0 if First Available selected
0x161 / -Booljoin_as_group

CMSG_BATTLEMASTER_JOIN_ARENA

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_battlemaster_join_arena.wowm:9.

cmsg CMSG_BATTLEMASTER_JOIN_ARENA = 0x0358 {
    Guid battlemaster;
    JoinArenaType arena_type;
    Bool as_group;
    Bool rated;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbattlemaster
0x0E1 / -JoinArenaTypearena_type
0x0F1 / -Boolas_group
0x101 / -Boolrated

CMSG_BEGIN_TRADE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/cmsg_begin_trade.wowm:3.

cmsg CMSG_BEGIN_TRADE = 0x0117 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_BINDER_ACTIVATE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_binder_activate.wowm:3.

cmsg CMSG_BINDER_ACTIVATE = 0x01B5 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_BOOTME

Client Version 0.5, Client Version 0.6, Client Version 0.7, Client Version 0.8, Client Version 0.9, Client Version 0.10, Client Version 0.11, Client Version 0.12, Client Version 1, Client Version 2, Client Version 3

Sent in 3.3.5 by using the bootme console command. Command not available in 1.12. Available in 0.5.3.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_bootme.wowm:2.

cmsg CMSG_BOOTME = 0x0001 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_BUG

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_bug.wowm:3.

cmsg CMSG_BUG = 0x01CA {
    u32 suggestion;
    SizedCString content;
    SizedCString bug_type;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32suggestioncmangos/vmangos/mangoszero: If 0 received bug report, else received suggestion
0x0A- / -SizedCStringcontent
-- / -SizedCStringbug_type

CMSG_BUSY_TRADE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/cmsg_busy_trade.wowm:3.

cmsg CMSG_BUSY_TRADE = 0x0118 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_BUYBACK_ITEM

Client Version 1.8, Client Version 1.9, Client Version 1.10, Client Version 1.11, Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_buyback_item.wowm:19.

cmsg CMSG_BUYBACK_ITEM = 0x0290 {
    Guid guid;
    BuybackSlot slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / -BuybackSlotslot

CMSG_BUY_BANK_SLOT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_buy_bank_slot.wowm:3.

cmsg CMSG_BUY_BANK_SLOT = 0x01B9 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_BUY_ITEM

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_buy_item.wowm:1.

cmsg CMSG_BUY_ITEM = 0x01A2 {
    Guid vendor;
    Item item;
    u8 amount;
    u8 unknown1;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidvendor
0x0E4 / LittleItemitem
0x121 / -u8amount
0x131 / -u8unknown1cmangos says this is hardcoded to 1 in the TBC client.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_buy_item.wowm:11.

cmsg CMSG_BUY_ITEM = 0x01A2 {
    Guid vendor;
    Item item;
    u32 slot;
    u8 amount;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidvendor
0x0E4 / LittleItemitem
0x124 / Littleu32slot
0x161 / -u8amount

CMSG_BUY_ITEM_IN_SLOT

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_buy_item_in_slot.wowm:1.

cmsg CMSG_BUY_ITEM_IN_SLOT = 0x01A3 {
    Guid vendor;
    Item item;
    Guid bag;
    u8 bag_slot;
    u8 amount;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidvendor
0x0E4 / LittleItemitem
0x128 / LittleGuidbag
0x1A1 / -u8bag_slot
0x1B1 / -u8amount

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_buy_item_in_slot.wowm:11.

cmsg CMSG_BUY_ITEM_IN_SLOT = 0x01A3 {
    Guid vendor;
    Item item;
    u32 vendor_slot;
    Guid bag;
    u8 bag_slot;
    u8 amount;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidvendor
0x0E4 / LittleItemitem
0x124 / Littleu32vendor_slotarcemu: VLack: 3.1.2 This is the slot’s number on the vendor’s panel, starts from 1
0x168 / LittleGuidbag
0x1E1 / -u8bag_slot
0x1F1 / -u8amount

CMSG_BUY_STABLE_SLOT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_buy_stable_slot.wowm:3.

cmsg CMSG_BUY_STABLE_SLOT = 0x0272 {
    Guid npc;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidnpc

CMSG_CALENDAR_ADD_EVENT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_add_event.wowm:9.

cmsg CMSG_CALENDAR_ADD_EVENT = 0x042D {
    CString title;
    CString description;
    u8 event_type;
    Bool repeatable;
    u32 maximum_invites;
    u32 dungeon_id;
    DateTime event_time;
    DateTime time_zone_time;
    u32 flags;
    u32 amount_of_invitees;
    CalendarInvitee[amount_of_invitees] invitees;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringtitle
-- / -CStringdescription
-1 / -u8event_type
-1 / -Boolrepeatable
-4 / Littleu32maximum_invites
-4 / Littleu32dungeon_id
-4 / LittleDateTimeevent_time
-4 / LittleDateTimetime_zone_time
-4 / Littleu32flags
-4 / Littleu32amount_of_invitees
-? / -CalendarInvitee[amount_of_invitees]invitees

CMSG_CALENDAR_ARENA_TEAM

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_arena_team.wowm:1.

cmsg CMSG_CALENDAR_ARENA_TEAM = 0x042C {
    u32 arena_team;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32arena_team

CMSG_CALENDAR_COMPLAIN

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_complain.wowm:1.

cmsg CMSG_CALENDAR_COMPLAIN = 0x0446 {
    Guid responsible_player;
    Guid event;
    Guid invite_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidresponsible_player
0x0E8 / LittleGuidevent
0x168 / LittleGuidinvite_id

CMSG_CALENDAR_COPY_EVENT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_copy_event.wowm:1.

cmsg CMSG_CALENDAR_COPY_EVENT = 0x0430 {
    Guid event;
    Guid invite_id;
    DateTime time;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidevent
0x0E8 / LittleGuidinvite_id
0x164 / LittleDateTimetime

CMSG_CALENDAR_EVENT_INVITE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_event_invite.wowm:1.

cmsg CMSG_CALENDAR_EVENT_INVITE = 0x0431 {
    Guid event;
    Guid invite_id;
    CString name;
    Bool pre_event;
    Bool guild_event;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidevent
0x0E8 / LittleGuidinvite_id
0x16- / -CStringname
-1 / -Boolpre_event
-1 / -Boolguild_event

CMSG_CALENDAR_EVENT_MODERATOR_STATUS

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_event_moderator_status.wowm:9.

cmsg CMSG_CALENDAR_EVENT_MODERATOR_STATUS = 0x0435 {
    Guid event;
    Guid invite_id;
    Guid sender_invite_id;
    CalendarModeratorRank rank;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidevent
0x0E8 / LittleGuidinvite_id
0x168 / LittleGuidsender_invite_id
0x1E1 / -CalendarModeratorRankrank

CMSG_CALENDAR_EVENT_REMOVE_INVITE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_event_remove_invite.wowm:1.

cmsg CMSG_CALENDAR_EVENT_REMOVE_INVITE = 0x0433 {
    Guid event;
    Guid sender_invite_id;
    Guid invite_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidevent
0x0E8 / LittleGuidsender_invite_id
0x168 / LittleGuidinvite_id

CMSG_CALENDAR_EVENT_RSVP

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_event_rsvp.wowm:16.

cmsg CMSG_CALENDAR_EVENT_RSVP = 0x0432 {
    Guid event;
    Guid invite_id;
    (u32)CalendarStatus status;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidevent
0x0E8 / LittleGuidinvite_id
0x164 / -CalendarStatusstatus

CMSG_CALENDAR_EVENT_SIGNUP

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_event_signup.wowm:1.

cmsg CMSG_CALENDAR_EVENT_SIGNUP = 0x04BA {
    Guid event_id;
    Bool tentative;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidevent_id
0x0E1 / -Booltentative

CMSG_CALENDAR_EVENT_STATUS

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_event_status.wowm:1.

cmsg CMSG_CALENDAR_EVENT_STATUS = 0x0434 {
    Guid event;
    Guid invite_id;
    Guid sender_invite_id;
    CalendarStatus status;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidevent
0x0E8 / LittleGuidinvite_id
0x168 / LittleGuidsender_invite_id
0x1E1 / -CalendarStatusstatus

CMSG_CALENDAR_GET_CALENDAR

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_get_calendar.wowm:1.

cmsg CMSG_CALENDAR_GET_CALENDAR = 0x0429 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_CALENDAR_GET_EVENT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_get_event.wowm:1.

cmsg CMSG_CALENDAR_GET_EVENT = 0x042A {
    Guid event;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidevent

CMSG_CALENDAR_GET_NUM_PENDING

Client Version 3.3.5

Respond with SMSG_CALENDAR_SEND_NUM_PENDING

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_get_num_pending.wowm:4.

msg CMSG_CALENDAR_GET_NUM_PENDING = 0x0447 {
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_CALENDAR_GUILD_FILTER

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_guild_filter.wowm:1.

cmsg CMSG_CALENDAR_GUILD_FILTER = 0x042B {
    Level32 minimum_level;
    Level32 maximum_level;
    u32 minimum_rank;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleLevel32minimum_level
0x0A4 / LittleLevel32maximum_level
0x0E4 / Littleu32minimum_rank

CMSG_CALENDAR_REMOVE_EVENT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_remove_event.wowm:1.

cmsg CMSG_CALENDAR_REMOVE_EVENT = 0x042F {
    Guid event;
    Guid invite_id;
    u32 flags;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidevent
0x0E8 / LittleGuidinvite_id
0x164 / Littleu32flags

CMSG_CALENDAR_UPDATE_EVENT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_update_event.wowm:1.

cmsg CMSG_CALENDAR_UPDATE_EVENT = 0x042E {
    Guid event;
    Guid invite_id;
    CString title;
    CString description;
    u8 event_type;
    Bool repeatable;
    u32 maximum_invites;
    u32 dungeon_id;
    DateTime event_time;
    DateTime time_zone_time;
    u32 flags;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidevent
0x0E8 / LittleGuidinvite_id
0x16- / -CStringtitle
-- / -CStringdescription
-1 / -u8event_type
-1 / -Boolrepeatable
-4 / Littleu32maximum_invites
-4 / Littleu32dungeon_id
-4 / LittleDateTimeevent_time
-4 / LittleDateTimetime_zone_time
-4 / Littleu32flags

CMSG_CANCEL_AURA

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cancel_aura.wowm:3.

cmsg CMSG_CANCEL_AURA = 0x0136 {
    Spell id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleSpellid

CMSG_CANCEL_AUTO_REPEAT_SPELL

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cancel_auto_repeat_spell.wowm:3.

cmsg CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x026D {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_CANCEL_CAST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cancel_cast.wowm:1.

cmsg CMSG_CANCEL_CAST = 0x012F {
    Spell id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleSpellid

Examples

Example 1

0, 8, // size
47, 1, 0, 0, // opcode (303)
120, 80, 0, 0, // id: Spell

Example 2

0, 8, // size
47, 1, 0, 0, // opcode (303)
242, 33, 0, 0, // id: Spell

CMSG_CANCEL_CHANNELLING

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_cancel_channelling.wowm:3.

cmsg CMSG_CANCEL_CHANNELLING = 0x013B {
    Spell id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleSpellid

CMSG_CANCEL_GROWTH_AURA

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cancel_growth_aura.wowm:3.

cmsg CMSG_CANCEL_GROWTH_AURA = 0x029B {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_CANCEL_MOUNT_AURA

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_cancel_mount_aura.wowm:1.

cmsg CMSG_CANCEL_MOUNT_AURA = 0x0375 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_CANCEL_TEMP_ENCHANTMENT

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cancel_temp_enchantment.wowm:1.

cmsg CMSG_CANCEL_TEMP_ENCHANTMENT = 0x0379 {
    u32 slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32slot

CMSG_CANCEL_TRADE

Client Version 1.12, Client Version 2, Client Version 3.3.5

Sent twice by the client when teleporting and logging out.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/cmsg_cancel_trade.wowm:2.

cmsg CMSG_CANCEL_TRADE = 0x011C {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 4, // size
28, 1, 0, 0, // opcode (284)

CMSG_CAST_SPELL

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cast_spell.wowm:1.

cmsg CMSG_CAST_SPELL = 0x012E {
    Spell spell;
    SpellCastTargets targets;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleSpellspell
0x0A- / -SpellCastTargetstargets

Examples

Example 1

0, 10, // size
46, 1, 0, 0, // opcode (302)
120, 80, 0, 0, // spell: Spell
0, 0, // SpellCastTargets.target_flags: SpellCastTargetFlags  SELF (0)

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cast_spell.wowm:1.

cmsg CMSG_CAST_SPELL = 0x012E {
    Spell spell;
    SpellCastTargets targets;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleSpellspell
0x0A- / -SpellCastTargetstargets

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cast_spell.wowm:8.

cmsg CMSG_CAST_SPELL = 0x012E {
    u8 cast_count;
    Spell spell;
    ClientCastFlags cast_flags;
    SpellCastTargets targets;
    if (cast_flags == EXTRA) {
        f32 elevation;
        f32 speed;
        ClientMovementData movement_data;
        if (movement_data == PRESENT) {
            u32 opcode;
            PackedGuid guid;
            MovementInfo info;
        }
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vehicle/cmsg_change_seats_on_controlled_vehicle.wowm:1.

cmsg CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE = 0x049B {
    PackedGuid vehicle;
    MovementInfo info;
    PackedGuid accessory;
    u8 seat;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidvehicle
-- / -MovementInfoinfo
-- / -PackedGuidaccessory
-1 / -u8seat

CMSG_CHANNEL_ANNOUNCEMENTS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_announcements.wowm:3.

cmsg CMSG_CHANNEL_ANNOUNCEMENTS = 0x00A7 {
    CString channel_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name

CMSG_CHANNEL_BAN

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_ban.wowm:3.

cmsg CMSG_CHANNEL_BAN = 0x00A5 {
    CString channel_name;
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringplayer_name

CMSG_CHANNEL_DISPLAY_LIST

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_display_list.wowm:1.

cmsg CMSG_CHANNEL_DISPLAY_LIST = 0x03D1 {
    CString channel;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_display_list.wowm:7.

cmsg CMSG_CHANNEL_DISPLAY_LIST = 0x03D2 {
    CString channel;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel

CMSG_CHANNEL_INVITE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_invite.wowm:3.

cmsg CMSG_CHANNEL_INVITE = 0x00A3 {
    CString channel_name;
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringplayer_name

CMSG_CHANNEL_KICK

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_kick.wowm:3.

cmsg CMSG_CHANNEL_KICK = 0x00A4 {
    CString channel_name;
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringplayer_name

CMSG_CHANNEL_LIST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_list.wowm:3.

cmsg CMSG_CHANNEL_LIST = 0x009A {
    CString channel_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name

CMSG_CHANNEL_MODERATE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_moderate.wowm:3.

cmsg CMSG_CHANNEL_MODERATE = 0x00A8 {
    CString channel_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name

CMSG_CHANNEL_MODERATOR

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_moderator.wowm:3.

cmsg CMSG_CHANNEL_MODERATOR = 0x009F {
    CString channel_name;
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringplayer_name

CMSG_CHANNEL_MUTE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_mute.wowm:3.

cmsg CMSG_CHANNEL_MUTE = 0x00A1 {
    CString channel_name;
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringplayer_name

CMSG_CHANNEL_OWNER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_owner.wowm:3.

cmsg CMSG_CHANNEL_OWNER = 0x009E {
    CString channel_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name

CMSG_CHANNEL_PASSWORD

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_password.wowm:3.

cmsg CMSG_CHANNEL_PASSWORD = 0x009C {
    CString channel_name;
    CString channel_password;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringchannel_password

CMSG_CHANNEL_SET_OWNER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_set_owner.wowm:3.

cmsg CMSG_CHANNEL_SET_OWNER = 0x009D {
    CString channel_name;
    CString new_owner;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringnew_owner

CMSG_CHANNEL_UNBAN

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_unban.wowm:3.

cmsg CMSG_CHANNEL_UNBAN = 0x00A6 {
    CString channel_name;
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringplayer_name

CMSG_CHANNEL_UNMODERATOR

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_unmoderator.wowm:3.

cmsg CMSG_CHANNEL_UNMODERATOR = 0x00A0 {
    CString channel_name;
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringplayer_name

CMSG_CHANNEL_UNMUTE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_unmute.wowm:3.

cmsg CMSG_CHANNEL_UNMUTE = 0x00A2 {
    CString channel_name;
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringplayer_name

CMSG_CHANNEL_VOICE_ON

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_voice_on.wowm:1.

cmsg CMSG_CHANNEL_VOICE_ON = 0x03D5 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_channel_voice_on.wowm:5.

cmsg CMSG_CHANNEL_VOICE_ON = 0x03D6 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_CHAR_CREATE

Client Version 1

Sent after the client presses ‘Create Character’. The client will then wait for SMSG_CHAR_CREATE.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_char_create.wowm:2.

cmsg CMSG_CHAR_CREATE = 0x0036 {
    CString name;
    Race race;
    Class class;
    Gender gender;
    u8 skin_color;
    u8 face;
    u8 hair_style;
    u8 hair_color;
    u8 facial_hair;
    u8 outfit_id = 0;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname
-1 / -Racerace
-1 / -Classclass
-1 / -Gendergender
-1 / -u8skin_color
-1 / -u8face
-1 / -u8hair_style
-1 / -u8hair_color
-1 / -u8facial_hair
-1 / -u8outfit_id

Examples

Example 1

0, 22, // size
54, 0, 0, 0, // opcode (54)
68, 101, 97, 100, 98, 101, 101, 102, 0, // name: CString
1, // race: Race HUMAN (1)
1, // class: Class WARRIOR (1)
1, // gender: Gender FEMALE (1)
8, // skin_color: u8
0, // face: u8
14, // hair_style: u8
2, // hair_color: u8
4, // facial_hair: u8
0, // outfit_id: u8

Client Version 2.4.3

Sent after the client presses ‘Create Character’. The client will then wait for SMSG_CHAR_CREATE.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_char_create.wowm:2.

cmsg CMSG_CHAR_CREATE = 0x0036 {
    CString name;
    Race race;
    Class class;
    Gender gender;
    u8 skin_color;
    u8 face;
    u8 hair_style;
    u8 hair_color;
    u8 facial_hair;
    u8 outfit_id = 0;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname
-1 / -Racerace
-1 / -Classclass
-1 / -Gendergender
-1 / -u8skin_color
-1 / -u8face
-1 / -u8hair_style
-1 / -u8hair_color
-1 / -u8facial_hair
-1 / -u8outfit_id

Client Version 3.2, Client Version 3.3

Sent after the client presses ‘Create Character’. The client will then wait for SMSG_CHAR_CREATE.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_char_create.wowm:46.

cmsg CMSG_CHAR_CREATE = 0x0036 {
    CString name;
    Race race;
    Class class;
    Gender gender;
    u8 skin_color;
    u8 face;
    u8 hair_style;
    u8 hair_color;
    u8 facial_hair;
    u8 outfit_id = 0;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname
-1 / -Racerace
-1 / -Classclass
-1 / -Gendergender
-1 / -u8skin_color
-1 / -u8face
-1 / -u8hair_style
-1 / -u8hair_color
-1 / -u8facial_hair
-1 / -u8outfit_id

CMSG_CHAR_CUSTOMIZE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_char_customize.wowm:1.

cmsg CMSG_CHAR_CUSTOMIZE = 0x0473 {
    Guid player;
    CString new_name;
    Gender gender;
    u8 skin_color;
    u8 hair_color;
    u8 hair_style;
    u8 facial_hair;
    u8 face;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E- / -CStringnew_name
-1 / -Gendergender
-1 / -u8skin_color
-1 / -u8hair_color
-1 / -u8hair_style
-1 / -u8facial_hair
-1 / -u8face

CMSG_CHAR_DELETE

Client Version 1, Client Version 2, Client Version 3

Command to delete a character from the clients account. Can be sent after the client has received SMSG_CHAR_ENUM.

Sent after the client has confirmed the character deletion.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_char_delete.wowm:5.

cmsg CMSG_CHAR_DELETE = 0x0038 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

Examples

Example 1

0, 12, // size
56, 0, 0, 0, // opcode (56)
239, 190, 173, 222, 0, 0, 0, 0, // guid: Guid

CMSG_CHAR_ENUM

Client Version 1, Client Version 2, Client Version 3

Sent after a successful CMSG_AUTH_SESSION and SMSG_AUTH_RESPONSE, or after failing to login with SMSG_CHARACTER_LOGIN_FAILED.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_char_enum.wowm:2.

cmsg CMSG_CHAR_ENUM = 0x0037 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 4, // size
55, 0, 0, 0, // opcode (55)

CMSG_CHAR_FACTION_CHANGE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_char_faction_change.wowm:1.

cmsg CMSG_CHAR_FACTION_CHANGE = 0x04D9 {
    Guid guid;
    CString name;
    Gender gender;
    u8 skin_color;
    u8 hair_color;
    u8 hair_style;
    u8 facial_hair;
    u8 face;
    Race race;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E- / -CStringname
-1 / -Gendergender
-1 / -u8skin_color
-1 / -u8hair_color
-1 / -u8hair_style
-1 / -u8facial_hair
-1 / -u8face
-1 / -Racerace

CMSG_CHAR_RACE_CHANGE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_char_race_change.wowm:1.

cmsg CMSG_CHAR_RACE_CHANGE = 0x04F8 {
    Guid player;
    CString name;
    Gender gender;
    u8 skin_color;
    u8 hair_color;
    u8 hair_style;
    u8 facial_hair;
    u8 face;
    Race race;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E- / -CStringname
-1 / -Gendergender
-1 / -u8skin_color
-1 / -u8hair_color
-1 / -u8hair_style
-1 / -u8facial_hair
-1 / -u8face
-1 / -Racerace

CMSG_CHAR_RENAME

Client Version 1, Client Version 2, Client Version 3

Request of new name for character. This is only sent by the client if RENAME is set in the CharacterFlags of SMSG_CHAR_ENUM and the client tries to login.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_char_rename.wowm:4.

cmsg CMSG_CHAR_RENAME = 0x02C7 {
    Guid character;
    CString new_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidcharacter
0x0E- / -CStringnew_name

Examples

Example 1

0, 21, // size
199, 2, 0, 0, // opcode (711)
239, 190, 173, 222, 0, 0, 0, 0, // character: Guid
68, 101, 97, 100, 98, 101, 101, 102, 0, // new_name: CString

CMSG_CHAT_IGNORED

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_chat_ignored.wowm:1.

cmsg CMSG_CHAT_IGNORED = 0x0225 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_chat_ignored.wowm:7.

cmsg CMSG_CHAT_IGNORED = 0x0225 {
    Guid guid;
    u8 unknown;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E1 / -u8unknownmangosone/arcemu/trinitycore/azerothcore: probably related to spam reporting

CMSG_CLEAR_CHANNEL_WATCH

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_clear_channel_watch.wowm:1.

cmsg CMSG_CLEAR_CHANNEL_WATCH = 0x03F2 {
    CString channel;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_clear_channel_watch.wowm:7.

cmsg CMSG_CLEAR_CHANNEL_WATCH = 0x03F3 {
    CString channel;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel

CMSG_CLEAR_LOOKING_FOR_GROUP

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_clear_looking_for_group.wowm:1.

cmsg CMSG_CLEAR_LOOKING_FOR_GROUP = 0x0363 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_CLEAR_LOOKING_FOR_MORE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_clear_looking_for_more.wowm:1.

cmsg CMSG_CLEAR_LOOKING_FOR_MORE = 0x0364 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_CLEAR_TRADE_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/cmsg_clear_trade_item.wowm:3.

cmsg CMSG_CLEAR_TRADE_ITEM = 0x011E {
    u8 trade_slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8trade_slot

CMSG_COMMENTATOR_ENABLE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_commentator_enable.wowm:9.

cmsg CMSG_COMMENTATOR_ENABLE = 0x03B4 {
    CommentatorEnableOption option;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -CommentatorEnableOptionoption

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_commentator_enable.wowm:15.

cmsg CMSG_COMMENTATOR_ENABLE = 0x03B5 {
    CommentatorEnableOption option;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -CommentatorEnableOptionoption

CMSG_COMPLAIN

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_complain.wowm:26.

cmsg CMSG_COMPLAIN = 0x03C6 {
    SpamType complaint_type;
    Guid offender;
    if (complaint_type == MAIL) {
        u32 unknown1;
        u32 mail_id;
        u32 unknown2;
    }
    else if (complaint_type == CHAT) {
        u32 language;
        u32 message_type;
        u32 channel_id;
        u32 time;
        CString description;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -SpamTypecomplaint_type
0x078 / LittleGuidoffender

If complaint_type is equal to MAIL:

OffsetSize / EndiannessTypeNameComment
0x0F4 / Littleu32unknown1
0x134 / Littleu32mail_id
0x174 / Littleu32unknown2

Else If complaint_type is equal to CHAT:

OffsetSize / EndiannessTypeNameComment
0x1B4 / Littleu32language
0x1F4 / Littleu32message_type
0x234 / Littleu32channel_id
0x274 / Littleu32time
0x2B- / -CStringdescription

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_complain.wowm:8.

cmsg CMSG_COMPLAIN = 0x03C7 {
    SpamType complaint_type;
    Guid offender;
    if (complaint_type == MAIL) {
        u32 unknown1;
        u32 mail_id;
        u32 unknown2;
    }
    else if (complaint_type == CHAT) {
        u32 language;
        u32 message_type;
        u32 channel_id;
        u32 time;
        CString description;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -SpamTypecomplaint_type
0x078 / LittleGuidoffender

If complaint_type is equal to MAIL:

OffsetSize / EndiannessTypeNameComment
0x0F4 / Littleu32unknown1
0x134 / Littleu32mail_id
0x174 / Littleu32unknown2

Else If complaint_type is equal to CHAT:

OffsetSize / EndiannessTypeNameComment
0x1B4 / Littleu32language
0x1F4 / Littleu32message_type
0x234 / Littleu32channel_id
0x274 / Littleu32time
0x2B- / -CStringdescription

CMSG_COMPLETE_CINEMATIC

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/cinematic/cmsg_complete_cinematic.wowm:3.

cmsg CMSG_COMPLETE_CINEMATIC = 0x00FC {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_COMPLETE_MOVIE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_complete_movie.wowm:1.

cmsg CMSG_COMPLETE_MOVIE = 0x0465 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_CONTACT_LIST

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_contact_list.wowm:1.

cmsg CMSG_CONTACT_LIST = 0x0066 {
    u32 flags;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32flagsSent back in SMSG_CONTACT_LIST.

CMSG_CONTROLLER_EJECT_PASSENGER

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vehicle/cmsg_controller_eject_passenger.wowm:1.

cmsg CMSG_CONTROLLER_EJECT_PASSENGER = 0x04A9 {
    Guid player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer

CMSG_CORPSE_MAP_POSITION_QUERY

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_corpse_map_position_query.wowm:1.

cmsg CMSG_CORPSE_MAP_POSITION_QUERY = 0x04B6 {
    u32 unknown;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32unknown

CMSG_CREATURE_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_creature_query.wowm:3.

cmsg CMSG_CREATURE_QUERY = 0x0060 {
    u32 creature;
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32creature
0x0A8 / LittleGuidguid

CMSG_DBLOOKUP

Client Version 1, Client Version 2, Client Version 3

Executes a query directly on the world server.

Not implemented on any major emulator.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/debug/cmsg_dblookup.wowm:3.

cmsg CMSG_DBLOOKUP = 0x0002 {
    CString query;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringquery

CMSG_DELETEEQUIPMENT_SET

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/client_set/cmsg_deleteequipment_set.wowm:1.

cmsg CMSG_DELETEEQUIPMENT_SET = 0x013E {
    PackedGuid set;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidset

CMSG_DEL_FRIEND

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_del_friend.wowm:3.

cmsg CMSG_DEL_FRIEND = 0x006A {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_DEL_IGNORE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_del_ignore.wowm:3.

cmsg CMSG_DEL_IGNORE = 0x006D {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_DESTROYITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_destroyitem.wowm:3.

cmsg CMSG_DESTROYITEM = 0x0111 {
    u8 bag;
    u8 slot;
    u8 amount;
    u8 unknown1;
    u8 unknown2;
    u8 unknown3;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8bag
0x071 / -u8slot
0x081 / -u8amount
0x091 / -u8unknown1
0x0A1 / -u8unknown2
0x0B1 / -u8unknown3

CMSG_DISMISS_CONTROLLED_VEHICLE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vehicle/cmsg_dismiss_controlled_vehicle.wowm:1.

cmsg CMSG_DISMISS_CONTROLLED_VEHICLE = 0x046D {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_DISMISS_CRITTER

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_dismiss_critter.wowm:1.

cmsg CMSG_DISMISS_CRITTER = 0x048D {
    Guid critter;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidcritter

CMSG_DUEL_ACCEPTED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/duel/cmsg_duel_accepted.wowm:3.

cmsg CMSG_DUEL_ACCEPTED = 0x016C {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_DUEL_CANCELLED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/duel/cmsg_duel_cancelled.wowm:3.

cmsg CMSG_DUEL_CANCELLED = 0x016D {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_EMOTE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_emote.wowm:1.

cmsg CMSG_EMOTE = 0x0102 {
    Emote emote;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Emoteemote

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_emote.wowm:1.

cmsg CMSG_EMOTE = 0x0102 {
    Emote emote;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Emoteemote

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_emote.wowm:1.

cmsg CMSG_EMOTE = 0x0102 {
    Emote emote;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Emoteemote

CMSG_ENABLETAXI

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_enabletaxi.wowm:1.

cmsg CMSG_ENABLETAXI = 0x0493 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_EQUIPMENT_SET_SAVE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_equipment_set_save.wowm:1.

cmsg CMSG_EQUIPMENT_SET_SAVE = 0x04BD {
    PackedGuid guid;
    u32 index;
    CString name;
    CString icon_name;
    Guid[19] equipment;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32index
-- / -CStringname
-- / -CStringicon_name
-152 / -Guid[19]equipment

CMSG_EQUIPMENT_SET_USE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_equipment_set_use.wowm:9.

cmsg CMSG_EQUIPMENT_SET_USE = 0x04D5 {
    EquipmentSet[19] sets;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06190 / -EquipmentSet[19]sets

CMSG_FAR_SIGHT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_far_sight.wowm:8.

cmsg CMSG_FAR_SIGHT = 0x027A {
    FarSightOperation operation;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -FarSightOperationoperation

CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_flight_back_speed_change_ack.wowm:1.

cmsg CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x0384 {
    Guid player;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_flight_back_speed_change_ack.wowm:1.

cmsg CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x0384 {
    Guid player;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_flight_speed_change_ack.wowm:1.

cmsg CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x0382 {
    Guid player;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_flight_speed_change_ack.wowm:1.

cmsg CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x0382 {
    Guid player;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

CMSG_FORCE_MOVE_ROOT_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_move_root_ack.wowm:1.

cmsg CMSG_FORCE_MOVE_ROOT_ACK = 0x00E9 {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_move_root_ack.wowm:9.

cmsg CMSG_FORCE_MOVE_ROOT_ACK = 0x00E9 {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_move_root_ack.wowm:17.

cmsg CMSG_FORCE_MOVE_ROOT_ACK = 0x00E9 {
    PackedGuid guid;
    u32 movement_counter;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32movement_counter
-- / -MovementInfoinfo

CMSG_FORCE_MOVE_UNROOT_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_move_unroot_ack.wowm:1.

cmsg CMSG_FORCE_MOVE_UNROOT_ACK = 0x00EB {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_move_unroot_ack.wowm:9.

cmsg CMSG_FORCE_MOVE_UNROOT_ACK = 0x00EB {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_move_unroot_ack.wowm:17.

cmsg CMSG_FORCE_MOVE_UNROOT_ACK = 0x00EB {
    PackedGuid guid;
    u32 movement_counter;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32movement_counter
-- / -MovementInfoinfo

CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_run_back_speed_change_ack.wowm:1.

cmsg CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x00E5 {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_run_back_speed_change_ack.wowm:10.

cmsg CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x00E5 {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_run_back_speed_change_ack.wowm:19.

cmsg CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x00E5 {
    PackedGuid guid;
    u32 movement_counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32movement_counter
-- / -MovementInfoinfo
-4 / Littlef32new_speed

CMSG_FORCE_RUN_SPEED_CHANGE_ACK

Client Version 1.12

Sent to acknowledge the new speed. Reply to SMSG_FORCE_RUN_SPEED_CHANGE.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_run_speed_change_ack.wowm:2.

cmsg CMSG_FORCE_RUN_SPEED_CHANGE_ACK = 0x00E3 {
    Guid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Examples

Example 1

Comment

Client responds to having movement speed set to 7 in Northshire Abbey.

0, 48, // size
227, 0, 0, 0, // opcode (227)
6, 0, 0, 0, 0, 0, 0, 0, // guid: Guid
0, 0, 0, 0, // counter: u32
0, 0, 0, 0, // MovementInfo.flags: MovementFlags  NONE (0)
64, 23, 246, 1, // MovementInfo.timestamp: u32
203, 171, 11, 198, // Vector3d.x: f32
7, 134, 248, 194, // Vector3d.y: f32
142, 209, 165, 66, // Vector3d.z: f32
237, 153, 127, 64, // MovementInfo.orientation: f32
57, 3, 0, 0, // MovementInfo.fall_time: f32
0, 0, 224, 64, // new_speed: f32

Client Version 2.4.3

Sent to acknowledge the new speed. Reply to SMSG_FORCE_RUN_SPEED_CHANGE.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_run_speed_change_ack.wowm:45.

cmsg CMSG_FORCE_RUN_SPEED_CHANGE_ACK = 0x00E3 {
    Guid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 3.3.5

Sent to acknowledge the new speed. Reply to SMSG_FORCE_RUN_SPEED_CHANGE.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_run_speed_change_ack.wowm:55.

cmsg CMSG_FORCE_RUN_SPEED_CHANGE_ACK = 0x00E3 {
    PackedGuid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32counter
-- / -MovementInfoinfo
-4 / Littlef32new_speed

CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_swim_back_speed_change_ack.wowm:1.

cmsg CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0x02DD {
    Guid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_swim_back_speed_change_ack.wowm:10.

cmsg CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0x02DD {
    Guid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_swim_back_speed_change_ack.wowm:19.

cmsg CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0x02DD {
    PackedGuid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32counter
-- / -MovementInfoinfo
-4 / Littlef32new_speed

CMSG_FORCE_SWIM_SPEED_CHANGE_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_swim_speed_change_ack.wowm:1.

cmsg CMSG_FORCE_SWIM_SPEED_CHANGE_ACK = 0x00E7 {
    Guid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_swim_speed_change_ack.wowm:10.

cmsg CMSG_FORCE_SWIM_SPEED_CHANGE_ACK = 0x00E7 {
    Guid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_swim_speed_change_ack.wowm:19.

cmsg CMSG_FORCE_SWIM_SPEED_CHANGE_ACK = 0x00E7 {
    PackedGuid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32counter
-- / -MovementInfoinfo
-4 / Littlef32new_speed

CMSG_FORCE_TURN_RATE_CHANGE_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_turn_rate_change_ack.wowm:1.

cmsg CMSG_FORCE_TURN_RATE_CHANGE_ACK = 0x02DF {
    Guid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_turn_rate_change_ack.wowm:10.

cmsg CMSG_FORCE_TURN_RATE_CHANGE_ACK = 0x02DF {
    Guid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_turn_rate_change_ack.wowm:19.

cmsg CMSG_FORCE_TURN_RATE_CHANGE_ACK = 0x02DF {
    PackedGuid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32counter
-- / -MovementInfoinfo
-4 / Littlef32new_speed

CMSG_FORCE_WALK_SPEED_CHANGE_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_walk_speed_change_ack.wowm:1.

cmsg CMSG_FORCE_WALK_SPEED_CHANGE_ACK = 0x02DB {
    Guid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_walk_speed_change_ack.wowm:10.

cmsg CMSG_FORCE_WALK_SPEED_CHANGE_ACK = 0x02DB {
    Guid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_force_walk_speed_change_ack.wowm:19.

cmsg CMSG_FORCE_WALK_SPEED_CHANGE_ACK = 0x02DB {
    PackedGuid guid;
    u32 counter;
    MovementInfo info;
    f32 new_speed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32counter
-- / -MovementInfoinfo
-4 / Littlef32new_speed

CMSG_FRIEND_LIST

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_friend_list.wowm:3.

cmsg CMSG_FRIEND_LIST = 0x0066 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GAMEOBJECT_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_gameobject_query.wowm:3.

cmsg CMSG_GAMEOBJECT_QUERY = 0x005E {
    u32 entry_id;
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32entry_id
0x0A8 / LittleGuidguid

CMSG_GAMEOBJ_REPORT_USE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/cmsg_gameobj_report_use.wowm:1.

cmsg CMSG_GAMEOBJ_REPORT_USE = 0x0481 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_GAMEOBJ_USE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/cmsg_gameobj_use.wowm:3.

cmsg CMSG_GAMEOBJ_USE = 0x00B1 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_GET_CHANNEL_MEMBER_COUNT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_get_channel_member_count.wowm:1.

cmsg CMSG_GET_CHANNEL_MEMBER_COUNT = 0x03D3 {
    CString channel;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_get_channel_member_count.wowm:7.

cmsg CMSG_GET_CHANNEL_MEMBER_COUNT = 0x03D4 {
    CString channel;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel

CMSG_GET_MAIL_LIST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_get_mail_list.wowm:3.

cmsg CMSG_GET_MAIL_LIST = 0x023A {
    Guid mailbox;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox

CMSG_GET_MIRRORIMAGE_DATA

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_get_mirrorimage_data.wowm:1.

cmsg CMSG_GET_MIRRORIMAGE_DATA = 0x0400 {
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidtarget

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_get_mirrorimage_data.wowm:7.

cmsg CMSG_GET_MIRRORIMAGE_DATA = 0x0401 {
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidtarget

CMSG_GMRESPONSE_RESOLVE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmresponse_resolve.wowm:1.

cmsg CMSG_GMRESPONSE_RESOLVE = 0x04F0 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GMSURVEY_SUBMIT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmsurvey_submit.wowm:14.

cmsg CMSG_GMSURVEY_SUBMIT = 0x032A {
    u32 survey_id;
    GmSurveyQuestion[10] questions;
    CString answer_comment;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32survey_idcmangos: Survey ID: found in GMSurveySurveys.dbc
0x0A? / -GmSurveyQuestion[10]questions
-- / -CStringanswer_commentcmangos: Answer comment: Unused in stock UI, can be only set by calling Lua function
cmangos: Answer comment max sizes in bytes: Vanilla - 8106:8110, TBC - 11459:11463, Wrath - 582:586

CMSG_GMTICKETSYSTEM_TOGGLE

Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmticketsystem_toggle.wowm:1.

cmsg CMSG_GMTICKETSYSTEM_TOGGLE = 0x029A {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GMTICKET_CREATE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmticket_create.wowm:1.

cmsg CMSG_GMTICKET_CREATE = 0x0205 {
    GmTicketType category;
    Map map;
    Vector3d position;
    CString message;
    CString reserved_for_future_use;
    if (category == BEHAVIOR_HARASSMENT) {
        u32 chat_data_line_count;
        u8[-] compressed_chat_data;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -GmTicketTypecategory
0x074 / -Mapmap
0x0B12 / -Vector3dposition
0x17- / -CStringmessage
-- / -CStringreserved_for_future_usecmangos/vmangos/mangoszero: Pre-TBC: ‘Reserved for future use’
cmangos/vmangos/mangoszero: Unused

If category is equal to BEHAVIOR_HARASSMENT:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32chat_data_line_count
-? / -u8[-]compressed_chat_data

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmticket_create.wowm:1.

cmsg CMSG_GMTICKET_CREATE = 0x0205 {
    GmTicketType category;
    Map map;
    Vector3d position;
    CString message;
    CString reserved_for_future_use;
    if (category == BEHAVIOR_HARASSMENT) {
        u32 chat_data_line_count;
        u8[-] compressed_chat_data;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -GmTicketTypecategory
0x074 / -Mapmap
0x0B12 / -Vector3dposition
0x17- / -CStringmessage
-- / -CStringreserved_for_future_usecmangos/vmangos/mangoszero: Pre-TBC: ‘Reserved for future use’
cmangos/vmangos/mangoszero: Unused

If category is equal to BEHAVIOR_HARASSMENT:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32chat_data_line_count
-? / -u8[-]compressed_chat_data

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmticket_create.wowm:19.

cmsg CMSG_GMTICKET_CREATE = 0x0205 {
    Map map;
    Vector3d position;
    CString message;
    Bool needs_response;
    Bool needs_more_help;
    u32 num_of_times;
    u32[num_of_times] times;
    u8[-] compressed_data;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Mapmap
0x0A12 / -Vector3dposition
0x16- / -CStringmessage
-1 / -Boolneeds_response
-1 / -Boolneeds_more_help
-4 / Littleu32num_of_times
-? / -u32[num_of_times]times
-? / -u8[-]compressed_data

CMSG_GMTICKET_DELETETICKET

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmticket_deleteticket.wowm:3.

cmsg CMSG_GMTICKET_DELETETICKET = 0x0217 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GMTICKET_GETTICKET

Client Version 1, Client Version 2, Client Version 3

Sent when the client enters the world.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmticket_getticket.wowm:2.

cmsg CMSG_GMTICKET_GETTICKET = 0x0211 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 4, // size
17, 2, 0, 0, // opcode (529)

CMSG_GMTICKET_SYSTEMSTATUS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmticket_systemstatus.wowm:3.

cmsg CMSG_GMTICKET_SYSTEMSTATUS = 0x021A {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GMTICKET_UPDATETEXT

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmticket_updatetext.wowm:1.

cmsg CMSG_GMTICKET_UPDATETEXT = 0x0207 {
    GmTicketType ticket_type;
    CString message;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -GmTicketTypeticket_typecmangos does not have this field, vmangos does.
0x07- / -CStringmessage

Client Version 2, Client Version 3

No TBC/Wrath emulator has a GmTicketType field before message, but vmangos does.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmticket_updatetext.wowm:10.

cmsg CMSG_GMTICKET_UPDATETEXT = 0x0207 {
    CString message;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringmessage

CMSG_GM_REPORT_LAG

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gm_report_lag.wowm:1.

cmsg CMSG_GM_REPORT_LAG = 0x0502 {
    u32 lag_type;
    Map map;
    Vector3d position;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32lag_type
0x0A4 / -Mapmap
0x0E12 / -Vector3dposition

CMSG_GOSSIP_HELLO

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/cmsg_gossip_hello.wowm:3.

cmsg CMSG_GOSSIP_HELLO = 0x017B {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_GOSSIP_SELECT_OPTION

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/cmsg_gossip_select_option.wowm:1.

cmsg CMSG_GOSSIP_SELECT_OPTION = 0x017C {
    Guid guid;
    u32 gossip_list_id;
    optional unknown {
        CString code;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32gossip_list_id

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x12- / -CStringcodevmangos: if (_player->PlayerTalkClass->GossipOptionCoded(gossipListId))

Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/cmsg_gossip_select_option.wowm:12.

cmsg CMSG_GOSSIP_SELECT_OPTION = 0x017C {
    Guid guid;
    u32 menu_id;
    u32 gossip_list_id;
    optional unknown {
        CString code;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32menu_id
0x124 / Littleu32gossip_list_id

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x16- / -CStringcodevmangos: if (_player->PlayerTalkClass->GossipOptionCoded(gossipListId))

CMSG_GRANT_LEVEL

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_grant_level.wowm:1.

cmsg CMSG_GRANT_LEVEL = 0x040C {
    PackedGuid player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidplayer

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_grant_level.wowm:7.

cmsg CMSG_GRANT_LEVEL = 0x040D {
    PackedGuid player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidplayer

CMSG_GROUP_ACCEPT

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_accept.wowm:1.

cmsg CMSG_GROUP_ACCEPT = 0x0072 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_accept.wowm:5.

cmsg CMSG_GROUP_ACCEPT = 0x0072 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GROUP_ASSISTANT_LEADER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_assistant_leader.wowm:3.

cmsg CMSG_GROUP_ASSISTANT_LEADER = 0x028F {
    Guid guid;
    Bool set_assistant;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E1 / -Boolset_assistant

CMSG_GROUP_CANCEL

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_cancel.wowm:1.

cmsg CMSG_GROUP_CANCEL = 0x0070 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GROUP_CHANGE_SUB_GROUP

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_change_sub_group.wowm:3.

cmsg CMSG_GROUP_CHANGE_SUB_GROUP = 0x027E {
    CString name;
    u8 group_number;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname
-1 / -u8group_number

CMSG_GROUP_DECLINE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_decline.wowm:3.

cmsg CMSG_GROUP_DECLINE = 0x0073 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GROUP_DISBAND

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_disband.wowm:3.

cmsg CMSG_GROUP_DISBAND = 0x007B {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GROUP_INVITE

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_invite.wowm:1.

cmsg CMSG_GROUP_INVITE = 0x006E {
    CString name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_invite.wowm:7.

cmsg CMSG_GROUP_INVITE = 0x006E {
    CString name;
    u32 unknown1;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname
-4 / Littleu32unknown1

CMSG_GROUP_RAID_CONVERT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_raid_convert.wowm:3.

cmsg CMSG_GROUP_RAID_CONVERT = 0x028E {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GROUP_SET_LEADER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_set_leader.wowm:3.

cmsg CMSG_GROUP_SET_LEADER = 0x0078 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_GROUP_SWAP_SUB_GROUP

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_swap_sub_group.wowm:3.

cmsg CMSG_GROUP_SWAP_SUB_GROUP = 0x0280 {
    CString name;
    CString swap_with_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname
-- / -CStringswap_with_name

CMSG_GROUP_UNINVITE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_uninvite.wowm:3.

cmsg CMSG_GROUP_UNINVITE = 0x0075 {
    CString name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname

CMSG_GROUP_UNINVITE_GUID

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_uninvite_guid.wowm:1.

cmsg CMSG_GROUP_UNINVITE_GUID = 0x0076 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_group_uninvite_guid.wowm:7.

cmsg CMSG_GROUP_UNINVITE_GUID = 0x0076 {
    Guid guid;
    CString reason;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E- / -CStringreason

CMSG_GUILD_ACCEPT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_accept.wowm:3.

cmsg CMSG_GUILD_ACCEPT = 0x0084 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GUILD_ADD_RANK

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_add_rank.wowm:3.

cmsg CMSG_GUILD_ADD_RANK = 0x0232 {
    CString rank_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringrank_name

CMSG_GUILD_BANKER_ACTIVATE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_banker_activate.wowm:1.

cmsg CMSG_GUILD_BANKER_ACTIVATE = 0x03E5 {
    Guid bank;
    Bool full_update;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E1 / -Boolfull_update

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_banker_activate.wowm:8.

cmsg CMSG_GUILD_BANKER_ACTIVATE = 0x03E6 {
    Guid bank;
    Bool full_update;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E1 / -Boolfull_update

CMSG_GUILD_BANK_BUY_TAB

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_buy_tab.wowm:1.

cmsg CMSG_GUILD_BANK_BUY_TAB = 0x03E9 {
    Guid banker;
    u8 tab;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbanker
0x0E1 / -u8tab

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_buy_tab.wowm:8.

cmsg CMSG_GUILD_BANK_BUY_TAB = 0x03EA {
    Guid banker;
    u8 tab;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbanker
0x0E1 / -u8tab

CMSG_GUILD_BANK_DEPOSIT_MONEY

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_deposit_money.wowm:1.

cmsg CMSG_GUILD_BANK_DEPOSIT_MONEY = 0x03EB {
    Guid bank;
    Gold money;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E4 / LittleGoldmoney

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_deposit_money.wowm:8.

cmsg CMSG_GUILD_BANK_DEPOSIT_MONEY = 0x03EC {
    Guid bank;
    Gold money;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E4 / LittleGoldmoney

CMSG_GUILD_BANK_QUERY_TAB

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_query_tab.wowm:1.

cmsg CMSG_GUILD_BANK_QUERY_TAB = 0x03E6 {
    Guid bank;
    u8 tab;
    Bool full_update;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E1 / -u8tab
0x0F1 / -Boolfull_update

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_query_tab.wowm:9.

cmsg CMSG_GUILD_BANK_QUERY_TAB = 0x03E7 {
    Guid bank;
    u8 tab;
    Bool full_update;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E1 / -u8tab
0x0F1 / -Boolfull_update

CMSG_GUILD_BANK_SWAP_ITEMS

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_swap_items.wowm:15.

cmsg CMSG_GUILD_BANK_SWAP_ITEMS = 0x03E8 {
    Guid bank;
    BankSwapSource source;
    if (source == BANK) {
        u8 bank_destination_tab;
        u8 bank_destination_slot;
        u32 unknown1;
        u8 bank_source_tab;
        u8 bank_source_slot;
        Item item1;
        u8 unknown2;
        u8 amount;
    }
    else {
        u8 bank_tab;
        u8 bank_slot;
        Item item2;
        BankSwapStoreMode mode;
        if (mode == AUTOMATIC) {
            u32 auto_count;
            u8 unknown3;
            u8 unknown4;
        }
        else {
            u8 player_bag;
            u8 player_bag_slot;
            Bool bank_to_character_transfer;
            u8 split_amount;
        }
    }
    u8[-] unknown5;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_swap_items.wowm:49.

cmsg CMSG_GUILD_BANK_SWAP_ITEMS = 0x03E9 {
    Guid bank;
    BankSwapSource source;
    if (source == BANK) {
        u8 bank_destination_tab;
        u8 bank_destination_slot;
        u32 unknown1;
        u8 bank_source_tab;
        u8 bank_source_slot;
        Item item1;
        u8 unknown2;
        u32 amount;
    }
    else {
        u8 bank_tab;
        u8 bank_slot;
        Item item2;
        BankSwapStoreMode mode;
        if (mode == AUTOMATIC) {
            u32 auto_count;
            u8 unknown3;
            u32 unknown4;
        }
        else {
            u8 player_bag;
            u8 player_bag_slot;
            Bool bank_to_character_transfer;
            u32 split_amount;
        }
    }
    u8[-] unknown5;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

CMSG_GUILD_BANK_UPDATE_TAB

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_update_tab.wowm:1.

cmsg CMSG_GUILD_BANK_UPDATE_TAB = 0x03EA {
    Guid bank;
    u8 tab;
    CString name;
    CString icon;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E1 / -u8tab
0x0F- / -CStringname
-- / -CStringicon

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_update_tab.wowm:10.

cmsg CMSG_GUILD_BANK_UPDATE_TAB = 0x03EB {
    Guid bank;
    u8 tab;
    CString name;
    CString icon;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E1 / -u8tab
0x0F- / -CStringname
-- / -CStringicon

CMSG_GUILD_BANK_WITHDRAW_MONEY

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_withdraw_money.wowm:1.

cmsg CMSG_GUILD_BANK_WITHDRAW_MONEY = 0x03EC {
    Guid bank;
    Gold money;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E4 / LittleGoldmoney

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_withdraw_money.wowm:8.

cmsg CMSG_GUILD_BANK_WITHDRAW_MONEY = 0x03ED {
    Guid bank;
    Gold money;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E4 / LittleGoldmoney

CMSG_GUILD_CREATE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_create.wowm:3.

cmsg CMSG_GUILD_CREATE = 0x0081 {
    CString guild_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringguild_name

CMSG_GUILD_DECLINE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_decline.wowm:3.

cmsg CMSG_GUILD_DECLINE = 0x0085 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GUILD_DEL_RANK

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_del_rank.wowm:3.

cmsg CMSG_GUILD_DEL_RANK = 0x0233 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GUILD_DEMOTE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_demote.wowm:3.

cmsg CMSG_GUILD_DEMOTE = 0x008C {
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringplayer_name

CMSG_GUILD_DISBAND

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_disband.wowm:3.

cmsg CMSG_GUILD_DISBAND = 0x008F {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GUILD_INFO

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_info.wowm:3.

cmsg CMSG_GUILD_INFO = 0x0087 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GUILD_INFO_TEXT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_info_text.wowm:3.

cmsg CMSG_GUILD_INFO_TEXT = 0x02FC {
    CString guild_info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringguild_info

CMSG_GUILD_INVITE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_invite.wowm:3.

cmsg CMSG_GUILD_INVITE = 0x0082 {
    CString invited_player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringinvited_player

CMSG_GUILD_LEADER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_leader.wowm:3.

cmsg CMSG_GUILD_LEADER = 0x0090 {
    CString new_guild_leader_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringnew_guild_leader_name

CMSG_GUILD_LEAVE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_leave.wowm:3.

cmsg CMSG_GUILD_LEAVE = 0x008D {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GUILD_MOTD

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_motd.wowm:3.

cmsg CMSG_GUILD_MOTD = 0x0091 {
    CString message_of_the_day;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringmessage_of_the_day

CMSG_GUILD_PROMOTE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_promote.wowm:3.

cmsg CMSG_GUILD_PROMOTE = 0x008B {
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringplayer_name

CMSG_GUILD_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_guild_query.wowm:3.

cmsg CMSG_GUILD_QUERY = 0x0054 {
    u32 guild_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32guild_id

CMSG_GUILD_RANK

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_rank.wowm:1.

cmsg CMSG_GUILD_RANK = 0x0231 {
    u32 rank_id;
    u32 rights;
    CString rank_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32rank_id
0x0A4 / Littleu32rights
0x0E- / -CStringrank_name

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_rank.wowm:16.

cmsg CMSG_GUILD_RANK = 0x0231 {
    u32 rank_id;
    u32 rights;
    CString rank_name;
    Gold money_per_day;
    GuildBankRights[6] bank_tab_rights;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32rank_id
0x0A4 / Littleu32rights
0x0E- / -CStringrank_name
-4 / LittleGoldmoney_per_day
-48 / -GuildBankRights[6]bank_tab_rights

CMSG_GUILD_REMOVE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_remove.wowm:3.

cmsg CMSG_GUILD_REMOVE = 0x008E {
    CString player_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringplayer_name

CMSG_GUILD_ROSTER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_roster.wowm:3.

cmsg CMSG_GUILD_ROSTER = 0x0089 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_GUILD_SET_OFFICER_NOTE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_set_officer_note.wowm:3.

cmsg CMSG_GUILD_SET_OFFICER_NOTE = 0x0235 {
    CString player_name;
    CString note;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringplayer_name
-- / -CStringnotevmangos: Max length 31

CMSG_GUILD_SET_PUBLIC_NOTE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_set_public_note.wowm:3.

cmsg CMSG_GUILD_SET_PUBLIC_NOTE = 0x0234 {
    CString player_name;
    CString note;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringplayer_name
-- / -CStringnote

CMSG_HEARTH_AND_RESURRECT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/cmsg_hearth_and_resurrect.wowm:1.

cmsg CMSG_HEARTH_AND_RESURRECT = 0x049C {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_IGNORE_TRADE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/cmsg_ignore_trade.wowm:3.

cmsg CMSG_IGNORE_TRADE = 0x0119 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_INITIATE_TRADE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/cmsg_initiate_trade.wowm:1.

cmsg CMSG_INITIATE_TRADE = 0x0116 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

Examples

Example 1

0, 12, // size
22, 1, 0, 0, // opcode (278)
23, 0, 0, 0, 0, 0, 0, 0, // guid: Guid

CMSG_INSPECT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_inspect.wowm:3.

cmsg CMSG_INSPECT = 0x0114 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_INSTANCE_LOCK_RESPONSE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/cmsg_instance_lock_response.wowm:1.

cmsg CMSG_INSTANCE_LOCK_RESPONSE = 0x013F {
    Bool accept;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -Boolaccept

CMSG_ITEM_NAME_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_item_name_query.wowm:3.

cmsg CMSG_ITEM_NAME_QUERY = 0x02C4 {
    Item item;
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleItemitem
0x0A8 / LittleGuidguid

CMSG_ITEM_QUERY_SINGLE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_item_query_single.wowm:1.

cmsg CMSG_ITEM_QUERY_SINGLE = 0x0056 {
    Item item;
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleItemitem
0x0A8 / LittleGuidguid

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_item_query_single.wowm:8.

cmsg CMSG_ITEM_QUERY_SINGLE = 0x0056 {
    Item item;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleItemitem

CMSG_ITEM_REFUND

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_item_refund.wowm:1.

cmsg CMSG_ITEM_REFUND = 0x04B4 {
    Guid item;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuiditem

CMSG_ITEM_REFUND_INFO

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_item_refund_info.wowm:1.

cmsg CMSG_ITEM_REFUND_INFO = 0x04B3 {
    Guid item;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuiditem

CMSG_ITEM_TEXT_QUERY

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_item_text_query.wowm:1.

cmsg CMSG_ITEM_TEXT_QUERY = 0x0243 {
    u32 item_text_id;
    u32 mail_id;
    u32 unknown1;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32item_text_id
0x0A4 / Littleu32mail_idvmangos/cmangos/mangoszero: this value can be item id in bag, but it is also mail id
0x0E4 / Littleu32unknown1vmangos/cmangos/mangoszero: maybe something like state - 0x70000000

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_item_text_query.wowm:11.

cmsg CMSG_ITEM_TEXT_QUERY = 0x0243 {
    Guid item;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuiditem

CMSG_JOIN_CHANNEL

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_join_channel.wowm:1.

cmsg CMSG_JOIN_CHANNEL = 0x0097 {
    CString channel_name;
    CString channel_password;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name
-- / -CStringchannel_password

Examples

Example 1

0, 29, // size
151, 0, 0, 0, // opcode (151)
71, 101, 110, 101, 114, 97, 108, 32, 45, 32, 69, 108, 119, 121, 110, 110, 32, 70, 111, 114, 101, 115, 116, 0, // channel_name: CString
0, // channel_password: CString

Example 2

0, 34, // size
151, 0, 0, 0, // opcode (151)
76, 111, 99, 97, 108, 68, 101, 102, 101, 110, 115, 101, 32, 45, 32, 69, 108, 119, 121, 110, 110, 32, 70, 111, 114, 101, 115, 116, 0, // channel_name: CString
0, // channel_password: CString

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_join_channel.wowm:32.

cmsg CMSG_JOIN_CHANNEL = 0x0097 {
    u32 channel_id;
    u8 unknown1;
    u8 unknown2;
    CString channel_name;
    CString channel_password;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32channel_id
0x0A1 / -u8unknown1
0x0B1 / -u8unknown2
0x0C- / -CStringchannel_name
-- / -CStringchannel_password

CMSG_KEEP_ALIVE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_keep_alive.wowm:1.

cmsg CMSG_KEEP_ALIVE = 0x0406 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_keep_alive.wowm:5.

cmsg CMSG_KEEP_ALIVE = 0x0407 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LEARN_PREVIEW_TALENTS

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_learn_preview_talents.wowm:8.

cmsg CMSG_LEARN_PREVIEW_TALENTS = 0x04C1 {
    u32 amount_of_talents;
    PreviewTalent[amount_of_talents] talents;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32amount_of_talents
0x0A? / -PreviewTalent[amount_of_talents]talents

CMSG_LEARN_PREVIEW_TALENTS_PET

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_learn_preview_talents_pet.wowm:1.

cmsg CMSG_LEARN_PREVIEW_TALENTS_PET = 0x04C2 {
    Guid pet;
    u32 amount_of_talents;
    PreviewTalent[amount_of_talents] talents;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpet
0x0E4 / Littleu32amount_of_talents
0x12? / -PreviewTalent[amount_of_talents]talents

CMSG_LEARN_TALENT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_learn_talent.wowm:1.

cmsg CMSG_LEARN_TALENT = 0x0251 {
    Talent talent;
    u32 requested_rank;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Talenttalent
0x0A4 / Littleu32requested_rank

Examples

Example 1

0, 12, // size
81, 2, 0, 0, // opcode (593)
158, 0, 0, 0, // talent: Talent BOOMING_VOICE (158)
0, 0, 0, 0, // requested_rank: u32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_learn_talent.wowm:1.

cmsg CMSG_LEARN_TALENT = 0x0251 {
    Talent talent;
    u32 requested_rank;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Talenttalent
0x0A4 / Littleu32requested_rank

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_learn_talent.wowm:1.

cmsg CMSG_LEARN_TALENT = 0x0251 {
    Talent talent;
    u32 requested_rank;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Talenttalent
0x0A4 / Littleu32requested_rank

CMSG_LEAVE_BATTLEFIELD

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_leave_battlefield.wowm:1.

cmsg CMSG_LEAVE_BATTLEFIELD = 0x02E1 {
    Map map;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Mapmap

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_leave_battlefield.wowm:7.

cmsg CMSG_LEAVE_BATTLEFIELD = 0x02E1 {
    u8 unknown1;
    u8 unknown2;
    Map map;
    u16 unknown3;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8unknown1
0x071 / -u8unknown2
0x084 / -Mapmap
0x0C2 / Littleu16unknown3

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_leave_battlefield.wowm:7.

cmsg CMSG_LEAVE_BATTLEFIELD = 0x02E1 {
    u8 unknown1;
    u8 unknown2;
    Map map;
    u16 unknown3;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8unknown1
0x071 / -u8unknown2
0x084 / -Mapmap
0x0C2 / Littleu16unknown3

CMSG_LEAVE_CHANNEL

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_leave_channel.wowm:1.

cmsg CMSG_LEAVE_CHANNEL = 0x0098 {
    CString channel_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel_name

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_leave_channel.wowm:7.

cmsg CMSG_LEAVE_CHANNEL = 0x0098 {
    u32 channel_id;
    CString channel_name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32channel_id
0x0A- / -CStringchannel_name

CMSG_LFD_PARTY_LOCK_INFO_REQUEST

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfd_party_lock_info_request.wowm:1.

cmsg CMSG_LFD_PARTY_LOCK_INFO_REQUEST = 0x0371 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LFD_PLAYER_LOCK_INFO_REQUEST

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfg_player_lock_info_request.wowm:3.

cmsg CMSG_LFD_PLAYER_LOCK_INFO_REQUEST = 0x036E {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LFG_CLEAR_AUTOJOIN

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfg_clear_autojoin.wowm:1.

cmsg CMSG_LFG_CLEAR_AUTOJOIN = 0x035D {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LFG_GET_STATUS

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfg_get_status.wowm:3.

cmsg CMSG_LFG_GET_STATUS = 0x0296 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LFG_JOIN

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfg_join.wowm:1.

cmsg CMSG_LFG_JOIN = 0x035C {
    u32 roles;
    Bool no_partial_clear;
    Bool achievements;
    u8 amount_of_slots;
    u32[amount_of_slots] slots;
    u8 amount_of_needs;
    u8[amount_of_needs] needs;
    CString comment;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32roles
0x0A1 / -Boolno_partial_clear
0x0B1 / -Boolachievements
0x0C1 / -u8amount_of_slots
0x0D? / -u32[amount_of_slots]slots
-1 / -u8amount_of_needs
-? / -u8[amount_of_needs]needs
-- / -CStringcomment

CMSG_LFG_LEAVE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfg_leave.wowm:1.

cmsg CMSG_LFG_LEAVE = 0x035D {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LFG_PROPOSAL_RESULT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfg_proposal_result.wowm:1.

cmsg CMSG_LFG_PROPOSAL_RESULT = 0x0362 {
    u32 proposal_id;
    Bool accept_join;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32proposal_id
0x0A1 / -Boolaccept_join

CMSG_LFG_SET_AUTOJOIN

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfg_set_autojoin.wowm:1.

cmsg CMSG_LFG_SET_AUTOJOIN = 0x035C {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LFG_SET_BOOT_VOTE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfg_set_boot_vote.wowm:1.

cmsg CMSG_LFG_SET_BOOT_VOTE = 0x036C {
    Bool agree_to_kick_player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -Boolagree_to_kick_player

CMSG_LFG_SET_ROLES

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfg_set_roles.wowm:1.

cmsg CMSG_LFG_SET_ROLES = 0x036A {
    u8 roles;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8roles

CMSG_LFG_TELEPORT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfg_teleport.wowm:8.

cmsg CMSG_LFG_TELEPORT = 0x0370 {
    LfgTeleportLocation location;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -LfgTeleportLocationlocation

CMSG_LFM_CLEAR_AUTOFILL

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfm_clear_autofill.wowm:1.

cmsg CMSG_LFM_CLEAR_AUTOFILL = 0x035F {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LFM_SET_AUTOFILL

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_lfm_set_autofill.wowm:1.

cmsg CMSG_LFM_SET_AUTOFILL = 0x035E {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LIST_INVENTORY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_list_inventory.wowm:3.

cmsg CMSG_LIST_INVENTORY = 0x019E {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_LOGOUT_CANCEL

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_logout_cancel.wowm:3.

cmsg CMSG_LOGOUT_CANCEL = 0x004E {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LOGOUT_REQUEST

Client Version 1, Client Version 2, Client Version 3

Sent by client after pressing ‘Logout’ or ‘Exit Game’.

Server should reply with SMSG_LOGOUT_RESPONSE.

Spamming the ‘Logout’ and ‘Exit Game’ buttons does not send multiple messages.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_logout_request.wowm:6.

cmsg CMSG_LOGOUT_REQUEST = 0x004B {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 4, // size
75, 0, 0, 0, // opcode (75)

CMSG_LOOT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/cmsg_loot.wowm:3.

cmsg CMSG_LOOT = 0x015D {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_LOOT_MASTER_GIVE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/cmsg_loot_master_give.wowm:3.

cmsg CMSG_LOOT_MASTER_GIVE = 0x02A3 {
    Guid loot;
    u8 slot_id;
    Guid player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidloot
0x0E1 / -u8slot_id
0x0F8 / LittleGuidplayer

CMSG_LOOT_METHOD

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_loot_method.wowm:1.

cmsg CMSG_LOOT_METHOD = 0x007A {
    (u32)GroupLootSetting loot_setting;
    Guid loot_master;
    (u32)ItemQuality loot_threshold;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -GroupLootSettingloot_setting
0x0A8 / LittleGuidloot_master
0x124 / -ItemQualityloot_threshold

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_loot_method.wowm:9.

cmsg CMSG_LOOT_METHOD = 0x007A {
    (u32)GroupLootSetting loot_setting;
    Guid loot_master;
    (u32)ItemQuality loot_threshold;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -GroupLootSettingloot_setting
0x0A8 / LittleGuidloot_master
0x124 / -ItemQualityloot_threshold

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_loot_method.wowm:17.

cmsg CMSG_LOOT_METHOD = 0x007A {
    (u32)GroupLootSetting loot_setting;
    Guid loot_master;
    (u32)ItemQuality loot_threshold;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -GroupLootSettingloot_setting
0x0A8 / LittleGuidloot_master
0x124 / -ItemQualityloot_threshold

CMSG_LOOT_MONEY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/cmsg_loot_money.wowm:3.

cmsg CMSG_LOOT_MONEY = 0x015E {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_LOOT_RELEASE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/cmsg_loot_release.wowm:3.

cmsg CMSG_LOOT_RELEASE = 0x015F {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_LOOT_ROLL

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/cmsg_loot_roll.wowm:1.

cmsg CMSG_LOOT_ROLL = 0x02A0 {
    Guid item;
    u32 item_slot;
    RollVote vote;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuiditem
0x0E4 / Littleu32item_slot
0x121 / -RollVotevote

Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/cmsg_loot_roll.wowm:9.

cmsg CMSG_LOOT_ROLL = 0x02A0 {
    Guid item;
    u32 item_slot;
    RollVote vote;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuiditem
0x0E4 / Littleu32item_slot
0x121 / -RollVotevote

CMSG_MAIL_CREATE_TEXT_ITEM

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_mail_create_text_item.wowm:1.

cmsg CMSG_MAIL_CREATE_TEXT_ITEM = 0x024A {
    Guid mailbox;
    u32 mail_id;
    u32 mail_template_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox
0x0E4 / Littleu32mail_id
0x124 / Littleu32mail_template_idmangoszero/cmangos/vmangos: mailTemplateId, non need, Mail store own 100% correct value anyway

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_mail_create_text_item.wowm:10.

cmsg CMSG_MAIL_CREATE_TEXT_ITEM = 0x024A {
    Guid mailbox;
    u32 mail_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox
0x0E4 / Littleu32mail_id

CMSG_MAIL_DELETE

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_mail_delete.wowm:1.

cmsg CMSG_MAIL_DELETE = 0x0249 {
    Guid mailbox_id;
    u32 mail_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox_id
0x0E4 / Littleu32mail_id

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_mail_delete.wowm:8.

cmsg CMSG_MAIL_DELETE = 0x0249 {
    Guid mailbox_id;
    u32 mail_id;
    u32 mail_template_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox_id
0x0E4 / Littleu32mail_id
0x124 / Littleu32mail_template_id

CMSG_MAIL_MARK_AS_READ

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_mail_mark_as_read.wowm:3.

cmsg CMSG_MAIL_MARK_AS_READ = 0x0247 {
    Guid mailbox;
    u32 mail_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox
0x0E4 / Littleu32mail_id

CMSG_MAIL_RETURN_TO_SENDER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_mail_return_to_sender.wowm:3.

cmsg CMSG_MAIL_RETURN_TO_SENDER = 0x0248 {
    Guid mailbox_id;
    u32 mail_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox_id
0x0E4 / Littleu32mail_id

CMSG_MAIL_TAKE_ITEM

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_mail_take_item.wowm:1.

cmsg CMSG_MAIL_TAKE_ITEM = 0x0246 {
    Guid mailbox;
    u32 mail_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox
0x0E4 / Littleu32mail_id

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_mail_take_item.wowm:8.

cmsg CMSG_MAIL_TAKE_ITEM = 0x0246 {
    Guid mailbox;
    u32 mail_id;
    Item item;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox
0x0E4 / Littleu32mail_id
0x124 / LittleItemitem

CMSG_MAIL_TAKE_MONEY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_mail_take_money.wowm:3.

cmsg CMSG_MAIL_TAKE_MONEY = 0x0245 {
    Guid mailbox;
    u32 mail_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox
0x0E4 / Littleu32mail_id

CMSG_MEETINGSTONE_INFO

Client Version 1, Client Version 2

Sent when the client enters the world.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/meetingstone/cmsg_meetingstone_info.wowm:2.

cmsg CMSG_MEETINGSTONE_INFO = 0x0296 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 4, // size
150, 2, 0, 0, // opcode (662)

CMSG_MEETINGSTONE_JOIN

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/meetingstone/cmsg_meetingstone_join.wowm:3.

cmsg CMSG_MEETINGSTONE_JOIN = 0x0292 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_MEETINGSTONE_LEAVE

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/meetingstone/cmsg_meetingstone_leave.wowm:3.

cmsg CMSG_MEETINGSTONE_LEAVE = 0x0293 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_MESSAGECHAT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_messagechat.wowm:1.

cmsg CMSG_MESSAGECHAT = 0x0095 {
    (u32)ChatType chat_type;
    Language language;
    if (chat_type == WHISPER) {
        CString target_player;
    }
    else if (chat_type == CHANNEL) {
        CString channel;
    }
    CString message;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -ChatTypechat_type
0x0A4 / -Languagelanguage

If chat_type is equal to WHISPER:

OffsetSize / EndiannessTypeNameComment
0x0E- / -CStringtarget_player

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel
-- / -CStringmessage

Examples

Example 1

Comment

Say message.

0, 35, // size
149, 0, 0, 0, // opcode (149)
0, 0, 0, 0, // chat_type: ChatType SAY (0x00)
7, 0, 0, 0, // language: Language COMMON (7)
84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 115, 97, 121, 32, 109, 101, 115, 115, 97, 103, 101, 46, 0, // message: CString

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_messagechat.wowm:30.

cmsg CMSG_MESSAGECHAT = 0x0095 {
    (u32)ChatType chat_type;
    (u32)Language language;
    if (chat_type == WHISPER) {
        CString target_player;
    }
    else if (chat_type == CHANNEL) {
        CString channel;
    }
    CString message;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -ChatTypechat_type
0x0A4 / -Languagelanguage

If chat_type is equal to WHISPER:

OffsetSize / EndiannessTypeNameComment
0x0E- / -CStringtarget_player

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel
-- / -CStringmessage

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_messagechat.wowm:44.

cmsg CMSG_MESSAGECHAT = 0x0095 {
    (u32)ChatType chat_type;
    (u32)Language language;
    if (chat_type == WHISPER) {
        CString target_player;
    }
    else if (chat_type == CHANNEL) {
        CString channel;
    }
    CString message;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -ChatTypechat_type
0x0A4 / -Languagelanguage

If chat_type is equal to WHISPER:

OffsetSize / EndiannessTypeNameComment
0x0E- / -CStringtarget_player

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel
-- / -CStringmessage

CMSG_MOUNTSPECIAL_ANIM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mount/cmsg_mountspecial_anim.wowm:3.

cmsg CMSG_MOUNTSPECIAL_ANIM = 0x0171 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_MOVE_CHNG_TRANSPORT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_chng_transport.wowm:1.

cmsg CMSG_MOVE_CHNG_TRANSPORT = 0x038D {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_chng_transport.wowm:7.

cmsg CMSG_MOVE_CHNG_TRANSPORT = 0x038D {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

CMSG_MOVE_FALL_RESET

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_fall_reset.wowm:1.

cmsg CMSG_MOVE_FALL_RESET = 0x02CA {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_fall_reset.wowm:7.

cmsg CMSG_MOVE_FALL_RESET = 0x02CA {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_fall_reset.wowm:13.

cmsg CMSG_MOVE_FALL_RESET = 0x02CA {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

CMSG_MOVE_FEATHER_FALL_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_feather_fall_ack.wowm:1.

cmsg CMSG_MOVE_FEATHER_FALL_ACK = 0x02CF {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
    u32 apply;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo
-4 / Littleu32apply

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_feather_fall_ack.wowm:1.

cmsg CMSG_MOVE_FEATHER_FALL_ACK = 0x02CF {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
    u32 apply;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo
-4 / Littleu32apply

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_feather_fall_ack.wowm:1.

cmsg CMSG_MOVE_FEATHER_FALL_ACK = 0x02CF {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
    u32 apply;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo
-4 / Littleu32apply

CMSG_MOVE_GRAVITY_DISABLE_ACK

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_gravity_disable_ack.wowm:1.

cmsg CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x04CF {
    PackedGuid guid;
    u32 unknown;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32unknown
-- / -MovementInfoinfo

CMSG_MOVE_GRAVITY_ENABLE_ACK

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_gravity_enable_ack.wowm:1.

cmsg CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x04D1 {
    PackedGuid guid;
    u32 unknown;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32unknown
-- / -MovementInfoinfo

CMSG_MOVE_HOVER_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_hover_ack.wowm:3.

cmsg CMSG_MOVE_HOVER_ACK = 0x00F6 {
    Guid guid;
    u32 counter;
    MovementInfo info;
    u32 is_applied;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littleu32is_applied

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_hover_ack.wowm:3.

cmsg CMSG_MOVE_HOVER_ACK = 0x00F6 {
    Guid guid;
    u32 counter;
    MovementInfo info;
    u32 is_applied;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littleu32is_applied

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_hover_ack.wowm:3.

cmsg CMSG_MOVE_HOVER_ACK = 0x00F6 {
    Guid guid;
    u32 counter;
    MovementInfo info;
    u32 is_applied;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / Littleu32is_applied

CMSG_MOVE_KNOCK_BACK_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_knock_back_ack.wowm:3.

cmsg CMSG_MOVE_KNOCK_BACK_ACK = 0x00F0 {
    Guid guid;
    u32 counter;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_knock_back_ack.wowm:3.

cmsg CMSG_MOVE_KNOCK_BACK_ACK = 0x00F0 {
    Guid guid;
    u32 counter;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_knock_back_ack.wowm:3.

cmsg CMSG_MOVE_KNOCK_BACK_ACK = 0x00F0 {
    Guid guid;
    u32 counter;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo

CMSG_MOVE_NOT_ACTIVE_MOVER

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_not_active_mover.wowm:3.

cmsg CMSG_MOVE_NOT_ACTIVE_MOVER = 0x02D1 {
    Guid old_mover;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidold_mover
0x0E- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_not_active_mover.wowm:3.

cmsg CMSG_MOVE_NOT_ACTIVE_MOVER = 0x02D1 {
    Guid old_mover;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidold_mover
0x0E- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_not_active_mover.wowm:3.

cmsg CMSG_MOVE_NOT_ACTIVE_MOVER = 0x02D1 {
    Guid old_mover;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidold_mover
0x0E- / -MovementInfoinfo

CMSG_MOVE_SET_CAN_FLY_ACK

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_set_can_fly_ack.wowm:1.

cmsg CMSG_MOVE_SET_CAN_FLY_ACK = 0x0345 {
    Guid player;
    u32 counter;
    MovementInfo info;
    Bool32 applied;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / LittleBool32applied

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_set_can_fly_ack.wowm:1.

cmsg CMSG_MOVE_SET_CAN_FLY_ACK = 0x0345 {
    Guid player;
    u32 counter;
    MovementInfo info;
    Bool32 applied;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E4 / Littleu32counter
0x12- / -MovementInfoinfo
-4 / LittleBool32applied

CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_set_can_transition_between_swim_and_fly_ack.wowm:1.

cmsg CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK = 0x0340 {
    PackedGuid guid;
    u32 unknown1;
    MovementInfo info;
    u32 unknown2;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32unknown1
-- / -MovementInfoinfo
-4 / Littleu32unknown2

CMSG_MOVE_SET_COLLISION_HGT_ACK

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_set_collision_hgt_ack.wowm:1.

cmsg CMSG_MOVE_SET_COLLISION_HGT_ACK = 0x0517 {
    PackedGuid player;
    u32 movement_counter;
    MovementInfo info;
    f32 new_height;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidplayer
-4 / Littleu32movement_counter
-- / -MovementInfoinfo
-4 / Littlef32new_height

CMSG_MOVE_SET_FLY

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_set_fly.wowm:1.

cmsg CMSG_MOVE_SET_FLY = 0x0346 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_set_fly.wowm:7.

cmsg CMSG_MOVE_SET_FLY = 0x0346 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

CMSG_MOVE_SET_RAW_POSITION

Client Version 1.12, Client Version 2, Client Version 3

vmangos/mangoszero: write in client console: setrawpos x y z o. For now, it is implemented like worldport but on the same map. Consider using MSG_MOVE_SET_RAW_POSITION_ACK.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_set_raw_position.wowm:4.

cmsg CMSG_MOVE_SET_RAW_POSITION = 0x00E1 {
    Vector3d position;
    f32 orientation;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0612 / -Vector3dposition
0x124 / Littlef32orientation

CMSG_MOVE_SPLINE_DONE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_spline_done.wowm:1.

cmsg CMSG_MOVE_SPLINE_DONE = 0x02C9 {
    MovementInfo info;
    u32 movement_counter;
    u32 unknown1;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo
-4 / Littleu32movement_counter
-4 / Littleu32unknown1

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_spline_done.wowm:9.

cmsg CMSG_MOVE_SPLINE_DONE = 0x02C9 {
    MovementInfo info;
    u32 movement_counter;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo
-4 / Littleu32movement_counter

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_spline_done.wowm:9.

cmsg CMSG_MOVE_SPLINE_DONE = 0x02C9 {
    MovementInfo info;
    u32 movement_counter;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo
-4 / Littleu32movement_counter

CMSG_MOVE_TIME_SKIPPED

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_time_skipped.wowm:1.

cmsg CMSG_MOVE_TIME_SKIPPED = 0x02CE {
    Guid guid;
    u32 lag;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32lag

Examples

Example 1

0, 16, // size
206, 2, 0, 0, // opcode (718)
23, 0, 0, 0, 0, 0, 0, 0, // guid: Guid
32, 0, 0, 0, // lag: u32

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_time_skipped_3_3_5.wowm:1.

cmsg CMSG_MOVE_TIME_SKIPPED = 0x02CE {
    PackedGuid guid;
    u32 lag;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32lag

CMSG_MOVE_WATER_WALK_ACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_water_walk_ack.wowm:3.

cmsg CMSG_MOVE_WATER_WALK_ACK = 0x02D0 {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
    u32 apply;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo
-4 / Littleu32apply

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_water_walk_ack.wowm:3.

cmsg CMSG_MOVE_WATER_WALK_ACK = 0x02D0 {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
    u32 apply;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo
-4 / Littleu32apply

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_move_water_walk_ack.wowm:3.

cmsg CMSG_MOVE_WATER_WALK_ACK = 0x02D0 {
    Guid guid;
    u32 movement_counter;
    MovementInfo info;
    u32 apply;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32movement_counter
0x12- / -MovementInfoinfo
-4 / Littleu32apply

CMSG_NAME_QUERY

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_name_query.wowm:3.

cmsg CMSG_NAME_QUERY = 0x0050 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_NEXT_CINEMATIC_CAMERA

Client Version 1, Client Version 2, Client Version 3

Sent by client when cinematic beings.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/cinematic/cmsg_next_cinematic_camera.wowm:4.

cmsg CMSG_NEXT_CINEMATIC_CAMERA = 0x00FB {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_NPC_TEXT_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_npc_text_query.wowm:3.

cmsg CMSG_NPC_TEXT_QUERY = 0x017F {
    u32 text_id;
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32text_id
0x0A8 / LittleGuidguid

CMSG_OFFER_PETITION

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_offer_petition.wowm:1.

cmsg CMSG_OFFER_PETITION = 0x01C3 {
    Guid petition;
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpetition
0x0E8 / LittleGuidtarget

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_offer_petition.wowm:8.

cmsg CMSG_OFFER_PETITION = 0x01C3 {
    u32 unknown0;
    Guid petition;
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32unknown0
0x0A8 / LittleGuidpetition
0x128 / LittleGuidtarget

CMSG_OPEN_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_open_item.wowm:3.

cmsg CMSG_OPEN_ITEM = 0x00AC {
    u8 bag_index;
    u8 slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8bag_index
0x071 / -u8slot

CMSG_OPT_OUT_OF_LOOT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/cmsg_opt_out_of_loot.wowm:1.

cmsg CMSG_OPT_OUT_OF_LOOT = 0x0408 {
    Bool32 pass_on_loot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleBool32pass_on_loot

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/cmsg_opt_out_of_loot.wowm:7.

cmsg CMSG_OPT_OUT_OF_LOOT = 0x0409 {
    Bool32 pass_on_loot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleBool32pass_on_loot

CMSG_PAGE_TEXT_QUERY

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_page_text_query.wowm:1.

cmsg CMSG_PAGE_TEXT_QUERY = 0x005A {
    u32 page_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32page_id

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_page_text_query.wowm:7.

cmsg CMSG_PAGE_TEXT_QUERY = 0x005A {
    u32 page_id;
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32page_id
0x0A8 / LittleGuidguid

CMSG_PETITION_BUY

Client Version 1, Client Version 2

cmangos/vmangos/mangoszero: All fields with ‘skip’ are completely unused

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_petition_buy.wowm:2.

cmsg CMSG_PETITION_BUY = 0x01BD {
    Guid npc;
    u32 unknown1;
    Guid unknown2;
    CString name;
    u32 unknown3;
    u32 unknown4;
    u32 unknown5;
    u32 unknown6;
    u32 unknown7;
    u32 unknown8;
    u32 unknown9;
    u32 unknown10;
    u32 unknown11;
    u32 unknown12;
    u16 unknown13;
    u8 unknown14;
    u32 index;
    u32 unknown15;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidnpc
0x0E4 / Littleu32unknown1
0x128 / LittleGuidunknown2
0x1A- / -CStringname
-4 / Littleu32unknown3
-4 / Littleu32unknown4
-4 / Littleu32unknown5
-4 / Littleu32unknown6
-4 / Littleu32unknown7
-4 / Littleu32unknown8
-4 / Littleu32unknown9
-4 / Littleu32unknown10
-4 / Littleu32unknown11
-4 / Littleu32unknown12
-2 / Littleu16unknown13
-1 / -u8unknown14
-4 / Littleu32indexcmangos/vmangos/mangoszero: Named but never used
-4 / Littleu32unknown15

Client Version 3.3.5

cmangos/vmangos/mangoszero: All fields with ‘skip’ are completely unused

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_petition_buy.wowm:27.

cmsg CMSG_PETITION_BUY = 0x01BD {
    Guid npc;
    u32 unknown1;
    Guid unknown2;
    CString name;
    CString unknown3;
    u32 unknown4;
    u32 unknown5;
    u32 unknown6;
    u32 unknown7;
    u32 unknown8;
    u32 unknown9;
    u32 unknown10;
    u16 unknown11;
    u32 unknown12;
    u32 unknown13;
    u32 unknown14;
    CString[10] unknown15;
    u32 index;
    u32 unknown16;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidnpc
0x0E4 / Littleu32unknown1
0x128 / LittleGuidunknown2
0x1A- / -CStringname
-- / -CStringunknown3
-4 / Littleu32unknown4
-4 / Littleu32unknown5
-4 / Littleu32unknown6
-4 / Littleu32unknown7
-4 / Littleu32unknown8
-4 / Littleu32unknown9
-4 / Littleu32unknown10
-2 / Littleu16unknown11
-4 / Littleu32unknown12
-4 / Littleu32unknown13
-4 / Littleu32unknown14
-? / -CString[10]unknown15
-4 / Littleu32index
-4 / Littleu32unknown16

CMSG_PETITION_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_petition_query.wowm:3.

cmsg CMSG_PETITION_QUERY = 0x01C6 {
    u32 guild_id;
    Guid petition;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32guild_id
0x0A8 / LittleGuidpetition

CMSG_PETITION_SHOWLIST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_petition_showlist.wowm:3.

cmsg CMSG_PETITION_SHOWLIST = 0x01BB {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_PETITION_SHOW_SIGNATURES

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_petition_show_signatures.wowm:3.

cmsg CMSG_PETITION_SHOW_SIGNATURES = 0x01BE {
    Guid item;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuiditem

CMSG_PETITION_SIGN

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_petition_sign.wowm:3.

cmsg CMSG_PETITION_SIGN = 0x01C0 {
    Guid petition;
    u8 unknown1;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpetition
0x0E1 / -u8unknown1

CMSG_PET_ABANDON

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_abandon.wowm:3.

cmsg CMSG_PET_ABANDON = 0x0176 {
    Guid pet;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpet

CMSG_PET_ACTION

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_action.wowm:3.

cmsg CMSG_PET_ACTION = 0x0175 {
    Guid pet;
    u32 data;
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpet
0x0E4 / Littleu32data
0x128 / LittleGuidtarget

CMSG_PET_CANCEL_AURA

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_cancel_aura.wowm:3.

cmsg CMSG_PET_CANCEL_AURA = 0x026B {
    Guid guid;
    Spell id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / LittleSpellid

CMSG_PET_CAST_SPELL

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_cast_spell.wowm:1.

cmsg CMSG_PET_CAST_SPELL = 0x01F0 {
    Guid guid;
    Spell id;
    SpellCastTargets targets;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / LittleSpellid
0x12- / -SpellCastTargetstargets

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_cast_spell.wowm:1.

cmsg CMSG_PET_CAST_SPELL = 0x01F0 {
    Guid guid;
    Spell id;
    SpellCastTargets targets;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / LittleSpellid
0x12- / -SpellCastTargetstargets

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_cast_spell.wowm:9.

cmsg CMSG_PET_CAST_SPELL = 0x01F0 {
    Guid guid;
    u8 cast_count;
    Spell id;
    ClientCastFlags cast_flags;
    SpellCastTargets targets;
    if (cast_flags == EXTRA) {
        f32 elevation;
        f32 speed;
        ClientMovementData movement_data;
        if (movement_data == PRESENT) {
            u32 opcode;
            PackedGuid movement;
            MovementInfo info;
        }
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

CMSG_PET_LEARN_TALENT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_pet_learn_talent.wowm:1.

cmsg CMSG_PET_LEARN_TALENT = 0x047A {
    Guid pet;
    u32 talent;
    u32 rank;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpet
0x0E4 / Littleu32talent
0x124 / Littleu32rank

CMSG_PET_NAME_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_pet_name_query.wowm:1.

cmsg CMSG_PET_NAME_QUERY = 0x0052 {
    u32 pet_number;
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32pet_number
0x0A8 / LittleGuidguid

Examples

Example 1

0, 16, // size
82, 0, 0, 0, // opcode (82)
239, 190, 173, 222, // pet_number: u32
239, 190, 173, 222, 222, 202, 250, 0, // guid: Guid

CMSG_PET_RENAME

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_rename.wowm:1.

cmsg CMSG_PET_RENAME = 0x0177 {
    Guid pet;
    CString name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpet
0x0E- / -CStringname

Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_rename.wowm:8.

cmsg CMSG_PET_RENAME = 0x0177 {
    Guid pet;
    CString name;
    Bool declined;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpet
0x0E- / -CStringname
-1 / -Booldeclined

CMSG_PET_SET_ACTION

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_set_action.wowm:3.

cmsg CMSG_PET_SET_ACTION = 0x0174 {
    Guid guid;
    u32 position1;
    u32 data1;
    optional extra {
        u32 position2;
        u32 data2;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32position1
0x124 / Littleu32data1

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x164 / Littleu32position2
0x1A4 / Littleu32data2

CMSG_PET_SPELL_AUTOCAST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_spell_autocast.wowm:3.

cmsg CMSG_PET_SPELL_AUTOCAST = 0x02F3 {
    Guid guid;
    Spell id;
    Bool autocast_enabled;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / LittleSpellid
0x121 / -Boolautocast_enabled

CMSG_PET_STOP_ATTACK

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_stop_attack.wowm:3.

cmsg CMSG_PET_STOP_ATTACK = 0x02EA {
    Guid pet;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpet

CMSG_PET_UNLEARN

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_pet_unlearn.wowm:3.

cmsg CMSG_PET_UNLEARN = 0x02F0 {
    Guid pet;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpet

CMSG_PING

Client Version 1.2, Client Version 1.3, Client Version 1.4, Client Version 1.5, Client Version 1.6, Client Version 1.7, Client Version 1.8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/ping_pong/cmsg_ping.wowm:1.

cmsg CMSG_PING = 0x01DC {
    u32 sequence_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32sequence_id

Client Version 1.9, Client Version 1.10, Client Version 1.11, Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/ping_pong/cmsg_ping.wowm:7.

cmsg CMSG_PING = 0x01DC {
    u32 sequence_id;
    u32 round_time_in_ms;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32sequence_id
0x0A4 / Littleu32round_time_in_ms

Examples

Example 1

0, 12, // size
220, 1, 0, 0, // opcode (476)
239, 190, 173, 222, // sequence_id: u32
222, 202, 250, 0, // round_time_in_ms: u32

CMSG_PLAYED_TIME

Client Version 1.12, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_played_time.wowm:1.

cmsg CMSG_PLAYED_TIME = 0x01CC {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_played_time.wowm:6.

cmsg CMSG_PLAYED_TIME = 0x01CC {
    Bool show_on_ui;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -Boolshow_on_uiWhether the clients wants it shown on the UI. Just ping it back in SMSG_PLAYED_TIME

CMSG_PLAYER_LOGIN

Client Version 1, Client Version 2, Client Version 3

Command to log into the specified character.

This is sent after the client has been authenticated and served the character list with SMSG_CHAR_ENUM.

If the player receives a SMSG_CHARACTER_LOGIN_FAILED it will return to the character screen and send a CMSG_CHAR_ENUM.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_player_login.wowm:6.

cmsg CMSG_PLAYER_LOGIN = 0x003D {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

Examples

Example 1

0, 12, // size
61, 0, 0, 0, // opcode (61)
239, 190, 173, 222, 0, 0, 0, 0, // guid: Guid

CMSG_PLAYER_LOGOUT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_player_logout.wowm:3.

cmsg CMSG_PLAYER_LOGOUT = 0x004A {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 4, // size
74, 0, 0, 0, // opcode (74)

CMSG_PLAYER_VEHICLE_ENTER

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vehicle/cmsg_player_vehicle_enter.wowm:1.

cmsg CMSG_PLAYER_VEHICLE_ENTER = 0x04A8 {
    Guid vehicle;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidvehicle

CMSG_PUSHQUESTTOPARTY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_pushquesttoparty.wowm:3.

cmsg CMSG_PUSHQUESTTOPARTY = 0x019D {
    u32 quest_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32quest_id

CMSG_QUERY_INSPECT_ACHIEVEMENTS

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/achievement/cmsg_query_inspect_achievements.wowm:1.

cmsg CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x046B {
    PackedGuid player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidplayer

CMSG_QUERY_QUESTS_COMPLETED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_query_quests_completed.wowm:1.

cmsg CMSG_QUERY_QUESTS_COMPLETED = 0x0500 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_QUERY_TIME

Client Version 1.12, Client Version 2, Client Version 3

Sent immediately after logging in. Client expects reply in SMSG_QUERY_TIME_RESPONSE.

This message and the SMSG_QUERY_TIME_RESPONSE reply does not actually appear to set the time. Instead SMSG_LOGIN_SETTIMESPEED seems to correctly set the time.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_query_time.wowm:5.

cmsg CMSG_QUERY_TIME = 0x01CE {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 4, // size
206, 1, 0, 0, // opcode (462)

CMSG_QUESTGIVER_ACCEPT_QUEST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questgiver_accept_quest.wowm:3.

cmsg CMSG_QUESTGIVER_ACCEPT_QUEST = 0x0189 {
    Guid guid;
    u32 quest_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32quest_id

CMSG_QUESTGIVER_CANCEL

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questgiver_cancel.wowm:3.

cmsg CMSG_QUESTGIVER_CANCEL = 0x0190 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_QUESTGIVER_CHOOSE_REWARD

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questgiver_choose_reward.wowm:3.

cmsg CMSG_QUESTGIVER_CHOOSE_REWARD = 0x018E {
    Guid guid;
    u32 quest_id;
    u32 reward;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32quest_id
0x124 / Littleu32reward

CMSG_QUESTGIVER_COMPLETE_QUEST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questgiver_complete_quest.wowm:3.

cmsg CMSG_QUESTGIVER_COMPLETE_QUEST = 0x018A {
    Guid guid;
    u32 quest_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32quest_id

CMSG_QUESTGIVER_HELLO

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questgiver_hello.wowm:3.

cmsg CMSG_QUESTGIVER_HELLO = 0x0184 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_QUESTGIVER_QUERY_QUEST

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_questgiver_query_quest.wowm:1.

cmsg CMSG_QUESTGIVER_QUERY_QUEST = 0x0186 {
    Guid guid;
    u32 quest_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32quest_id

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_questgiver_query_quest.wowm:8.

cmsg CMSG_QUESTGIVER_QUERY_QUEST = 0x0186 {
    Guid guid;
    u32 quest_id;
    u8 unknown1;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32quest_id
0x121 / -u8unknown1

CMSG_QUESTGIVER_QUEST_AUTOLAUNCH

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questgiver_quest_autolaunch.wowm:3.

cmsg CMSG_QUESTGIVER_QUEST_AUTOLAUNCH = 0x0187 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_QUESTGIVER_REQUEST_REWARD

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questgiver_request_reward.wowm:3.

cmsg CMSG_QUESTGIVER_REQUEST_REWARD = 0x018C {
    Guid guid;
    u32 quest_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / Littleu32quest_id

CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questgiver_status_multiple_query.wowm:1.

cmsg CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x0416 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questgiver_status_multiple_query.wowm:5.

cmsg CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x0417 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_QUESTGIVER_STATUS_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_questgive_status_query.wowm:3.

cmsg CMSG_QUESTGIVER_STATUS_QUERY = 0x0182 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_QUESTLOG_REMOVE_QUEST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questlog_remove_quest.wowm:3.

cmsg CMSG_QUESTLOG_REMOVE_QUEST = 0x0194 {
    u8 slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8slot

CMSG_QUESTLOG_SWAP_QUEST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_questlog_swap_quest.wowm:3.

cmsg CMSG_QUESTLOG_SWAP_QUEST = 0x0193 {
    u8 slot1;
    u8 slot2;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8slot1
0x071 / -u8slot2

CMSG_QUEST_CONFIRM_ACCEPT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_quest_confirm_accept.wowm:3.

cmsg CMSG_QUEST_CONFIRM_ACCEPT = 0x019B {
    u32 quest_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32quest_id

CMSG_QUEST_POI_QUERY

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/cmsg_quest_poi_query.wowm:1.

cmsg CMSG_QUEST_POI_QUERY = 0x01E3 {
    u32 amount_of_pois;
    u32[amount_of_pois] points_of_interests;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32amount_of_pois
0x0A? / -u32[amount_of_pois]points_of_interests

CMSG_QUEST_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_quest_query.wowm:3.

cmsg CMSG_QUEST_QUERY = 0x005C {
    u32 quest_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32quest_id

CMSG_READY_FOR_ACCOUNT_DATA_TIMES

Client Version 3.3.5

Respond with SMSG_ACCOUNT_DATA_TIMES

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_ready_for_account_data_times.wowm:4.

cmsg CMSG_READY_FOR_ACCOUNT_DATA_TIMES = 0x04FF {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_READ_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_read_item.wowm:3.

cmsg CMSG_READ_ITEM = 0x00AD {
    u8 bag_index;
    u8 slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8bag_index
0x071 / -u8slot

CMSG_REALM_SPLIT

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/cmsg_realm_split.wowm:3.

cmsg CMSG_REALM_SPLIT = 0x038C {
    u32 realm_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32realm_idRealm ID that was sent earlier by the Auth Server
ArcEmu/TriniyCore/mangosthree send back in SMSG_REALM_SPLIT.

CMSG_RECLAIM_CORPSE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/cmsg_reclaim_corpse.wowm:3.

cmsg CMSG_RECLAIM_CORPSE = 0x01D2 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_REMOVE_GLYPH

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_remove_glyph.wowm:1.

cmsg CMSG_REMOVE_GLYPH = 0x048A {
    u32 glyph;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32glyph

CMSG_REPAIR_ITEM

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_repair_item.wowm:1.

cmsg CMSG_REPAIR_ITEM = 0x02A8 {
    Guid npc;
    Guid item;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidnpc
0x0E8 / LittleGuiditem

Client Version 2.3.2, Client Version 2.3.3, Client Version 2.3.4, Client Version 2.4, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_repair_item.wowm:8.

cmsg CMSG_REPAIR_ITEM = 0x02A8 {
    Guid npc;
    Guid item;
    Bool from_guild_bank;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidnpc
0x0E8 / LittleGuiditem
0x161 / -Boolfrom_guild_bank

CMSG_REPOP_REQUEST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/client_set/cmsg_repop_request.wowm:3.

cmsg CMSG_REPOP_REQUEST = 0x015A {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_REPORT_PVP_AFK

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_report_pvp_afk.wowm:1.

cmsg CMSG_REPORT_PVP_AFK = 0x03E3 {
    Guid player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/cmsg_report_pvp_afk.wowm:7.

cmsg CMSG_REPORT_PVP_AFK = 0x03E4 {
    Guid player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer

CMSG_REQUEST_ACCOUNT_DATA

Client Version 1, Client Version 2, Client Version 3

Respond with SMSG_UPDATE_ACCOUNT_DATA

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_request_account_data.wowm:2.

cmsg CMSG_REQUEST_ACCOUNT_DATA = 0x020A {
    u32 data_type;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32data_typeThe type of account data being requested. You can check this against the CacheMask to know if this is character-specific data or account-wide data.

Examples

Example 1

0, 8, // size
10, 2, 0, 0, // opcode (522)
6, 0, 0, 0, // data_type: u32

CMSG_REQUEST_PARTY_MEMBER_STATS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_request_party_member_stats.wowm:3.

cmsg CMSG_REQUEST_PARTY_MEMBER_STATS = 0x027F {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_REQUEST_PET_INFO

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_request_pet_info.wowm:3.

cmsg CMSG_REQUEST_PET_INFO = 0x0279 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_REQUEST_RAID_INFO

Client Version 1.12, Client Version 2, Client Version 3.3.5

Sent when the client enters the world.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/cmsg_request_raid_info.wowm:2.

cmsg CMSG_REQUEST_RAID_INFO = 0x02CD {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 4, // size
205, 2, 0, 0, // opcode (717)

CMSG_REQUEST_VEHICLE_EXIT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vehicle/cmsg_request_vehicle_exit.wowm:1.

cmsg CMSG_REQUEST_VEHICLE_EXIT = 0x0476 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_REQUEST_VEHICLE_NEXT_SEAT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vehicle/cmsg_request_vehicle_next_seat.wowm:1.

cmsg CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x0478 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_REQUEST_VEHICLE_PREV_SEAT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vehicle/cmsg_request_vehicle_prev_seat.wowm:1.

cmsg CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x0477 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_REQUEST_VEHICLE_SWITCH_SEAT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vehicle/cmsg_request_vehicle_switch_seat.wowm:1.

cmsg CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x0479 {
    Guid vehicle;
    u8 seat;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidvehicle
0x0E1 / -u8seat

CMSG_RESET_INSTANCES

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/cmsg_reset_instances.wowm:3.

cmsg CMSG_RESET_INSTANCES = 0x031D {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_RESURRECT_RESPONSE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/cmsg_resurrect_response.wowm:3.

cmsg CMSG_RESURRECT_RESPONSE = 0x015C {
    Guid guid;
    u8 status;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E1 / -u8status

CMSG_SEARCH_LFG_JOIN

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_search_lfg_join.wowm:1.

cmsg CMSG_SEARCH_LFG_JOIN = 0x035E {
    u32 dungeon_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32dungeon_id

CMSG_SEARCH_LFG_LEAVE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_search_lfg_leave.wowm:1.

cmsg CMSG_SEARCH_LFG_LEAVE = 0x035F {
    u32 dungeon_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32dungeon_id

CMSG_SELF_RES

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/cmsg_self_res.wowm:3.

cmsg CMSG_SELF_RES = 0x02B3 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_SELL_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_sell_item.wowm:3.

cmsg CMSG_SELL_ITEM = 0x01A0 {
    Guid vendor;
    Guid item;
    u8 amount;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidvendor
0x0E8 / LittleGuiditem
0x161 / -u8amount

CMSG_SEND_MAIL

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_send_mail.wowm:1.

cmsg CMSG_SEND_MAIL = 0x0238 {
    Guid mailbox;
    CString receiver;
    CString subject;
    CString body;
    u32 unknown1;
    u32 unknown2;
    Guid item;
    Gold money;
    u32 cash_on_delivery_amount;
    u32 unknown3;
    u32 unknown4;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox
0x0E- / -CStringreceiver
-- / -CStringsubject
-- / -CStringbody
-4 / Littleu32unknown1cmangos: stationery?
-4 / Littleu32unknown2cmangos: 0x00000000
-8 / LittleGuiditem
-4 / LittleGoldmoney
-4 / Littleu32cash_on_delivery_amount
-4 / Littleu32unknown3cmangos: const 0
-4 / Littleu32unknown4cmangos: const 0

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_send_mail.wowm:28.

cmsg CMSG_SEND_MAIL = 0x0238 {
    Guid mailbox;
    CString receiver;
    CString subject;
    CString body;
    u32 unknown1;
    u32 unknown2;
    u8 amount_of_items;
    MailItem[amount_of_items] items;
    Gold money;
    u32 cash_on_delivery_amount;
    u32 unknown3;
    u32 unknown4;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidmailbox
0x0E- / -CStringreceiver
-- / -CStringsubject
-- / -CStringbody
-4 / Littleu32unknown1cmangos: stationery?
-4 / Littleu32unknown2cmangos: 0x00000000
-1 / -u8amount_of_items
-? / -MailItem[amount_of_items]items
-4 / LittleGoldmoney
-4 / Littleu32cash_on_delivery_amount
-4 / Littleu32unknown3mangosone: const 0
-4 / Littleu32unknown4mangosone: const 0

CMSG_SETSHEATHED

Client Version 1, Client Version 2, Client Version 3

Says which weapon the client pulls out.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/client_set/cmsg_setsheathed.wowm:12.

cmsg CMSG_SETSHEATHED = 0x01E0 {
    (u32)SheathState sheathed;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -SheathStatesheathed

Examples

Example 1

Comment

Client takes out melee weapon.

0, 8, // size
224, 1, 0, 0, // opcode (480)
1, 0, 0, 0, // sheathed: SheathState MELEE (1)

CMSG_SET_ACTIONBAR_TOGGLES

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_set_actionbar_toggles.wowm:3.

cmsg CMSG_SET_ACTIONBAR_TOGGLES = 0x02BF {
    u8 action_bar;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8action_barEmulators set PLAYER_FIELD_BYTES2 to this unless it’s 0.

CMSG_SET_ACTION_BUTTON

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_set_action_button.wowm:1.

cmsg CMSG_SET_ACTION_BUTTON = 0x0128 {
    u8 button;
    u16 action;
    u8 misc;
    u8 action_type;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8button
0x072 / Littleu16action
0x091 / -u8misc
0x0A1 / -u8action_type

CMSG_SET_ACTIVE_MOVER

Client Version 1, Client Version 2, Client Version 3

Sent when the client enters the world.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/client_set/cmsg_set_active_mover.wowm:2.

cmsg CMSG_SET_ACTIVE_MOVER = 0x026A {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

Examples

Example 1

0, 12, // size
106, 2, 0, 0, // opcode (618)
23, 0, 0, 0, 0, 0, 0, 0, // guid: Guid

CMSG_SET_ACTIVE_VOICE_CHANNEL

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_set_active_voice_channel.wowm:1.

cmsg CMSG_SET_ACTIVE_VOICE_CHANNEL = 0x03D2 {
    u32 unknown1;
    CString unknown2;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32unknown1
0x0A- / -CStringunknown2

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_set_active_voice_channel.wowm:8.

cmsg CMSG_SET_ACTIVE_VOICE_CHANNEL = 0x03D3 {
    u32 unknown1;
    CString unknown2;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32unknown1
0x0A- / -CStringunknown2

CMSG_SET_AMMO

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_set_ammo.wowm:3.

cmsg CMSG_SET_AMMO = 0x0268 {
    Item item;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleItemitem

CMSG_SET_CHANNEL_WATCH

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_set_channel_watch.wowm:1.

cmsg CMSG_SET_CHANNEL_WATCH = 0x03EE {
    CString channel;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_set_channel_watch.wowm:7.

cmsg CMSG_SET_CHANNEL_WATCH = 0x03EF {
    CString channel;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringchannel

CMSG_SET_CONTACT_NOTES

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_set_contact_notes.wowm:1.

cmsg CMSG_SET_CONTACT_NOTES = 0x006B {
    Guid player;
    CString note;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E- / -CStringnote

CMSG_SET_FACTION_ATWAR

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/cmsg_set_faction_atwar.wowm:21.

cmsg CMSG_SET_FACTION_ATWAR = 0x0125 {
    Faction faction;
    FactionFlag flags;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x062 / -Factionfaction
0x081 / -FactionFlagflags

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/cmsg_set_faction_atwar.wowm:21.

cmsg CMSG_SET_FACTION_ATWAR = 0x0125 {
    Faction faction;
    FactionFlag flags;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x062 / -Factionfaction
0x081 / -FactionFlagflags

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/cmsg_set_faction_atwar.wowm:50.

cmsg CMSG_SET_FACTION_ATWAR = 0x0125 {
    Faction faction;
    FactionFlag flags;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x062 / -Factionfaction
0x081 / -FactionFlagflags

CMSG_SET_FACTION_INACTIVE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/cmsg_set_faction_inactive.wowm:1.

cmsg CMSG_SET_FACTION_INACTIVE = 0x0317 {
    Faction faction;
    Bool inactive;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x062 / -Factionfaction
0x081 / -Boolinactive

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/cmsg_set_faction_inactive.wowm:1.

cmsg CMSG_SET_FACTION_INACTIVE = 0x0317 {
    Faction faction;
    Bool inactive;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x062 / -Factionfaction
0x081 / -Boolinactive

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/cmsg_set_faction_inactive.wowm:1.

cmsg CMSG_SET_FACTION_INACTIVE = 0x0317 {
    Faction faction;
    Bool inactive;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x062 / -Factionfaction
0x081 / -Boolinactive

CMSG_SET_GUILD_BANK_TEXT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_set_guild_bank_text.wowm:1.

cmsg CMSG_SET_GUILD_BANK_TEXT = 0x040A {
    u8 tab;
    CString text;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8tab
0x07- / -CStringtext

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_set_guild_bank_text.wowm:8.

cmsg CMSG_SET_GUILD_BANK_TEXT = 0x040B {
    u8 tab;
    CString text;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8tab
0x07- / -CStringtext

CMSG_SET_LFG_COMMENT

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_set_lfg_comment.wowm:1.

cmsg CMSG_SET_LFG_COMMENT = 0x0366 {
    CString comment;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringcomment

CMSG_SET_LOOKING_FOR_GROUP

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_set_looking_for_group.wowm:1.

cmsg CMSG_SET_LOOKING_FOR_GROUP = 0x0200 {
    u32 slot;
    LfgData data;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32slot
0x0A4 / -LfgDatadata

CMSG_SET_LOOKING_FOR_MORE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/cmsg_set_looking_for_more.wowm:1.

cmsg CMSG_SET_LOOKING_FOR_MORE = 0x0365 {
    LfgData data;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -LfgDatadata

CMSG_SET_PLAYER_DECLINED_NAMES

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_set_player_declined_names.wowm:1.

cmsg CMSG_SET_PLAYER_DECLINED_NAMES = 0x0418 {
    Guid player;
    CString name;
    CString[5] declined_names;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E- / -CStringname
-? / -CString[5]declined_names

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_set_player_declined_names.wowm:9.

cmsg CMSG_SET_PLAYER_DECLINED_NAMES = 0x0419 {
    Guid player;
    CString name;
    CString[5] declined_names;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer
0x0E- / -CStringname
-? / -CString[5]declined_names

CMSG_SET_SAVED_INSTANCE_EXTEND

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/cmsg_set_saved_instance_extend.wowm:1.

cmsg CMSG_SET_SAVED_INSTANCE_EXTEND = 0x0292 {
    Map map;
    RaidDifficulty difficulty;
    Bool toggle_extend;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Mapmap
0x0A1 / -RaidDifficultydifficulty
0x0B1 / -Booltoggle_extend

CMSG_SET_SELECTION

Client Version 1, Client Version 2, Client Version 3

Sets the current target.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/client_set/cmsg_set_selection.wowm:2.

cmsg CMSG_SET_SELECTION = 0x013D {
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidtarget

Examples

Example 1

Comment

Client sets target to GUID 6.

0, 12, // size
61, 1, 0, 0, // opcode (317)
6, 0, 0, 0, 0, 0, 0, 0, // target: Guid

CMSG_SET_TARGET_OBSOLETE

Client Version 1.12, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/client_set/cmsg_set_target_obsolete.wowm:3.

cmsg CMSG_SET_TARGET_OBSOLETE = 0x013E {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_SET_TAXI_BENCHMARK_MODE

Client Version 2.4.3, Client Version 3

Sent when the client runs /timetest 1.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_set_taxi_benchmark_mode.wowm:2.

cmsg CMSG_SET_TAXI_BENCHMARK_MODE = 0x0389 {
    u8 mode;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8mode

CMSG_SET_TITLE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_set_title.wowm:1.

cmsg CMSG_SET_TITLE = 0x0374 {
    u32 title;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32title

CMSG_SET_TRADE_GOLD

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/cmsg_set_trade_gold.wowm:3.

cmsg CMSG_SET_TRADE_GOLD = 0x011F {
    Gold gold;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleGoldgold

CMSG_SET_TRADE_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/cmsg_set_trade_item.wowm:3.

cmsg CMSG_SET_TRADE_ITEM = 0x011D {
    u8 trade_slot;
    u8 bag;
    u8 slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8trade_slot
0x071 / -u8bag
0x081 / -u8slot

CMSG_SET_WATCHED_FACTION

Client Version 1.10, Client Version 1.11

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/cmsg_set_watched_faction.wowm:1.

cmsg CMSG_SET_WATCHED_FACTION = 0x0318 {
    u32 reputation_id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32reputation_id

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/cmsg_set_watched_faction.wowm:7.

cmsg CMSG_SET_WATCHED_FACTION = 0x0318 {
    Faction faction;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x062 / -Factionfaction

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/cmsg_set_watched_faction.wowm:7.

cmsg CMSG_SET_WATCHED_FACTION = 0x0318 {
    Faction faction;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x062 / -Factionfaction

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/cmsg_set_watched_faction.wowm:7.

cmsg CMSG_SET_WATCHED_FACTION = 0x0318 {
    Faction faction;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x062 / -Factionfaction

CMSG_SOCKET_GEMS

Client Version 2.4.3, Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_socket_gems.wowm:1.

cmsg CMSG_SOCKET_GEMS = 0x0347 {
    Guid item;
    Guid[3] gems;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuiditem
0x0E24 / -Guid[3]gems

CMSG_SPELLCLICK

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_spellclick.wowm:1.

cmsg CMSG_SPELLCLICK = 0x03F7 {
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidtarget

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_spellclick.wowm:7.

cmsg CMSG_SPELLCLICK = 0x03F8 {
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidtarget

CMSG_SPIRIT_HEALER_ACTIVATE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/cmsg_spirit_healer_activate.wowm:3.

cmsg CMSG_SPIRIT_HEALER_ACTIVATE = 0x021C {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_SPLIT_ITEM

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_split_item.wowm:1.

cmsg CMSG_SPLIT_ITEM = 0x010E {
    u8 source_bag;
    u8 source_slot;
    u8 destination_bag;
    u8 destination_slot;
    u8 amount;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8source_bag
0x071 / -u8source_slot
0x081 / -u8destination_bag
0x091 / -u8destination_slot
0x0A1 / -u8amount

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_split_item.wowm:13.

cmsg CMSG_SPLIT_ITEM = 0x010E {
    u8 source_bag;
    u8 source_slot;
    u8 destination_bag;
    u8 destination_slot;
    u32 amount;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8source_bag
0x071 / -u8source_slot
0x081 / -u8destination_bag
0x091 / -u8destination_slot
0x0A4 / Littleu32amount

CMSG_STABLE_PET

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_stable_pet.wowm:3.

cmsg CMSG_STABLE_PET = 0x0270 {
    Guid stable_master;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidstable_master

CMSG_STABLE_SWAP_PET

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_stable_swap_pet.wowm:3.

cmsg CMSG_STABLE_SWAP_PET = 0x0275 {
    Guid npc;
    u32 pet_slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidnpc
0x0E4 / Littleu32pet_slot

CMSG_STANDSTATECHANGE

Client Version 1.12, Client Version 2, Client Version 3

Automatically sent by the client when it goes AFK.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_standstatechange.wowm:2.

cmsg CMSG_STANDSTATECHANGE = 0x0101 {
    (u32)UnitStandState animation_state;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -UnitStandStateanimation_state

Examples

Example 1

0, 8, // size
1, 1, 0, 0, // opcode (257)
1, 0, 0, 0, // animation_state: UnitStandState SIT (1)

CMSG_SUMMON_RESPONSE

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_summon_response.wowm:1.

cmsg CMSG_SUMMON_RESPONSE = 0x02AC {
    Guid summoner;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidsummoner

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_summon_response.wowm:7.

cmsg CMSG_SUMMON_RESPONSE = 0x02AC {
    Guid summoner;
    Bool agree;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidsummoner
0x0E1 / -Boolagree

CMSG_SWAP_INV_ITEM

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_swap_inv_item.wowm:1.

cmsg CMSG_SWAP_INV_ITEM = 0x010D {
    ItemSlot source_slot;
    ItemSlot destination_slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -ItemSlotsource_slot
0x071 / -ItemSlotdestination_slot

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_swap_inv_item.wowm:1.

cmsg CMSG_SWAP_INV_ITEM = 0x010D {
    ItemSlot source_slot;
    ItemSlot destination_slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -ItemSlotsource_slot
0x071 / -ItemSlotdestination_slot

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_swap_inv_item.wowm:1.

cmsg CMSG_SWAP_INV_ITEM = 0x010D {
    ItemSlot source_slot;
    ItemSlot destination_slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -ItemSlotsource_slot
0x071 / -ItemSlotdestination_slot

CMSG_SWAP_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_swap_item.wowm:3.

cmsg CMSG_SWAP_ITEM = 0x010C {
    u8 destination_bag;
    u8 destionation_slot;
    u8 source_bag;
    u8 source_slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8destination_bag
0x071 / -u8destionation_slot
0x081 / -u8source_bag
0x091 / -u8source_slot

CMSG_TAXINODE_STATUS_QUERY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_taxinode_status_query.wowm:3.

cmsg CMSG_TAXINODE_STATUS_QUERY = 0x01AA {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_TAXIQUERYAVAILABLENODES

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_taxiqueryavailableenodes.wowm:3.

cmsg CMSG_TAXIQUERYAVAILABLENODES = 0x01AC {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_TELEPORT_TO_UNIT

Client Version 1, Client Version 2, Client Version 3

Sent when using the port console command.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_teleport_to_unit.wowm:2.

cmsg CMSG_TELEPORT_TO_UNIT = 0x0009 {
    CString name;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringname

Examples

Example 1

0, 11, // size
9, 0, 0, 0, // opcode (9)
86, 117, 114, 116, 110, 101, 0, // name: CString

CMSG_TEXT_EMOTE

Client Version 1.12

Sent to notify the server that the client wants to perform an emote like /dance or /cry.

Server responds with SMSG_TEXT_EMOTE and SMSG_EMOTE.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_text_emote.wowm:3.

cmsg CMSG_TEXT_EMOTE = 0x0104 {
    TextEmote text_emote;
    u32 emote;
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -TextEmotetext_emote
0x0A4 / Littleu32emote
0x0E8 / LittleGuidtargetGuid targeted by the client.

Examples

Example 1

0, 20, // size
4, 1, 0, 0, // opcode (260)
34, 0, 0, 0, // text_emote: TextEmote DANCE (34)
255, 255, 255, 255, // emote: u32
0, 0, 0, 0, 0, 0, 0, 0, // target: Guid

Client Version 2.4.3

Sent to notify the server that the client wants to perform an emote like /dance or /cry.

Server responds with SMSG_TEXT_EMOTE and SMSG_EMOTE.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_text_emote.wowm:3.

cmsg CMSG_TEXT_EMOTE = 0x0104 {
    TextEmote text_emote;
    u32 emote;
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -TextEmotetext_emote
0x0A4 / Littleu32emote
0x0E8 / LittleGuidtargetGuid targeted by the client.

Client Version 3.3.5

Sent to notify the server that the client wants to perform an emote like /dance or /cry.

Server responds with SMSG_TEXT_EMOTE and SMSG_EMOTE.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_text_emote.wowm:3.

cmsg CMSG_TEXT_EMOTE = 0x0104 {
    TextEmote text_emote;
    u32 emote;
    Guid target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -TextEmotetext_emote
0x0A4 / Littleu32emote
0x0E8 / LittleGuidtargetGuid targeted by the client.

CMSG_TIME_SYNC_RESP

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_time_sync_resp.wowm:3.

cmsg CMSG_TIME_SYNC_RESP = 0x0391 {
    u32 time_sync;
    u32 client_ticks;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32time_syncCan be used to check if the client is still properly in sync
This should be the same as the counter sent in SMSG_TIME_SYNC_REQ.
0x0A4 / Littleu32client_ticksYou can check this against expected values to estimate client latency

CMSG_TOGGLE_CLOAK

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_toggle_cloak.wowm:3.

cmsg CMSG_TOGGLE_CLOAK = 0x02BA {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_TOGGLE_HELM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_toggle_helm.wowm:3.

cmsg CMSG_TOGGLE_HELM = 0x02B9 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_TOGGLE_PVP

Client Version 1, Client Version 2, Client Version 3

vmangos: this opcode can be used in two ways: Either set explicit new status or toggle old status

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pvp/cmsg_toggle_pvp.wowm:4.

cmsg CMSG_TOGGLE_PVP = 0x0253 {
    optional set {
        Bool enable_pvp;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x061 / -Boolenable_pvp

CMSG_TOTEM_DESTROYED

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_totem_destroyed.wowm:1.

cmsg CMSG_TOTEM_DESTROYED = 0x0413 {
    u8 slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8slot

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_totem_destroyed.wowm:7.

cmsg CMSG_TOTEM_DESTROYED = 0x0414 {
    u8 slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8slot

CMSG_TRAINER_BUY_SPELL

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_trainer_buy_spell.wowm:3.

cmsg CMSG_TRAINER_BUY_SPELL = 0x01B2 {
    Guid guid;
    Spell id;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / LittleSpellid

CMSG_TRAINER_LIST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_trainer_list.wowm:3.

cmsg CMSG_TRAINER_LIST = 0x01B0 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

CMSG_TURN_IN_PETITION

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_turn_in_petition.wowm:3.

cmsg CMSG_TURN_IN_PETITION = 0x01C4 {
    Guid petition;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidpetition

CMSG_TUTORIAL_CLEAR

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_tutorial_clear.wowm:3.

cmsg CMSG_TUTORIAL_CLEAR = 0x00FF {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_TUTORIAL_FLAG

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_tutorial_flag.wowm:3.

cmsg CMSG_TUTORIAL_FLAG = 0x00FE {
    u32 tutorial_flag;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32tutorial_flagarcemu indexes into the tutorials by dividing by 32 and modulo 32.

CMSG_TUTORIAL_RESET

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_tutorial_reset.wowm:3.

cmsg CMSG_TUTORIAL_RESET = 0x0100 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_UNACCEPT_TRADE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/cmsg_unaccept_trade.wowm:3.

cmsg CMSG_UNACCEPT_TRADE = 0x011B {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_UNLEARN_SKILL

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_unlearn_skill.wowm:1.

cmsg CMSG_UNLEARN_SKILL = 0x0202 {
    (u32)Skill skill;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Skillskill

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_unlearn_skill.wowm:1.

cmsg CMSG_UNLEARN_SKILL = 0x0202 {
    (u32)Skill skill;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Skillskill

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_unlearn_skill.wowm:1.

cmsg CMSG_UNLEARN_SKILL = 0x0202 {
    (u32)Skill skill;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Skillskill

CMSG_UNLEARN_TALENTS

Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_unlearn_talents.wowm:1.

cmsg CMSG_UNLEARN_TALENTS = 0x0213 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_UNSTABLE_PET

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/cmsg_unstable_pet.wowm:3.

cmsg CMSG_UNSTABLE_PET = 0x0271 {
    Guid stable_master;
    u32 pet_number;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidstable_master
0x0E4 / Littleu32pet_number

CMSG_UPDATE_ACCOUNT_DATA

Client Version 1.12, Client Version 2

This is sent by the client after receiving SMSG_ACCOUNT_DATA_TIMES. Client can also request a block through CMSG_REQUEST_ACCOUNT_DATA.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_update_account_data.wowm:16.

cmsg CMSG_UPDATE_ACCOUNT_DATA = 0x020B {
    (u32)AccountDataType data_type;
    u8[-] compressed_data;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -AccountDataTypedata_typeExact meaning unknown. Seems to be between 0 and 7. Block 6 is changed when changing layout-cache.txt inside the WTF folder.
0x0A? / -u8[-]compressed_data

Examples

Example 1

0, 12, // size
11, 2, 0, 0, // opcode (523)
6, 0, 0, 0, // data_type: AccountDataType PER_CHARACTER_LAYOUT_CACHE (6)
0, 0, 0, 0, // compressed_data_decompressed_size: u32
// compressed_data: u8[-]

Example 2

4, 160, // size
11, 2, 0, 0, // opcode (523)
7, 0, 0, 0, // data_type: AccountDataType PER_CHARACTER_CHAT_CACHE (7)
24, 20, 0, 0, // compressed_data_decompressed_size: u32
86, 69, 82, 83, 73, 79, 78, 32, 50, 10, 10, 65, 68, 68, 69, 68, 86, 69, 82, 83, 
73, 79, 78, 32, 50, 10, 10, 79, 80, 84, 73, 79, 78, 95, 71, 85, 73, 76, 68, 95, 
82, 69, 67, 82, 85, 73, 84, 77, 69, 78, 84, 95, 67, 72, 65, 78, 78, 69, 76, 32, 
65, 85, 84, 79, 10, 10, 67, 72, 65, 78, 78, 69, 76, 83, 10, 69, 78, 68, 10, 10, 
90, 79, 78, 69, 67, 72, 65, 78, 78, 69, 76, 83, 32, 50, 48, 57, 55, 49, 53, 53, 
10, 10, 67, 79, 76, 79, 82, 83, 10, 83, 65, 89, 32, 50, 53, 53, 32, 50, 53, 53, 
32, 50, 53, 53, 10, 80, 65, 82, 84, 89, 32, 49, 55, 48, 32, 49, 55, 48, 32, 50, 
53, 53, 10, 82, 65, 73, 68, 32, 50, 53, 53, 32, 49, 50, 55, 32, 48, 10, 71, 85, 
73, 76, 68, 32, 54, 52, 32, 50, 53, 53, 32, 54, 52, 10, 79, 70, 70, 73, 67, 69, 
82, 32, 54, 52, 32, 49, 57, 50, 32, 54, 52, 10, 89, 69, 76, 76, 32, 50, 53, 53, 
32, 54, 52, 32, 54, 52, 10, 87, 72, 73, 83, 80, 69, 82, 32, 50, 53, 53, 32, 49, 
50, 56, 32, 50, 53, 53, 10, 87, 72, 73, 83, 80, 69, 82, 95, 73, 78, 70, 79, 82, 
77, 32, 50, 53, 53, 32, 49, 50, 56, 32, 50, 53, 53, 10, 69, 77, 79, 84, 69, 32, 
50, 53, 53, 32, 49, 50, 56, 32, 54, 52, 10, 84, 69, 88, 84, 95, 69, 77, 79, 84, 
69, 32, 50, 53, 53, 32, 49, 50, 56, 32, 54, 52, 10, 83, 89, 83, 84, 69, 77, 32, 
50, 53, 53, 32, 50, 53, 53, 32, 48, 10, 77, 79, 78, 83, 84, 69, 82, 95, 83, 65, 
89, 32, 50, 53, 53, 32, 50, 53, 53, 32, 49, 53, 57, 10, 77, 79, 78, 83, 84, 69, 
82, 95, 89, 69, 76, 76, 32, 50, 53, 53, 32, 54, 52, 32, 54, 52, 10, 77, 79, 78, 
83, 84, 69, 82, 95, 69, 77, 79, 84, 69, 32, 50, 53, 53, 32, 49, 50, 56, 32, 54, 
52, 10, 67, 72, 65, 78, 78, 69, 76, 32, 50, 53, 53, 32, 49, 57, 50, 32, 49, 57, 
50, 10, 67, 72, 65, 78, 78, 69, 76, 95, 74, 79, 73, 78, 32, 49, 57, 50, 32, 49, 
50, 56, 32, 49, 50, 56, 10, 67, 72, 65, 78, 78, 69, 76, 95, 76, 69, 65, 86, 69, 
32, 49, 57, 50, 32, 49, 50, 56, 32, 49, 50, 56, 10, 67, 72, 65, 78, 78, 69, 76, 
95, 76, 73, 83, 84, 32, 49, 57, 50, 32, 49, 50, 56, 32, 49, 50, 56, 10, 67, 72, 
65, 78, 78, 69, 76, 95, 78, 79, 84, 73, 67, 69, 32, 49, 57, 50, 32, 49, 57, 50, 
32, 49, 57, 50, 10, 67, 72, 65, 78, 78, 69, 76, 95, 78, 79, 84, 73, 67, 69, 95, 
85, 83, 69, 82, 32, 49, 57, 50, 32, 49, 57, 50, 32, 49, 57, 50, 10, 65, 70, 75, 
32, 50, 53, 53, 32, 49, 50, 56, 32, 50, 53, 53, 10, 68, 78, 68, 32, 50, 53, 53, 
32, 49, 50, 56, 32, 50, 53, 53, 10, 73, 71, 78, 79, 82, 69, 68, 32, 50, 53, 53, 
32, 48, 32, 48, 10, 83, 75, 73, 76, 76, 32, 56, 53, 32, 56, 53, 32, 50, 53, 53, 
10, 76, 79, 79, 84, 32, 48, 32, 49, 55, 48, 32, 48, 10, 67, 79, 77, 66, 65, 84, 
95, 77, 73, 83, 67, 95, 73, 78, 70, 79, 32, 49, 50, 56, 32, 49, 50, 56, 32, 50, 
53, 53, 10, 77, 79, 78, 83, 84, 69, 82, 95, 87, 72, 73, 83, 80, 69, 82, 32, 49, 
55, 57, 32, 49, 55, 57, 32, 49, 55, 57, 10, 67, 79, 77, 66, 65, 84, 95, 83, 69, 
76, 70, 95, 72, 73, 84, 83, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 
67, 79, 77, 66, 65, 84, 95, 83, 69, 76, 70, 95, 77, 73, 83, 83, 69, 83, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 95, 80, 69, 
84, 95, 72, 73, 84, 83, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 
79, 77, 66, 65, 84, 95, 80, 69, 84, 95, 77, 73, 83, 83, 69, 83, 32, 50, 53, 53, 
32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 95, 80, 65, 82, 84, 
89, 95, 72, 73, 84, 83, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 
79, 77, 66, 65, 84, 95, 80, 65, 82, 84, 89, 95, 77, 73, 83, 83, 69, 83, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 95, 70, 82, 
73, 69, 78, 68, 76, 89, 80, 76, 65, 89, 69, 82, 95, 72, 73, 84, 83, 32, 50, 53, 
53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 95, 70, 82, 73, 
69, 78, 68, 76, 89, 80, 76, 65, 89, 69, 82, 95, 77, 73, 83, 83, 69, 83, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 95, 72, 79, 
83, 84, 73, 76, 69, 80, 76, 65, 89, 69, 82, 95, 72, 73, 84, 83, 32, 50, 53, 53, 
32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 95, 72, 79, 83, 84, 
73, 76, 69, 80, 76, 65, 89, 69, 82, 95, 77, 73, 83, 83, 69, 83, 32, 50, 53, 53, 
32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 95, 67, 82, 69, 65, 
84, 85, 82, 69, 95, 86, 83, 95, 83, 69, 76, 70, 95, 72, 73, 84, 83, 32, 50, 53, 
53, 32, 52, 55, 32, 52, 55, 10, 67, 79, 77, 66, 65, 84, 95, 67, 82, 69, 65, 84, 
85, 82, 69, 95, 86, 83, 95, 83, 69, 76, 70, 95, 77, 73, 83, 83, 69, 83, 32, 50, 
53, 53, 32, 52, 55, 32, 52, 55, 10, 67, 79, 77, 66, 65, 84, 95, 67, 82, 69, 65, 
84, 85, 82, 69, 95, 86, 83, 95, 80, 65, 82, 84, 89, 95, 72, 73, 84, 83, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 95, 67, 82, 
69, 65, 84, 85, 82, 69, 95, 86, 83, 95, 80, 65, 82, 84, 89, 95, 77, 73, 83, 83, 
69, 83, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 
84, 95, 67, 82, 69, 65, 84, 85, 82, 69, 95, 86, 83, 95, 67, 82, 69, 65, 84, 85, 
82, 69, 95, 72, 73, 84, 83, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 
67, 79, 77, 66, 65, 84, 95, 67, 82, 69, 65, 84, 85, 82, 69, 95, 86, 83, 95, 67, 
82, 69, 65, 84, 85, 82, 69, 95, 77, 73, 83, 83, 69, 83, 32, 50, 53, 53, 32, 50, 
53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 95, 70, 82, 73, 69, 78, 68, 
76, 89, 95, 68, 69, 65, 84, 72, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 
10, 67, 79, 77, 66, 65, 84, 95, 72, 79, 83, 84, 73, 76, 69, 95, 68, 69, 65, 84, 
72, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 
95, 88, 80, 95, 71, 65, 73, 78, 32, 49, 49, 49, 32, 49, 49, 49, 32, 50, 53, 53, 
10, 83, 80, 69, 76, 76, 95, 83, 69, 76, 70, 95, 68, 65, 77, 65, 71, 69, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 48, 10, 83, 80, 69, 76, 76, 95, 83, 69, 76, 70, 95, 
66, 85, 70, 70, 32, 50, 53, 53, 32, 50, 53, 53, 32, 48, 10, 83, 80, 69, 76, 76, 
95, 80, 69, 84, 95, 68, 65, 77, 65, 71, 69, 32, 50, 53, 53, 32, 50, 53, 53, 32, 
50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 80, 69, 84, 95, 66, 85, 70, 70, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 80, 65, 82, 
84, 89, 95, 68, 65, 77, 65, 71, 69, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 
53, 10, 83, 80, 69, 76, 76, 95, 80, 65, 82, 84, 89, 95, 66, 85, 70, 70, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 70, 82, 73, 
69, 78, 68, 76, 89, 80, 76, 65, 89, 69, 82, 95, 68, 65, 77, 65, 71, 69, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 70, 82, 73, 
69, 78, 68, 76, 89, 80, 76, 65, 89, 69, 82, 95, 66, 85, 70, 70, 32, 50, 53, 53, 
32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 72, 79, 83, 84, 73, 
76, 69, 80, 76, 65, 89, 69, 82, 95, 68, 65, 77, 65, 71, 69, 32, 50, 53, 53, 32, 
50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 72, 79, 83, 84, 73, 76, 
69, 80, 76, 65, 89, 69, 82, 95, 66, 85, 70, 70, 32, 50, 53, 53, 32, 50, 53, 53, 
32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 67, 82, 69, 65, 84, 85, 82, 69, 95, 
86, 83, 95, 83, 69, 76, 70, 95, 68, 65, 77, 65, 71, 69, 32, 50, 48, 50, 32, 55, 
54, 32, 50, 49, 55, 10, 83, 80, 69, 76, 76, 95, 67, 82, 69, 65, 84, 85, 82, 69, 
95, 86, 83, 95, 83, 69, 76, 70, 95, 66, 85, 70, 70, 32, 50, 53, 53, 32, 50, 53, 
53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 67, 82, 69, 65, 84, 85, 82, 69, 
95, 86, 83, 95, 80, 65, 82, 84, 89, 95, 68, 65, 77, 65, 71, 69, 32, 50, 53, 53, 
32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 67, 82, 69, 65, 84, 
85, 82, 69, 95, 86, 83, 95, 80, 65, 82, 84, 89, 95, 66, 85, 70, 70, 32, 50, 53, 
53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 67, 82, 69, 65, 
84, 85, 82, 69, 95, 86, 83, 95, 67, 82, 69, 65, 84, 85, 82, 69, 95, 68, 65, 77, 
65, 71, 69, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 
76, 95, 67, 82, 69, 65, 84, 85, 82, 69, 95, 86, 83, 95, 67, 82, 69, 65, 84, 85, 
82, 69, 95, 66, 85, 70, 70, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 
83, 80, 69, 76, 76, 95, 84, 82, 65, 68, 69, 83, 75, 73, 76, 76, 83, 32, 50, 53, 
53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 68, 65, 77, 65, 
71, 69, 83, 72, 73, 69, 76, 68, 83, 95, 79, 78, 95, 83, 69, 76, 70, 32, 50, 53, 
53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 68, 65, 77, 65, 
71, 69, 83, 72, 73, 69, 76, 68, 83, 95, 79, 78, 95, 79, 84, 72, 69, 82, 83, 32, 
50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 65, 85, 
82, 65, 95, 71, 79, 78, 69, 95, 83, 69, 76, 70, 32, 50, 53, 53, 32, 50, 53, 53, 
32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 65, 85, 82, 65, 95, 71, 79, 78, 69, 
95, 80, 65, 82, 84, 89, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 
80, 69, 76, 76, 95, 65, 85, 82, 65, 95, 71, 79, 78, 69, 95, 79, 84, 72, 69, 82, 
32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 73, 
84, 69, 77, 95, 69, 78, 67, 72, 65, 78, 84, 77, 69, 78, 84, 83, 32, 50, 53, 53, 
32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 66, 82, 69, 65, 75, 
95, 65, 85, 82, 65, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 
69, 76, 76, 95, 80, 69, 82, 73, 79, 68, 73, 67, 95, 83, 69, 76, 70, 95, 68, 65, 
77, 65, 71, 69, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 
76, 76, 95, 80, 69, 82, 73, 79, 68, 73, 67, 95, 83, 69, 76, 70, 95, 66, 85, 70, 
70, 83, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 
95, 80, 69, 82, 73, 79, 68, 73, 67, 95, 80, 65, 82, 84, 89, 95, 68, 65, 77, 65, 
71, 69, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 
95, 80, 69, 82, 73, 79, 68, 73, 67, 95, 80, 65, 82, 84, 89, 95, 66, 85, 70, 70, 
83, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 
80, 69, 82, 73, 79, 68, 73, 67, 95, 70, 82, 73, 69, 78, 68, 76, 89, 80, 76, 65, 
89, 69, 82, 95, 68, 65, 77, 65, 71, 69, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 
53, 53, 10, 83, 80, 69, 76, 76, 95, 80, 69, 82, 73, 79, 68, 73, 67, 95, 70, 82, 
73, 69, 78, 68, 76, 89, 80, 76, 65, 89, 69, 82, 95, 66, 85, 70, 70, 83, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 80, 69, 82, 
73, 79, 68, 73, 67, 95, 72, 79, 83, 84, 73, 76, 69, 80, 76, 65, 89, 69, 82, 95, 
68, 65, 77, 65, 71, 69, 32, 50, 53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 
80, 69, 76, 76, 95, 80, 69, 82, 73, 79, 68, 73, 67, 95, 72, 79, 83, 84, 73, 76, 
69, 80, 76, 65, 89, 69, 82, 95, 66, 85, 70, 70, 83, 32, 50, 53, 53, 32, 50, 53, 
53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 80, 69, 82, 73, 79, 68, 73, 67, 
95, 67, 82, 69, 65, 84, 85, 82, 69, 95, 68, 65, 77, 65, 71, 69, 32, 50, 53, 53, 
32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 80, 69, 82, 73, 79, 
68, 73, 67, 95, 67, 82, 69, 65, 84, 85, 82, 69, 95, 66, 85, 70, 70, 83, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 50, 53, 53, 10, 83, 80, 69, 76, 76, 95, 70, 65, 73, 
76, 69, 68, 95, 76, 79, 67, 65, 76, 80, 76, 65, 89, 69, 82, 32, 50, 53, 53, 32, 
50, 53, 53, 32, 50, 53, 53, 10, 67, 79, 77, 66, 65, 84, 95, 72, 79, 78, 79, 82, 
95, 71, 65, 73, 78, 32, 50, 50, 52, 32, 50, 48, 50, 32, 49, 48, 10, 66, 71, 95, 
83, 89, 83, 84, 69, 77, 95, 78, 69, 85, 84, 82, 65, 76, 32, 50, 53, 53, 32, 49, 
50, 48, 32, 49, 48, 10, 66, 71, 95, 83, 89, 83, 84, 69, 77, 95, 65, 76, 76, 73, 
65, 78, 67, 69, 32, 48, 32, 49, 55, 52, 32, 50, 51, 57, 10, 66, 71, 95, 83, 89, 
83, 84, 69, 77, 95, 72, 79, 82, 68, 69, 32, 50, 53, 53, 32, 48, 32, 48, 10, 67, 
79, 77, 66, 65, 84, 95, 70, 65, 67, 84, 73, 79, 78, 95, 67, 72, 65, 78, 71, 69, 
32, 49, 50, 56, 32, 49, 50, 56, 32, 50, 53, 53, 10, 77, 79, 78, 69, 89, 32, 50, 
53, 53, 32, 50, 53, 53, 32, 48, 10, 82, 65, 73, 68, 95, 76, 69, 65, 68, 69, 82, 
32, 50, 53, 53, 32, 50, 49, 57, 32, 49, 56, 51, 10, 82, 65, 73, 68, 95, 87, 65, 
82, 78, 73, 78, 71, 32, 50, 53, 53, 32, 50, 49, 57, 32, 49, 56, 51, 10, 70, 79, 
82, 69, 73, 71, 78, 95, 84, 69, 76, 76, 32, 50, 53, 53, 32, 49, 50, 56, 32, 50, 
53, 53, 10, 82, 65, 73, 68, 95, 66, 79, 83, 83, 95, 69, 77, 79, 84, 69, 32, 50, 
53, 53, 32, 50, 49, 57, 32, 49, 56, 51, 10, 70, 73, 76, 84, 69, 82, 69, 68, 32, 
50, 53, 53, 32, 48, 32, 48, 10, 66, 65, 84, 84, 76, 69, 71, 82, 79, 85, 78, 68, 
32, 50, 53, 53, 32, 49, 50, 55, 32, 48, 10, 66, 65, 84, 84, 76, 69, 71, 82, 79, 
85, 78, 68, 95, 76, 69, 65, 68, 69, 82, 32, 50, 53, 53, 32, 50, 49, 57, 32, 49, 
56, 51, 10, 67, 72, 65, 78, 78, 69, 76, 49, 32, 50, 53, 53, 32, 49, 57, 50, 32, 
49, 57, 50, 10, 67, 72, 65, 78, 78, 69, 76, 50, 32, 50, 53, 53, 32, 49, 57, 50, 
32, 49, 57, 50, 10, 67, 72, 65, 78, 78, 69, 76, 51, 32, 50, 53, 53, 32, 49, 57, 
50, 32, 49, 57, 50, 10, 67, 72, 65, 78, 78, 69, 76, 52, 32, 50, 53, 53, 32, 49, 
57, 50, 32, 49, 57, 50, 10, 67, 72, 65, 78, 78, 69, 76, 53, 32, 50, 53, 53, 32, 
49, 57, 50, 32, 49, 57, 50, 10, 67, 72, 65, 78, 78, 69, 76, 54, 32, 50, 53, 53, 
32, 49, 57, 50, 32, 49, 57, 50, 10, 67, 72, 65, 78, 78, 69, 76, 55, 32, 50, 53, 
53, 32, 49, 57, 50, 32, 49, 57, 50, 10, 67, 72, 65, 78, 78, 69, 76, 56, 32, 50, 
53, 53, 32, 49, 57, 50, 32, 49, 57, 50, 10, 67, 72, 65, 78, 78, 69, 76, 57, 32, 
50, 53, 53, 32, 49, 57, 50, 32, 49, 57, 50, 10, 67, 72, 65, 78, 78, 69, 76, 49, 
48, 32, 50, 53, 53, 32, 49, 57, 50, 32, 49, 57, 50, 10, 69, 78, 68, 10, 10, 87, 
73, 78, 68, 79, 87, 32, 49, 10, 83, 73, 90, 69, 32, 48, 10, 67, 79, 76, 79, 82, 
32, 48, 32, 48, 32, 48, 32, 48, 10, 76, 79, 67, 75, 69, 68, 32, 49, 10, 68, 79, 
67, 75, 69, 68, 32, 49, 10, 83, 72, 79, 87, 78, 32, 49, 10, 10, 77, 69, 83, 83, 
65, 71, 69, 83, 10, 83, 89, 83, 84, 69, 77, 10, 83, 65, 89, 10, 89, 69, 76, 76, 
10, 87, 72, 73, 83, 80, 69, 82, 10, 80, 65, 82, 84, 89, 10, 71, 85, 73, 76, 68, 
10, 67, 82, 69, 65, 84, 85, 82, 69, 10, 67, 72, 65, 78, 78, 69, 76, 10, 83, 75, 
73, 76, 76, 10, 76, 79, 79, 84, 10, 69, 78, 68, 10, 10, 67, 72, 65, 78, 78, 69, 
76, 83, 10, 69, 78, 68, 10, 10, 90, 79, 78, 69, 67, 72, 65, 78, 78, 69, 76, 83, 
32, 50, 48, 57, 55, 49, 53, 53, 10, 10, 69, 78, 68, 10, 10, 87, 73, 78, 68, 79, 
87, 32, 50, 10, 83, 73, 90, 69, 32, 48, 10, 67, 79, 76, 79, 82, 32, 48, 32, 48, 
32, 48, 32, 48, 10, 76, 79, 67, 75, 69, 68, 32, 49, 10, 68, 79, 67, 75, 69, 68, 
32, 50, 10, 83, 72, 79, 87, 78, 32, 48, 10, 10, 77, 69, 83, 83, 65, 71, 69, 83, 
10, 67, 79, 77, 66, 65, 84, 95, 77, 73, 83, 67, 95, 73, 78, 70, 79, 10, 67, 79, 
77, 66, 65, 84, 95, 83, 69, 76, 70, 95, 72, 73, 84, 83, 10, 67, 79, 77, 66, 65, 
84, 95, 83, 69, 76, 70, 95, 77, 73, 83, 83, 69, 83, 10, 67, 79, 77, 66, 65, 84, 
95, 80, 69, 84, 95, 72, 73, 84, 83, 10, 67, 79, 77, 66, 65, 84, 95, 80, 69, 84, 
95, 77, 73, 83, 83, 69, 83, 10, 67, 79, 77, 66, 65, 84, 95, 72, 79, 83, 84, 73, 
76, 69, 80, 76, 65, 89, 69, 82, 95, 72, 73, 84, 83, 10, 67, 79, 77, 66, 65, 84, 
95, 72, 79, 83, 84, 73, 76, 69, 80, 76, 65, 89, 69, 82, 95, 77, 73, 83, 83, 69, 
83, 10, 67, 79, 77, 66, 65, 84, 95, 67, 82, 69, 65, 84, 85, 82, 69, 95, 86, 83, 
95, 83, 69, 76, 70, 95, 72, 73, 84, 83, 10, 67, 79, 77, 66, 65, 84, 95, 67, 82, 
69, 65, 84, 85, 82, 69, 95, 86, 83, 95, 83, 69, 76, 70, 95, 77, 73, 83, 83, 69, 
83, 10, 67, 79, 77, 66, 65, 84, 95, 70, 82, 73, 69, 78, 68, 76, 89, 95, 68, 69, 
65, 84, 72, 10, 67, 79, 77, 66, 65, 84, 95, 72, 79, 83, 84, 73, 76, 69, 95, 68, 
69, 65, 84, 72, 10, 67, 79, 77, 66, 65, 84, 95, 88, 80, 95, 71, 65, 73, 78, 10, 
83, 80, 69, 76, 76, 95, 83, 69, 76, 70, 95, 68, 65, 77, 65, 71, 69, 10, 83, 80, 
69, 76, 76, 95, 83, 69, 76, 70, 95, 66, 85, 70, 70, 10, 83, 80, 69, 76, 76, 95, 
80, 69, 84, 95, 68, 65, 77, 65, 71, 69, 10, 83, 80, 69, 76, 76, 95, 80, 69, 84, 
95, 66, 85, 70, 70, 10, 83, 80, 69, 76, 76, 95, 72, 79, 83, 84, 73, 76, 69, 80, 
76, 65, 89, 69, 82, 95, 68, 65, 77, 65, 71, 69, 10, 83, 80, 69, 76, 76, 95, 72, 
79, 83, 84, 73, 76, 69, 80, 76, 65, 89, 69, 82, 95, 66, 85, 70, 70, 10, 83, 80, 
69, 76, 76, 95, 67, 82, 69, 65, 84, 85, 82, 69, 95, 86, 83, 95, 83, 69, 76, 70, 
95, 68, 65, 77, 65, 71, 69, 10, 83, 80, 69, 76, 76, 95, 67, 82, 69, 65, 84, 85, 
82, 69, 95, 86, 83, 95, 83, 69, 76, 70, 95, 66, 85, 70, 70, 10, 83, 80, 69, 76, 
76, 95, 84, 82, 65, 68, 69, 83, 75, 73, 76, 76, 83, 10, 83, 80, 69, 76, 76, 95, 
68, 65, 77, 65, 71, 69, 83, 72, 73, 69, 76, 68, 83, 95, 79, 78, 95, 83, 69, 76, 
70, 10, 83, 80, 69, 76, 76, 95, 65, 85, 82, 65, 95, 71, 79, 78, 69, 95, 83, 69, 
76, 70, 10, 83, 80, 69, 76, 76, 95, 73, 84, 69, 77, 95, 69, 78, 67, 72, 65, 78, 
84, 77, 69, 78, 84, 83, 10, 83, 80, 69, 76, 76, 95, 66, 82, 69, 65, 75, 95, 65, 
85, 82, 65, 10, 83, 80, 69, 76, 76, 95, 80, 69, 82, 73, 79, 68, 73, 67, 95, 83, 
69, 76, 70, 95, 68, 65, 77, 65, 71, 69, 10, 83, 80, 69, 76, 76, 95, 80, 69, 82, 
73, 79, 68, 73, 67, 95, 83, 69, 76, 70, 95, 66, 85, 70, 70, 83, 10, 83, 80, 69, 
76, 76, 95, 80, 69, 82, 73, 79, 68, 73, 67, 95, 72, 79, 83, 84, 73, 76, 69, 80, 
76, 65, 89, 69, 82, 95, 68, 65, 77, 65, 71, 69, 10, 83, 80, 69, 76, 76, 95, 80, 
69, 82, 73, 79, 68, 73, 67, 95, 72, 79, 83, 84, 73, 76, 69, 80, 76, 65, 89, 69, 
82, 95, 66, 85, 70, 70, 83, 10, 83, 80, 69, 76, 76, 95, 80, 69, 82, 73, 79, 68, 
73, 67, 95, 67, 82, 69, 65, 84, 85, 82, 69, 95, 68, 65, 77, 65, 71, 69, 10, 83, 
80, 69, 76, 76, 95, 80, 69, 82, 73, 79, 68, 73, 67, 95, 67, 82, 69, 65, 84, 85, 
82, 69, 95, 66, 85, 70, 70, 83, 10, 67, 79, 77, 66, 65, 84, 95, 72, 79, 78, 79, 
82, 95, 71, 65, 73, 78, 10, 67, 79, 77, 66, 65, 84, 95, 70, 65, 67, 84, 73, 79, 
78, 95, 67, 72, 65, 78, 71, 69, 10, 77, 79, 78, 69, 89, 10, 69, 78, 68, 10, 10, 
67, 72, 65, 78, 78, 69, 76, 83, 10, 69, 78, 68, 10, 10, 90, 79, 78, 69, 67, 72, 
65, 78, 78, 69, 76, 83, 32, 48, 10, 10, 69, 78, 68, 10, 10, 87, 73, 78, 68, 79, 
87, 32, 51, 10, 83, 73, 90, 69, 32, 48, 10, 67, 79, 76, 79, 82, 32, 48, 32, 48, 
32, 48, 32, 48, 10, 76, 79, 67, 75, 69, 68, 32, 49, 10, 68, 79, 67, 75, 69, 68, 
32, 48, 10, 83, 72, 79, 87, 78, 32, 48, 10, 10, 77, 69, 83, 83, 65, 71, 69, 83, 
10, 69, 78, 68, 10, 10, 67, 72, 65, 78, 78, 69, 76, 83, 10, 69, 78, 68, 10, 10, 
90, 79, 78, 69, 67, 72, 65, 78, 78, 69, 76, 83, 32, 48, 10, 10, 69, 78, 68, 10, 
10, 87, 73, 78, 68, 79, 87, 32, 52, 10, 83, 73, 90, 69, 32, 48, 10, 67, 79, 76, 
79, 82, 32, 48, 32, 48, 32, 48, 32, 48, 10, 76, 79, 67, 75, 69, 68, 32, 49, 10, 
68, 79, 67, 75, 69, 68, 32, 48, 10, 83, 72, 79, 87, 78, 32, 48, 10, 10, 77, 69, 
83, 83, 65, 71, 69, 83, 10, 69, 78, 68, 10, 10, 67, 72, 65, 78, 78, 69, 76, 83, 
10, 69, 78, 68, 10, 10, 90, 79, 78, 69, 67, 72, 65, 78, 78, 69, 76, 83, 32, 48, 
10, 10, 69, 78, 68, 10, 10, 87, 73, 78, 68, 79, 87, 32, 53, 10, 83, 73, 90, 69, 
32, 48, 10, 67, 79, 76, 79, 82, 32, 48, 32, 48, 32, 48, 32, 48, 10, 76, 79, 67, 
75, 69, 68, 32, 49, 10, 68, 79, 67, 75, 69, 68, 32, 48, 10, 83, 72, 79, 87, 78, 
32, 48, 10, 10, 77, 69, 83, 83, 65, 71, 69, 83, 10, 69, 78, 68, 10, 10, 67, 72, 
65, 78, 78, 69, 76, 83, 10, 69, 78, 68, 10, 10, 90, 79, 78, 69, 67, 72, 65, 78, 
78, 69, 76, 83, 32, 48, 10, 10, 69, 78, 68, 10, 10, 87, 73, 78, 68, 79, 87, 32, 
54, 10, 83, 73, 90, 69, 32, 48, 10, 67, 79, 76, 79, 82, 32, 48, 32, 48, 32, 48, 
32, 48, 10, 76, 79, 67, 75, 69, 68, 32, 49, 10, 68, 79, 67, 75, 69, 68, 32, 48, 
10, 83, 72, 79, 87, 78, 32, 48, 10, 10, 77, 69, 83, 83, 65, 71, 69, 83, 10, 69, 
78, 68, 10, 10, 67, 72, 65, 78, 78, 69, 76, 83, 10, 69, 78, 68, 10, 10, 90, 79, 
78, 69, 67, 72, 65, 78, 78, 69, 76, 83, 32, 48, 10, 10, 69, 78, 68, 10, 10, 87, 
73, 78, 68, 79, 87, 32, 55, 10, 83, 73, 90, 69, 32, 48, 10, 67, 79, 76, 79, 82, 
32, 48, 32, 48, 32, 48, 32, 48, 10, 76, 79, 67, 75, 69, 68, 32, 49, 10, 68, 79, 
67, 75, 69, 68, 32, 48, 10, 83, 72, 79, 87, 78, 32, 48, 10, 10, 77, 69, 83, 83, 
65, 71, 69, 83, 10, 69, 78, 68, 10, 10, 67, 72, 65, 78, 78, 69, 76, 83, 10, 69, 
78, 68, 10, 10, 90, 79, 78, 69, 67, 72, 65, 78, 78, 69, 76, 83, 32, 48, 10, 10, 
69, 78, 68, 10, 10, 87, 73, 78, 68, 79, 87, 32, 56, 10, 83, 73, 90, 69, 32, 48, 
10, 67, 79, 76, 79, 82, 32, 48, 32, 48, 32, 48, 32, 48, 10, 76, 79, 67, 75, 69, 
68, 32, 49, 10, 68, 79, 67, 75, 69, 68, 32, 48, 10, 83, 72, 79, 87, 78, 32, 48, 
10, 10, 77, 69, 83, 83, 65, 71, 69, 83, 10, 69, 78, 68, 10, 10, 67, 72, 65, 78, 
78, 69, 76, 83, 10, 69, 78, 68, 10, 10, 90, 79, 78, 69, 67, 72, 65, 78, 78, 69, 
76, 83, 32, 48, 10, 10, 69, 78, 68, 10, 10, 87, 73, 78, 68, 79, 87, 32, 57, 10, 
83, 73, 90, 69, 32, 48, 10, 67, 79, 76, 79, 82, 32, 48, 32, 48, 32, 48, 32, 48, 
10, 76, 79, 67, 75, 69, 68, 32, 49, 10, 68, 79, 67, 75, 69, 68, 32, 48, 10, 83, 
72, 79, 87, 78, 32, 48, 10, 10, 77, 69, 83, 83, 65, 71, 69, 83, 10, 69, 78, 68, 
10, 10, 67, 72, 65, 78, 78, 69, 76, 83, 10, 69, 78, 68, 10, 10, 90, 79, 78, 69, 
67, 72, 65, 78, 78, 69, 76, 83, 32, 48, 10, 10, 69, 78, 68, 10, 10, 87, 73, 78, 
68, 79, 87, 32, 49, 48, 10, 83, 73, 90, 69, 32, 48, 10, 67, 79, 76, 79, 82, 32, 
48, 32, 48, 32, 48, 32, 48, 10, 76, 79, 67, 75, 69, 68, 32, 49, 10, 68, 79, 67, 
75, 69, 68, 32, 48, 10, 83, 72, 79, 87, 78, 32, 48, 10, 10, 77, 69, 83, 83, 65, 
71, 69, 83, 10, 69, 78, 68, 10, 10, 67, 72, 65, 78, 78, 69, 76, 83, 10, 69, 78, 
68, 10, 10, 90, 79, 78, 69, 67, 72, 65, 78, 78, 69, 76, 83, 32, 48, 10, 10, 69, 
78, 68, 10, 10, // compressed_data: u8[-]

Client Version 3.3.5

Respond with SMSG_UPDATE_ACCOUNT_DATA_COMPLETE

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/cmsg_update_account_data.wowm:27.

cmsg CMSG_UPDATE_ACCOUNT_DATA = 0x020B {
    u32 data_type;
    u32 unix_time;
    u8[-] compressed_data;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32data_typeYou can check this against the CacheMask to find out if this is character-specific data or account-wide data
0x0A4 / Littleu32unix_timeSeconds since unix epoch. The client wants this number back when it requests the ACCOUNT_DATA_TIMES
0x0E? / -u8[-]compressed_dataCompressed account data (macros, keybinds, etc). The server does not actually care about the uncompressed contents. It only needs to send this back to the client. The server acts as a cross-device storage

CMSG_UPDATE_MISSILE_TRAJECTORY

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_update_missile_trajectory.wowm:1.

cmsg CMSG_UPDATE_MISSILE_TRAJECTORY = 0x0462 {
    Guid guid;
    Spell spell;
    f32 elevation;
    f32 speed;
    Vector3d position;
    Vector3d target;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid
0x0E4 / LittleSpellspell
0x124 / Littlef32elevation
0x164 / Littlef32speed
0x1A12 / -Vector3dposition
0x2612 / -Vector3dtarget

CMSG_UPDATE_PROJECTILE_POSITION

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_update_projectile_position.wowm:1.

cmsg CMSG_UPDATE_PROJECTILE_POSITION = 0x04BE {
    Guid caster;
    Spell spell;
    u8 cast_count;
    Vector3d position;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidcaster
0x0E4 / LittleSpellspell
0x121 / -u8cast_count
0x1312 / -Vector3dposition

CMSG_USE_ITEM

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_use_item.wowm:1.

cmsg CMSG_USE_ITEM = 0x00AB {
    u8 bag_index;
    u8 bag_slot;
    u8 spell_index;
    SpellCastTargets targets;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8bag_index
0x071 / -u8bag_slot
0x081 / -u8spell_index
0x09- / -SpellCastTargetstargets

Examples

Example 1

0, 9, // size
171, 0, 0, 0, // opcode (171)
255, // bag_index: u8
24, // bag_slot: u8
0, // spell_index: u8
0, 0, // SpellCastTargets.target_flags: SpellCastTargetFlags  SELF (0)

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_use_item.wowm:10.

cmsg CMSG_USE_ITEM = 0x00AB {
    u8 bag_index;
    u8 bag_slot;
    u8 spell_index;
    u8 cast_count;
    Guid item;
    SpellCastTargets targets;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8bag_index
0x071 / -u8bag_slot
0x081 / -u8spell_index
0x091 / -u8cast_countmangosone: next cast if exists (single or not)
0x0A8 / LittleGuiditem
0x12- / -SpellCastTargetstargets

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_use_item.wowm:36.

cmsg CMSG_USE_ITEM = 0x00AB {
    u8 bag_index;
    u8 bag_slot;
    u8 spell_index;
    u8 cast_count;
    Spell spell;
    Guid item;
    u32 glyph_index;
    ClientCastFlags cast_flags;
    if (cast_flags == EXTRA) {
        f32 elevation;
        f32 speed;
        ClientMovementData movement_data;
        if (movement_data == PRESENT) {
            u32 opcode;
            PackedGuid guid;
            MovementInfo info;
        }
    }
    SpellCastTargets targets;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

CMSG_VOICE_SESSION_ENABLE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_voice_session_enable.wowm:3.

cmsg CMSG_VOICE_SESSION_ENABLE = 0x03AF {
    Bool voice_enabled;
    Bool microphone_enabled;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -Boolvoice_enabled
0x071 / -Boolmicrophone_enabled

CMSG_WARDEN_DATA

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/warden/cmsg_warden_data.wowm:1.

cmsg CMSG_WARDEN_DATA = 0x02E7 {
    u8[-] encrypted_data;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06? / -u8[-]encrypted_data

CMSG_WHOIS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_whois.wowm:3.

cmsg CMSG_WHOIS = 0x0064 {
    CString character;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -CStringcharacter

CMSG_WHO

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/cmsg_who.wowm:3.

cmsg CMSG_WHO = 0x0062 {
    Level32 minimum_level;
    Level32 maximum_level;
    CString player_name;
    CString guild_name;
    u32 race_mask;
    u32 class_mask;
    u32 amount_of_zones;
    u32[amount_of_zones] zones;
    u32 amount_of_strings;
    CString[amount_of_strings] search_strings;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleLevel32minimum_level
0x0A4 / LittleLevel32maximum_level
0x0E- / -CStringplayer_name
-- / -CStringguild_name
-4 / Littleu32race_mask
-4 / Littleu32class_mask
-4 / Littleu32amount_of_zones
-? / -u32[amount_of_zones]zones
-4 / Littleu32amount_of_strings
-? / -CString[amount_of_strings]search_strings

CMSG_WORLD_STATE_UI_TIMER_UPDATE

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/cmsg_world_state_ui_timer_update.wowm:3.

cmsg CMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x04F6 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

CMSG_WORLD_TELEPORT

Client Version 1.12

Sent when using the worldport console command.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_world_teleport.wowm:2.

cmsg CMSG_WORLD_TELEPORT = 0x0008 {
    Milliseconds time;
    Map map;
    Vector3d position;
    f32 orientation;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleMillisecondstime
0x0A4 / -Mapmap
0x0E12 / -Vector3dposition
0x1A4 / Littlef32orientation

Examples

Example 1

0, 28, // size
8, 0, 0, 0, // opcode (8)
239, 190, 173, 222, // time: Milliseconds
1, 0, 0, 0, // map: Map KALIMDOR (1)
0, 0, 128, 63, // Vector3d.x: f32
0, 0, 0, 64, // Vector3d.y: f32
0, 0, 64, 64, // Vector3d.z: f32
0, 0, 128, 64, // orientation: f32

Example 2

Comment

Command in client was worldport 469 452 6454 2536 180.

0, 28, // size
8, 0, 0, 0, // opcode (8)
154, 61, 9, 2, // time: Milliseconds
213, 1, 0, 0, // map: Map BLACKWING_LAIR (469)
0, 0, 226, 67, // Vector3d.x: f32
0, 176, 201, 69, // Vector3d.y: f32
0, 128, 30, 69, // Vector3d.z: f32
219, 15, 73, 64, // orientation: f32

Client Version 2.4.3

Sent when using the worldport console command.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_world_teleport.wowm:2.

cmsg CMSG_WORLD_TELEPORT = 0x0008 {
    Milliseconds time;
    Map map;
    Vector3d position;
    f32 orientation;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleMillisecondstime
0x0A4 / -Mapmap
0x0E12 / -Vector3dposition
0x1A4 / Littlef32orientation

Client Version 3.3.5

Sent when using the worldport console command.

The 3.3.5 client includes some extra padding.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/cmsg/cmsg_world_teleport_3_3_5.wowm:5.

cmsg CMSG_WORLD_TELEPORT = 0x0008 {
    Milliseconds time;
    Map map;
    u64 unknown;
    Vector3d position;
    f32 orientation;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleMillisecondstime
0x0A4 / -Mapmap
0x0E8 / Littleu64unknown
0x1612 / -Vector3dposition
0x224 / Littlef32orientation

Examples

Example 1

0, 36, // size
8, 0, 0, 0, // opcode (8)
239, 190, 173, 222, // time: Milliseconds
1, 0, 0, 0, // map: Map KALIMDOR (1)
0, 0, 0, 0, 0, 0, 0, 0, // unknown: u64
0, 0, 128, 63, // Vector3d.x: f32
0, 0, 0, 64, // Vector3d.y: f32
0, 0, 64, 64, // Vector3d.z: f32
0, 0, 128, 64, // orientation: f32

Example 2

Comment

Command in client was worldport 469 452 6454 2536 180.

0, 36, // size
8, 0, 0, 0, // opcode (8)
154, 61, 9, 2, // time: Milliseconds
213, 1, 0, 0, // map: Map BLACKWING_LAIR (469)
0, 0, 0, 0, 0, 0, 0, 0, // unknown: u64
0, 0, 226, 67, // Vector3d.x: f32
0, 176, 201, 69, // Vector3d.y: f32
0, 128, 30, 69, // Vector3d.z: f32
219, 15, 73, 64, // orientation: f32

CMSG_WRAP_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_wrap_item.wowm:3.

cmsg CMSG_WRAP_ITEM = 0x01D3 {
    u8 gift_bag_index;
    u8 gift_slot;
    u8 item_bag_index;
    u8 item_slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8gift_bag_index
0x071 / -u8gift_slot
0x081 / -u8item_bag_index
0x091 / -u8item_slot

CMSG_ZONEUPDATE

Client Version 1.12

Sent by the client whenever it reaches a new area.

The client does not send an accurate area. For example when going to Sen’jin Village, the client will send DUROTAR (0x0E) and not SENJIN_VILLAGE (0x16F).

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/client_set/cmsg_zoneupdate.wowm:3.

cmsg CMSG_ZONEUPDATE = 0x01F4 {
    Area area;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Areaarea

Examples

Example 1

0, 8, // size
244, 1, 0, 0, // opcode (500)
101, 6, 0, 0, // area: Area ORGRIMMAR (1637)

Example 2

0, 8, // size
244, 1, 0, 0, // opcode (500)
12, 0, 0, 0, // area: Area ELWYNN_FOREST (12)

Client Version 2.4.3

Sent by the client whenever it reaches a new area.

The client does not send an accurate area. For example when going to Sen’jin Village, the client will send DUROTAR (0x0E) and not SENJIN_VILLAGE (0x16F).

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/client_set/cmsg_zoneupdate.wowm:3.

cmsg CMSG_ZONEUPDATE = 0x01F4 {
    Area area;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Areaarea

Client Version 3.3.5

Sent by the client whenever it reaches a new area.

The client does not send an accurate area. For example when going to Sen’jin Village, the client will send DUROTAR (0x0E) and not SENJIN_VILLAGE (0x16F).

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/client_set/cmsg_zoneupdate.wowm:3.

cmsg CMSG_ZONEUPDATE = 0x01F4 {
    Area area;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -Areaarea

CalendarInvitee

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/cmsg_calendar_add_event.wowm:1.

struct CalendarInvitee {
    PackedGuid guid;
    u8 status;
    u8 rank;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-1 / -u8status
-1 / -u8rank

Used in:

CalendarMember

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_filter_guild.wowm:1.

struct CalendarMember {
    PackedGuid member;
    Level level;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidmember
-1 / -Levellevel

Used in:

CalendarSendInvitee

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_send_event.wowm:1.

struct CalendarSendInvitee {
    PackedGuid invitee;
    Level level;
    u8 status;
    u8 rank;
    u8 guild_member;
    Guid invite_id;
    DateTime status_time;
    CString text;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidinvitee
-1 / -Levellevel
-1 / -u8status
-1 / -u8rank
-1 / -u8guild_member
-8 / LittleGuidinvite_id
-4 / LittleDateTimestatus_time
-- / -CStringtext

Used in:

ChannelMember

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_channel_list.wowm:24.

struct ChannelMember {
    Guid guid;
    ChannelMemberFlags member_flags;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x081 / -ChannelMemberFlagsmember_flags

Used in:

CharacterGear

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_enum.wowm:12.

struct CharacterGear {
    u32 equipment_display_id;
    InventoryType inventory_type;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32equipment_display_id
0x041 / -InventoryTypeinventory_type

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_enum_2_4_3.wowm:32.

struct CharacterGear {
    u32 equipment_display_id;
    InventoryType inventory_type;
    u32 enchantment;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32equipment_display_id
0x041 / -InventoryTypeinventory_type
0x054 / Littleu32enchantment

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_enum_3_3_5.wowm:33.

struct CharacterGear {
    u32 equipment_display_id;
    InventoryType inventory_type;
    u32 enchantment;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32equipment_display_id
0x041 / -InventoryTypeinventory_type
0x054 / Littleu32enchantment

Used in:

Character

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_enum.wowm:17.

struct Character {
    Guid guid;
    CString name;
    Race race;
    Class class;
    Gender gender;
    u8 skin;
    u8 face;
    u8 hair_style;
    u8 hair_color;
    u8 facial_hair;
    Level level;
    Area area;
    Map map;
    Vector3d position;
    u32 guild_id;
    CharacterFlags flags;
    Bool first_login;
    u32 pet_display_id;
    Level32 pet_level;
    (u32)CreatureFamily pet_family;
    CharacterGear[19] equipment;
    u32 first_bag_display_id = 0;
    u8 first_bag_inventory_id = 0;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x08- / -CStringname
-1 / -Racerace
-1 / -Classclass
-1 / -Gendergender
-1 / -u8skin
-1 / -u8face
-1 / -u8hair_style
-1 / -u8hair_color
-1 / -u8facial_hair
-1 / -Levellevel
-4 / -Areaarea
-4 / -Mapmap
-12 / -Vector3dposition
-4 / Littleu32guild_id
-4 / -CharacterFlagsflags
-1 / -Boolfirst_login
-4 / Littleu32pet_display_id
-4 / LittleLevel32pet_level
-4 / -CreatureFamilypet_family
-95 / -CharacterGear[19]equipment
-4 / Littleu32first_bag_display_id
-1 / -u8first_bag_inventory_id

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_enum_2_4_3.wowm:8.

struct Character {
    Guid guid;
    CString name;
    Race race;
    Class class;
    Gender gender;
    u8 skin;
    u8 face;
    u8 hair_style;
    u8 hair_color;
    u8 facial_hair;
    Level level;
    Area area;
    Map map;
    Vector3d position;
    u32 guild_id;
    u32 flags;
    Bool first_login;
    u32 pet_display_id;
    Level32 pet_level;
    (u32)CreatureFamily pet_family;
    CharacterGear[20] equipment;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x08- / -CStringname
-1 / -Racerace
-1 / -Classclass
-1 / -Gendergender
-1 / -u8skin
-1 / -u8face
-1 / -u8hair_style
-1 / -u8hair_color
-1 / -u8facial_hair
-1 / -Levellevel
-4 / -Areaarea
-4 / -Mapmap
-12 / -Vector3dposition
-4 / Littleu32guild_id
-4 / Littleu32flags
-1 / -Boolfirst_login
-4 / Littleu32pet_display_id
-4 / LittleLevel32pet_level
-4 / -CreatureFamilypet_family
-180 / -CharacterGear[20]equipment

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_enum_3_3_5.wowm:8.

struct Character {
    Guid guid;
    CString name;
    Race race;
    Class class;
    Gender gender;
    u8 skin;
    u8 face;
    u8 hair_style;
    u8 hair_color;
    u8 facial_hair;
    Level level;
    Area area;
    Map map;
    Vector3d position;
    u32 guild_id;
    u32 flags;
    u32 recustomization_flags;
    Bool first_login;
    u32 pet_display_id;
    Level32 pet_level;
    (u32)CreatureFamily pet_family;
    CharacterGear[23] equipment;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x08- / -CStringname
-1 / -Racerace
-1 / -Classclass
-1 / -Gendergender
-1 / -u8skin
-1 / -u8face
-1 / -u8hair_style
-1 / -u8hair_color
-1 / -u8facial_hair
-1 / -Levellevel
-4 / -Areaarea
-4 / -Mapmap
-12 / -Vector3dposition
-4 / Littleu32guild_id
-4 / Littleu32flags
-4 / Littleu32recustomization_flags
-1 / -Boolfirst_login
-4 / Littleu32pet_display_id
-4 / LittleLevel32pet_level
-4 / -CreatureFamilypet_family
-207 / -CharacterGear[23]equipment

Used in:

CompressedMove

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_compressed_moves.wowm:32.

struct CompressedMove {
    u8 size = self.size;
    CompressedMoveOpcode opcode;
    PackedGuid guid;
    if (opcode == SMSG_SPLINE_SET_RUN_SPEED) {
        f32 speed;
    }
    else if (opcode == SMSG_MONSTER_MOVE) {
        MonsterMove monster_move;
    }
    else if (opcode == SMSG_MONSTER_MOVE_TRANSPORT) {
        PackedGuid transport;
        MonsterMove monster_move_transport;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8size
0x012 / -CompressedMoveOpcodeopcode
0x03- / -PackedGuidguid

If opcode is equal to SMSG_SPLINE_SET_RUN_SPEED:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32speed

Else If opcode is equal to SMSG_MONSTER_MOVE:

OffsetSize / EndiannessTypeNameComment
-- / -MonsterMovemonster_move

Else If opcode is equal to SMSG_MONSTER_MOVE_TRANSPORT:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtransport
-- / -MonsterMovemonster_move_transport

Used in:

CooldownSpell

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_initial_spells.wowm:1.

struct CooldownSpell {
    u16 spell_id;
    u16 item_id;
    u16 spell_category;
    Milliseconds cooldown;
    Milliseconds category_cooldown;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / Littleu16spell_id
0x022 / Littleu16item_idcmangos/mangoszero: cast item id
0x042 / Littleu16spell_category
0x064 / LittleMillisecondscooldown
0x0A4 / LittleMillisecondscategory_cooldown

Used in:

DamageInfo

Client Version 1.12, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackerstateupdate.wowm:29.

struct DamageInfo {
    u32 spell_school_mask;
    f32 damage_float;
    u32 damage_uint;
    u32 absorb;
    u32 resist;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32spell_school_mask
0x044 / Littlef32damage_floatvmangos sends the same data in damage_uint.
0x084 / Littleu32damage_uintvmangos sends the same data in damage_float.
0x0C4 / Littleu32absorb
0x104 / Littleu32resist

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackerstateupdate_3_3_5.wowm:41.

struct DamageInfo {
    u32 spell_school_mask;
    f32 damage_float;
    u32 damage_uint;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32spell_school_mask
0x044 / Littlef32damage_floatarcemu sends the same data in damage_uint.
0x084 / Littleu32damage_uintarcemu sends the same data in damage_float.

Used in:

DispelledSpell

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelldispellog.wowm:29.

struct DispelledSpell {
    Spell spell;
    DispelMethod method;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleSpellspell
0x041 / -DispelMethodmethod

Used in:

EquipmentSetListItem

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_equipment_set_list.wowm:1.

struct EquipmentSetListItem {
    Guid guid;
    CString name;
    CString icon_name;
    Guid[19] equipment;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x08- / -CStringname
-- / -CStringicon_name
-152 / -Guid[19]equipment

Used in:

EquipmentSet

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/cmsg_equipment_set_use.wowm:1.

struct EquipmentSet {
    Guid item;
    u8 source_bag;
    u8 source_slot;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuiditem
0x081 / -u8source_bag
0x091 / -u8source_slot

Used in:

FactionInitializer

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_initialize_factions.wowm:1.

struct FactionInitializer {
    FactionFlag flag;
    u32 standing;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -FactionFlagflag
0x014 / Littleu32standing

Used in:

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_initialize_factions.wowm:18.

struct FactionInitializer {
    FactionFlag flag;
    u32 standing;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -FactionFlagflag
0x014 / Littleu32standing

Used in:

FactionStanding

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_faction_standing.wowm:1.

struct FactionStanding {
    Faction faction;
    u32 standing;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / -Factionfaction
0x024 / Littleu32standing

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_faction_standing.wowm:1.

struct FactionStanding {
    Faction faction;
    u32 standing;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / -Factionfaction
0x024 / Littleu32standing

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_faction_standing.wowm:1.

struct FactionStanding {
    Faction faction;
    u32 standing;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / -Factionfaction
0x024 / Littleu32standing

Used in:

ForcedReaction

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_forced_reactions.wowm:1.

struct ForcedReaction {
    Faction faction;
    u32 reputation_rank;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / -Factionfaction
0x024 / Littleu32reputation_rank

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_forced_reactions.wowm:1.

struct ForcedReaction {
    Faction faction;
    u32 reputation_rank;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / -Factionfaction
0x024 / Littleu32reputation_rank

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_forced_reactions.wowm:1.

struct ForcedReaction {
    Faction faction;
    u32 reputation_rank;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / -Factionfaction
0x024 / Littleu32reputation_rank

Used in:

Friend

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_friend_list.wowm:11.

struct Friend {
    Guid guid;
    FriendStatus status;
    if (status != OFFLINE) {
        Area area;
        Level32 level;
        (u32)Class class;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x081 / -FriendStatusstatus

If status is not equal to OFFLINE:

OffsetSize / EndiannessTypeNameComment
0x094 / -Areaarea
0x0D4 / LittleLevel32level
0x114 / -Classclass

Used in:

GmSurveyQuestion

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/cmsg_gmsurvey_submit.wowm:3.

struct GmSurveyQuestion {
    u32 question_id;
    u8 answer;
    CString comment;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32question_idcmangos: questions found in GMSurveyQuestions.dbc
ref to i’th GMSurveySurveys.dbc field (all fields in that dbc point to fields in GMSurveyQuestions.dbc)
0x041 / -u8answerRating: hardcoded limit of 0-5 in pre-Wrath, ranges defined in GMSurveyAnswers.dbc Wrath+
0x05- / -CStringcommentUsage: GMSurveyAnswerSubmit(question, rank, comment)
cmangos: Unused in stock UI, can be only set by calling Lua function

Used in:

GossipItem

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_gossip_message.wowm:1.

struct GossipItem {
    u32 id;
    u8 item_icon;
    Bool coded;
    CString message;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32idvmangos: sets to loop index
0x041 / -u8item_icon
0x051 / -Boolcodedvmangos: makes pop up box password
0x06- / -CStringmessage

Used in:

Client Version 2.0.3, Client Version 2.1, Client Version 2.2, Client Version 2.3, Client Version 2.4, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_gossip_message.wowm:27.

struct GossipItem {
    u32 id;
    u8 item_icon;
    Bool coded;
    Gold money_required;
    CString message;
    CString accept_text;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32idvmangos: sets to loop index
0x041 / -u8item_icon
0x051 / -Boolcodedvmangos: makes pop up box password
0x064 / LittleGoldmoney_requiredmangosone: 2.0.3
0x0A- / -CStringmessage
-- / -CStringaccept_textmangosone: related to money pop up box, 2.0.3, max 0x800

Used in:

GroupListMember

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_list.wowm:8.

struct GroupListMember {
    CString name;
    Guid guid;
    Bool is_online;
    u8 flags;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -CStringname
-8 / LittleGuidguid
-1 / -Boolis_online
-1 / -u8flagsmangoszero/cmangos/vmangos: own flags (groupid

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_list.wowm:35.

struct GroupListMember {
    CString name;
    Guid guid;
    Bool is_online;
    u8 group_id;
    u8 flags;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -CStringname
-8 / LittleGuidguid
-1 / -Boolis_online
-1 / -u8group_id
-1 / -u8flagsmangosone: 0x2 main assist, 0x4 main tank

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_list.wowm:67.

struct GroupListMember {
    CString name;
    Guid guid;
    Bool is_online;
    u8 group_id;
    u8 flags;
    u8 lfg_roles;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -CStringname
-8 / LittleGuidguid
-1 / -Boolis_online
-1 / -u8group_id
-1 / -u8flagsmangosone: 0x2 main assist, 0x4 main tank
-1 / -u8lfg_roles

Used in:

GuildBankRights

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/cmsg_guild_rank.wowm:9.

struct GuildBankRights {
    u32 rights;
    u32 slots_per_day;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32rights
0x044 / Littleu32slots_per_day

Used in:

GuildBankSlot

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/smsg_guild_bank_list.wowm:29.

struct GuildBankSlot {
    u8 slot;
    Item item;
    VariableItemRandomProperty item_random_property_id;
    u8 amount_of_items;
    u32 enchant;
    u8 charges;
    u8 amount_of_sockets;
    GuildBankSocket[amount_of_sockets] sockets;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8slot
0x014 / LittleItemitem
0x05- / -VariableItemRandomPropertyitem_random_property_id
-1 / -u8amount_of_items
-4 / Littleu32enchant
-1 / -u8charges
-1 / -u8amount_of_sockets
-? / -GuildBankSocket[amount_of_sockets]sockets

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/smsg_guild_bank_list.wowm:57.

struct GuildBankSlot {
    u8 slot;
    Item item;
    u32 unknown1;
    VariableItemRandomProperty item_random_property_id;
    u32 amount_of_items;
    u32 unknown2;
    u8 unknown3;
    u8 amount_of_sockets;
    GuildBankSocket[amount_of_sockets] sockets;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8slot
0x014 / LittleItemitem
0x054 / Littleu32unknown13.3.0 (0x8000, 0x8020)
0x09- / -VariableItemRandomPropertyitem_random_property_id
-4 / Littleu32amount_of_items
-4 / Littleu32unknown2
-1 / -u8unknown3
-1 / -u8amount_of_sockets
-? / -GuildBankSocket[amount_of_sockets]sockets

Used in:

GuildBankSocket

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/smsg_guild_bank_list.wowm:22.

struct GuildBankSocket {
    u8 socket_index;
    u32 gem;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8socket_index
0x014 / Littleu32gem

Used in:

GuildBankTab

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/smsg_guild_bank_list.wowm:15.

struct GuildBankTab {
    CString tab_name;
    CString tab_icon;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -CStringtab_name
-- / -CStringtab_icon

Used in:

GuildLogEvent

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_guild_event_log_query.wowm:9.

struct GuildLogEvent {
    GuildEvent event;
    Guid player1;
    if (event == JOINED
        || event == LEFT) {
        Guid player2;
    }
    else if (event == PROMOTION
        || event == DEMOTION) {
        u8 new_rank;
    }
    u32 unix_time;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -GuildEventevent
0x018 / LittleGuidplayer1

If event is equal to JOINED or is equal to LEFT:

OffsetSize / EndiannessTypeNameComment
0x098 / LittleGuidplayer2

Else If event is equal to PROMOTION or is equal to DEMOTION:

OffsetSize / EndiannessTypeNameComment
0x111 / -u8new_rank
0x124 / Littleu32unix_time

Used in:

GuildMember

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_roster.wowm:8.

struct GuildMember {
    Guid guid;
    GuildMemberStatus status;
    CString name;
    u32 rank;
    Level level;
    Class class;
    Area area;
    if (status == OFFLINE) {
        f32 time_offline;
    }
    CString public_note;
    CString officer_note;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x081 / -GuildMemberStatusstatus
0x09- / -CStringname
-4 / Littleu32rank
-1 / -Levellevel
-1 / -Classclass
-4 / -Areaarea

If status is equal to OFFLINE:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32time_offline
-- / -CStringpublic_note
-- / -CStringofficer_note

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_roster.wowm:35.

struct GuildMember {
    Guid guid;
    GuildMemberStatus status;
    CString name;
    u32 rank;
    Level level;
    Class class;
    u8 unknown1;
    Area area;
    if (status == OFFLINE) {
        f32 time_offline;
    }
    CString public_note;
    CString officer_note;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x081 / -GuildMemberStatusstatus
0x09- / -CStringname
-4 / Littleu32rank
-1 / -Levellevel
-1 / -Classclass
-1 / -u8unknown1mangosone: new 2.4.0
Possibly gender
-4 / -Areaarea

If status is equal to OFFLINE:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32time_offline
-- / -CStringpublic_note
-- / -CStringofficer_note

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_roster.wowm:55.

struct GuildMember {
    Guid guid;
    u32 unknown;
    GuildMemberStatus status;
    CString name;
    u32 rank;
    Level level;
    Class class;
    Gender gender;
    Area area;
    if (status == OFFLINE) {
        f32 time_offline;
    }
    CString public_note;
    CString officer_note;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x084 / Littleu32unknownarcemu: high guid
0x0C1 / -GuildMemberStatusstatus
0x0D- / -CStringname
-4 / Littleu32rank
-1 / -Levellevel
-1 / -Classclass
-1 / -Gendergender
-4 / -Areaarea

If status is equal to OFFLINE:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32time_offline
-- / -CStringpublic_note
-- / -CStringofficer_note

Used in:

GuildRights

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_roster.wowm:75.

struct GuildRights {
    u32 rights;
    Gold money_per_day;
    GuildBankRights[6] bank_tab_rights;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32rights
0x044 / LittleGoldmoney_per_day
0x0848 / -GuildBankRights[6]bank_tab_rights

Used in:

InitialSpell

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_initial_spells.wowm:12.

struct InitialSpell {
    u16 spell_id;
    u16 unknown1;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / Littleu16spell_idcmangos/mangoszero: only send ‘first’ part of spell
0x022 / Littleu16unknown1cmangos/mangoszero: sets to 0
cmangos/mangoszero: it’s not slot id

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_initial_spells.wowm:33.

struct InitialSpell {
    u32 spell_id;
    u16 unknown1;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32spell_idcmangos/mangoszero: only send ‘first’ part of spell
0x042 / Littleu16unknown1cmangos/mangoszero: sets to 0
cmangos/mangoszero: it’s not slot id

Used in:

InspectTalentGear

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_inspect_talent.wowm:23.

struct InspectTalentGear {
    Item item;
    EnchantMask enchant_mask;
    u16 unknown1;
    PackedGuid creator;
    u32 unknown2;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleItemitem
0x04- / -EnchantMaskenchant_mask
-2 / Littleu16unknown1
-- / -PackedGuidcreator
-4 / Littleu32unknown2

Used in:

InspectTalentSpec

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_inspect_talent.wowm:9.

struct InspectTalentSpec {
    u8 amount_of_talents;
    InspectTalent[amount_of_talents] talents;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8amount_of_talents
0x01? / -InspectTalent[amount_of_talents]talents

Used in:

InspectTalent

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_inspect_talent.wowm:16.

struct InspectTalent {
    Talent talent;
    u8 max_rank;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -Talenttalent
0x041 / -u8max_rank

Used in:

ItemDamageType

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_query_single_response.wowm:82.

struct ItemDamageType {
    f32 damage_minimum;
    f32 damage_maximum;
    (u32)SpellSchool school;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littlef32damage_minimum
0x044 / Littlef32damage_maximum
0x084 / -SpellSchoolschool

Used in:

ItemRefundExtra

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_item_refund_info_response.wowm:1.

struct ItemRefundExtra {
    Item item;
    u32 amount;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleItemitem
0x044 / Littleu32amount

Used in:

ItemSocket

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_query_single_response.wowm:582.

struct ItemSocket {
    u32 color;
    u32 content;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32color
0x044 / Littleu32content

Used in:

ItemSpells

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_query_single_response.wowm:40.

struct ItemSpells {
    Spell spell;
    (u32)SpellTriggerType spell_trigger;
    i32 spell_charges;
    i32 spell_cooldown;
    u32 spell_category;
    i32 spell_category_cooldown;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleSpellspell
0x044 / -SpellTriggerTypespell_trigger
0x084 / Littlei32spell_chargeslet the database control the sign here. negative means that the item should be consumed once the charges are consumed.
0x0C4 / Littlei32spell_cooldown
0x104 / Littleu32spell_category
0x144 / Littlei32spell_category_cooldown

Used in:

Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_query_single_response.wowm:69.

struct ItemSpells {
    Spell spell;
    (u32)SpellTriggerType spell_trigger;
    i32 spell_charges;
    i32 spell_cooldown;
    u32 spell_category;
    i32 spell_category_cooldown;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleSpellspell
0x044 / -SpellTriggerTypespell_trigger
0x084 / Littlei32spell_chargeslet the database control the sign here. negative means that the item should be consumed once the charges are consumed.
0x0C4 / Littlei32spell_cooldown
0x104 / Littleu32spell_category
0x144 / Littlei32spell_category_cooldown

Used in:

ItemStat

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_query_single_response.wowm:104.

struct ItemStat {
    (u32)ItemStatType stat_type;
    i32 value;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -ItemStatTypestat_type
0x044 / Littlei32value

Used in:

Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_query_single_response.wowm:574.

struct ItemStat {
    u32 stat_type;
    i32 value;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32stat_type
0x044 / Littlei32value

Used in:

LfgAvailableDungeon

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_player_info.wowm:9.

struct LfgAvailableDungeon {
    u32 dungeon_entry;
    Bool done;
    u32 quest_reward;
    u32 xp_reward;
    u32 unknown1;
    u32 unknown2;
    u8 amount_of_rewards;
    LfgQuestReward[amount_of_rewards] rewards;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32dungeon_entry
0x041 / -Booldone
0x054 / Littleu32quest_reward
0x094 / Littleu32xp_reward
0x0D4 / Littleu32unknown1
0x114 / Littleu32unknown2
0x151 / -u8amount_of_rewards
0x16? / -LfgQuestReward[amount_of_rewards]rewards

Used in:

LfgData

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_update.wowm:8.

struct LfgData {
    u16 entry;
    (u16)LfgType lfg_type;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / Littleu16entry
0x022 / -LfgTypelfg_type

Used in:

LfgJoinLockedDungeon

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_join_result.wowm:17.

struct LfgJoinLockedDungeon {
    u32 dungeon_entry;
    u32 reason;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32dungeon_entry
0x044 / Littleu32reason

Used in:

LfgJoinPlayer

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_join_result.wowm:9.

struct LfgJoinPlayer {
    Guid player;
    u32 amount_of_locked_dungeons;
    LfgJoinLockedDungeon[amount_of_locked_dungeons] locked_dungeons;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidplayer
0x084 / Littleu32amount_of_locked_dungeons
0x0C? / -LfgJoinLockedDungeon[amount_of_locked_dungeons]locked_dungeons

Used in:

LfgListGroup

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_update_lfg_list.wowm:33.

struct LfgListGroup {
    Guid group;
    LfgUpdateFlag flags;
    if (flags & COMMENT) {
        CString comment;
    }
    if (flags & ROLES) {
        u8[3] roles;
    }
    Guid instance;
    u32 encounter_mask;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidgroup
0x084 / -LfgUpdateFlagflags

If flags contains COMMENT:

OffsetSize / EndiannessTypeNameComment
0x0C- / -CStringcomment

If flags contains ROLES:

OffsetSize / EndiannessTypeNameComment
-3 / -u8[3]rolesEmu just sets all to 0.
-8 / LittleGuidinstance
-4 / Littleu32encounter_mask

Used in:

LfgListPlayer

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_update_lfg_list.wowm:49.

struct LfgListPlayer {
    Guid player;
    LfgUpdateFlag flags;
    if (flags & CHARACTER_INFO) {
        Level level;
        Class class;
        Race race;
        u8 talents0;
        u8 talents1;
        u8 talents2;
        u32 armor;
        u32 spell_damage;
        u32 spell_heal;
        u32 crit_rating_melee;
        u32 crit_rating_ranged;
        u32 crit_rating_spell;
        f32 mana_per_5_seconds;
        f32 mana_per_5_seconds_combat;
        u32 attack_power;
        u32 agility;
        u32 health;
        u32 mana;
        Bool32 online;
        u32 average_item_level;
        u32 defense_skill;
        u32 dodge_rating;
        u32 block_rating;
        u32 parry_rating;
        u32 haste_rating;
        u32 expertise_rating;
    }
    if (flags & COMMENT) {
        CString comment;
    }
    if (flags & GROUP_LEADER) {
        Bool is_looking_for_more;
    }
    if (flags & GROUP_GUID) {
        Guid group;
    }
    if (flags & ROLES) {
        u8 roles;
    }
    if (flags & AREA) {
        Area area;
    }
    if (flags & STATUS) {
        u8 unknown1;
    }
    Guid instance;
    u32 encounter_mask;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidplayer
0x084 / -LfgUpdateFlagflags

If flags contains CHARACTER_INFO:

OffsetSize / EndiannessTypeNameComment
0x0C1 / -Levellevel
0x0D1 / -Classclass
0x0E1 / -Racerace
0x0F1 / -u8talents0
0x101 / -u8talents1
0x111 / -u8talents2
0x124 / Littleu32armor
0x164 / Littleu32spell_damage
0x1A4 / Littleu32spell_heal
0x1E4 / Littleu32crit_rating_melee
0x224 / Littleu32crit_rating_ranged
0x264 / Littleu32crit_rating_spell
0x2A4 / Littlef32mana_per_5_seconds
0x2E4 / Littlef32mana_per_5_seconds_combat
0x324 / Littleu32attack_power
0x364 / Littleu32agility
0x3A4 / Littleu32health
0x3E4 / Littleu32mana
0x424 / LittleBool32onlineazerothcore: talentpoints, used as online/offline marker :D
0x464 / Littleu32average_item_level
0x4A4 / Littleu32defense_skill
0x4E4 / Littleu32dodge_rating
0x524 / Littleu32block_rating
0x564 / Littleu32parry_rating
0x5A4 / Littleu32haste_rating
0x5E4 / Littleu32expertise_rating

If flags contains COMMENT:

OffsetSize / EndiannessTypeNameComment
0x62- / -CStringcomment

If flags contains GROUP_LEADER:

OffsetSize / EndiannessTypeNameComment
-1 / -Boolis_looking_for_moreemu sets to true.

If flags contains GROUP_GUID:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidgroup

If flags contains ROLES:

OffsetSize / EndiannessTypeNameComment
-1 / -u8roles

If flags contains AREA:

OffsetSize / EndiannessTypeNameComment
-4 / -Areaarea

If flags contains STATUS:

OffsetSize / EndiannessTypeNameComment
-1 / -u8unknown1Emus set to 0.
-8 / LittleGuidinstance
-4 / Littleu32encounter_mask

Used in:

LfgPartyInfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_party_info.wowm:1.

struct LfgPartyInfo {
    Guid player;
    u32 amount_of_dungeons;
    LfgJoinLockedDungeon[amount_of_dungeons] dungeons;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidplayer
0x084 / Littleu32amount_of_dungeons
0x0C? / -LfgJoinLockedDungeon[amount_of_dungeons]dungeons

Used in:

LfgPlayerMember

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/msg_looking_for_group.wowm:29.

struct LfgPlayerMember {
    PackedGuid guid;
    Level32 level;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-4 / LittleLevel32level

Used in:

LfgPlayer

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/msg_looking_for_group.wowm:36.

struct LfgPlayer {
    PackedGuid guid;
    Level32 level;
    Area area;
    LfgMode lfg_mode;
    u32[3] lfg_slots;
    CString comment;
    u32 amount_of_members;
    LfgPlayerMember[amount_of_members] members;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-4 / LittleLevel32level
-4 / -Areaarea
-1 / -LfgModelfg_mode
-12 / -u32[3]lfg_slots
-- / -CStringcomment
-4 / Littleu32amount_of_members
-? / -LfgPlayerMember[amount_of_members]members

Used in:

LfgProposal

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_proposal_update.wowm:13.

struct LfgProposal {
    u32 role_mask;
    u8 is_current_player;
    u8 in_dungeon;
    u8 in_same_group;
    u8 has_answered;
    u8 has_accepted;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32role_mask
0x041 / -u8is_current_player
0x051 / -u8in_dungeon
0x061 / -u8in_same_group
0x071 / -u8has_answered
0x081 / -u8has_accepted

Used in:

LfgQuestReward

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_player_info.wowm:1.

struct LfgQuestReward {
    Item item;
    u32 display_id;
    u32 amount_of_rewards;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleItemitem
0x044 / Littleu32display_id
0x084 / Littleu32amount_of_rewards

Used in:

LfgRole

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_role_check_update.wowm:13.

struct LfgRole {
    Guid guid;
    Bool ready;
    u32 roles;
    Level level;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x081 / -Boolready
0x094 / Littleu32roles
0x0D1 / -Levellevel

Used in:

ListInventoryItem

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_list_inventory.wowm:1.

struct ListInventoryItem {
    u32 item_stack_count;
    Item item;
    u32 item_display_id;
    u32 max_items;
    Gold price;
    u32 max_durability;
    u32 durability;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32item_stack_count
0x044 / LittleItemitem
0x084 / Littleu32item_display_id
0x0C4 / Littleu32max_itemscmangos: 0 for infinity item amount, although they send 0xFFFFFFFF in that case
0x104 / LittleGoldprice
0x144 / Littleu32max_durability
0x184 / Littleu32durability

Used in:

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_list_inventory.wowm:14.

struct ListInventoryItem {
    u32 item_stack_count;
    Item item;
    u32 item_display_id;
    u32 max_items;
    Gold price;
    u32 max_durability;
    u32 durability;
    u32 extended_cost;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32item_stack_count
0x044 / LittleItemitem
0x084 / Littleu32item_display_id
0x0C4 / Littleu32max_itemscmangos: 0 for infinity item amount, although they send 0xFFFFFFFF in that case
0x104 / LittleGoldprice
0x144 / Littleu32max_durability
0x184 / Littleu32durability
0x1C4 / Littleu32extended_cost

Used in:

LootItem

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_response.wowm:65.

struct LootItem {
    u8 index;
    Item item;
    LootSlotType ty;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8index
0x014 / LittleItemitem
0x051 / -LootSlotTypety

Used in:

MSG_AUCTION_HELLO_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/msg/msg_auction_hello_client.wowm:1.

cmsg MSG_AUCTION_HELLO_Client = 0x0255 {
    Guid auctioneer;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidauctioneer

Examples

Example 1

0, 12, // size
85, 2, 0, 0, // opcode (597)
239, 190, 173, 222, 0, 0, 0, 0, // auctioneer: Guid

MSG_AUCTION_HELLO_Server

Client Version 1.1, Client Version 1.2, Client Version 1.3, Client Version 1.4, Client Version 1.5, Client Version 1.6, Client Version 1.7, Client Version 1.8, Client Version 1.9, Client Version 1.10, Client Version 1.11

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/msg/msg_auction_hello_server.wowm:1.

smsg MSG_AUCTION_HELLO_Server = 0x0255 {
    Guid auctioneer;
    u32 auction_house_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidauctioneer
0x0C4 / Littleu32auction_house_id

Client Version 1.12, Client Version 2, Client Version 3.0, Client Version 3.1, Client Version 3.2, Client Version 3.3.0, Client Version 3.3.1, Client Version 3.3.2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/msg/msg_auction_hello_server.wowm:8.

smsg MSG_AUCTION_HELLO_Server = 0x0255 {
    Guid auctioneer;
    AuctionHouse auction_house;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidauctioneer
0x0C4 / -AuctionHouseauction_house

Client Version 3.3.3, Client Version 3.3.4, Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/msg/msg_auction_hello_server.wowm:15.

smsg MSG_AUCTION_HELLO_Server = 0x0255 {
    Guid auctioneer;
    AuctionHouse auction_house;
    Bool auction_house_enabled;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidauctioneer
0x0C4 / -AuctionHouseauction_house
0x101 / -Boolauction_house_enabled

MSG_BATTLEGROUND_PLAYER_POSITIONS_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/msg_battleground_player_positions.wowm:1.

cmsg MSG_BATTLEGROUND_PLAYER_POSITIONS_Client = 0x02E9 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

MSG_BATTLEGROUND_PLAYER_POSITIONS_Server

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/msg_battleground_player_positions.wowm:13.

smsg MSG_BATTLEGROUND_PLAYER_POSITIONS_Server = 0x02E9 {
    u32 amount_of_teammates;
    BattlegroundPlayerPosition[amount_of_teammates] teammates;
    u8 amount_of_carriers;
    BattlegroundPlayerPosition[amount_of_carriers] carriers;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_teammates
-? / -BattlegroundPlayerPosition[amount_of_teammates]teammates
-1 / -u8amount_of_carriersvmangos only sends the carrier of the player team. No emu ever sends more than 2.
-? / -BattlegroundPlayerPosition[amount_of_carriers]carriers

MSG_CHANNEL_START_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/msg_channel_start.wowm:1.

smsg MSG_CHANNEL_START_Server = 0x0139 {
    Spell spell;
    u32 duration;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellspell
0x084 / Littleu32duration

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/msg_channel_start.wowm:8.

smsg MSG_CHANNEL_START_Server = 0x0139 {
    PackedGuid caster;
    Spell spell;
    u32 duration;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidcaster
-4 / LittleSpellspell
-4 / Littleu32duration

MSG_CHANNEL_UPDATE_Server

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/msg_channel_update.wowm:1.

smsg MSG_CHANNEL_UPDATE_Server = 0x013A {
    u32 time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32time

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/msg_channel_update.wowm:7.

smsg MSG_CHANNEL_UPDATE_Server = 0x013A {
    PackedGuid caster;
    u32 time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidcaster
-4 / Littleu32time

MSG_CORPSE_QUERY_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_corpse_query_client.wowm:3.

cmsg MSG_CORPSE_QUERY_Client = 0x0216 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

MSG_CORPSE_QUERY_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_corpse_query_server.wowm:8.

smsg MSG_CORPSE_QUERY_Server = 0x0216 {
    CorpseQueryResult result;
    if (result == FOUND) {
        Map map;
        Vector3d position;
        Map corpse_map;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -CorpseQueryResultresult

If result is equal to FOUND:

OffsetSize / EndiannessTypeNameComment
0x054 / -Mapmap
0x0912 / -Vector3dposition
0x154 / -Mapcorpse_map

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_corpse_query_server.wowm:8.

smsg MSG_CORPSE_QUERY_Server = 0x0216 {
    CorpseQueryResult result;
    if (result == FOUND) {
        Map map;
        Vector3d position;
        Map corpse_map;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -CorpseQueryResultresult

If result is equal to FOUND:

OffsetSize / EndiannessTypeNameComment
0x054 / -Mapmap
0x0912 / -Vector3dposition
0x154 / -Mapcorpse_map

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_corpse_query_server.wowm:19.

smsg MSG_CORPSE_QUERY_Server = 0x0216 {
    CorpseQueryResult result;
    if (result == FOUND) {
        Map map;
        Vector3d position;
        Map corpse_map;
    }
    u32 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -CorpseQueryResultresult

If result is equal to FOUND:

OffsetSize / EndiannessTypeNameComment
-4 / -Mapmap
-12 / -Vector3dposition
-4 / -Mapcorpse_map
-4 / Littleu32unknown

MSG_GUILD_BANK_LOG_QUERY_Client

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_guild_bank_log_query.wowm:1.

cmsg MSG_GUILD_BANK_LOG_QUERY_Client = 0x03ED {
    u8 slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8slot

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_guild_bank_log_query.wowm:16.

cmsg MSG_GUILD_BANK_LOG_QUERY_Client = 0x03EE {
    u8 slot;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8slot

MSG_GUILD_BANK_LOG_QUERY_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_guild_bank_log_query.wowm:7.

smsg MSG_GUILD_BANK_LOG_QUERY_Server = 0x03ED {
    u32 unix_time;
    u8 slot;
    u8 amount_of_money_logs;
    MoneyLogItem[amount_of_money_logs] money_logs;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unix_time
0x081 / -u8slot
0x091 / -u8amount_of_money_logs
0x0A? / -MoneyLogItem[amount_of_money_logs]money_logs

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_guild_bank_log_query.wowm:31.

smsg MSG_GUILD_BANK_LOG_QUERY_Server = 0x03EE {
    u32 unix_time;
    u8 slot;
    u8 amount_of_money_logs;
    MoneyLogItem[amount_of_money_logs] money_logs;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unix_time
-1 / -u8slot
-1 / -u8amount_of_money_logs
-? / -MoneyLogItem[amount_of_money_logs]money_logs

MSG_GUILD_BANK_MONEY_WITHDRAWN_Client

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_guild_bank_money_withdrawn.wowm:1.

cmsg MSG_GUILD_BANK_MONEY_WITHDRAWN_Client = 0x03FD {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_guild_bank_money_withdrawn.wowm:5.

cmsg MSG_GUILD_BANK_MONEY_WITHDRAWN_Client = 0x03FE {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

MSG_GUILD_BANK_MONEY_WITHDRAWN_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_guild_bank_money_withdrawn.wowm:9.

smsg MSG_GUILD_BANK_MONEY_WITHDRAWN_Server = 0x03FD {
    u32 remaining_withdraw_amount;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32remaining_withdraw_amount

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_guild_bank_money_withdrawn.wowm:15.

smsg MSG_GUILD_BANK_MONEY_WITHDRAWN_Server = 0x03FE {
    u32 remaining_withdraw_amount;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32remaining_withdraw_amount

MSG_GUILD_EVENT_LOG_QUERY_Client

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_guild_event_log_query.wowm:1.

cmsg MSG_GUILD_EVENT_LOG_QUERY_Client = 0x03FE {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_guild_event_log_query.wowm:5.

cmsg MSG_GUILD_EVENT_LOG_QUERY_Client = 0x03FF {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

MSG_GUILD_EVENT_LOG_QUERY_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_guild_event_log_query.wowm:27.

smsg MSG_GUILD_EVENT_LOG_QUERY_Server = 0x03FE {
    u8 amount_of_events;
    GuildLogEvent[amount_of_events] events;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8amount_of_events
0x05? / -GuildLogEvent[amount_of_events]events

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_guild_event_log_query.wowm:34.

smsg MSG_GUILD_EVENT_LOG_QUERY_Server = 0x03FF {
    u8 amount_of_events;
    GuildLogEvent[amount_of_events] events;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8amount_of_events
-? / -GuildLogEvent[amount_of_events]events

MSG_GUILD_PERMISSIONS_Client

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_guild_permissions.wowm:1.

cmsg MSG_GUILD_PERMISSIONS_Client = 0x03FC {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_guild_permissions.wowm:5.

cmsg MSG_GUILD_PERMISSIONS_Client = 0x03FD {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

MSG_GUILD_PERMISSIONS_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_guild_permissions.wowm:16.

smsg MSG_GUILD_PERMISSIONS_Server = 0x03FC {
    u32 id;
    u32 rights;
    Gold gold_limit_per_day;
    u8 purchased_bank_tabs;
    BankTab[6] bank_tabs;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32id
0x084 / Littleu32rights
0x0C4 / LittleGoldgold_limit_per_day
0x101 / -u8purchased_bank_tabs
0x1148 / -BankTab[6]bank_tabs

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_guild_permissions.wowm:26.

smsg MSG_GUILD_PERMISSIONS_Server = 0x03FD {
    u32 id;
    u32 rights;
    Gold gold_limit_per_day;
    u8 purchased_bank_tabs;
    BankTab[6] bank_tabs;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32id
0x084 / Littleu32rights
0x0C4 / LittleGoldgold_limit_per_day
0x101 / -u8purchased_bank_tabs
0x1148 / -BankTab[6]bank_tabs

MSG_INSPECT_ARENA_TEAMS_Client

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/msg_inspect_arena_teams.wowm:14.

cmsg MSG_INSPECT_ARENA_TEAMS_Client = 0x0377 {
    Guid player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidplayer

MSG_INSPECT_ARENA_TEAMS_Server

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/msg_inspect_arena_teams.wowm:1.

smsg MSG_INSPECT_ARENA_TEAMS_Server = 0x0377 {
    Guid player;
    u8 slot;
    u32 arena_team;
    u32 rating;
    u32 games_played_this_season;
    u32 wins_this_season;
    u32 total_games_played;
    u32 personal_rating;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidplayer
0x0C1 / -u8slot
0x0D4 / Littleu32arena_team
0x114 / Littleu32rating
0x154 / Littleu32games_played_this_season
0x194 / Littleu32wins_this_season
0x1D4 / Littleu32total_games_played
0x214 / Littleu32personal_rating

MSG_INSPECT_HONOR_STATS_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pvp/msg_inspect_honor_stats_client.wowm:3.

cmsg MSG_INSPECT_HONOR_STATS_Client = 0x02D6 {
    Guid guid;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidguid

MSG_INSPECT_HONOR_STATS_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pvp/msg_inspect_honor_stats_server.wowm:1.

smsg MSG_INSPECT_HONOR_STATS_Server = 0x02D6 {
    Guid guid;
    PvpRank highest_rank;
    u32 today_honorable_and_dishonorable;
    u16 yesterday_honorable;
    u16 unknown1;
    u16 last_week_honorable;
    u16 unknown2;
    u16 this_week_honorable;
    u16 unknown3;
    u32 lifetime_honorable;
    u32 lifetime_dishonorable;
    u32 yesterday_honor;
    u32 last_week_honor;
    u32 this_week_honor;
    (u32)PvpRank last_week_standing;
    u8 rank_progress_bar;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C1 / -PvpRankhighest_rank
0x0D4 / Littleu32today_honorable_and_dishonorable
0x112 / Littleu16yesterday_honorable
0x132 / Littleu16unknown1vmangos: Unknown (deprecated, yesterday dishonourable?)
0x152 / Littleu16last_week_honorable
0x172 / Littleu16unknown2vmangos: Unknown (deprecated, last week dishonourable?)
0x192 / Littleu16this_week_honorable
0x1B2 / Littleu16unknown3vmangos: Unknown (deprecated, this week dishonourable?)
0x1D4 / Littleu32lifetime_honorable
0x214 / Littleu32lifetime_dishonorable
0x254 / Littleu32yesterday_honor
0x294 / Littleu32last_week_honor
0x2D4 / Littleu32this_week_honor
0x314 / -PvpRanklast_week_standing
0x351 / -u8rank_progress_bar

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pvp/msg_inspect_honor_stats_server.wowm:25.

smsg MSG_INSPECT_HONOR_STATS_Server = 0x02D6 {
    Guid guid;
    u8 amount_of_honor;
    u32 kills;
    u32 honor_today;
    u32 honor_yesterday;
    u32 lifetime_honorable_kills;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C1 / -u8amount_of_honor
0x0D4 / Littleu32kills
0x114 / Littleu32honor_today
0x154 / Littleu32honor_yesterday
0x194 / Littleu32lifetime_honorable_kills

MSG_LIST_STABLED_PETS_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/msg_list_stabled_pets_client.wowm:3.

cmsg MSG_LIST_STABLED_PETS_Client = 0x026F {
    Guid npc;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidnpc

MSG_LIST_STABLED_PETS_Server

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/msg_list_stabled_pets_server.wowm:13.

smsg MSG_LIST_STABLED_PETS_Server = 0x026F {
    Guid npc;
    u8 amount_of_pets;
    u8 stable_slots;
    StabledPet[amount_of_pets] pets;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidnpc
-1 / -u8amount_of_pets
-1 / -u8stable_slots
-? / -StabledPet[amount_of_pets]pets

MSG_LOOKING_FOR_GROUP_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/msg_looking_for_group_client.wowm:3.

cmsg MSG_LOOKING_FOR_GROUP_Client = 0x01FF {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/msg_looking_for_group.wowm:13.

cmsg MSG_LOOKING_FOR_GROUP_Client = 0x01FF {
    (u32)LfgType lfg_type;
    u32 entry;
    u32 unknown;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -LfgTypelfg_type
0x0A4 / Littleu32entryentry from LfgDunggeons.dbc
0x0E4 / Littleu32unknown

MSG_LOOKING_FOR_GROUP_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/msg_looking_for_group_server.wowm:3.

smsg MSG_LOOKING_FOR_GROUP_Server = 0x01FF {
    u32 unknown1;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unknown1vmangos sets to 0. cmangos/mangoszero don’t implement

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/msg_looking_for_group.wowm:49.

smsg MSG_LOOKING_FOR_GROUP_Server = 0x01FF {
    (u32)LfgType lfg_type;
    u32 entry;
    u32 amount_of_players_displayed;
    u32 amount_of_players_found;
    LfgPlayer[amount_of_players_displayed] players_displayed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -LfgTypelfg_type
0x084 / Littleu32entryentry from LfgDunggeons.dbc
0x0C4 / Littleu32amount_of_players_displayed
0x104 / Littleu32amount_of_players_found
0x14? / -LfgPlayer[amount_of_players_displayed]players_displayed

MSG_MINIMAP_PING_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/msg_minimap_ping_client.wowm:3.

cmsg MSG_MINIMAP_PING_Client = 0x01D5 {
    f32 position_x;
    f32 position_y;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littlef32position_x
0x0A4 / Littlef32position_y

MSG_MINIMAP_PING_Server

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/msg_minimap_ping_server.wowm:3.

smsg MSG_MINIMAP_PING_Server = 0x01D5 {
    Guid guid;
    f32 position_x;
    f32 position_y;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littlef32position_x
0x104 / Littlef32position_y

MSG_MOVE_FALL_LAND

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_fall_land.wowm:39.

msg MSG_MOVE_FALL_LAND = 0x00C9 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_FALL_LAND_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_fall_land.wowm:1.

cmsg MSG_MOVE_FALL_LAND_Client = 0x00C9 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
201, 0, 0, 0, // opcode (201)
0, 0, 0, 0, // MovementInfo.flags: MovementFlags  NONE (0)
165, 217, 121, 1, // MovementInfo.timestamp: u32
173, 149, 11, 198, // Vector3d.x: f32
120, 245, 2, 195, // Vector3d.y: f32
241, 246, 165, 66, // Vector3d.z: f32
75, 71, 175, 61, // MovementInfo.orientation: f32
133, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_fall_land.wowm:33.

cmsg MSG_MOVE_FALL_LAND_Client = 0x00C9 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_FALL_LAND_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_fall_land.wowm:46.

smsg MSG_MOVE_FALL_LAND_Server = 0x00C9 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
201, 0, // opcode (201)
1, 5, // guid: PackedGuid
0, 0, 0, 0, // MovementInfo.flags: MovementFlags  NONE (0)
165, 217, 121, 1, // MovementInfo.timestamp: u32
173, 149, 11, 198, // Vector3d.x: f32
120, 245, 2, 195, // Vector3d.y: f32
241, 246, 165, 66, // Vector3d.z: f32
75, 71, 175, 61, // MovementInfo.orientation: f32
133, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_fall_land.wowm:81.

smsg MSG_MOVE_FALL_LAND_Server = 0x00C9 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_FEATHER_FALL_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_feather_fall.wowm:1.

smsg MSG_MOVE_FEATHER_FALL_Server = 0x02B0 {
    PackedGuid player;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidplayer
-- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_feather_fall.wowm:1.

smsg MSG_MOVE_FEATHER_FALL_Server = 0x02B0 {
    PackedGuid player;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidplayer
-- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_feather_fall.wowm:1.

smsg MSG_MOVE_FEATHER_FALL_Server = 0x02B0 {
    PackedGuid player;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-- / -MovementInfoinfo

MSG_MOVE_GRAVITY_CHNG_Server

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_gravity_chng.wowm:1.

smsg MSG_MOVE_GRAVITY_CHNG_Server = 0x04D2 {
    PackedGuid player;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-- / -MovementInfoinfo

MSG_MOVE_HEARTBEAT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_heartbeat.wowm:39.

msg MSG_MOVE_HEARTBEAT = 0x00EE {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_HEARTBEAT_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_heartbeat.wowm:1.

cmsg MSG_MOVE_HEARTBEAT_Client = 0x00EE {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
238, 0, 0, 0, // opcode (238)
1, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD (1)
70, 49, 122, 1, // MovementInfo.timestamp: u32
25, 199, 11, 198, // Vector3d.x: f32
254, 110, 224, 194, // Vector3d.y: f32
26, 245, 165, 66, // Vector3d.z: f32
3, 81, 36, 64, // MovementInfo.orientation: f32
133, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_heartbeat.wowm:33.

cmsg MSG_MOVE_HEARTBEAT_Client = 0x00EE {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_HEARTBEAT_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_heartbeat.wowm:46.

smsg MSG_MOVE_HEARTBEAT_Server = 0x00EE {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
238, 0, // opcode (238)
1, 5, // guid: PackedGuid
1, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD (1)
70, 49, 122, 1, // MovementInfo.timestamp: u32
25, 199, 11, 198, // Vector3d.x: f32
254, 110, 224, 194, // Vector3d.y: f32
26, 245, 165, 66, // Vector3d.z: f32
3, 81, 36, 64, // MovementInfo.orientation: f32
133, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_heartbeat.wowm:81.

smsg MSG_MOVE_HEARTBEAT_Server = 0x00EE {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_HOVER

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_hover.wowm:1.

msg MSG_MOVE_HOVER = 0x00F7 {
    PackedGuid player;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidplayer
-- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_hover.wowm:1.

msg MSG_MOVE_HOVER = 0x00F7 {
    PackedGuid player;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidplayer
-- / -MovementInfoinfo

MSG_MOVE_JUMP

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_jump.wowm:47.

msg MSG_MOVE_JUMP = 0x00BB {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_JUMP_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_jump.wowm:1.

cmsg MSG_MOVE_JUMP_Client = 0x00BB {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 48, // size
187, 0, 0, 0, // opcode (187)
1, 32, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD| JUMPING (8193)
32, 214, 121, 1, // MovementInfo.timestamp: u32
27, 173, 11, 198, // Vector3d.x: f32
157, 76, 5, 195, // Vector3d.y: f32
209, 74, 167, 66, // Vector3d.z: f32
184, 157, 194, 62, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32
216, 147, 254, 192, // MovementInfo.z_speed: f32
77, 186, 109, 63, // MovementInfo.cos_angle: f32
159, 246, 189, 62, // MovementInfo.sin_angle: f32
0, 0, 224, 64, // MovementInfo.xy_speed: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_jump.wowm:41.

cmsg MSG_MOVE_JUMP_Client = 0x00BB {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_JUMP_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_jump.wowm:54.

smsg MSG_MOVE_JUMP_Server = 0x00BB {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 48, // size
187, 0, // opcode (187)
1, 5, // guid: PackedGuid
1, 32, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD| JUMPING (8193)
32, 214, 121, 1, // MovementInfo.timestamp: u32
27, 173, 11, 198, // Vector3d.x: f32
157, 76, 5, 195, // Vector3d.y: f32
209, 74, 167, 66, // Vector3d.z: f32
184, 157, 194, 62, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32
216, 147, 254, 192, // MovementInfo.z_speed: f32
77, 186, 109, 63, // MovementInfo.cos_angle: f32
159, 246, 189, 62, // MovementInfo.sin_angle: f32
0, 0, 224, 64, // MovementInfo.xy_speed: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_jump.wowm:97.

smsg MSG_MOVE_JUMP_Server = 0x00BB {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_KNOCK_BACK_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_knock_back.wowm:1.

smsg MSG_MOVE_KNOCK_BACK_Server = 0x00F1 {
    PackedGuid player;
    MovementInfo info;
    f32 sin_angle;
    f32 cos_angle;
    f32 x_y_speed;
    f32 velocity;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidplayer
-- / -MovementInfoinfo
-4 / Littlef32sin_angle
-4 / Littlef32cos_angle
-4 / Littlef32x_y_speed
-4 / Littlef32velocity

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_knock_back.wowm:1.

smsg MSG_MOVE_KNOCK_BACK_Server = 0x00F1 {
    PackedGuid player;
    MovementInfo info;
    f32 sin_angle;
    f32 cos_angle;
    f32 x_y_speed;
    f32 velocity;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-- / -MovementInfoinfo
-4 / Littlef32sin_angle
-4 / Littlef32cos_angle
-4 / Littlef32x_y_speed
-4 / Littlef32velocity

MSG_MOVE_ROOT_Server

Client Version 2.4.3

There does not appear to be a CMSG version of this MSG.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_root.wowm:2.

smsg MSG_MOVE_ROOT_Server = 0x00EC {
    PackedGuid player;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidplayer
-- / -MovementInfoinfo

Client Version 3.3.5

There does not appear to be a CMSG version of this MSG.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_root.wowm:10.

smsg MSG_MOVE_ROOT_Server = 0x00EC {
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -MovementInfoinfo

MSG_MOVE_SET_FACING

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_facing.wowm:39.

msg MSG_MOVE_SET_FACING = 0x00DA {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_SET_FACING_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_facing.wowm:1.

cmsg MSG_MOVE_SET_FACING_Client = 0x00DA {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
218, 0, 0, 0, // opcode (218)
1, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD (1)
94, 45, 122, 1, // MovementInfo.timestamp: u32
151, 175, 11, 198, // Vector3d.x: f32
66, 10, 232, 194, // Vector3d.y: f32
227, 37, 165, 66, // Vector3d.z: f32
167, 79, 35, 64, // MovementInfo.orientation: f32
133, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_facing.wowm:33.

cmsg MSG_MOVE_SET_FACING_Client = 0x00DA {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_SET_FACING_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_facing.wowm:46.

smsg MSG_MOVE_SET_FACING_Server = 0x00DA {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
218, 0, // opcode (218)
1, 5, // guid: PackedGuid
1, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD (1)
94, 45, 122, 1, // MovementInfo.timestamp: u32
151, 175, 11, 198, // Vector3d.x: f32
66, 10, 232, 194, // Vector3d.y: f32
227, 37, 165, 66, // Vector3d.z: f32
167, 79, 35, 64, // MovementInfo.orientation: f32
133, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_facing.wowm:81.

smsg MSG_MOVE_SET_FACING_Server = 0x00DA {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_SET_FLIGHT_BACK_SPEED

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_flight_back_speed.wowm:1.

msg MSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x0380 {
    PackedGuid player;
    MovementInfo info;
    f32 new_speed;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidplayer
-- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_flight_back_speed.wowm:1.

msg MSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x0380 {
    PackedGuid player;
    MovementInfo info;
    f32 new_speed;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidplayer
-- / -MovementInfoinfo
-4 / Littlef32new_speed

MSG_MOVE_SET_FLIGHT_SPEED_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_flight_speed.wowm:1.

smsg MSG_MOVE_SET_FLIGHT_SPEED_Server = 0x037E {
    PackedGuid player;
    MovementInfo info;
    f32 new_speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidplayer
-- / -MovementInfoinfo
-4 / Littlef32new_speed

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_flight_speed.wowm:1.

smsg MSG_MOVE_SET_FLIGHT_SPEED_Server = 0x037E {
    PackedGuid player;
    MovementInfo info;
    f32 new_speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-- / -MovementInfoinfo
-4 / Littlef32new_speed

MSG_MOVE_SET_PITCH

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_pitch.wowm:13.

msg MSG_MOVE_SET_PITCH = 0x00DB {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_SET_PITCH_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_pitch.wowm:1.

cmsg MSG_MOVE_SET_PITCH_Client = 0x00DB {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_pitch.wowm:7.

cmsg MSG_MOVE_SET_PITCH_Client = 0x00DB {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_SET_PITCH_RATE_Server

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_pitch_rate.wowm:1.

smsg MSG_MOVE_SET_PITCH_RATE_Server = 0x045B {
    PackedGuid player;
    MovementInfo info;
    f32 new_speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-- / -MovementInfoinfo
-4 / Littlef32new_speed

MSG_MOVE_SET_PITCH_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_pitch.wowm:20.

smsg MSG_MOVE_SET_PITCH_Server = 0x00DB {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_pitch.wowm:27.

smsg MSG_MOVE_SET_PITCH_Server = 0x00DB {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_SET_RUN_MODE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_run_mode.wowm:39.

msg MSG_MOVE_SET_RUN_MODE = 0x00C2 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_SET_RUN_MODE_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_run_mode.wowm:1.

cmsg MSG_MOVE_SET_RUN_MODE_Client = 0x00C2 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
194, 0, 0, 0, // opcode (194)
1, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD (1)
65, 27, 91, 2, // MovementInfo.timestamp: u32
85, 185, 11, 198, // Vector3d.x: f32
248, 132, 1, 195, // Vector3d.y: f32
173, 49, 167, 66, // Vector3d.z: f32
46, 14, 195, 64, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_run_mode.wowm:33.

cmsg MSG_MOVE_SET_RUN_MODE_Client = 0x00C2 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_SET_RUN_MODE_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_run_mode.wowm:46.

smsg MSG_MOVE_SET_RUN_MODE_Server = 0x00C2 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
194, 0, // opcode (194)
1, 5, // guid: PackedGuid
1, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD (1)
65, 27, 91, 2, // MovementInfo.timestamp: u32
85, 185, 11, 198, // Vector3d.x: f32
248, 132, 1, 195, // Vector3d.y: f32
173, 49, 167, 66, // Vector3d.z: f32
46, 14, 195, 64, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_run_mode.wowm:53.

smsg MSG_MOVE_SET_RUN_MODE_Server = 0x00C2 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_SET_WALK_MODE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_walk_mode.wowm:13.

msg MSG_MOVE_SET_WALK_MODE = 0x00C3 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_SET_WALK_MODE_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_walk_mode.wowm:1.

cmsg MSG_MOVE_SET_WALK_MODE_Client = 0x00C3 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
195, 0, 0, 0, // opcode (195)
1, 1, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD| WALK_MODE (257)
154, 23, 91, 2, // MovementInfo.timestamp: u32
2, 189, 11, 198, // Vector3d.x: f32
78, 88, 1, 195, // Vector3d.y: f32
38, 41, 167, 66, // Vector3d.z: f32
46, 14, 195, 64, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_walk_mode.wowm:7.

cmsg MSG_MOVE_SET_WALK_MODE_Client = 0x00C3 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_SET_WALK_MODE_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_walk_mode.wowm:46.

smsg MSG_MOVE_SET_WALK_MODE_Server = 0x00C3 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
195, 0, // opcode (195)
1, 5, // guid: PackedGuid
1, 1, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD| WALK_MODE (257)
154, 23, 91, 2, // MovementInfo.timestamp: u32
2, 189, 11, 198, // Vector3d.x: f32
78, 88, 1, 195, // Vector3d.y: f32
38, 41, 167, 66, // Vector3d.z: f32
46, 14, 195, 64, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_set_walk_mode.wowm:53.

smsg MSG_MOVE_SET_WALK_MODE_Server = 0x00C3 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_ASCEND

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_ascend.wowm:7.

msg MSG_MOVE_START_ASCEND = 0x0359 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_ASCEND_Client

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_ascend.wowm:1.

cmsg MSG_MOVE_START_ASCEND_Client = 0x0359 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_ASCEND_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_ascend.wowm:14.

smsg MSG_MOVE_START_ASCEND_Server = 0x0359 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_BACKWARD

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_backward.wowm:13.

msg MSG_MOVE_START_BACKWARD = 0x00B6 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_BACKWARD_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_backward.wowm:1.

cmsg MSG_MOVE_START_BACKWARD_Client = 0x00B6 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
182, 0, 0, 0, // opcode (182)
2, 0, 0, 0, // MovementInfo.flags: MovementFlags  BACKWARD (2)
16, 87, 91, 2, // MovementInfo.timestamp: u32
117, 165, 11, 198, // Vector3d.x: f32
111, 244, 244, 194, // Vector3d.y: f32
189, 13, 165, 66, // Vector3d.z: f32
107, 108, 146, 64, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_backward.wowm:7.

cmsg MSG_MOVE_START_BACKWARD_Client = 0x00B6 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_BACKWARD_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_backward.wowm:46.

smsg MSG_MOVE_START_BACKWARD_Server = 0x00B6 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
182, 0, // opcode (182)
1, 5, // guid: PackedGuid
2, 0, 0, 0, // MovementInfo.flags: MovementFlags  BACKWARD (2)
16, 87, 91, 2, // MovementInfo.timestamp: u32
117, 165, 11, 198, // Vector3d.x: f32
111, 244, 244, 194, // Vector3d.y: f32
189, 13, 165, 66, // Vector3d.z: f32
107, 108, 146, 64, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_backward.wowm:53.

smsg MSG_MOVE_START_BACKWARD_Server = 0x00B6 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_DESCEND

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_descend.wowm:7.

msg MSG_MOVE_START_DESCEND = 0x03A7 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_DESCEND_Client

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_descend.wowm:1.

cmsg MSG_MOVE_START_DESCEND_Client = 0x03A7 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_DESCEND_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_descend.wowm:14.

smsg MSG_MOVE_START_DESCEND_Server = 0x03A7 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_FORWARD

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_forward.wowm:13.

msg MSG_MOVE_START_FORWARD = 0x00B5 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_FORWARD_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_forward.wowm:1.

cmsg MSG_MOVE_START_FORWARD_Client = 0x00B5 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
181, 0, 0, 0, // opcode (181)
1, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD (1)
99, 42, 122, 1, // MovementInfo.timestamp: u32
115, 186, 11, 198, // Vector3d.x: f32
24, 227, 238, 194, // Vector3d.y: f32
148, 168, 165, 66, // Vector3d.z: f32
44, 231, 248, 62, // MovementInfo.orientation: f32
133, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_forward.wowm:7.

cmsg MSG_MOVE_START_FORWARD_Client = 0x00B5 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_FORWARD_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_forward.wowm:46.

smsg MSG_MOVE_START_FORWARD_Server = 0x00B5 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
181, 0, // opcode (181)
1, 5, // guid: PackedGuid
1, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD (1)
99, 42, 122, 1, // MovementInfo.timestamp: u32
115, 186, 11, 198, // Vector3d.x: f32
24, 227, 238, 194, // Vector3d.y: f32
148, 168, 165, 66, // Vector3d.z: f32
44, 231, 248, 62, // MovementInfo.orientation: f32
133, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_forward.wowm:53.

smsg MSG_MOVE_START_FORWARD_Server = 0x00B5 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_PITCH_DOWN

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_pitch_down.wowm:13.

msg MSG_MOVE_START_PITCH_DOWN = 0x00C0 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_PITCH_DOWN_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_pitch_down.wowm:1.

cmsg MSG_MOVE_START_PITCH_DOWN_Client = 0x00C0 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_pitch_down.wowm:7.

cmsg MSG_MOVE_START_PITCH_DOWN_Client = 0x00C0 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_PITCH_DOWN_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_pitch_down.wowm:20.

smsg MSG_MOVE_START_PITCH_DOWN_Server = 0x00C0 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_pitch_down.wowm:27.

smsg MSG_MOVE_START_PITCH_DOWN_Server = 0x00C0 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_PITCH_UP

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_pitch_up.wowm:13.

msg MSG_MOVE_START_PITCH_UP = 0x00BF {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_PITCH_UP_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_pitch_up.wowm:1.

cmsg MSG_MOVE_START_PITCH_UP_Client = 0x00BF {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_pitch_up.wowm:7.

cmsg MSG_MOVE_START_PITCH_UP_Client = 0x00BF {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_PITCH_UP_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_pitch_up.wowm:20.

smsg MSG_MOVE_START_PITCH_UP_Server = 0x00BF {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_pitch_up.wowm:27.

smsg MSG_MOVE_START_PITCH_UP_Server = 0x00BF {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_STRAFE_LEFT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_strafe_left.wowm:39.

msg MSG_MOVE_START_STRAFE_LEFT = 0x00B8 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_STRAFE_LEFT_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_strafe_left.wowm:1.

cmsg MSG_MOVE_START_STRAFE_LEFT_Client = 0x00B8 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
184, 0, 0, 0, // opcode (184)
5, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD| STRAFE_LEFT (5)
159, 210, 121, 1, // MovementInfo.timestamp: u32
238, 193, 11, 198, // Vector3d.x: f32
253, 68, 8, 195, // Vector3d.y: f32
36, 126, 167, 66, // Vector3d.z: f32
184, 157, 194, 62, // MovementInfo.orientation: f32
127, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_strafe_left.wowm:33.

cmsg MSG_MOVE_START_STRAFE_LEFT_Client = 0x00B8 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_STRAFE_LEFT_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_strafe_left.wowm:46.

smsg MSG_MOVE_START_STRAFE_LEFT_Server = 0x00B8 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
184, 0, // opcode (184)
1, 5, // guid: PackedGuid
5, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD| STRAFE_LEFT (5)
159, 210, 121, 1, // MovementInfo.timestamp: u32
238, 193, 11, 198, // Vector3d.x: f32
253, 68, 8, 195, // Vector3d.y: f32
36, 126, 167, 66, // Vector3d.z: f32
184, 157, 194, 62, // MovementInfo.orientation: f32
127, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_strafe_left.wowm:81.

smsg MSG_MOVE_START_STRAFE_LEFT_Server = 0x00B8 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_STRAFE_RIGHT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_strafe_right.wowm:13.

msg MSG_MOVE_START_STRAFE_RIGHT = 0x00B9 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_STRAFE_RIGHT_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_strafe_right.wowm:1.

cmsg MSG_MOVE_START_STRAFE_RIGHT_Client = 0x00B9 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
185, 0, 0, 0, // opcode (185)
9, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD| STRAFE_RIGHT (9)
159, 210, 121, 1, // MovementInfo.timestamp: u32
238, 193, 11, 198, // Vector3d.x: f32
253, 68, 8, 195, // Vector3d.y: f32
36, 126, 167, 66, // Vector3d.z: f32
184, 157, 194, 62, // MovementInfo.orientation: f32
127, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_strafe_right.wowm:7.

cmsg MSG_MOVE_START_STRAFE_RIGHT_Client = 0x00B9 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_STRAFE_RIGHT_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_strafe_right.wowm:46.

smsg MSG_MOVE_START_STRAFE_RIGHT_Server = 0x00B9 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
185, 0, // opcode (185)
1, 5, // guid: PackedGuid
9, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD| STRAFE_RIGHT (9)
159, 210, 121, 1, // MovementInfo.timestamp: u32
238, 193, 11, 198, // Vector3d.x: f32
253, 68, 8, 195, // Vector3d.y: f32
36, 126, 167, 66, // Vector3d.z: f32
184, 157, 194, 62, // MovementInfo.orientation: f32
127, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_strafe_right.wowm:81.

smsg MSG_MOVE_START_STRAFE_RIGHT_Server = 0x00B9 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_SWIM

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_swim.wowm:13.

msg MSG_MOVE_START_SWIM = 0x00CA {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_SWIM_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_swim.wowm:1.

cmsg MSG_MOVE_START_SWIM_Client = 0x00CA {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_swim.wowm:7.

cmsg MSG_MOVE_START_SWIM_Client = 0x00CA {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_SWIM_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_swim.wowm:20.

smsg MSG_MOVE_START_SWIM_Server = 0x00CA {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_swim.wowm:27.

smsg MSG_MOVE_START_SWIM_Server = 0x00CA {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_TURN_LEFT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_turn_left.wowm:13.

msg MSG_MOVE_START_TURN_LEFT = 0x00BC {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_TURN_LEFT_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_turn_left.wowm:1.

cmsg MSG_MOVE_START_TURN_LEFT_Client = 0x00BC {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
188, 0, 0, 0, // opcode (188)
16, 0, 0, 0, // MovementInfo.flags: MovementFlags  TURN_LEFT (16)
251, 190, 121, 1, // MovementInfo.timestamp: u32
205, 215, 11, 198, // Vector3d.x: f32
53, 126, 4, 195, // Vector3d.y: f32
249, 15, 167, 66, // Vector3d.z: f32
0, 0, 0, 0, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_turn_left.wowm:7.

cmsg MSG_MOVE_START_TURN_LEFT_Client = 0x00BC {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_TURN_LEFT_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_turn_left.wowm:46.

smsg MSG_MOVE_START_TURN_LEFT_Server = 0x00BC {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
188, 0, // opcode (188)
1, 5, // guid: PackedGuid
16, 0, 0, 0, // MovementInfo.flags: MovementFlags  TURN_LEFT (16)
251, 190, 121, 1, // MovementInfo.timestamp: u32
205, 215, 11, 198, // Vector3d.x: f32
53, 126, 4, 195, // Vector3d.y: f32
249, 15, 167, 66, // Vector3d.z: f32
0, 0, 0, 0, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_turn_left.wowm:81.

smsg MSG_MOVE_START_TURN_LEFT_Server = 0x00BC {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_TURN_RIGHT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_turn_right.wowm:13.

msg MSG_MOVE_START_TURN_RIGHT = 0x00BD {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_START_TURN_RIGHT_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_turn_right.wowm:1.

cmsg MSG_MOVE_START_TURN_RIGHT_Client = 0x00BD {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
189, 0, 0, 0, // opcode (189)
32, 0, 0, 0, // MovementInfo.flags: MovementFlags  TURN_RIGHT (32)
251, 190, 121, 1, // MovementInfo.timestamp: u32
205, 215, 11, 198, // Vector3d.x: f32
53, 126, 4, 195, // Vector3d.y: f32
249, 15, 167, 66, // Vector3d.z: f32
0, 0, 0, 0, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_turn_right.wowm:7.

cmsg MSG_MOVE_START_TURN_RIGHT_Client = 0x00BD {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_START_TURN_RIGHT_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_turn_right.wowm:46.

smsg MSG_MOVE_START_TURN_RIGHT_Server = 0x00BD {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
189, 0, // opcode (189)
1, 5, // guid: PackedGuid
32, 0, 0, 0, // MovementInfo.flags: MovementFlags  TURN_RIGHT (32)
251, 190, 121, 1, // MovementInfo.timestamp: u32
205, 215, 11, 198, // Vector3d.x: f32
53, 126, 4, 195, // Vector3d.y: f32
249, 15, 167, 66, // Vector3d.z: f32
0, 0, 0, 0, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_start_turn_right.wowm:81.

smsg MSG_MOVE_START_TURN_RIGHT_Server = 0x00BD {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop.wowm:13.

msg MSG_MOVE_STOP = 0x00B7 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_ASCEND

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_ascend.wowm:7.

msg MSG_MOVE_STOP_ASCEND = 0x035A {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_ASCEND_Client

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_ascend.wowm:1.

cmsg MSG_MOVE_STOP_ASCEND_Client = 0x035A {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_STOP_ASCEND_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_ascend.wowm:14.

smsg MSG_MOVE_STOP_ASCEND_Server = 0x035A {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop.wowm:1.

cmsg MSG_MOVE_STOP_Client = 0x00B7 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
183, 0, 0, 0, // opcode (183)
0, 0, 0, 0, // MovementInfo.flags: MovementFlags  NONE (0)
242, 49, 122, 1, // MovementInfo.timestamp: u32
36, 203, 11, 198, // Vector3d.x: f32
48, 32, 223, 194, // Vector3d.y: f32
61, 23, 166, 66, // Vector3d.z: f32
3, 81, 36, 64, // MovementInfo.orientation: f32
133, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop.wowm:7.

cmsg MSG_MOVE_STOP_Client = 0x00B7 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_STOP_PITCH

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_pitch.wowm:13.

msg MSG_MOVE_STOP_PITCH = 0x00C1 {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_PITCH_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_pitch.wowm:1.

cmsg MSG_MOVE_STOP_PITCH_Client = 0x00C1 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_pitch.wowm:7.

cmsg MSG_MOVE_STOP_PITCH_Client = 0x00C1 {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_STOP_PITCH_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_pitch.wowm:20.

smsg MSG_MOVE_STOP_PITCH_Server = 0x00C1 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_pitch.wowm:27.

smsg MSG_MOVE_STOP_PITCH_Server = 0x00C1 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_STRAFE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_strafe.wowm:13.

msg MSG_MOVE_STOP_STRAFE = 0x00BA {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_STRAFE_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_strafe.wowm:1.

cmsg MSG_MOVE_STOP_STRAFE_Client = 0x00BA {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
186, 0, 0, 0, // opcode (186)
1, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD (1)
70, 211, 121, 1, // MovementInfo.timestamp: u32
22, 192, 11, 198, // Vector3d.x: f32
248, 49, 7, 195, // Vector3d.y: f32
115, 127, 167, 66, // Vector3d.z: f32
184, 157, 194, 62, // MovementInfo.orientation: f32
127, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_strafe.wowm:7.

cmsg MSG_MOVE_STOP_STRAFE_Client = 0x00BA {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_STOP_STRAFE_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_strafe.wowm:46.

smsg MSG_MOVE_STOP_STRAFE_Server = 0x00BA {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
186, 0, // opcode (186)
1, 5, // guid: PackedGuid
1, 0, 0, 0, // MovementInfo.flags: MovementFlags  FORWARD (1)
70, 211, 121, 1, // MovementInfo.timestamp: u32
22, 192, 11, 198, // Vector3d.x: f32
248, 49, 7, 195, // Vector3d.y: f32
115, 127, 167, 66, // Vector3d.z: f32
184, 157, 194, 62, // MovementInfo.orientation: f32
127, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_strafe.wowm:53.

smsg MSG_MOVE_STOP_STRAFE_Server = 0x00BA {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_SWIM

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_swim.wowm:13.

msg MSG_MOVE_STOP_SWIM = 0x00CB {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_SWIM_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_swim.wowm:1.

cmsg MSG_MOVE_STOP_SWIM_Client = 0x00CB {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_swim.wowm:7.

cmsg MSG_MOVE_STOP_SWIM_Client = 0x00CB {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_STOP_SWIM_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_swim.wowm:20.

smsg MSG_MOVE_STOP_SWIM_Server = 0x00CB {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_swim.wowm:27.

smsg MSG_MOVE_STOP_SWIM_Server = 0x00CB {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop.wowm:46.

smsg MSG_MOVE_STOP_Server = 0x00B7 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
183, 0, // opcode (183)
1, 5, // guid: PackedGuid
0, 0, 0, 0, // MovementInfo.flags: MovementFlags  NONE (0)
242, 49, 122, 1, // MovementInfo.timestamp: u32
36, 203, 11, 198, // Vector3d.x: f32
48, 32, 223, 194, // Vector3d.y: f32
61, 23, 166, 66, // Vector3d.z: f32
3, 81, 36, 64, // MovementInfo.orientation: f32
133, 3, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop.wowm:81.

smsg MSG_MOVE_STOP_Server = 0x00B7 {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_TURN

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_turn.wowm:13.

msg MSG_MOVE_STOP_TURN = 0x00BE {
    PackedGuid guid;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_STOP_TURN_Client

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_turn.wowm:1.

cmsg MSG_MOVE_STOP_TURN_Client = 0x00BE {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
190, 0, 0, 0, // opcode (190)
0, 0, 0, 0, // MovementInfo.flags: MovementFlags  NONE (0)
151, 166, 91, 2, // MovementInfo.timestamp: u32
37, 162, 11, 198, // Vector3d.x: f32
57, 130, 248, 194, // Vector3d.y: f32
222, 72, 165, 66, // Vector3d.z: f32
16, 19, 156, 64, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_turn.wowm:7.

cmsg MSG_MOVE_STOP_TURN_Client = 0x00BE {
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -MovementInfoinfo

MSG_MOVE_STOP_TURN_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_turn.wowm:46.

smsg MSG_MOVE_STOP_TURN_Server = 0x00BE {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

Examples

Example 1

0, 32, // size
190, 0, // opcode (190)
1, 5, // guid: PackedGuid
0, 0, 0, 0, // MovementInfo.flags: MovementFlags  NONE (0)
151, 166, 91, 2, // MovementInfo.timestamp: u32
37, 162, 11, 198, // Vector3d.x: f32
57, 130, 248, 194, // Vector3d.y: f32
222, 72, 165, 66, // Vector3d.z: f32
16, 19, 156, 64, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_stop_turn.wowm:81.

smsg MSG_MOVE_STOP_TURN_Server = 0x00BE {
    PackedGuid guid;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -MovementInfoinfo

MSG_MOVE_TELEPORT_ACK_Client

Client Version 1, Client Version 2, Client Version 3

Response to MSG_MOVE_TELEPORT_ACK_Server, at which point MSG_MOVE_TELEPORT_ACK_Server should be sent to observing players.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_teleport_ack.wowm:2.

cmsg MSG_MOVE_TELEPORT_ACK_Client = 0x00C7 {
    PackedGuid guid;
    u32 movement_counter;
    Milliseconds time;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidguid
-4 / Littleu32movement_counter
-4 / LittleMillisecondstime

Examples

Example 1

0, 13, // size
199, 0, 0, 0, // opcode (199)
0, // guid: PackedGuid
0, 0, 0, 0, // movement_counter: u32
0, 0, 0, 38, // time: Milliseconds

MSG_MOVE_TELEPORT_ACK_Server

Client Version 1.12

Can be response to CMSG_TELEPORT_TO_UNIT.

Can also be a response to MSG_MOVE_TELEPORT_ACK_Client after being sent.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_teleport_ack.wowm:12.

smsg MSG_MOVE_TELEPORT_ACK_Server = 0x00C7 {
    PackedGuid guid;
    u32 movement_counter;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-4 / Littleu32movement_counter
-- / -MovementInfoinfo

Examples

Example 1

0, 36, // size
199, 0, // opcode (199)
1, 23, // guid: PackedGuid
0, 0, 0, 0, // movement_counter: u32
0, 0, 0, 0, // MovementInfo.flags: MovementFlags  NONE (0)
0, 0, 0, 0, // MovementInfo.timestamp: u32
0, 0, 135, 69, // Vector3d.x: f32
0, 160, 37, 197, // Vector3d.y: f32
0, 0, 0, 0, // Vector3d.z: f32
0, 0, 0, 0, // MovementInfo.orientation: f32
0, 0, 0, 0, // MovementInfo.fall_time: f32

Client Version 2.4.3

Can be response to CMSG_TELEPORT_TO_UNIT.

Can also be a response to MSG_MOVE_TELEPORT_ACK_Client after being sent.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_teleport_ack.wowm:12.

smsg MSG_MOVE_TELEPORT_ACK_Server = 0x00C7 {
    PackedGuid guid;
    u32 movement_counter;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-4 / Littleu32movement_counter
-- / -MovementInfoinfo

Client Version 3.3.5

Can be response to CMSG_TELEPORT_TO_UNIT.

Can also be a response to MSG_MOVE_TELEPORT_ACK_Client after being sent.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_teleport_ack.wowm:12.

smsg MSG_MOVE_TELEPORT_ACK_Server = 0x00C7 {
    PackedGuid guid;
    u32 movement_counter;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32movement_counter
-- / -MovementInfoinfo

MSG_MOVE_TELEPORT_CHEAT_Server

Client Version 2.4.3, Client Version 3.3.5

There does not appear to be a CMSG version of this MSG.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_teleport_cheat.wowm:2.

smsg MSG_MOVE_TELEPORT_CHEAT_Server = 0x00C6 {
    Vector3d position;
    f32 orientation;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0412 / -Vector3dposition
0x104 / Littlef32orientation

MSG_MOVE_TELEPORT_Server

Client Version 2.4.3

There does not appear to be a client version of this MSG.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_teleport.wowm:2.

cmsg MSG_MOVE_TELEPORT_Server = 0x00C5 {
    PackedGuid player;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidplayer
-- / -MovementInfoinfo

Client Version 3.3.5

There does not appear to be a client version of this MSG.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_teleport.wowm:2.

cmsg MSG_MOVE_TELEPORT_Server = 0x00C5 {
    PackedGuid player;
    MovementInfo info;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x06- / -PackedGuidplayer
-- / -MovementInfoinfo

MSG_MOVE_TIME_SKIPPED_Server

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_time_skipped.wowm:1.

smsg MSG_MOVE_TIME_SKIPPED_Server = 0x0319 {
    PackedGuid player;
    u32 time_skipped;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-4 / Littleu32time_skipped

MSG_MOVE_UNROOT_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_unroot.wowm:1.

smsg MSG_MOVE_UNROOT_Server = 0x00ED {
    PackedGuid player;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidplayer
-- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_unroot.wowm:8.

smsg MSG_MOVE_UNROOT_Server = 0x00ED {
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -MovementInfoinfo

MSG_MOVE_UPDATE_CAN_FLY_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_update_can_fly.wowm:1.

smsg MSG_MOVE_UPDATE_CAN_FLY_Server = 0x03AD {
    PackedGuid player;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidplayer
-- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_update_can_fly.wowm:1.

smsg MSG_MOVE_UPDATE_CAN_FLY_Server = 0x03AD {
    PackedGuid player;
    MovementInfo info;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-- / -MovementInfoinfo

MSG_MOVE_WATER_WALK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_water_walk.wowm:1.

msg MSG_MOVE_WATER_WALK = 0x02B1 {
    PackedGuid player;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidplayer
-- / -MovementInfoinfo

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_water_walk.wowm:1.

msg MSG_MOVE_WATER_WALK = 0x02B1 {
    PackedGuid player;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidplayer
-- / -MovementInfoinfo

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_water_walk.wowm:1.

msg MSG_MOVE_WATER_WALK = 0x02B1 {
    PackedGuid player;
    MovementInfo info;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidplayer
-- / -MovementInfoinfo

MSG_MOVE_WORLDPORT_ACK

Client Version 1, Client Version 2, Client Version 3

Acknowledge from the client that it has received an SMSG_NEW_WORLD and has loaded the new map.

Despite the name this seems to only be sent by the client.

The server should reply with what it normally does to log players into the world.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/msg/msg_move_worldport_ack.wowm:6.

msg MSG_MOVE_WORLDPORT_ACK = 0x00DC {
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

MSG_PARTY_ASSIGNMENT_Client

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/msg_party_assignment.wowm:8.

cmsg MSG_PARTY_ASSIGNMENT_Client = 0x038E {
    PartyRole role;
    Bool apply;
    Guid player;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -PartyRolerole
0x071 / -Boolapply
0x088 / LittleGuidplayer

MSG_PETITION_DECLINE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_petition_decline.wowm:3.

msg MSG_PETITION_DECLINE = 0x01C2 {
    Guid petition;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidpetition

MSG_PETITION_RENAME

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_petition_rename.wowm:3.

msg MSG_PETITION_RENAME = 0x02C1 {
    Guid petition;
    CString new_name;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidpetition
0x08- / -CStringnew_name

MSG_PVP_LOG_DATA_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pvp/msg_pvp_log_data_client.wowm:3.

cmsg MSG_PVP_LOG_DATA_Client = 0x02E0 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

MSG_PVP_LOG_DATA_Server

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pvp/msg_pvp_log_data_server.wowm:28.

smsg MSG_PVP_LOG_DATA_Server = 0x02E0 {
    BattlegroundEndStatus status;
    if (status == ENDED) {
        BattlegroundWinner winner;
    }
    u32 amount_of_players;
    BattlegroundPlayer[amount_of_players] players;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -BattlegroundEndStatusstatus

If status is equal to ENDED:

OffsetSize / EndiannessTypeNameComment
0x051 / -BattlegroundWinnerwinner
0x064 / Littleu32amount_of_playersvmangos: Client has a hard limit to 80. If we go beyond (but it should not happen ?!), WoW Error (happening !)
0x0A? / -BattlegroundPlayer[amount_of_players]players

MSG_QUERY_GUILD_BANK_TEXT_Client

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_query_guild_bank_text.wowm:1.

cmsg MSG_QUERY_GUILD_BANK_TEXT_Client = 0x0409 {
    u8 tab;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8tab

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_query_guild_bank_text.wowm:7.

cmsg MSG_QUERY_GUILD_BANK_TEXT_Client = 0x040A {
    u8 tab;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8tab

MSG_QUERY_GUILD_BANK_TEXT_Server

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_query_guild_bank_text.wowm:13.

smsg MSG_QUERY_GUILD_BANK_TEXT_Server = 0x0409 {
    u8 tab;
    CString text;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8tab
0x05- / -CStringtext

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_query_guild_bank_text.wowm:20.

smsg MSG_QUERY_GUILD_BANK_TEXT_Server = 0x040A {
    u8 tab;
    CString text;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8tab
-- / -CStringtext

MSG_QUERY_NEXT_MAIL_TIME_Client

Client Version 1.12, Client Version 2, Client Version 3.3.5

Sent when the client enters the world.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_query_next_mail_time_client.wowm:2.

cmsg MSG_QUERY_NEXT_MAIL_TIME_Client = 0x0284 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 4, // size
132, 2, 0, 0, // opcode (644)

MSG_QUERY_NEXT_MAIL_TIME_Server

Client Version 1.12

mangoszero/vmangos: No idea when this is called.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_query_next_mail_time_server.wowm:2.

smsg MSG_QUERY_NEXT_MAIL_TIME_Server = 0x0284 {
    f32 unread_mails;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littlef32unread_mailsmangoszero sets 0 if has unread mail, -86400.0f (0xC7A8C000) if not
vmangos sets 0 if has unread mail, -1.0f if not
cmangos has the behavior of mangoszero except when there are unread mails. This is TODO.

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_query_next_mail_time_server.wowm:37.

smsg MSG_QUERY_NEXT_MAIL_TIME_Server = 0x0284 {
    u32 float;
    u32 amount_of_mails;
    ReceivedMail[amount_of_mails] mails;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32float
-4 / Littleu32amount_of_mails
-? / -ReceivedMail[amount_of_mails]mails

MSG_QUEST_PUSH_RESULT

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/msg_quest_push_result.wowm:25.

msg MSG_QUEST_PUSH_RESULT = 0x0276 {
    Guid guid;
    QuestPartyMessage message;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x081 / -QuestPartyMessagemessage

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/msg_quest_push_result.wowm:49.

msg MSG_QUEST_PUSH_RESULT = 0x0276 {
    Guid guid;
    QuestPartyMessage message;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid
0x081 / -QuestPartyMessagemessage

MSG_RAID_READY_CHECK_CONFIRM_Client

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/msg_raid_ready_check_confirm.wowm:1.

cmsg MSG_RAID_READY_CHECK_CONFIRM_Client = 0x03AE {
    optional set {
        u8 state;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x061 / -u8state

MSG_RAID_READY_CHECK_CONFIRM_Server

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/msg_raid_ready_check_confirm.wowm:9.

smsg MSG_RAID_READY_CHECK_CONFIRM_Server = 0x03AE {
    Guid player;
    u8 state;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidplayer
0x0C1 / -u8state

MSG_RAID_READY_CHECK_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/msg_raid_ready_check.wowm:3.

cmsg MSG_RAID_READY_CHECK_Client = 0x0322 {
    optional answer {
        u8 state;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x061 / -u8state

MSG_RAID_READY_CHECK_FINISHED_Client

Client Version 2.4.3

This MSG does not appear to have an SMSG version.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/msg_raid_ready_check_finished.wowm:2.

cmsg MSG_RAID_READY_CHECK_FINISHED_Client = 0x03C5 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 3.3.5

This MSG does not appear to have an SMSG version.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/msg_raid_ready_check_finished.wowm:7.

cmsg MSG_RAID_READY_CHECK_FINISHED_Client = 0x03C6 {
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

MSG_RAID_READY_CHECK_Server

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/msg_raid_ready_check.wowm:9.

smsg MSG_RAID_READY_CHECK_Server = 0x0322 {
    optional state_check {
        Guid guid;
        u8 state;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidguid
-1 / -u8state

MSG_RAID_TARGET_UPDATE_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/raid_target.wowm:35.

cmsg MSG_RAID_TARGET_UPDATE_Client = 0x0321 {
    RaidTargetIndex target_index;
    if (target_index != REQUEST_ICONS) {
        Guid target;
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -RaidTargetIndextarget_index

If target_index is not equal to REQUEST_ICONS:

OffsetSize / EndiannessTypeNameComment
0x078 / LittleGuidtarget

MSG_RAID_TARGET_UPDATE_Server

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/raid_target.wowm:26.

smsg MSG_RAID_TARGET_UPDATE_Server = 0x0321 {
    RaidTargetUpdateType update_type;
    if (update_type == FULL) {
        RaidTargetUpdate[8] raid_targets;
    }
    else if (update_type == PARTIAL) {
        RaidTargetUpdate raid_target;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -RaidTargetUpdateTypeupdate_type

If update_type is equal to FULL:

OffsetSize / EndiannessTypeNameComment
-72 / -RaidTargetUpdate[8]raid_targets

Else If update_type is equal to PARTIAL:

OffsetSize / EndiannessTypeNameComment
-9 / -RaidTargetUpdateraid_target

MSG_RANDOM_ROLL_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/msg_random_roll_client.wowm:3.

cmsg MSG_RANDOM_ROLL_Client = 0x01FB {
    u32 minimum;
    u32 maximum;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / Littleu32minimum
0x0A4 / Littleu32maximum

MSG_RANDOM_ROLL_Server

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/msg_random_roll_server.wowm:3.

smsg MSG_RANDOM_ROLL_Server = 0x01FB {
    u32 minimum;
    u32 maximum;
    u32 actual_roll;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32minimum
0x084 / Littleu32maximum
0x0C4 / Littleu32actual_roll
0x108 / LittleGuidguid

MSG_SAVE_GUILD_EMBLEM_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_save_guild_emblem_client.wowm:3.

cmsg MSG_SAVE_GUILD_EMBLEM_Client = 0x01F1 {
    Guid vendor;
    u32 emblem_style;
    u32 emblem_color;
    u32 border_style;
    u32 border_color;
    u32 background_color;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidvendor
0x0E4 / Littleu32emblem_style
0x124 / Littleu32emblem_color
0x164 / Littleu32border_style
0x1A4 / Littleu32border_color
0x1E4 / Littleu32background_color

MSG_SAVE_GUILD_EMBLEM_Server

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_save_guild_emblem_server.wowm:28.

smsg MSG_SAVE_GUILD_EMBLEM_Server = 0x01F1 {
    GuildEmblemResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GuildEmblemResultresult

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_save_guild_emblem_server.wowm:34.

smsg MSG_SAVE_GUILD_EMBLEM_Server = 0x01F1 {
    GuildEmblemResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GuildEmblemResultresult

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_save_guild_emblem_server.wowm:34.

smsg MSG_SAVE_GUILD_EMBLEM_Server = 0x01F1 {
    GuildEmblemResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GuildEmblemResultresult

MSG_SET_DUNGEON_DIFFICULTY_Client

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/msg_set_dungeon_difficulty.wowm:10.

cmsg MSG_SET_DUNGEON_DIFFICULTY_Client = 0x0329 {
    (u32)DungeonDifficulty difficulty;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -DungeonDifficultydifficulty

MSG_SET_DUNGEON_DIFFICULTY_Server

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/msg_set_dungeon_difficulty.wowm:1.

smsg MSG_SET_DUNGEON_DIFFICULTY_Server = 0x0329 {
    (u32)DungeonDifficulty difficulty;
    u32 unknown1;
    Bool32 is_in_group;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -DungeonDifficultydifficulty
0x084 / Littleu32unknown1ArcEmu hardcodes this to 1
0x0C4 / LittleBool32is_in_group

MSG_SET_RAID_DIFFICULTY_Client

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/msg_set_raid_difficulty.wowm:1.

cmsg MSG_SET_RAID_DIFFICULTY_Client = 0x04EB {
    (u32)RaidDifficulty difficulty;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -RaidDifficultydifficulty

MSG_SET_RAID_DIFFICULTY_Server

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/msg_set_raid_difficulty.wowm:7.

smsg MSG_SET_RAID_DIFFICULTY_Server = 0x04EB {
    (u32)RaidDifficulty difficulty;
    u32 unknown1;
    Bool32 in_group;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -RaidDifficultydifficulty
0x084 / Littleu32unknown1Emus set to 1.
0x0C4 / LittleBool32in_group

MSG_TABARDVENDOR_ACTIVATE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/msg_tabardvendor_activate.wowm:3.

msg MSG_TABARDVENDOR_ACTIVATE = 0x01F2 {
    Guid guid;
}

Header

MSG have a header of either 6 bytes if they are sent from the client (CMSG), or 4 bytes if they are sent from the server (SMSG).

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidguid

MSG_TALENT_WIPE_CONFIRM_Client

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/msg_talent_wipe_confirm_client.wowm:3.

cmsg MSG_TALENT_WIPE_CONFIRM_Client = 0x02AA {
    Guid wiping_npc;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidwiping_npc

MSG_TALENT_WIPE_CONFIRM_Server

Client Version 1, Client Version 2, Client Version 3

cmangos/vmangos/mangoszero returns guid 0 and unknown 0 when talents can not be reset

cmangos/vmangos/mangoszero casts spell 14876 when resetting

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/msg_talent_wipe_confirm_server.wowm:5.

smsg MSG_TALENT_WIPE_CONFIRM_Server = 0x02AA {
    Guid wiping_npc;
    u32 cost_in_copper;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidwiping_npc
0x0C4 / Littleu32cost_in_copper

MailItem

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/cmsg_send_mail.wowm:21.

struct MailItem {
    Guid item;
    u8 slot;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuiditem
0x081 / -u8slot

Used in:

MailListItemEnchant

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:102.

struct MailListItemEnchant {
    u32 charges;
    u32 duration;
    u32 enchant_id;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32charges
0x044 / Littleu32duration
0x084 / Littleu32enchant_id

Used in:

MailListItem

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:87.

struct MailListItem {
    u8 item_index;
    u32 low_guid;
    Item item;
    MailListItemEnchant[6] enchants;
    u32 item_random_property_id;
    u32 item_suffix_factor;
    u8 item_amount;
    u32 charges;
    u32 max_durability;
    u32 durability;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8item_index
0x014 / Littleu32low_guid
0x054 / LittleItemitem
0x0972 / -MailListItemEnchant[6]enchants
0x514 / Littleu32item_random_property_id
0x554 / Littleu32item_suffix_factor
0x591 / -u8item_amount
0x5A4 / Littleu32charges
0x5E4 / Littleu32max_durability
0x624 / Littleu32durability

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:151.

struct MailListItem {
    u8 item_index;
    u32 low_guid;
    Item item;
    MailListItemEnchant[7] enchants;
    u32 item_random_property_id;
    u32 item_suffix_factor;
    u8 item_amount;
    u32 charges;
    u32 max_durability;
    u32 durability;
    u8 unknown;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8item_index
0x014 / Littleu32low_guid
0x054 / LittleItemitem
0x0984 / -MailListItemEnchant[7]enchants
0x5D4 / Littleu32item_random_property_id
0x614 / Littleu32item_suffix_factor
0x651 / -u8item_amount
0x664 / Littleu32charges
0x6A4 / Littleu32max_durability
0x6E4 / Littleu32durability
0x721 / -u8unknown

Used in:

Mail

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:14.

struct Mail {
    u32 message_id;
    MailType message_type;
    if (message_type == NORMAL) {
        Guid sender;
    }
    else if (message_type == CREATURE
        || message_type == GAMEOBJECT) {
        u32 sender_id;
    }
    else if (message_type == AUCTION) {
        u32 auction_id;
    }
    CString subject;
    u32 item_text_id;
    u32 unknown1;
    u32 stationery;
    Item item;
    u32 item_enchant_id;
    u32 item_random_property_id;
    u32 item_suffix_factor;
    u8 item_stack_size;
    u32 item_spell_charges;
    u32 max_durability;
    u32 durability;
    Gold money;
    u32 cash_on_delivery_amount;
    u32 checked_timestamp;
    f32 expiration_time;
    u32 mail_template_id;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32message_id
0x041 / -MailTypemessage_type

If message_type is equal to NORMAL:

OffsetSize / EndiannessTypeNameComment
0x058 / LittleGuidsender

Else If message_type is equal to CREATURE or is equal to GAMEOBJECT:

OffsetSize / EndiannessTypeNameComment
0x0D4 / Littleu32sender_id

Else If message_type is equal to AUCTION:

OffsetSize / EndiannessTypeNameComment
0x114 / Littleu32auction_id
0x15- / -CStringsubject
-4 / Littleu32item_text_id
-4 / Littleu32unknown1cmangos/vmangos/mangoszero: set to 0
-4 / Littleu32stationerycmangos/vmangos/mangoszero: stationery (Stationery.dbc)
-4 / LittleItemitem
-4 / Littleu32item_enchant_id
-4 / Littleu32item_random_property_id
-4 / Littleu32item_suffix_factor
-1 / -u8item_stack_size
-4 / Littleu32item_spell_charges
-4 / Littleu32max_durability
-4 / Littleu32durability
-4 / LittleGoldmoney
-4 / Littleu32cash_on_delivery_amount
-4 / Littleu32checked_timestampcmangos/vmangos/mangoszero: All have a comment with ‘flags’ but send the timestamp from the item.
-4 / Littlef32expiration_time
-4 / Littleu32mail_template_idcmangos/vmangos/mangoszero: mail template (MailTemplate.dbc)

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:53.

struct Mail {
    u16 size = self.size;
    u32 message_id;
    MailType message_type;
    if (message_type == NORMAL) {
        Guid sender;
    }
    else if (message_type == CREATURE
        || message_type == GAMEOBJECT) {
        u32 sender_id;
    }
    else if (message_type == AUCTION) {
        u32 auction_id;
    }
    else if (message_type == ITEM) {
        Item item;
    }
    Gold cash_on_delivery;
    u32 item_text_id;
    u32 unknown;
    u32 stationery;
    Gold money;
    u32 flags;
    f32 expiration_time;
    u32 mail_template_id;
    CString subject;
    u8 amount_of_items;
    MailListItem[amount_of_items] items;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / Littleu16size
0x024 / Littleu32message_id
0x061 / -MailTypemessage_type

If message_type is equal to NORMAL:

OffsetSize / EndiannessTypeNameComment
0x078 / LittleGuidsender

Else If message_type is equal to CREATURE or is equal to GAMEOBJECT:

OffsetSize / EndiannessTypeNameComment
0x0F4 / Littleu32sender_id

Else If message_type is equal to AUCTION:

OffsetSize / EndiannessTypeNameComment
0x134 / Littleu32auction_id

Else If message_type is equal to ITEM:

OffsetSize / EndiannessTypeNameComment
0x174 / LittleItemitem
0x1B4 / LittleGoldcash_on_delivery
0x1F4 / Littleu32item_text_id
0x234 / Littleu32unknown
0x274 / Littleu32stationery
0x2B4 / LittleGoldmoney
0x2F4 / Littleu32flags
0x334 / Littlef32expiration_time
0x374 / Littleu32mail_template_idcmangos/vmangos/mangoszero: mail template (MailTemplate.dbc)
0x3B- / -CStringsubject
-1 / -u8amount_of_items
-? / -MailListItem[amount_of_items]items

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:117.

struct Mail {
    u16 size = self.size;
    u32 message_id;
    MailType message_type;
    if (message_type == NORMAL) {
        Guid sender;
    }
    else if (message_type == CREATURE
        || message_type == GAMEOBJECT) {
        u32 sender_id;
    }
    else if (message_type == AUCTION) {
        u32 auction_id;
    }
    else if (message_type == ITEM) {
        Item item;
    }
    Gold cash_on_delivery;
    u32 unknown;
    u32 stationery;
    Gold money;
    u32 flags;
    f32 expiration_time;
    u32 mail_template_id;
    CString subject;
    CString message;
    u8 amount_of_items;
    MailListItem[amount_of_items] items;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / Littleu16size
0x024 / Littleu32message_id
0x061 / -MailTypemessage_type

If message_type is equal to NORMAL:

OffsetSize / EndiannessTypeNameComment
0x078 / LittleGuidsender

Else If message_type is equal to CREATURE or is equal to GAMEOBJECT:

OffsetSize / EndiannessTypeNameComment
0x0F4 / Littleu32sender_id

Else If message_type is equal to AUCTION:

OffsetSize / EndiannessTypeNameComment
0x134 / Littleu32auction_id

Else If message_type is equal to ITEM:

OffsetSize / EndiannessTypeNameComment
0x174 / LittleItemitem
0x1B4 / LittleGoldcash_on_delivery
0x1F4 / Littleu32unknown
0x234 / Littleu32stationery
0x274 / LittleGoldmoney
0x2B4 / Littleu32flags
0x2F4 / Littlef32expiration_time
0x334 / Littleu32mail_template_idcmangos/vmangos/mangoszero: mail template (MailTemplate.dbc)
0x37- / -CStringsubject
-- / -CStringmessage
-1 / -u8amount_of_items
-? / -MailListItem[amount_of_items]items

Used in:

MiniMoveMessage

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_multiple_moves.wowm:11.

struct MiniMoveMessage {
    u8 size = self.size;
    MiniMoveOpcode opcode;
    PackedGuid guid;
    u32 movement_counter;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8size
0x012 / -MiniMoveOpcodeopcode
0x03- / -PackedGuidguid
-4 / Littleu32movement_counter

Used in:

MoneyLogItem

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_guild_bank_log_query.wowm:22.

struct MoneyLogItem {
    u8 action;
    Guid player;
    u32 entry;
    u32 timestamp;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8action
0x018 / LittleGuidplayer
0x094 / Littleu32entry
0x0D4 / Littleu32timestamp

Used in:

MonsterMove

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_compressed_moves.wowm:12.

struct MonsterMove {
    Vector3d spline_point;
    u32 spline_id;
    MonsterMoveType move_type;
    if (move_type == FACING_TARGET) {
        Guid target;
    }
    else if (move_type == FACING_ANGLE) {
        f32 angle;
    }
    else if (move_type == FACING_SPOT) {
        Vector3d position;
    }
    if (move_type != STOP) {
        SplineFlag spline_flags;
        u32 duration;
        MonsterMoveSplines splines;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x0012 / -Vector3dspline_point
0x0C4 / Littleu32spline_id
0x101 / -MonsterMoveTypemove_type

If move_type is equal to FACING_TARGET:

OffsetSize / EndiannessTypeNameComment
0x118 / LittleGuidtarget

Else If move_type is equal to FACING_ANGLE:

OffsetSize / EndiannessTypeNameComment
0x194 / Littlef32angle

Else If move_type is equal to FACING_SPOT:

OffsetSize / EndiannessTypeNameComment
0x1D12 / -Vector3dposition

If move_type is not equal to STOP:

OffsetSize / EndiannessTypeNameComment
0x294 / -SplineFlagspline_flags
0x2D4 / Littleu32duration
0x31- / -MonsterMoveSplinesplines

Used in:

MovementBlock

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_object.wowm:83.

struct MovementBlock {
    UpdateFlag update_flag;
    if (update_flag & LIVING) {
        MovementFlags flags;
        u32 timestamp;
        Vector3d living_position;
        f32 living_orientation;
        if (flags & ON_TRANSPORT) {
            PackedGuid transport_guid;
            Vector3d transport_position;
            f32 transport_orientation;
        }
        if (flags & SWIMMING) {
            f32 pitch;
        }
        f32 fall_time;
        if (flags & JUMPING) {
            f32 z_speed;
            f32 cos_angle;
            f32 sin_angle;
            f32 xy_speed;
        }
        if (flags & SPLINE_ELEVATION) {
            f32 spline_elevation;
        }
        f32 walking_speed;
        f32 running_speed;
        f32 backwards_running_speed;
        f32 swimming_speed;
        f32 backwards_swimming_speed;
        f32 turn_rate;
        if (flags & SPLINE_ENABLED) {
            SplineFlag spline_flags;
            if (spline_flags & FINAL_ANGLE) {
                f32 angle;
            }
            else if (spline_flags & FINAL_TARGET) {
                u64 target;
            }
            else if (spline_flags & FINAL_POINT) {
                Vector3d spline_final_point;
            }
            u32 time_passed;
            u32 duration;
            u32 id;
            u32 amount_of_nodes;
            Vector3d[amount_of_nodes] nodes;
            Vector3d final_node;
        }
    }
    else if (update_flag & HAS_POSITION) {
        Vector3d position;
        f32 orientation;
    }
    if (update_flag & HIGH_GUID) {
        u32 unknown0;
    }
    if (update_flag & ALL) {
        u32 unknown1;
    }
    if (update_flag & MELEE_ATTACKING) {
        PackedGuid guid;
    }
    if (update_flag & TRANSPORT) {
        u32 transport_progress_in_ms;
    }
}

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_object_2_4_3.wowm:14.

struct MovementBlock {
    UpdateFlag update_flag;
    if (update_flag & LIVING) {
        MovementFlags flags;
        u8 extra_flags;
        u32 timestamp;
        Vector3d living_position;
        f32 living_orientation;
        if (flags & ON_TRANSPORT) {
            TransportInfo transport;
        }
        if (flags & SWIMMING) {
            f32 pitch1;
        }
        else if (flags & ONTRANSPORT) {
            f32 pitch2;
        }
        f32 fall_time;
        if (flags & JUMPING) {
            f32 z_speed;
            f32 cos_angle;
            f32 sin_angle;
            f32 xy_speed;
        }
        if (flags & SPLINE_ELEVATION) {
            f32 spline_elevation;
        }
        f32 walking_speed;
        f32 running_speed;
        f32 backwards_running_speed;
        f32 swimming_speed;
        f32 flying_speed;
        f32 backwards_flying_speed;
        f32 backwards_swimming_speed;
        f32 turn_rate;
        if (flags & SPLINE_ENABLED) {
            SplineFlag spline_flags;
            if (spline_flags & FINAL_ANGLE) {
                f32 angle;
            }
            else if (spline_flags & FINAL_TARGET) {
                Guid target;
            }
            else if (spline_flags & FINAL_POINT) {
                Vector3d spline_final_point;
            }
            u32 time_passed;
            u32 duration;
            u32 id;
            u32 amount_of_nodes;
            Vector3d[amount_of_nodes] nodes;
            Vector3d final_node;
        }
    }
    else if (update_flag & HAS_POSITION) {
        Vector3d position;
        f32 orientation;
    }
    if (update_flag & HIGH_GUID) {
        u32 unknown0;
        u32 unknown1;
    }
    if (update_flag & ALL) {
        u32 unknown2;
    }
    if (update_flag & MELEE_ATTACKING) {
        PackedGuid guid;
    }
    if (update_flag & TRANSPORT) {
        u32 transport_progress_in_ms;
    }
}

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_object_3_3_5.wowm:72.

struct MovementBlock {
    UpdateFlag update_flag;
    if (update_flag & LIVING) {
        MovementFlags flags;
        u32 timestamp;
        Vector3d position;
        f32 orientation;
        if (flags & ON_TRANSPORT_AND_INTERPOLATED_MOVEMENT) {
            TransportInfo transport_info;
            u32 transport_time;
        }
        else if (flags & ON_TRANSPORT) {
            TransportInfo transport;
        }
        if (flags & SWIMMING) {
            f32 pitch1;
        }
        else if (flags & FLYING) {
            f32 pitch2;
        }
        else if (flags & ALWAYS_ALLOW_PITCHING) {
            f32 pitch3;
        }
        f32 fall_time;
        if (flags & FALLING) {
            f32 z_speed;
            f32 cos_angle;
            f32 sin_angle;
            f32 xy_speed;
        }
        if (flags & SPLINE_ELEVATION) {
            f32 spline_elevation;
        }
        f32 walking_speed;
        f32 running_speed;
        f32 backwards_running_speed;
        f32 swimming_speed;
        f32 backwards_swimming_speed;
        f32 flight_speed;
        f32 backwards_flight_speed;
        f32 turn_rate;
        f32 pitch_rate;
        if (flags & SPLINE_ENABLED) {
            SplineFlag spline_flags;
            if (spline_flags & FINAL_ANGLE) {
                f32 angle;
            }
            else if (spline_flags & FINAL_TARGET) {
                u64 target;
            }
            else if (spline_flags & FINAL_POINT) {
                Vector3d spline_final_point;
            }
            u32 time_passed;
            u32 duration;
            u32 id;
            f32 duration_mod;
            f32 duration_mod_next;
            f32 vertical_acceleration;
            f32 effect_start_time;
            u32 amount_of_nodes;
            Vector3d[amount_of_nodes] nodes;
            u8 mode;
            Vector3d final_node;
        }
    }
    else if (update_flag & POSITION) {
        PackedGuid transport_guid;
        Vector3d position1;
        Vector3d transport_offset;
        f32 orientation1;
        f32 corpse_orientation;
    }
    else if (update_flag & HAS_POSITION) {
        Vector3d position2;
        f32 orientation2;
    }
    if (update_flag & HIGH_GUID) {
        u32 unknown0;
    }
    if (update_flag & LOW_GUID) {
        u32 unknown1;
    }
    if (update_flag & HAS_ATTACKING_TARGET) {
        PackedGuid guid;
    }
    if (update_flag & TRANSPORT) {
        u32 transport_progress_in_ms;
    }
    if (update_flag & VEHICLE) {
        u32 vehicle_id;
        f32 vehicle_orientation;
    }
    if (update_flag & ROTATION) {
        u64 packed_local_rotation;
    }
}

Used in:

MovementInfo

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/common_movement.wowm:40.

struct MovementInfo {
    MovementFlags flags;
    u32 timestamp;
    Vector3d position;
    f32 orientation;
    if (flags & ON_TRANSPORT) {
        TransportInfo transport;
    }
    if (flags & SWIMMING) {
        f32 pitch;
    }
    f32 fall_time;
    if (flags & JUMPING) {
        f32 z_speed;
        f32 cos_angle;
        f32 sin_angle;
        f32 xy_speed;
    }
    if (flags & SPLINE_ELEVATION) {
        f32 spline_elevation;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -MovementFlagsflags
0x044 / Littleu32timestamp
0x0812 / -Vector3dposition
0x144 / Littlef32orientation

If flags contains ON_TRANSPORT:

OffsetSize / EndiannessTypeNameComment
0x18- / -TransportInfotransport

If flags contains SWIMMING:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32pitch
-4 / Littlef32fall_time

If flags contains JUMPING:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32z_speed
-4 / Littlef32cos_angle
-4 / Littlef32sin_angle
-4 / Littlef32xy_speed

If flags contains SPLINE_ELEVATION:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32spline_elevation

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/common_movement_2_4_3.wowm:32.

struct MovementInfo {
    MovementFlags flags;
    u8 extra_flags;
    u32 timestamp;
    Vector3d position;
    f32 orientation;
    if (flags & ON_TRANSPORT) {
        TransportInfo transport;
    }
    if (flags & SWIMMING) {
        f32 pitch1;
    }
    else if (flags & ONTRANSPORT) {
        f32 pitch2;
    }
    f32 fall_time;
    if (flags & JUMPING) {
        f32 z_speed;
        f32 cos_angle;
        f32 sin_angle;
        f32 xy_speed;
    }
    if (flags & SPLINE_ELEVATION) {
        f32 spline_elevation;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -MovementFlagsflags
0x041 / -u8extra_flags
0x054 / Littleu32timestamp
0x0912 / -Vector3dposition
0x154 / Littlef32orientation

If flags contains ON_TRANSPORT:

OffsetSize / EndiannessTypeNameComment
0x19- / -TransportInfotransport

If flags contains SWIMMING:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32pitch1

Else If flags contains ONTRANSPORT:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32pitch2
-4 / Littlef32fall_time

If flags contains JUMPING:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32z_speed
-4 / Littlef32cos_angle
-4 / Littlef32sin_angle
-4 / Littlef32xy_speed

If flags contains SPLINE_ELEVATION:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32spline_elevation

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/common_movement_3_3_5.wowm:79.

struct MovementInfo {
    MovementFlags flags;
    u32 timestamp;
    Vector3d position;
    f32 orientation;
    if (flags & ON_TRANSPORT_AND_INTERPOLATED_MOVEMENT) {
        TransportInfo transport_info;
        u32 transport_time;
    }
    else if (flags & ON_TRANSPORT) {
        TransportInfo transport;
    }
    if (flags & SWIMMING) {
        f32 pitch1;
    }
    else if (flags & FLYING) {
        f32 pitch2;
    }
    else if (flags & ALWAYS_ALLOW_PITCHING) {
        f32 pitch3;
    }
    f32 fall_time;
    if (flags & FALLING) {
        f32 z_speed;
        f32 cos_angle;
        f32 sin_angle;
        f32 xy_speed;
    }
    if (flags & SPLINE_ELEVATION) {
        f32 spline_elevation;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x006 / -MovementFlagsflags
0x064 / Littleu32timestamp
0x0A12 / -Vector3dposition
0x164 / Littlef32orientation

If flags contains ON_TRANSPORT_AND_INTERPOLATED_MOVEMENT:

OffsetSize / EndiannessTypeNameComment
0x1A- / -TransportInfotransport_info
-4 / Littleu32transport_time

Else If flags contains ON_TRANSPORT:

OffsetSize / EndiannessTypeNameComment
-- / -TransportInfotransport

If flags contains SWIMMING:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32pitch1

Else If flags contains FLYING:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32pitch2

Else If flags contains ALWAYS_ALLOW_PITCHING:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32pitch3
-4 / Littlef32fall_time

If flags contains FALLING:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32z_speed
-4 / Littlef32cos_angle
-4 / Littlef32sin_angle
-4 / Littlef32xy_speed

If flags contains SPLINE_ELEVATION:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32spline_elevation

Used in:

NpcTextUpdateEmote

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/common.wowm:825.

struct NpcTextUpdateEmote {
    u32 delay;
    u32 emote;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32delay
0x044 / Littleu32emote

Used in:

NpcTextUpdate

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_npc_text_update.wowm:1.

struct NpcTextUpdate {
    f32 probability;
    CString[2] texts;
    Language language;
    NpcTextUpdateEmote[3] emotes;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littlef32probability
0x04? / -CString[2]texts
-4 / -Languagelanguage
-24 / -NpcTextUpdateEmote[3]emotes

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_npc_text_update.wowm:1.

struct NpcTextUpdate {
    f32 probability;
    CString[2] texts;
    Language language;
    NpcTextUpdateEmote[3] emotes;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littlef32probability
0x04? / -CString[2]texts
-1 / -Languagelanguage
-24 / -NpcTextUpdateEmote[3]emotes

Used in:

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_npc_text_update.wowm:1.

struct NpcTextUpdate {
    f32 probability;
    CString[2] texts;
    Language language;
    NpcTextUpdateEmote[3] emotes;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littlef32probability
0x04? / -CString[2]texts
-1 / -Languagelanguage
-24 / -NpcTextUpdateEmote[3]emotes

Used in:

Object

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_object.wowm:157.

struct Object {
    UpdateType update_type;
    if (update_type == VALUES) {
        PackedGuid guid1;
        UpdateMask mask1;
    }
    else if (update_type == MOVEMENT) {
        PackedGuid guid2;
        MovementBlock movement1;
    }
    else if (update_type == CREATE_OBJECT
        || update_type == CREATE_OBJECT2) {
        PackedGuid guid3;
        ObjectType object_type;
        MovementBlock movement2;
        UpdateMask mask2;
    }
    else if (update_type == OUT_OF_RANGE_OBJECTS
        || update_type == NEAR_OBJECTS) {
        u32 count;
        PackedGuid[count] guids;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -UpdateTypeupdate_type

If update_type is equal to VALUES:

OffsetSize / EndiannessTypeNameComment
0x01- / -PackedGuidguid1
-- / -UpdateMaskmask1

Else If update_type is equal to MOVEMENT:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid2
-- / -MovementBlockmovement1

Else If update_type is equal to CREATE_OBJECT or is equal to CREATE_OBJECT2:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid3
-1 / -ObjectTypeobject_type
-- / -MovementBlockmovement2
-- / -UpdateMaskmask2

Else If update_type is equal to OUT_OF_RANGE_OBJECTS or is equal to NEAR_OBJECTS:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32count
-? / -PackedGuid[count]guids

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_object_2_4_3.wowm:92.

struct Object {
    UpdateType update_type;
    if (update_type == VALUES) {
        PackedGuid guid1;
        UpdateMask mask1;
    }
    else if (update_type == MOVEMENT) {
        PackedGuid guid2;
        MovementBlock movement1;
    }
    else if (update_type == CREATE_OBJECT
        || update_type == CREATE_OBJECT2) {
        PackedGuid guid3;
        ObjectType object_type;
        MovementBlock movement2;
        UpdateMask mask2;
    }
    else if (update_type == OUT_OF_RANGE_OBJECTS
        || update_type == NEAR_OBJECTS) {
        u32 count;
        PackedGuid[count] guids;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -UpdateTypeupdate_type

If update_type is equal to VALUES:

OffsetSize / EndiannessTypeNameComment
0x01- / -PackedGuidguid1
-- / -UpdateMaskmask1

Else If update_type is equal to MOVEMENT:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid2
-- / -MovementBlockmovement1

Else If update_type is equal to CREATE_OBJECT or is equal to CREATE_OBJECT2:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid3
-1 / -ObjectTypeobject_type
-- / -MovementBlockmovement2
-- / -UpdateMaskmask2

Else If update_type is equal to OUT_OF_RANGE_OBJECTS or is equal to NEAR_OBJECTS:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32count
-? / -PackedGuid[count]guids

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_object_3_3_5.wowm:176.

struct Object {
    UpdateType update_type;
    if (update_type == VALUES) {
        PackedGuid guid1;
        UpdateMask mask1;
    }
    else if (update_type == MOVEMENT) {
        PackedGuid guid2;
        MovementBlock movement1;
    }
    else if (update_type == CREATE_OBJECT
        || update_type == CREATE_OBJECT2) {
        PackedGuid guid3;
        ObjectType object_type;
        MovementBlock movement2;
        UpdateMask mask2;
    }
    else if (update_type == OUT_OF_RANGE_OBJECTS
        || update_type == NEAR_OBJECTS) {
        u32 count;
        PackedGuid[count] guids;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -UpdateTypeupdate_type

If update_type is equal to VALUES:

OffsetSize / EndiannessTypeNameComment
0x01- / -PackedGuidguid1
-- / -UpdateMaskmask1

Else If update_type is equal to MOVEMENT:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid2
-- / -MovementBlockmovement1

Else If update_type is equal to CREATE_OBJECT or is equal to CREATE_OBJECT2:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid3
-1 / -ObjectTypeobject_type
-- / -MovementBlockmovement2
-- / -UpdateMaskmask2

Else If update_type is equal to OUT_OF_RANGE_OBJECTS or is equal to NEAR_OBJECTS:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32count
-? / -PackedGuid[count]guids

Used in:

PendingAuctionSale

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_list_pending_sales.wowm:1.

struct PendingAuctionSale {
    CString string1;
    CString string2;
    u32 unknown1;
    u32 unknown2;
    f32 time_left;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -CStringstring1mangostwo: string ‘%d:%d:%d:%d:%d’ -> itemId, ItemRandomPropertyId, 2, auctionId, unk1 (stack size?, unused)
-- / -CStringstring2mangostwo: string ‘%16I64X:%d:%d:%d:%d’ -> bidderGuid, bid, buyout, deposit, auctionCut
-4 / Littleu32unknown1mangostwo sets to 97250.
-4 / Littleu32unknown2mangostwo sets to 68.
-4 / Littlef32time_left

Used in:

PetSpellCooldown

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_spells.wowm:1.

struct PetSpellCooldown {
    Spell16 spell;
    u16 spell_category;
    Milliseconds cooldown;
    Milliseconds category_cooldown;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / LittleSpell16spell
0x022 / Littleu16spell_categorymangoszero: sets to 0
0x044 / LittleMillisecondscooldown
0x084 / LittleMillisecondscategory_cooldown

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_spells.wowm:30.

struct PetSpellCooldown {
    Spell spell;
    u16 spell_category;
    Milliseconds cooldown;
    Milliseconds category_cooldown;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleSpellspell
0x042 / Littleu16spell_categorymangoszero: sets to 0
0x064 / LittleMillisecondscooldown
0x0A4 / LittleMillisecondscategory_cooldown

Used in:

PetitionShowlist

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_petition_showlist.wowm:17.

struct PetitionShowlist {
    u32 index;
    u32 charter_entry;
    u32 charter_display_id;
    u32 guild_charter_cost;
    u32 unknown1;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32index
0x044 / Littleu32charter_entrycmangos/vmangos/mangoszero: statically sets to guild charter item id (5863) and arena charter ids.
0x084 / Littleu32charter_display_idcmangos/vmangos/mangoszero: statically sets to guild charter display id (16161) and arena charter ids.
0x0C4 / Littleu32guild_charter_costcmangos/vmangos/mangoszero: statically set to 1000 (10 silver) for guild charters and the cost of arena charters for that.
0x104 / Littleu32unknown1cmangos/vmangos/mangoszero: statically set to 1

Used in:

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_petition_showlist.wowm:1.

struct PetitionShowlist {
    u32 index;
    u32 charter_entry;
    u32 charter_display_id;
    u32 guild_charter_cost;
    u32 unknown1;
    u32 signatures_required;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32index
0x044 / Littleu32charter_entrycmangos/vmangos/mangoszero: statically sets to guild charter item id (5863).
0x084 / Littleu32charter_display_idcmangos/vmangos/mangoszero: statically sets to guild charter display id (16161).
0x0C4 / Littleu32guild_charter_costcmangos/vmangos/mangoszero: statically set to 1000 (10 silver).
0x104 / Littleu32unknown1cmangos/vmangos/mangoszero: statically set to 1
arcemu: charter type? seems to be 0x0 for guilds and 0x1 for arena charters
0x144 / Littleu32signatures_required

Used in:

PetitionSignature

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_petition_show_signatures.wowm:3.

struct PetitionSignature {
    Guid signer;
    u32 unknown1;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidsigner
0x084 / Littleu32unknown1

Used in:

PreviewTalent

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_learn_preview_talents.wowm:1.

struct PreviewTalent {
    Talent talent;
    u32 rank;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -Talenttalent
0x044 / Littleu32rank

Used in:

QuestDetailsEmote

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_details.wowm:1.

struct QuestDetailsEmote {
    u32 emote;
    Milliseconds emote_delay;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32emote
0x044 / LittleMillisecondsemote_delay

Used in:

QuestGiverReward

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_details.wowm:52.

struct QuestGiverReward {
    Item item;
    u32 item_count;
    u32 display_id;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleItemitem
0x044 / Littleu32item_count
0x084 / Littleu32display_id

Used in:

QuestGiverStatusReport

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_status_multiple.wowm:1.

struct QuestGiverStatusReport {
    Guid npc;
    QuestGiverStatus dialog_status;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidnpc
0x081 / -QuestGiverStatusdialog_status

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_status_multiple.wowm:1.

struct QuestGiverStatusReport {
    Guid npc;
    QuestGiverStatus dialog_status;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidnpc
0x081 / -QuestGiverStatusdialog_status

Used in:

QuestItemRequirement

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_request_item.wowm:1.

struct QuestItemRequirement {
    Item item;
    u32 item_count;
    u32 item_display_id;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleItemitem
0x044 / Littleu32item_count
0x084 / Littleu32item_display_id

Used in:

QuestItemReward

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/quest_common.wowm:134.

struct QuestItemReward {
    Item item;
    u32 item_count;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleItemitem
0x044 / Littleu32item_count

Used in:

QuestItem

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/common.wowm:803.

struct QuestItem {
    u32 quest_id;
    u32 quest_icon;
    Level32 level;
    CString title;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32quest_id
0x044 / Littleu32quest_icon
0x084 / LittleLevel32level
0x0C- / -CStringtitlevmangos/cmangos/mangoszero: max 0x200

Used in:

Client Version 3.3.3, Client Version 3.3.4, Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/common.wowm:813.

struct QuestItem {
    u32 quest_id;
    u32 quest_icon;
    Level32 level;
    u32 flags;
    Bool repeatable;
    CString title;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32quest_id
0x044 / Littleu32quest_icon
0x084 / LittleLevel32level
0x0C4 / Littleu32flags
0x101 / -Boolrepeatable
0x11- / -CStringtitlevmangos/cmangos/mangoszero: max 0x200

Used in:

QuestObjective

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_query_response.wowm:1.

struct QuestObjective {
    u32 creature_id;
    u32 kill_count;
    u32 required_item_id;
    u32 required_item_count;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32creature_idcmangos: client expected gameobject template id in form (id
0x044 / Littleu32kill_count
0x084 / Littleu32required_item_id
0x0C4 / Littleu32required_item_count

Used in:

QuestPoiList

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_poi_query_response.wowm:1.

struct QuestPoiList {
    u32 quest_id;
    u32 amount_of_pois;
    QuestPoi[amount_of_pois] pois;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32quest_id
0x044 / Littleu32amount_of_pois
0x08? / -QuestPoi[amount_of_pois]pois

Used in:

QuestPoi

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_poi_query_response.wowm:16.

struct QuestPoi {
    u32 id;
    u32 objective_id;
    Map map;
    Area area;
    u32 floor_id;
    u32 unknown1;
    u32 unknown2;
    u32 amount_of_points;
    Vector2dUnsigned[amount_of_points] points;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32id
0x044 / Littleu32objective_id
0x084 / -Mapmap
0x0C4 / -Areaarea
0x104 / Littleu32floor_id
0x144 / Littleu32unknown1
0x184 / Littleu32unknown2
0x1C4 / Littleu32amount_of_points
0x20? / -Vector2dUnsigned[amount_of_points]points

Used in:

RaidInfo

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_raid_instance_info.wowm:1.

struct RaidInfo {
    Map map;
    u32 reset_time;
    u32 instance_id;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -Mapmap
0x044 / Littleu32reset_time
0x084 / Littleu32instance_id

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_raid_instance_info.wowm:16.

struct RaidInfo {
    Map map;
    u32 reset_time;
    u32 instance_id;
    u32 index;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -Mapmap
0x044 / Littleu32reset_time
0x084 / Littleu32instance_id
0x0C4 / Littleu32indexNeither 1.12 nor 3.3.5 have an index field so this might not be accurate.

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_raid_instance_info.wowm:26.

struct RaidInfo {
    Map map;
    (u32)DungeonDifficulty difficulty;
    u64 instance_id;
    Bool expired;
    Bool extended;
    u32 time_until_reset;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -Mapmap
0x044 / -DungeonDifficultydifficulty
0x088 / Littleu64instance_id
0x101 / -Boolexpired
0x111 / -Boolextended
0x124 / Littleu32time_until_resetSeems to be in seconds

Used in:

RaidTargetUpdate

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/raid_target.wowm:21.

struct RaidTargetUpdate {
    RaidTargetIndex index;
    Guid guid;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -RaidTargetIndexindex
0x018 / LittleGuidguid

Used in:

ReceivedMail

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/msg_query_next_mail_time_server.wowm:25.

struct ReceivedMail {
    Guid sender;
    AuctionHouse auction_house;
    MailMessageType message_type;
    u32 stationery;
    f32 time;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidsender
0x084 / -AuctionHouseauction_house
0x0C4 / -MailMessageTypemessage_type
0x104 / Littleu32stationery
0x144 / Littlef32timemangosone sets to 0xC6000000
mangosone: float unk, time or something

Used in:

Relation

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_contact_list.wowm:21.

struct Relation {
    Guid guid;
    RelationType relation_mask;
    CString note;
    if (relation_mask & FRIEND) {
        FriendStatus status;
        if (status == ONLINE) {
            Area area;
            Level32 level;
            (u32)Class class;
        }
    }
}

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_contact_list.wowm:21.

struct Relation {
    Guid guid;
    RelationType relation_mask;
    CString note;
    if (relation_mask & FRIEND) {
        FriendStatus status;
        if (status == ONLINE) {
            Area area;
            Level32 level;
            (u32)Class class;
        }
    }
}

Used in:

ResyncRune

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_resync_runes.wowm:1.

struct ResyncRune {
    u8 current_rune;
    u8 rune_cooldown;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8current_rune
0x011 / -u8rune_cooldown

Used in:

SMSG_ACCOUNT_DATA_TIMES

Client Version 1.12, Client Version 2

The purpose of this message is unknown, but it is required in order to prevent the chat box from being a white rectangle that is unable to show text.

Sending this causes the client to send CMSG_UPDATE_ACCOUNT_DATA messages.

CMSG_UPDATE_ACCOUNT_DATA and CMSG_REQUEST_ACCOUNT_DATA act on blocks numbered 0 to 7. The 32 u32s in this message could possibly actually be 8 sets of u816 but it could also be a variable sized message.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_account_data_times.wowm:4.

smsg SMSG_ACCOUNT_DATA_TIMES = 0x0209 {
    u32[32] data;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04128 / -u32[32]datacmangos/vmangos/mangoszero sets to all zeros

Examples

Example 1

Comment

Zeroed out message needed for showing chat box.

0, 130, // size
9, 2, // opcode (521)
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // data: u32[32]

Client Version 3.3.5

Indicate when each piece of account data was last updated by a CMSG_UPDATE_ACCOUNT_DATA. The client can check this against its own times to detect that more recent account data was written from a different client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_account_data_times.wowm:45.

smsg SMSG_ACCOUNT_DATA_TIMES = 0x0209 {
    u32 unix_time;
    u8 unknown1;
    CacheMask mask;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unix_timeSeconds since Unix Epoch
-1 / -u8unknown1Both mangostwo and arcemu hardcode this to 1
-- / -CacheMaskmask

SMSG_ACHIEVEMENT_DELETED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/achievement/smsg_achievement_deleted.wowm:1.

smsg SMSG_ACHIEVEMENT_DELETED = 0x049F {
    u32 achievement;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32achievement

SMSG_ACHIEVEMENT_EARNED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/achievement/smsg_achievement_earned.wowm:1.

smsg SMSG_ACHIEVEMENT_EARNED = 0x0468 {
    PackedGuid player;
    u32 achievement;
    DateTime earn_time;
    u32 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-4 / Littleu32achievement
-4 / LittleDateTimeearn_time
-4 / Littleu32unknownAll emus set to 0.

SMSG_ACTION_BUTTONS

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_action_buttons.wowm:1.

smsg SMSG_ACTION_BUTTONS = 0x0129 {
    u32[120] data;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04480 / -u32[120]data

Client Version 2.3, Client Version 2.4

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_action_buttons.wowm:7.

smsg SMSG_ACTION_BUTTONS = 0x0129 {
    u32[132] data;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04528 / -u32[132]data

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_action_buttons.wowm:29.

smsg SMSG_ACTION_BUTTONS = 0x0129 {
    ActionBarBehavior behavior;
    if (behavior != CLEAR) {
        ActionButton[144] data;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -ActionBarBehaviorbehavior

If behavior is not equal to CLEAR:

OffsetSize / EndiannessTypeNameComment
-576 / -ActionButton[144]data

SMSG_ACTIVATETAXIREPLY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_activatetaxireply.wowm:19.

smsg SMSG_ACTIVATETAXIREPLY = 0x01AE {
    ActivateTaxiReply reply;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -ActivateTaxiReplyreply

SMSG_ADDON_INFO

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_addon_info.wowm:58.

smsg SMSG_ADDON_INFO = 0x02EF {
    Addon[-] addons;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04? / -Addon[-]addons

Client Version 2.4.3

Banned addons are not properly implemented in the wowm. Sending any number other than 0 means that the packet is incomplete and thus invalid

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_addon_info.wowm:81.

smsg SMSG_ADDON_INFO = 0x02EF {
    AddonArray addons;
    u32 number_of_banned_addons = 0;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -AddonArrayaddons
-4 / Littleu32number_of_banned_addons

Client Version 3.3.5

Banned addons are not properly implemented in the wowm. Sending any number other than 0 means that the packet is incomplete and thus invalid

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_addon_info.wowm:81.

smsg SMSG_ADDON_INFO = 0x02EF {
    AddonArray addons;
    u32 number_of_banned_addons = 0;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -AddonArrayaddons
-4 / Littleu32number_of_banned_addons

SMSG_ADD_RUNE_POWER

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_add_rune_power.wowm:1.

smsg SMSG_ADD_RUNE_POWER = 0x0488 {
    u32 rune;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32runeEmus bitshifts 1 by the rune index instead of directly sending the index.
mangostwo: mask (0x00-0x3F probably)

SMSG_AI_REACTION

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_ai_reaction.wowm:16.

smsg SMSG_AI_REACTION = 0x013C {
    Guid guid;
    AiReaction reaction;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -AiReactionreaction

SMSG_ALL_ACHIEVEMENT_DATA

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/achievement/smsg_respond_inspect_achievements.wowm:9.

smsg SMSG_ALL_ACHIEVEMENT_DATA = 0x047D {
    AchievementDoneArray done;
    AchievementInProgressArray in_progress;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -AchievementDoneArraydone
-- / -AchievementInProgressArrayin_progress

SMSG_AREA_SPIRIT_HEALER_TIME

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/smsg_area_spirit_healer_time.wowm:3.

smsg SMSG_AREA_SPIRIT_HEALER_TIME = 0x02E4 {
    Guid guid;
    u32 next_resurrect_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32next_resurrect_time

SMSG_AREA_TRIGGER_MESSAGE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_area_trigger_message.wowm:3.

smsg SMSG_AREA_TRIGGER_MESSAGE = 0x02B8 {
    SizedCString message;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -SizedCStringmessage

SMSG_ARENA_ERROR

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_error.wowm:1.

smsg SMSG_ARENA_ERROR = 0x0376 {
    u32 unknown;
    ArenaType arena_type;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unknown
0x081 / -ArenaTypearena_type

SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED

Client Version 3.3.5

This message only exists as a comment in azerothcore/trinitycore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_team_change_failed_queued.wowm:2.

smsg SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED = 0x04C8 {
    u32 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unknown

SMSG_ARENA_TEAM_COMMAND_RESULT

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_team_command_result.wowm:31.

smsg SMSG_ARENA_TEAM_COMMAND_RESULT = 0x0349 {
    ArenaTeamCommand command;
    CString team;
    CString player;
    ArenaTeamCommandError error;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -ArenaTeamCommandcommand
-- / -CStringteam
-- / -CStringplayer
-4 / -ArenaTeamCommandErrorerror

SMSG_ARENA_TEAM_EVENT

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_team_event.wowm:18.

smsg SMSG_ARENA_TEAM_EVENT = 0x0357 {
    ArenaTeamEvent event;
    if (event == JOIN) {
        CString joiner_name;
        CString arena_team_name1;
        Guid joiner;
    }
    else if (event == LEAVE) {
        CString leaver_name;
        Guid leaver;
    }
    else if (event == REMOVE) {
        CString kicked_player_name;
        CString arena_team_name2;
        CString kicker_name;
    }
    else if (event == LEADER_IS
        || event == DISBANDED) {
        CString leader_name;
        CString arena_team_name3;
    }
    else if (event == LEADER_CHANGED) {
        CString old_leader;
        CString new_leader;
    }
    u8 amount_of_strings;
    CString[amount_of_strings] string;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -ArenaTeamEventevent

If event is equal to JOIN:

OffsetSize / EndiannessTypeNameComment
-- / -CStringjoiner_name
-- / -CStringarena_team_name1
-8 / LittleGuidjoiner

Else If event is equal to LEAVE:

OffsetSize / EndiannessTypeNameComment
-- / -CStringleaver_name
-8 / LittleGuidleaver

Else If event is equal to REMOVE:

OffsetSize / EndiannessTypeNameComment
-- / -CStringkicked_player_name
-- / -CStringarena_team_name2
-- / -CStringkicker_name

Else If event is equal to LEADER_IS or is equal to DISBANDED:

OffsetSize / EndiannessTypeNameComment
-- / -CStringleader_name
-- / -CStringarena_team_name3

Else If event is equal to LEADER_CHANGED:

OffsetSize / EndiannessTypeNameComment
-- / -CStringold_leader
-- / -CStringnew_leader
-1 / -u8amount_of_strings
-? / -CString[amount_of_strings]string

SMSG_ARENA_TEAM_INVITE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_team_invite.wowm:1.

smsg SMSG_ARENA_TEAM_INVITE = 0x0350 {
    CString player_name;
    CString team_name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringplayer_name
-- / -CStringteam_name

SMSG_ARENA_TEAM_QUERY_RESPONSE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_arena_team_query_response.wowm:1.

smsg SMSG_ARENA_TEAM_QUERY_RESPONSE = 0x034C {
    u32 arena_team;
    CString team_name;
    ArenaType team_type;
    u32 background_color;
    u32 emblem_style;
    u32 emblem_color;
    u32 border_style;
    u32 border_color;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32arena_team
-- / -CStringteam_name
-1 / -ArenaTypeteam_type
-4 / Littleu32background_color
-4 / Littleu32emblem_style
-4 / Littleu32emblem_color
-4 / Littleu32border_style
-4 / Littleu32border_color

SMSG_ARENA_TEAM_ROSTER

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_team_roster.wowm:1.

smsg SMSG_ARENA_TEAM_ROSTER = 0x034E {
    u32 arena_team;
    u32 amount_of_members;
    ArenaType arena_type;
    ArenaTeamMember[amount_of_members] members;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32arena_team
0x084 / Littleu32amount_of_members
0x0C1 / -ArenaTypearena_type
0x0D? / -ArenaTeamMember[amount_of_members]members

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_team_roster.wowm:32.

smsg SMSG_ARENA_TEAM_ROSTER = 0x034E {
    u32 arena_team;
    u8 unknown;
    u32 amount_of_members;
    ArenaType arena_type;
    ArenaTeamMember[amount_of_members] members;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32arena_team
-1 / -u8unknownarcemu: new 3.0.8.
arcemu sets to 0.
-4 / Littleu32amount_of_members
-1 / -ArenaTypearena_type
-? / -ArenaTeamMember[amount_of_members]members

SMSG_ARENA_TEAM_STATS

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_team_stats.wowm:1.

smsg SMSG_ARENA_TEAM_STATS = 0x035B {
    u32 arena_team;
    u32 rating;
    u32 games_played_this_week;
    u32 games_won_this_week;
    u32 games_played_this_season;
    u32 games_won_this_season;
    u32 ranking;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32arena_team
0x084 / Littleu32rating
0x0C4 / Littleu32games_played_this_week
0x104 / Littleu32games_won_this_week
0x144 / Littleu32games_played_this_season
0x184 / Littleu32games_won_this_season
0x1C4 / Littleu32ranking

SMSG_ARENA_UNIT_DESTROYED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/arena/smsg_arena_unit_destroyed.wowm:1.

smsg SMSG_ARENA_UNIT_DESTROYED = 0x04C7 {
    Guid unit;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidunit

SMSG_ATTACKERSTATEUPDATE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackerstateupdate.wowm:41.

smsg SMSG_ATTACKERSTATEUPDATE = 0x014A {
    HitInfo hit_info;
    PackedGuid attacker;
    PackedGuid target;
    u32 total_damage;
    u8 amount_of_damages;
    DamageInfo[amount_of_damages] damages;
    u32 damage_state;
    u32 unknown1;
    u32 spell_id;
    u32 blocked_amount;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -HitInfohit_info
0x08- / -PackedGuidattacker
-- / -PackedGuidtarget
-4 / Littleu32total_damage
-1 / -u8amount_of_damages
-? / -DamageInfo[amount_of_damages]damages
-4 / Littleu32damage_state
-4 / Littleu32unknown1
-4 / Littleu32spell_idvmangos: spell id, seen with heroic strike and disarm as examples
-4 / Littleu32blocked_amount

Examples

Example 1

0, 51, // size
74, 1, // opcode (330)
128, 0, 0, 0, // hit_info: HitInfo CRITICAL_HIT (0x00000080)
1, 23, // attacker: PackedGuid
1, 100, // target: PackedGuid
57, 5, 0, 0, // total_damage: u32
1, // amount_of_damages: u8
0, 0, 0, 0, // [0].DamageInfo.spell_school_mask: u32
0, 128, 166, 68, // [0].DamageInfo.damage_float: f32
52, 5, 0, 0, // [0].DamageInfo.damage_uint: u32
0, 0, 0, 0, // [0].DamageInfo.absorb: u32
0, 0, 0, 0, // [0].DamageInfo.resist: u32
// damages: DamageInfo[amount_of_damages]
0, 0, 0, 0, // damage_state: u32
0, 0, 0, 0, // unknown1: u32
0, 0, 0, 0, // spell_id: u32
0, 0, 0, 0, // blocked_amount: u32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackerstateupdate.wowm:41.

smsg SMSG_ATTACKERSTATEUPDATE = 0x014A {
    HitInfo hit_info;
    PackedGuid attacker;
    PackedGuid target;
    u32 total_damage;
    u8 amount_of_damages;
    DamageInfo[amount_of_damages] damages;
    u32 damage_state;
    u32 unknown1;
    u32 spell_id;
    u32 blocked_amount;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -HitInfohit_info
0x08- / -PackedGuidattacker
-- / -PackedGuidtarget
-4 / Littleu32total_damage
-1 / -u8amount_of_damages
-? / -DamageInfo[amount_of_damages]damages
-4 / Littleu32damage_state
-4 / Littleu32unknown1
-4 / Littleu32spell_idvmangos: spell id, seen with heroic strike and disarm as examples
-4 / Littleu32blocked_amount

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackerstateupdate_3_3_5.wowm:64.

smsg SMSG_ATTACKERSTATEUPDATE = 0x014A {
    HitInfo hit_info;
    PackedGuid attacker;
    PackedGuid target;
    u32 total_damage;
    u32 overkill;
    u8 amount_of_damages;
    DamageInfo[amount_of_damages] damage_infos;
    if (hit_info & ALL_ABSORB) {
        u32 absorb;
    }
    if (hit_info & ALL_RESIST) {
        u32 resist;
    }
    VictimState victim_state;
    u32 unknown1;
    u32 unknown2;
    if (hit_info & BLOCK) {
        u32 blocked_amount;
    }
    if (hit_info & UNK19) {
        u32 unknown3;
    }
    if (hit_info & UNK1) {
        u32 unknown4;
        f32 unknown5;
        f32 unknown6;
        f32 unknown7;
        f32 unknown8;
        f32 unknown9;
        f32 unknown10;
        f32 unknown11;
        f32 unknown12;
        f32 unknown13;
        f32 unknown14;
        u32 unknown15;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -HitInfohit_info
-- / -PackedGuidattacker
-- / -PackedGuidtarget
-4 / Littleu32total_damage
-4 / Littleu32overkill
-1 / -u8amount_of_damages
-? / -DamageInfo[amount_of_damages]damage_infos

If hit_info contains ALL_ABSORB:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32absorb

If hit_info contains ALL_RESIST:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32resist
-1 / -VictimStatevictim_state
-4 / Littleu32unknown1arcemu: can be 0,1000 or -1
-4 / Littleu32unknown2

If hit_info contains BLOCK:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32blocked_amount

If hit_info contains UNK19:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unknown3

If hit_info contains UNK1:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unknown4
-4 / Littlef32unknown5
-4 / Littlef32unknown6
-4 / Littlef32unknown7
-4 / Littlef32unknown8
-4 / Littlef32unknown9
-4 / Littlef32unknown10
-4 / Littlef32unknown11
-4 / Littlef32unknown12
-4 / Littlef32unknown13
-4 / Littlef32unknown14
-4 / Littleu32unknown15

SMSG_ATTACKSTART

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackstart.wowm:1.

smsg SMSG_ATTACKSTART = 0x0143 {
    Guid attacker;
    Guid victim;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidattacker
0x0C8 / LittleGuidvictim

Examples

Example 1

0, 18, // size
67, 1, // opcode (323)
23, 0, 0, 0, 0, 0, 0, 0, // attacker: Guid
100, 0, 0, 0, 0, 0, 0, 0, // victim: Guid

SMSG_ATTACKSTOP

Client Version 1.1, Client Version 1.2, Client Version 1.3, Client Version 1.4, Client Version 1.5, Client Version 1.6, Client Version 1.7

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackstop.wowm:1.

smsg SMSG_ATTACKSTOP = 0x0144 {
    Guid player;
    Guid enemy;
    u32 unknown1;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidplayer
0x0C8 / LittleGuidenemy
0x144 / Littleu32unknown1vmangos: set to 0 with comment: unk, can be 1 also

Client Version 1.8, Client Version 1.9, Client Version 1.10, Client Version 1.11, Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackstop.wowm:10.

smsg SMSG_ATTACKSTOP = 0x0144 {
    PackedGuid player;
    PackedGuid enemy;
    u32 unknown1;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-- / -PackedGuidenemy
-4 / Littleu32unknown1cmangos/vmangos/mangoszero/arcemu/azerothcore/mangostwo: set to 0 with comment: unk, can be 1 also

Examples

Example 1

0, 10, // size
68, 1, // opcode (324)
1, 23, // player: PackedGuid
1, 100, // enemy: PackedGuid
0, 0, 0, 0, // unknown1: u32

SMSG_ATTACKSWING_BADFACING

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackswing_badfacing.wowm:3.

smsg SMSG_ATTACKSWING_BADFACING = 0x0146 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_ATTACKSWING_CANT_ATTACK

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackswing_cant_attack.wowm:3.

smsg SMSG_ATTACKSWING_CANT_ATTACK = 0x0149 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_ATTACKSWING_DEADTARGET

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackswing_deadtarget.wowm:3.

smsg SMSG_ATTACKSWING_DEADTARGET = 0x0148 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_ATTACKSWING_NOTINRANGE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackswing_notinrange.wowm:3.

smsg SMSG_ATTACKSWING_NOTINRANGE = 0x0145 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_ATTACKSWING_NOTSTANDING

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_attackswing_notstanding.wowm:3.

smsg SMSG_ATTACKSWING_NOTSTANDING = 0x0147 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_AUCTION_BIDDER_LIST_RESULT

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_bidder_list_result.wowm:1.

smsg SMSG_AUCTION_BIDDER_LIST_RESULT = 0x0265 {
    u32 count;
    AuctionListItem[count] auctions;
    u32 total_amount_of_auctions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32count
0x08? / -AuctionListItem[count]auctions
-4 / Littleu32total_amount_of_auctions

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_bidder_list_result.wowm:9.

smsg SMSG_AUCTION_BIDDER_LIST_RESULT = 0x0265 {
    u32 count;
    AuctionListItem[count] auctions;
    u32 total_amount_of_auctions;
    Milliseconds auction_search_delay;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32count
0x08? / -AuctionListItem[count]auctions
-4 / Littleu32total_amount_of_auctions
-4 / LittleMillisecondsauction_search_delay

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_bidder_list_result.wowm:9.

smsg SMSG_AUCTION_BIDDER_LIST_RESULT = 0x0265 {
    u32 count;
    AuctionListItem[count] auctions;
    u32 total_amount_of_auctions;
    Milliseconds auction_search_delay;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32count
-? / -AuctionListItem[count]auctions
-4 / Littleu32total_amount_of_auctions
-4 / LittleMillisecondsauction_search_delay

SMSG_AUCTION_BIDDER_NOTIFICATION

Client Version 1.1, Client Version 1.2, Client Version 1.3, Client Version 1.4, Client Version 1.5, Client Version 1.6, Client Version 1.7, Client Version 1.8, Client Version 1.9, Client Version 1.10, Client Version 1.11

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_bidder_notification.wowm:13.

smsg SMSG_AUCTION_BIDDER_NOTIFICATION = 0x025E {
    u32 auction_house_id;
    u32 auction_id;
    Guid bidder;
    u32 won;
    u32 out_bid;
    u32 item_template;
    u32 item_random_property_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32auction_house_id
0x084 / Littleu32auction_id
0x0C8 / LittleGuidbidder
0x144 / Littleu32wonvmangos/cmangos: if 0, client shows ERR_AUCTION_WON_S, else ERR_AUCTION_OUTBID_S
0x184 / Littleu32out_bid
0x1C4 / Littleu32item_template
0x204 / Littleu32item_random_property_id

Client Version 1.12, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_bidder_notification.wowm:26.

smsg SMSG_AUCTION_BIDDER_NOTIFICATION = 0x025E {
    AuctionHouse auction_house;
    u32 auction_id;
    Guid bidder;
    u32 won;
    u32 out_bid;
    u32 item_template;
    u32 item_random_property_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -AuctionHouseauction_house
0x084 / Littleu32auction_id
0x0C8 / LittleGuidbidder
0x144 / Littleu32wonvmangos/cmangos: if 0, client shows ERR_AUCTION_WON_S, else ERR_AUCTION_OUTBID_S
0x184 / Littleu32out_bid
0x1C4 / Littleu32item_template
0x204 / Littleu32item_random_property_id

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_bidder_notification.wowm:39.

smsg SMSG_AUCTION_BIDDER_NOTIFICATION = 0x025E {
    AuctionHouse auction_house;
    u32 auction_id;
    Guid bidder;
    u32 bid_sum;
    u32 new_highest_bid;
    u32 out_bid_amount;
    u32 item_template;
    u32 item_random_property_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -AuctionHouseauction_house
0x084 / Littleu32auction_id
0x0C8 / LittleGuidbidder
0x144 / Littleu32bid_sum
0x184 / Littleu32new_highest_bid
0x1C4 / Littleu32out_bid_amount
0x204 / Littleu32item_template
0x244 / Littleu32item_random_property_id

SMSG_AUCTION_COMMAND_RESULT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_command_result.wowm:35.

smsg SMSG_AUCTION_COMMAND_RESULT = 0x025B {
    u32 auction_id;
    AuctionCommandAction action;
    if (action == BID_PLACED) {
        AuctionCommandResult result;
        if (result == OK) {
            u32 auction_outbid1;
        }
        else if (result == ERR_INVENTORY) {
            InventoryResult inventory_result;
        }
        else if (result == ERR_HIGHER_BID) {
            Guid higher_bidder;
            u32 new_bid;
            u32 auction_outbid2;
        }
    }
    else {
        AuctionCommandResultTwo result2;
        if (result2 == ERR_INVENTORY) {
            InventoryResult inventory_result2;
        }
        else if (result2 == ERR_HIGHER_BID) {
            Guid higher_bidder2;
            u32 new_bid2;
            u32 auction_outbid3;
        }
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_command_result.wowm:35.

smsg SMSG_AUCTION_COMMAND_RESULT = 0x025B {
    u32 auction_id;
    AuctionCommandAction action;
    if (action == BID_PLACED) {
        AuctionCommandResult result;
        if (result == OK) {
            u32 auction_outbid1;
        }
        else if (result == ERR_INVENTORY) {
            InventoryResult inventory_result;
        }
        else if (result == ERR_HIGHER_BID) {
            Guid higher_bidder;
            u32 new_bid;
            u32 auction_outbid2;
        }
    }
    else {
        AuctionCommandResultTwo result2;
        if (result2 == ERR_INVENTORY) {
            InventoryResult inventory_result2;
        }
        else if (result2 == ERR_HIGHER_BID) {
            Guid higher_bidder2;
            u32 new_bid2;
            u32 auction_outbid3;
        }
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_command_result.wowm:88.

smsg SMSG_AUCTION_COMMAND_RESULT = 0x025B {
    u32 auction_id;
    AuctionCommandAction action;
    AuctionCommandResult result;
    if (result == ERR_INVENTORY) {
        InventoryResult inventory_result;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32auction_id
-4 / -AuctionCommandActionaction
-4 / -AuctionCommandResultresult

If result is equal to ERR_INVENTORY:

OffsetSize / EndiannessTypeNameComment
-1 / -InventoryResultinventory_result

SMSG_AUCTION_LIST_PENDING_SALES

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_list_pending_sales.wowm:15.

smsg SMSG_AUCTION_LIST_PENDING_SALES = 0x0490 {
    u32 amount_of_pending_sales;
    PendingAuctionSale[amount_of_pending_sales] pending_sales;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_pending_sales
-? / -PendingAuctionSale[amount_of_pending_sales]pending_sales

SMSG_AUCTION_LIST_RESULT

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_list_result.wowm:1.

smsg SMSG_AUCTION_LIST_RESULT = 0x025C {
    u32 count;
    AuctionListItem[count] auctions;
    u32 total_amount_of_auctions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32count
0x08? / -AuctionListItem[count]auctions
-4 / Littleu32total_amount_of_auctions

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_list_result.wowm:9.

smsg SMSG_AUCTION_LIST_RESULT = 0x025C {
    u32 count;
    AuctionListItem[count] auctions;
    u32 total_amount_of_auctions;
    Milliseconds auction_search_delay;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32count
0x08? / -AuctionListItem[count]auctions
-4 / Littleu32total_amount_of_auctions
-4 / LittleMillisecondsauction_search_delay

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_list_result.wowm:9.

smsg SMSG_AUCTION_LIST_RESULT = 0x025C {
    u32 count;
    AuctionListItem[count] auctions;
    u32 total_amount_of_auctions;
    Milliseconds auction_search_delay;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32count
-? / -AuctionListItem[count]auctions
-4 / Littleu32total_amount_of_auctions
-4 / LittleMillisecondsauction_search_delay

SMSG_AUCTION_OWNER_LIST_RESULT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_owner_list_result.wowm:1.

smsg SMSG_AUCTION_OWNER_LIST_RESULT = 0x025D {
    u32 count;
    AuctionListItem[count] auctions;
    u32 total_amount_of_auctions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32count
0x08? / -AuctionListItem[count]auctions
-4 / Littleu32total_amount_of_auctions

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_owner_list_result.wowm:9.

smsg SMSG_AUCTION_OWNER_LIST_RESULT = 0x025D {
    u32 count;
    AuctionListItem[count] auctions;
    u32 total_amount_of_auctions;
    Milliseconds auction_search_delay;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32count
0x08? / -AuctionListItem[count]auctions
-4 / Littleu32total_amount_of_auctions
-4 / LittleMillisecondsauction_search_delay

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_owner_list_result.wowm:9.

smsg SMSG_AUCTION_OWNER_LIST_RESULT = 0x025D {
    u32 count;
    AuctionListItem[count] auctions;
    u32 total_amount_of_auctions;
    Milliseconds auction_search_delay;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32count
-? / -AuctionListItem[count]auctions
-4 / Littleu32total_amount_of_auctions
-4 / LittleMillisecondsauction_search_delay

SMSG_AUCTION_OWNER_NOTIFICATION

Client Version 1, Client Version 2

vmangos/cmangos/mangoszero: this message causes on client to display: ‘Your auction sold’

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_owner_notification.wowm:2.

smsg SMSG_AUCTION_OWNER_NOTIFICATION = 0x025F {
    u32 auction_id;
    u32 bid;
    u32 auction_out_bid;
    Guid bidder;
    Item item;
    u32 item_random_property_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32auction_id
0x084 / Littleu32bidvmangos/cmangos/mangoszero: if 0, client shows ERR_AUCTION_EXPIRED_S, else ERR_AUCTION_SOLD_S (works only when guid==0)
0x0C4 / Littleu32auction_out_bid
0x108 / LittleGuidbidder
0x184 / LittleItemitem
0x1C4 / Littleu32item_random_property_id

Client Version 3.3.5

vmangos/cmangos/mangoszero: this message causes on client to display: ‘Your auction sold’

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_owner_notification.wowm:15.

smsg SMSG_AUCTION_OWNER_NOTIFICATION = 0x025F {
    u32 auction_id;
    u32 bid;
    u32 auction_out_bid;
    Guid bidder;
    Item item;
    u32 item_random_property_id;
    f32 time_left;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32auction_id
0x084 / Littleu32bidvmangos/cmangos/mangoszero: if 0, client shows ERR_AUCTION_EXPIRED_S, else ERR_AUCTION_SOLD_S (works only when guid==0)
0x0C4 / Littleu32auction_out_bid
0x108 / LittleGuidbidder
0x184 / LittleItemitem
0x1C4 / Littleu32item_random_property_id
0x204 / Littlef32time_left

SMSG_AUCTION_REMOVED_NOTIFICATION

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/auction/smsg/smsg_auction_removed_notification.wowm:3.

smsg SMSG_AUCTION_REMOVED_NOTIFICATION = 0x028D {
    Item item;
    u32 item_template;
    u32 random_property_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleItemitem
0x084 / Littleu32item_template
0x0C4 / Littleu32random_property_id

SMSG_AURA_UPDATE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_aura_update.wowm:1.

smsg SMSG_AURA_UPDATE = 0x0496 {
    PackedGuid unit;
    AuraUpdate aura_update;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit
-- / -AuraUpdateaura_update

SMSG_AURA_UPDATE_ALL

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_aura_update_all.wowm:34.

smsg SMSG_AURA_UPDATE_ALL = 0x0495 {
    PackedGuid unit;
    AuraUpdate[-] aura_updates;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit
-? / -AuraUpdate[-]aura_updates

SMSG_AUTH_CHALLENGE

Client Version 1, Client Version 2

Seed used by the client to prove in CMSG_AUTH_SESSION that it has authenticated with the auth server.

First thing sent when a client connects to the world server.

This message is always unencrypted.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_auth_challenge.wowm:5.

smsg SMSG_AUTH_CHALLENGE = 0x01EC {
    u32 server_seed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32server_seed

Examples

Example 1

0, 6, // size
236, 1, // opcode (492)
239, 190, 173, 222, // server_seed: u32

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_auth_challenge.wowm:21.

smsg SMSG_AUTH_CHALLENGE = 0x01EC {
    u32 unknown1;
    u32 server_seed;
    u8[32] seed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unknown1TrinityCore/ArcEmu/mangostwo always set to 1.
TrinityCore/mangostwo: 1…31
0x084 / Littleu32server_seed
0x0C32 / -u8[32]seedRandomized values. Is not used at all by TrinityCore/mangostwo/ArcEmu.

SMSG_AUTH_RESPONSE

Client Version 1

Response to CMSG_AUTH_SESSION.

Usually followed by CMSG_CHAR_ENUM if login was successful (AUTH_OK).

vmangos/cmangos/mangoszero all have a variant of this message that contains fields from AUTH_OK for AUTH_WAIT_QUEUE as well (https://github.com/vmangos/core/blob/cd896d43712ceafecdbd8f005846d7f676e55b4f/src/game/World.cpp#L322) but this does not seem to be actually be a real thing.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_auth_response.wowm:4.

smsg SMSG_AUTH_RESPONSE = 0x01EE {
    WorldResult result;
    if (result == AUTH_OK) {
        u32 billing_time;
        u8 billing_flags;
        u32 billing_rested;
    }
    else if (result == AUTH_WAIT_QUEUE) {
        u32 queue_position;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

If result is equal to AUTH_OK:

OffsetSize / EndiannessTypeNameComment
0x054 / Littleu32billing_time
0x091 / -u8billing_flags
0x0A4 / Littleu32billing_rested

Else If result is equal to AUTH_WAIT_QUEUE:

OffsetSize / EndiannessTypeNameComment
0x0E4 / Littleu32queue_position

Examples

Example 1

Comment

Authentication failed.

0, 3, // size
238, 1, // opcode (494)
13, // result: WorldResult AUTH_FAILED (0x0D)

Example 2

Comment

Client told to wait in queue.

0, 7, // size
238, 1, // opcode (494)
27, // result: WorldResult AUTH_WAIT_QUEUE (0x1B)
239, 190, 173, 222, // queue_position: u32

Example 3

Comment

Client can join.

0, 12, // size
238, 1, // opcode (494)
12, // result: WorldResult AUTH_OK (0x0C)
239, 190, 173, 222, // billing_time: u32
0, // billing_flags: u8
0, 0, 0, 0, // billing_rested: u32

Client Version 2.4.3

Response to CMSG_AUTH_SESSION.

Usually followed by CMSG_CHAR_ENUM if login was successful (AUTH_OK).

vmangos/cmangos/mangoszero all have a variant of this message that contains fields from AUTH_OK for AUTH_WAIT_QUEUE as well (https://github.com/vmangos/core/blob/cd896d43712ceafecdbd8f005846d7f676e55b4f/src/game/World.cpp#L322) but this does not seem to be actually be a real thing.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_auth_response.wowm:84.

smsg SMSG_AUTH_RESPONSE = 0x01EE {
    WorldResult result;
    if (result == AUTH_OK) {
        u32 billing_time;
        BillingPlanFlags billing_flags;
        u32 billing_rested;
        Expansion expansion;
    }
    else if (result == AUTH_WAIT_QUEUE) {
        u32 queue_position;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

If result is equal to AUTH_OK:

OffsetSize / EndiannessTypeNameComment
0x054 / Littleu32billing_time
0x091 / -BillingPlanFlagsbilling_flags
0x0A4 / Littleu32billing_rested
0x0E1 / -Expansionexpansion

Else If result is equal to AUTH_WAIT_QUEUE:

OffsetSize / EndiannessTypeNameComment
0x0F4 / Littleu32queue_position

Client Version 3.3.5

Response to CMSG_AUTH_SESSION.

Usually followed by CMSG_CHAR_ENUM if login was successful (AUTH_OK).

vmangos/cmangos/mangoszero all have a variant of this message that contains fields from AUTH_OK for AUTH_WAIT_QUEUE as well (https://github.com/vmangos/core/blob/cd896d43712ceafecdbd8f005846d7f676e55b4f/src/game/World.cpp#L322) but this does not seem to be actually be a real thing.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_auth_response.wowm:110.

smsg SMSG_AUTH_RESPONSE = 0x01EE {
    WorldResult result;
    if (result == AUTH_OK) {
        u32 billing_time;
        BillingPlanFlags billing_flags;
        u32 billing_rested;
        Expansion expansion;
    }
    else if (result == AUTH_WAIT_QUEUE) {
        u32 queue_position;
        Bool realm_has_free_character_migration;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -WorldResultresult

If result is equal to AUTH_OK:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32billing_time
-1 / -BillingPlanFlagsbilling_flags
-4 / Littleu32billing_rested
-1 / -Expansionexpansion

Else If result is equal to AUTH_WAIT_QUEUE:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32queue_position
-1 / -Boolrealm_has_free_character_migration

SMSG_BARBER_SHOP_RESULT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_barber_shop_result.wowm:10.

smsg SMSG_BARBER_SHOP_RESULT = 0x0428 {
    (u32)BarberShopResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -BarberShopResultresult

SMSG_BATTLEFIELD_LIST

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_list.wowm:18.

smsg SMSG_BATTLEFIELD_LIST = 0x023D {
    Guid battlemaster;
    Map map;
    BattlegroundBracket bracket;
    u32 number_of_battlegrounds;
    u32[number_of_battlegrounds] battlegrounds;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidbattlemaster
0x0C4 / -Mapmap
0x101 / -BattlegroundBracketbracket
0x114 / Littleu32number_of_battlegrounds
0x15? / -u32[number_of_battlegrounds]battlegrounds

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_list.wowm:42.

smsg SMSG_BATTLEFIELD_LIST = 0x023D {
    Guid battlemaster;
    BattlegroundType battleground_type;
    u32 number_of_battlegrounds;
    u32[number_of_battlegrounds] battlegrounds;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidbattlemaster
0x0C4 / -BattlegroundTypebattleground_type
0x104 / Littleu32number_of_battlegrounds
0x14? / -u32[number_of_battlegrounds]battlegrounds

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_list.wowm:77.

smsg SMSG_BATTLEFIELD_LIST = 0x023D {
    Guid battlemaster;
    BattlegroundType battleground_type;
    u8 unknown1;
    u8 unknown2;
    u8 has_win;
    u32 win_honor;
    u32 win_arena;
    u32 loss_honor;
    RandomBg random;
    if (random == RANDOM) {
        u8 win_random;
        u32 reward_honor;
        u32 reward_arena;
        u32 honor_lost;
    }
    u32 number_of_battlegrounds;
    u32[number_of_battlegrounds] battlegrounds;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidbattlemaster
-4 / -BattlegroundTypebattleground_type
-1 / -u8unknown1
-1 / -u8unknown2
-1 / -u8has_win
-4 / Littleu32win_honor
-4 / Littleu32win_arena
-4 / Littleu32loss_honor
-1 / -RandomBgrandom

If random is equal to RANDOM:

OffsetSize / EndiannessTypeNameComment
-1 / -u8win_random
-4 / Littleu32reward_honor
-4 / Littleu32reward_arena
-4 / Littleu32honor_lost
-4 / Littleu32number_of_battlegrounds
-? / -u32[number_of_battlegrounds]battlegrounds

SMSG_BATTLEFIELD_MGR_EJECTED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_mgr_ejected.wowm:1.

smsg SMSG_BATTLEFIELD_MGR_EJECTED = 0x04E6 {
    u32 battle_id;
    u8 reason;
    u8 battle_status;
    u8 relocated;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32battle_id
0x081 / -u8reason
0x091 / -u8battle_status
0x0A1 / -u8relocated

SMSG_BATTLEFIELD_MGR_EJECT_PENDING

Client Version 3.3.5

Only exists as a comment in azerothcore/trinitycore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_mgr_eject_pending.wowm:2.

smsg SMSG_BATTLEFIELD_MGR_EJECT_PENDING = 0x04E5 {
    u32 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unknown

SMSG_BATTLEFIELD_MGR_ENTERED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_mgr_entered.wowm:1.

smsg SMSG_BATTLEFIELD_MGR_ENTERED = 0x04E0 {
    u32 battle_id;
    u8 unknown1;
    u8 unknown2;
    Bool clear_afk;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32battle_id
0x081 / -u8unknown1
0x091 / -u8unknown2
0x0A1 / -Boolclear_afk

SMSG_BATTLEFIELD_MGR_ENTRY_INVITE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_mgr_entry_invite.wowm:1.

smsg SMSG_BATTLEFIELD_MGR_ENTRY_INVITE = 0x04DE {
    u32 battle_id;
    Area area;
    Seconds accept_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32battle_id
0x084 / -Areaarea
0x0C4 / LittleSecondsaccept_time

SMSG_BATTLEFIELD_MGR_QUEUE_INVITE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_mgr_queue_invite.wowm:1.

smsg SMSG_BATTLEFIELD_MGR_QUEUE_INVITE = 0x04E1 {
    u32 battle_id;
    u8 warmup;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32battle_id
0x081 / -u8warmupPossibly not used.

SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_mgr_queue_request_response.wowm:1.

smsg SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE = 0x04E4 {
    u32 battle_id;
    Area area;
    Bool queued;
    Bool full;
    Bool warmup;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32battle_id
0x084 / -Areaarea
0x0C1 / -Boolqueued
0x0D1 / -Boolfull
0x0E1 / -Boolwarmup

SMSG_BATTLEFIELD_MGR_STATE_CHANGE

Client Version 3.3.5

Only exists as comment in azerothcore/trinitycore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_mgr_state_change.wowm:2.

smsg SMSG_BATTLEFIELD_MGR_STATE_CHANGE = 0x04E8 {
    u32 unknown1;
    u32 unknown2;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unknown1
0x084 / Littleu32unknown2

SMSG_BATTLEFIELD_STATUS

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_status.wowm:16.

smsg SMSG_BATTLEFIELD_STATUS = 0x02D4 {
    u32 queue_slot;
    Map map;
    if (map != EASTERN_KINGDOMS) {
        BattlegroundBracket bracket;
        u32 client_instance_id;
        StatusId status_id;
        if (status_id == WAIT_QUEUE) {
            u32 average_wait_time_in_ms;
            u32 time_in_queue_in_ms;
        }
        else if (status_id == WAIT_JOIN) {
            u32 time_to_remove_in_queue_in_ms;
        }
        else if (status_id == IN_PROGRESS) {
            u32 time_to_bg_autoleave_in_ms;
            u32 time_to_bg_start_in_ms;
        }
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Client Version 2.4.3

mangosone treats arena_type, unknown1, battleground_type_id, and unknown2 as one big u64 and does not send any fields after these if all fields are 0.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_status.wowm:44.

smsg SMSG_BATTLEFIELD_STATUS = 0x02D4 {
    u32 queue_slot;
    ArenaType arena_type;
    u8 unknown1;
    BattlegroundType battleground_type;
    u16 unknown2;
    u32 client_instance_id;
    Bool rated;
    StatusId status_id;
    if (status_id == WAIT_QUEUE) {
        u32 average_wait_time_in_ms;
        u32 time_in_queue_in_ms;
    }
    else if (status_id == WAIT_JOIN) {
        u32 time_to_remove_in_queue_in_ms;
    }
    else if (status_id == IN_PROGRESS) {
        u32 time_to_bg_autoleave_in_ms;
        u32 time_to_bg_start_in_ms;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32queue_slotvmangos: players can be in 3 queues at the same time (0..2)
0x081 / -ArenaTypearena_type
0x091 / -u8unknown1mangosone sets to 0x0D.
0x0A4 / -BattlegroundTypebattleground_type
0x0E2 / Littleu16unknown2mangosone sets to 0x1F90
0x104 / Littleu32client_instance_id
0x141 / -Boolrated
0x151 / -StatusIdstatus_id

If status_id is equal to WAIT_QUEUE:

OffsetSize / EndiannessTypeNameComment
0x164 / Littleu32average_wait_time_in_ms
0x1A4 / Littleu32time_in_queue_in_ms

Else If status_id is equal to WAIT_JOIN:

OffsetSize / EndiannessTypeNameComment
0x1E4 / Littleu32time_to_remove_in_queue_in_ms

Else If status_id is equal to IN_PROGRESS:

OffsetSize / EndiannessTypeNameComment
0x224 / Littleu32time_to_bg_autoleave_in_ms
0x264 / Littleu32time_to_bg_start_in_ms

Client Version 3.3.5

mangosone treats arena_type, unknown1, battleground_type_id, and unknown2 as one big u64 and does not send any fields after these if all fields are 0.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battlefield_status.wowm:88.

smsg SMSG_BATTLEFIELD_STATUS = 0x02D4 {
    u32 queue_slot;
    ArenaType arena_type;
    u8 is_arena;
    BattlegroundType battleground_type;
    u16 unknown1;
    u8 minimum_level;
    u8 maximum_level;
    u32 client_instance_id;
    Bool rated;
    StatusId status_id;
    if (status_id == WAIT_QUEUE) {
        u32 average_wait_time_in_ms;
        u32 time_in_queue_in_ms;
    }
    else if (status_id == WAIT_JOIN) {
        Map map1;
        u64 unknown2;
        u32 time_to_remove_in_queue_in_ms;
    }
    else if (status_id == IN_PROGRESS) {
        Map map2;
        u64 unknown3;
        u32 time_to_bg_autoleave_in_ms;
        u32 time_to_bg_start_in_ms;
        ArenaFaction faction;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32queue_slotvmangos: players can be in 3 queues at the same time (0..2)
-1 / -ArenaTypearena_type
-1 / -u8is_arenaazerothcore sets to 0x0E if it is arena, 0 otherwise.
-4 / -BattlegroundTypebattleground_type
-2 / Littleu16unknown1azerothcore sets to 0x1F90
-1 / -u8minimum_level
-1 / -u8maximum_level
-4 / Littleu32client_instance_id
-1 / -Boolrated
-1 / -StatusIdstatus_id

If status_id is equal to WAIT_QUEUE:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32average_wait_time_in_ms
-4 / Littleu32time_in_queue_in_ms

Else If status_id is equal to WAIT_JOIN:

OffsetSize / EndiannessTypeNameComment
-4 / -Mapmap1
-8 / Littleu64unknown2azerothcore: 3.3.5 unknown
-4 / Littleu32time_to_remove_in_queue_in_ms

Else If status_id is equal to IN_PROGRESS:

OffsetSize / EndiannessTypeNameComment
-4 / -Mapmap2
-8 / Littleu64unknown3azerothcore: 3.3.5 unknown
-4 / Littleu32time_to_bg_autoleave_in_ms
-4 / Littleu32time_to_bg_start_in_ms
-1 / -ArenaFactionfaction

SMSG_BATTLEGROUND_INFO_THROTTLED

Client Version 3.3.5

Only exists as a comment in azerothcore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battleground_info_throttled.wowm:2.

smsg SMSG_BATTLEGROUND_INFO_THROTTLED = 0x04A6 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_BATTLEGROUND_PLAYER_JOINED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battleground_player_joined.wowm:3.

smsg SMSG_BATTLEGROUND_PLAYER_JOINED = 0x02EC {
    Guid player;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidplayer

SMSG_BATTLEGROUND_PLAYER_LEFT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/battleground/smsg_battleground_player_left.wowm:3.

smsg SMSG_BATTLEGROUND_PLAYER_LEFT = 0x02ED {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_BINDER_CONFIRM

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_binder_confirm.wowm:1.

smsg SMSG_BINDER_CONFIRM = 0x02EB {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_binder_confirm.wowm:7.

smsg SMSG_BINDER_CONFIRM = 0x02EB {
    Guid guid;
    Area area;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -Areaareaarcemu has this field while other emus do not.

SMSG_BINDPOINTUPDATE

Client Version 1.12

Inform the client of a their hearthstone location.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_bindpointupdate.wowm:2.

smsg SMSG_BINDPOINTUPDATE = 0x0155 {
    Vector3d position;
    Map map;
    Area area;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0412 / -Vector3dposition
0x104 / -Mapmap
0x144 / -Areaarea

Client Version 2.4.3

Inform the client of a their hearthstone location.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_bindpointupdate.wowm:2.

smsg SMSG_BINDPOINTUPDATE = 0x0155 {
    Vector3d position;
    Map map;
    Area area;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0412 / -Vector3dposition
0x104 / -Mapmap
0x144 / -Areaarea

Client Version 3.3.5

Inform the client of a their hearthstone location.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_bindpointupdate.wowm:2.

smsg SMSG_BINDPOINTUPDATE = 0x0155 {
    Vector3d position;
    Map map;
    Area area;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0412 / -Vector3dposition
0x104 / -Mapmap
0x144 / -Areaarea

SMSG_BREAK_TARGET

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_break_target.wowm:1.

smsg SMSG_BREAK_TARGET = 0x0152 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_BUY_BANK_SLOT_RESULT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_buy_bank_slot_result.wowm:10.

smsg SMSG_BUY_BANK_SLOT_RESULT = 0x01BA {
    BuyBankSlotResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -BuyBankSlotResultresult

SMSG_BUY_FAILED

Client Version 1, Client Version 2, Client Version 3

Some TBC and Wrath emus have a u32 before result that is only included if the value is > 0, but the emus never call it with anything other than 0.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_buy_failed.wowm:16.

smsg SMSG_BUY_FAILED = 0x01A5 {
    Guid guid;
    Item item;
    BuyResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / LittleItemitem
0x101 / -BuyResultresult

SMSG_BUY_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_buy_item.wowm:3.

smsg SMSG_BUY_ITEM = 0x01A4 {
    Guid guid;
    u32 vendor_slot;
    u32 amount_for_sale;
    u32 amount_bought;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32vendor_slotStarts at index 1.
arcemu has this field as milliseconds since something instead.
0x104 / Littleu32amount_for_sale
0x144 / Littleu32amount_bought

SMSG_CALENDAR_ARENA_TEAM

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_arena_team.wowm:1.

smsg SMSG_CALENDAR_ARENA_TEAM = 0x0439 {
    u32 amount_of_members;
    CalendarMember[amount_of_members] members;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_members
-? / -CalendarMember[amount_of_members]members

SMSG_CALENDAR_CLEAR_PENDING_ACTION

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_clear_pending_action.wowm:1.

smsg SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x04BB {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_CALENDAR_COMMAND_RESULT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_command_result.wowm:1.

smsg SMSG_CALENDAR_COMMAND_RESULT = 0x043D {
    u32 unknown1;
    u8 unknown2;
    CString name;
    u32 result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unknown1All emus set to 0.
-1 / -u8unknown2All emus set to 0.
-- / -CStringname
-4 / Littleu32result

SMSG_CALENDAR_EVENT_INVITE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_event_invite.wowm:8.

smsg SMSG_CALENDAR_EVENT_INVITE = 0x043A {
    PackedGuid invitee;
    Guid event_id;
    Guid invite_id;
    Level level;
    u8 invite_status;
    CalendarStatusTime time;
    if (time == PRESENT) {
        DateTime status_time;
    }
    Bool is_sign_up;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidinvitee
-8 / LittleGuidevent_id
-8 / LittleGuidinvite_id
-1 / -Levellevel
-1 / -u8invite_status
-1 / -CalendarStatusTimetime

If time is equal to PRESENT:

OffsetSize / EndiannessTypeNameComment
-4 / LittleDateTimestatus_time
-1 / -Boolis_sign_up

SMSG_CALENDAR_EVENT_INVITE_ALERT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_event_invite_alert.wowm:1.

smsg SMSG_CALENDAR_EVENT_INVITE_ALERT = 0x0440 {
    Guid event_id;
    CString title;
    DateTime event_time;
    u32 flags;
    u32 event_type;
    u32 dungeon_id;
    Guid invite_id;
    u8 status;
    u8 rank;
    PackedGuid event_creator;
    PackedGuid invite_sender;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidevent_id
-- / -CStringtitle
-4 / LittleDateTimeevent_time
-4 / Littleu32flags
-4 / Littleu32event_type
-4 / Littleu32dungeon_id
-8 / LittleGuidinvite_id
-1 / -u8status
-1 / -u8rank
-- / -PackedGuidevent_creator
-- / -PackedGuidinvite_sender

SMSG_CALENDAR_EVENT_INVITE_NOTES

Client Version 3.3.5

This message only exists as a coment in trinitycore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_event_invite_notes.wowm:2.

smsg SMSG_CALENDAR_EVENT_INVITE_NOTES = 0x0460 {
    PackedGuid invitee;
    Guid invite_id;
    CString text;
    Bool unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidinvitee
-8 / LittleGuidinvite_id
-- / -CStringtext
-1 / -Boolunknown

SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT

Client Version 3.3.5

This message only exists as a comment in trinitycore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_event_invite_notes_alert.wowm:2.

smsg SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT = 0x0461 {
    Guid invite_id;
    CString text;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidinvite_id
-- / -CStringtext

SMSG_CALENDAR_EVENT_INVITE_REMOVED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_event_invite_removed.wowm:1.

smsg SMSG_CALENDAR_EVENT_INVITE_REMOVED = 0x043B {
    PackedGuid invitee;
    Guid event_id;
    u32 flags;
    Bool show_alert;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidinvitee
-8 / LittleGuidevent_id
-4 / Littleu32flags
-1 / -Boolshow_alert

SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_event_invite_removed_alert.wowm:1.

smsg SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT = 0x0441 {
    Guid event_id;
    DateTime event_time;
    u32 flags;
    u8 status;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidevent_id
0x0C4 / LittleDateTimeevent_time
0x104 / Littleu32flags
0x141 / -u8status

SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_event_moderator_status_alert.wowm:1.

smsg SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT = 0x0445 {
    PackedGuid invitee;
    Guid event_id;
    u8 rank;
    Bool show_alert;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidinvitee
-8 / LittleGuidevent_id
-1 / -u8rank
-1 / -Boolshow_alert

SMSG_CALENDAR_EVENT_REMOVED_ALERT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_event_removed_alert.wowm:1.

smsg SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x0443 {
    Bool show_alert;
    Guid event_id;
    DateTime event_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -Boolshow_alert
0x058 / LittleGuidevent_id
0x0D4 / LittleDateTimeevent_time

SMSG_CALENDAR_EVENT_STATUS

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_event_status.wowm:1.

smsg SMSG_CALENDAR_EVENT_STATUS = 0x043C {
    PackedGuid invitee;
    Guid event_id;
    DateTime event_time;
    u32 flags;
    u8 status;
    u8 rank;
    DateTime status_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidinvitee
-8 / LittleGuidevent_id
-4 / LittleDateTimeevent_time
-4 / Littleu32flags
-1 / -u8status
-1 / -u8rank
-4 / LittleDateTimestatus_time

SMSG_CALENDAR_EVENT_UPDATED_ALERT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_event_updated_alert.wowm:1.

smsg SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x0444 {
    Bool show_alert;
    Guid event_id;
    DateTime old_event_time;
    u32 flags;
    DateTime new_event_time;
    u8 event_type;
    u32 dungeon_id;
    CString title;
    CString description;
    u8 repeatable;
    u32 max_invitees;
    DateTime unknown_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -Boolshow_alert
-8 / LittleGuidevent_id
-4 / LittleDateTimeold_event_time
-4 / Littleu32flags
-4 / LittleDateTimenew_event_time
-1 / -u8event_type
-4 / Littleu32dungeon_id
-- / -CStringtitle
-- / -CStringdescription
-1 / -u8repeatable
-4 / Littleu32max_invitees
-4 / LittleDateTimeunknown_time

SMSG_CALENDAR_FILTER_GUILD

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_filter_guild.wowm:8.

smsg SMSG_CALENDAR_FILTER_GUILD = 0x0438 {
    u32 amount_of_members;
    CalendarMember[amount_of_members] members;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_members
-? / -CalendarMember[amount_of_members]members

SMSG_CALENDAR_RAID_LOCKOUT_ADDED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_raid_lockout_added.wowm:1.

smsg SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x043E {
    DateTime time;
    Map map;
    u32 difficulty;
    u32 remaining_time;
    Guid instance_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleDateTimetime
0x084 / -Mapmap
0x0C4 / Littleu32difficulty
0x104 / Littleu32remaining_time
0x148 / LittleGuidinstance_id

SMSG_CALENDAR_RAID_LOCKOUT_REMOVED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_raid_lockout_removed.wowm:1.

smsg SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x043F {
    Map map;
    u32 difficulty;
    u32 remaining_time;
    Guid instance_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x084 / Littleu32difficulty
0x0C4 / Littleu32remaining_time
0x108 / LittleGuidinstance_id

SMSG_CALENDAR_RAID_LOCKOUT_UPDATED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_raid_lockout_updated.wowm:1.

smsg SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0x0471 {
    DateTime current_time;
    Map map;
    u32 difficulty;
    Seconds old_time_to_update;
    Seconds new_time_to_update;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleDateTimecurrent_time
0x084 / -Mapmap
0x0C4 / Littleu32difficulty
0x104 / LittleSecondsold_time_to_update
0x144 / LittleSecondsnew_time_to_update

SMSG_CALENDAR_SEND_CALENDAR

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_send_calendar.wowm:55.

smsg SMSG_CALENDAR_SEND_CALENDAR = 0x0436 {
    u32 amount_of_invites;
    SendCalendarInvite[amount_of_invites] invites;
    u32 amount_of_events;
    SendCalendarEvent[amount_of_events] events;
    u32 current_time;
    DateTime zone_time;
    u32 amount_of_instances;
    SendCalendarInstance[amount_of_instances] instances;
    u32 relative_time;
    u32 amount_of_reset_times;
    SendCalendarResetTime[amount_of_reset_times] reset_times;
    u32 amount_of_holidays;
    SendCalendarHoliday[amount_of_holidays] holidays;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_invites
-? / -SendCalendarInvite[amount_of_invites]invites
-4 / Littleu32amount_of_events
-? / -SendCalendarEvent[amount_of_events]events
-4 / Littleu32current_time
-4 / LittleDateTimezone_time
-4 / Littleu32amount_of_instances
-? / -SendCalendarInstance[amount_of_instances]instances
-4 / Littleu32relative_time
-4 / Littleu32amount_of_reset_times
-? / -SendCalendarResetTime[amount_of_reset_times]reset_times
-4 / Littleu32amount_of_holidays
-? / -SendCalendarHoliday[amount_of_holidays]holidays

SMSG_CALENDAR_SEND_EVENT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_send_event.wowm:14.

smsg SMSG_CALENDAR_SEND_EVENT = 0x0437 {
    u8 send_type;
    PackedGuid creator;
    Guid event_id;
    CString title;
    CString description;
    u8 event_type;
    u8 repeatable;
    u32 max_invitees;
    u32 dungeon_id;
    u32 flags;
    DateTime event_time;
    DateTime time_zone_time;
    u32 guild_id;
    u32 amount_of_invitees;
    CalendarSendInvitee[amount_of_invitees] invitees;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8send_type
-- / -PackedGuidcreator
-8 / LittleGuidevent_id
-- / -CStringtitle
-- / -CStringdescription
-1 / -u8event_type
-1 / -u8repeatable
-4 / Littleu32max_invitees
-4 / Littleu32dungeon_id
-4 / Littleu32flags
-4 / LittleDateTimeevent_time
-4 / LittleDateTimetime_zone_time
-4 / Littleu32guild_id
-4 / Littleu32amount_of_invitees
-? / -CalendarSendInvitee[amount_of_invitees]invitees

SMSG_CALENDAR_SEND_NUM_PENDING

Client Version 3.3.5

Sent as response to CMSG_CALENDAR_GET_NUM_PENDING

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_send_num_pending.wowm:4.

smsg SMSG_CALENDAR_SEND_NUM_PENDING = 0x0448 {
    u32 pending_events;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32pending_eventsNumber of calendar items that require attention, e.g. pending invites

SMSG_CAMERA_SHAKE

Client Version 3.3.5

Only exists as a comment in trinitycore/azerothcore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/cinematic/smsg_camera_shake.wowm:2.

smsg SMSG_CAMERA_SHAKE = 0x050A {
    u32 camera_shake_id;
    u32 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32camera_shake_idSpellEffectCameraShakes.dbc
0x084 / Littleu32unknown

SMSG_CANCEL_AUTO_REPEAT

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_cancel_auto_repeat.wowm:1.

smsg SMSG_CANCEL_AUTO_REPEAT = 0x029C {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_cancel_auto_repeat.wowm:5.

smsg SMSG_CANCEL_AUTO_REPEAT = 0x029C {
    PackedGuid target;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget

SMSG_CANCEL_COMBAT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_cancel_combat.wowm:3.

smsg SMSG_CANCEL_COMBAT = 0x014E {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_CAST_FAILED

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_cast_failed.wowm:1.

smsg SMSG_CAST_FAILED = 0x0130 {
    Spell id;
    SpellCastResult result;
    Bool multiple_casts;
    if (result == REQUIRES_SPELL_FOCUS) {
        u32 spell_focus;
    }
    else if (result == REQUIRES_AREA) {
        Area area;
    }
    else if (result == TOTEMS) {
        u32[2] totems;
    }
    else if (result == TOTEM_CATEGORY) {
        u32[2] totem_categories;
    }
    else if (result == EQUIPPED_ITEM_CLASS) {
        u32 item_class;
        u32 item_sub_class;
        u32 item_inventory_type;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellid
0x081 / -SpellCastResultresult
0x091 / -Boolmultiple_casts

If result is equal to REQUIRES_SPELL_FOCUS:

OffsetSize / EndiannessTypeNameComment
0x0A4 / Littleu32spell_focus

Else If result is equal to REQUIRES_AREA:

OffsetSize / EndiannessTypeNameComment
0x0E4 / -Areaarea

Else If result is equal to TOTEMS:

OffsetSize / EndiannessTypeNameComment
0x128 / -u32[2]totems

Else If result is equal to TOTEM_CATEGORY:

OffsetSize / EndiannessTypeNameComment
0x1A8 / -u32[2]totem_categories

Else If result is equal to EQUIPPED_ITEM_CLASS:

OffsetSize / EndiannessTypeNameComment
0x224 / Littleu32item_class
0x264 / Littleu32item_sub_class
0x2A4 / Littleu32item_inventory_type

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_cast_failed.wowm:26.

smsg SMSG_CAST_FAILED = 0x0130 {
    u8 cast_count;
    Spell id;
    SpellCastResult result;
    Bool multiple_casts;
    if (result == REQUIRES_SPELL_FOCUS) {
        u32 spell_focus;
    }
    else if (result == REQUIRES_AREA) {
        Area area;
    }
    else if (result == TOTEMS) {
        u32[2] totems;
    }
    else if (result == TOTEM_CATEGORY) {
        u32[2] totem_categories;
    }
    else if (result == EQUIPPED_ITEM_CLASS
        || result == EQUIPPED_ITEM_CLASS_OFFHAND
        || result == EQUIPPED_ITEM_CLASS_MAINHAND) {
        u32 item_class;
        u32 item_sub_class;
    }
    else if (result == TOO_MANY_OF_ITEM) {
        u32 item_limit_category;
    }
    else if (result == CUSTOM_ERROR) {
        u32 custom_error;
    }
    else if (result == REAGENTS) {
        u32 missing_item;
    }
    else if (result == PREVENTED_BY_MECHANIC) {
        u32 mechanic;
    }
    else if (result == NEED_EXOTIC_AMMO) {
        u32 equipped_item_sub_class;
    }
    else if (result == NEED_MORE_ITEMS) {
        Item item;
        u32 count;
    }
    else if (result == MIN_SKILL) {
        (u32)Skill skill;
        u32 skill_required;
    }
    else if (result == FISHING_TOO_LOW) {
        u32 fishing_skill_required;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8cast_count
-4 / LittleSpellid
-1 / -SpellCastResultresult
-1 / -Boolmultiple_casts

If result is equal to REQUIRES_SPELL_FOCUS:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32spell_focus

Else If result is equal to REQUIRES_AREA:

OffsetSize / EndiannessTypeNameComment
-4 / -Areaarea

Else If result is equal to TOTEMS:

OffsetSize / EndiannessTypeNameComment
-8 / -u32[2]totems

Else If result is equal to TOTEM_CATEGORY:

OffsetSize / EndiannessTypeNameComment
-8 / -u32[2]totem_categories

Else If result is equal to EQUIPPED_ITEM_CLASS or is equal to EQUIPPED_ITEM_CLASS_OFFHAND or is equal to EQUIPPED_ITEM_CLASS_MAINHAND:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32item_class
-4 / Littleu32item_sub_class

Else If result is equal to TOO_MANY_OF_ITEM:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32item_limit_category

Else If result is equal to CUSTOM_ERROR:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32custom_error

Else If result is equal to REAGENTS:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32missing_item

Else If result is equal to PREVENTED_BY_MECHANIC:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32mechanic

Else If result is equal to NEED_EXOTIC_AMMO:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32equipped_item_sub_class

Else If result is equal to NEED_MORE_ITEMS:

OffsetSize / EndiannessTypeNameComment
-4 / LittleItemitem
-4 / Littleu32count

Else If result is equal to MIN_SKILL:

OffsetSize / EndiannessTypeNameComment
-4 / -Skillskill
-4 / Littleu32skill_required

Else If result is equal to FISHING_TOO_LOW:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32fishing_skill_required

SMSG_CAST_RESULT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_cast_result.wowm:303.

smsg SMSG_CAST_RESULT = 0x0130 {
    Spell spell;
    SimpleSpellCastResult result;
    if (result != FAILURE) {
        CastFailureReason reason;
        if (reason == REQUIRES_SPELL_FOCUS) {
            u32 required_spell_focus;
        }
        else if (reason == REQUIRES_AREA) {
            Area area;
        }
        else if (reason == EQUIPPED_ITEM_CLASS) {
            u32 equipped_item_class;
            u32 equipped_item_subclass_mask;
            u32 equipped_item_inventory_type_mask;
        }
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

SMSG_CHANNEL_LIST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_channel_list.wowm:29.

smsg SMSG_CHANNEL_LIST = 0x009B {
    CString channel_name;
    ChannelFlags channel_flags;
    u32 amount_of_members;
    ChannelMember[amount_of_members] members;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel_name
-1 / -ChannelFlagschannel_flags
-4 / Littleu32amount_of_members
-? / -ChannelMember[amount_of_members]members

SMSG_CHANNEL_MEMBER_COUNT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_channel_member_count.wowm:1.

smsg SMSG_CHANNEL_MEMBER_COUNT = 0x03D4 {
    CString channel;
    u8 flags;
    u32 amount_of_members;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -CStringchannel
-1 / -u8flags
-4 / Littleu32amount_of_members

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_channel_member_count.wowm:9.

smsg SMSG_CHANNEL_MEMBER_COUNT = 0x03D5 {
    CString channel;
    u8 flags;
    u32 amount_of_members;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel
-1 / -u8flags
-4 / Littleu32amount_of_members

SMSG_CHANNEL_NOTIFY

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_channel_notify.wowm:69.

smsg SMSG_CHANNEL_NOTIFY = 0x0099 {
    ChatNotify notify_type;
    CString channel_name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ChatNotifynotify_type
0x05- / -CStringchannel_name

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_channel_notify.wowm:152.

smsg SMSG_CHANNEL_NOTIFY = 0x0099 {
    ChatNotify notify_type;
    CString channel_name;
    optional unknown1 {
        u32 unknown2;
        u32 unkwown3;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -ChatNotifynotify_type
-- / -CStringchannel_name

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unknown2
-4 / Littleu32unkwown3

SMSG_CHARACTER_LOGIN_FAILED

Client Version 1

Response if CMSG_PLAYER_LOGIN fails. If successful it should instead be SMSG_LOGIN_VERIFY_WORLD.

Client seems to always send a CMSG_CANCEL_TRADE after receiving this message, for unknown reasons.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_character_login_failed.wowm:3.

smsg SMSG_CHARACTER_LOGIN_FAILED = 0x0041 {
    WorldResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

Examples

Example 1

0, 3, // size
65, 0, // opcode (65)
65, // result: WorldResult CHAR_LOGIN_FAILED (0x41)

Client Version 2.4.3

Response if CMSG_PLAYER_LOGIN fails. If successful it should instead be SMSG_LOGIN_VERIFY_WORLD.

Client seems to always send a CMSG_CANCEL_TRADE after receiving this message, for unknown reasons.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_character_login_failed.wowm:3.

smsg SMSG_CHARACTER_LOGIN_FAILED = 0x0041 {
    WorldResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

Client Version 3.3.5

Response if CMSG_PLAYER_LOGIN fails. If successful it should instead be SMSG_LOGIN_VERIFY_WORLD.

Client seems to always send a CMSG_CANCEL_TRADE after receiving this message, for unknown reasons.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_character_login_failed.wowm:3.

smsg SMSG_CHARACTER_LOGIN_FAILED = 0x0041 {
    WorldResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

SMSG_CHAR_CREATE

Client Version 1

Response to CMSG_CHAR_CREATE.

Every WorldResult except CHAR_CREATE_SUCCESS will lead to a popup showing. CHAR_CREATE_SUCCESS will cause the client to send a CMSG_CHAR_ENUM.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_create.wowm:3.

smsg SMSG_CHAR_CREATE = 0x003A {
    WorldResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

Examples

Example 1

0, 3, // size
58, 0, // opcode (58)
47, // result: WorldResult CHAR_CREATE_ERROR (0x2F)

Client Version 2.4.3

Response to CMSG_CHAR_CREATE.

Every WorldResult except CHAR_CREATE_SUCCESS will lead to a popup showing. CHAR_CREATE_SUCCESS will cause the client to send a CMSG_CHAR_ENUM.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_create.wowm:3.

smsg SMSG_CHAR_CREATE = 0x003A {
    WorldResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

Client Version 3.3.5

Response to CMSG_CHAR_CREATE.

Every WorldResult except CHAR_CREATE_SUCCESS will lead to a popup showing. CHAR_CREATE_SUCCESS will cause the client to send a CMSG_CHAR_ENUM.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_create.wowm:3.

smsg SMSG_CHAR_CREATE = 0x003A {
    WorldResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

SMSG_CHAR_CUSTOMIZE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_customize.wowm:1.

smsg SMSG_CHAR_CUSTOMIZE = 0x0474 {
    WorldResult result;
    if (result == RESPONSE_SUCCESS) {
        Guid guid;
        CString name;
        Gender gender;
        u8 skin_color;
        u8 face;
        u8 hair_style;
        u8 hair_color;
        u8 facial_hair;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -WorldResultresult

If result is equal to RESPONSE_SUCCESS:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidguid
-- / -CStringname
-1 / -Gendergender
-1 / -u8skin_color
-1 / -u8face
-1 / -u8hair_style
-1 / -u8hair_color
-1 / -u8facial_hair

SMSG_CHAR_DELETE

Client Version 1.12

Response to CMSG_CHAR_DELETE.

The result of this message will update the client character screen without them sending another CMSG_CHAR_ENUM.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_delete.wowm:3.

smsg SMSG_CHAR_DELETE = 0x003C {
    WorldResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

Examples

Example 1

0, 3, // size
60, 0, // opcode (60)
57, // result: WorldResult CHAR_DELETE_SUCCESS (0x39)

Client Version 2.4.3

Response to CMSG_CHAR_DELETE.

The result of this message will update the client character screen without them sending another CMSG_CHAR_ENUM.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_delete.wowm:3.

smsg SMSG_CHAR_DELETE = 0x003C {
    WorldResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

Client Version 3.3.5

Response to CMSG_CHAR_DELETE.

The result of this message will update the client character screen without them sending another CMSG_CHAR_ENUM.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_delete.wowm:3.

smsg SMSG_CHAR_DELETE = 0x003C {
    WorldResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

SMSG_CHAR_ENUM

Client Version 1.12

Response to CMSG_CHAR_ENUM.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_enum.wowm:44.

smsg SMSG_CHAR_ENUM = 0x003B {
    u8 amount_of_characters;
    Character[amount_of_characters] characters;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8amount_of_charactersClient can not handle values larger than 10
0x05? / -Character[amount_of_characters]characters

Examples

Example 1

Comment

Empty character list.

0, 3, // size
59, 0, // opcode (59)
0, // amount_of_characters: u8
// characters: Character[amount_of_characters]

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_enum_2_4_3.wowm:3.

smsg SMSG_CHAR_ENUM = 0x003B {
    u8 amount_of_characters;
    Character[amount_of_characters] characters;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8amount_of_characters
0x05? / -Character[amount_of_characters]characters

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_enum_3_3_5.wowm:3.

smsg SMSG_CHAR_ENUM = 0x003B {
    u8 amount_of_characters;
    Character[amount_of_characters] characters;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8amount_of_characters
-? / -Character[amount_of_characters]characters

SMSG_CHAR_FACTION_CHANGE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_faction_change.wowm:1.

smsg SMSG_CHAR_FACTION_CHANGE = 0x04DA {
    WorldResult result;
    if (result == RESPONSE_SUCCESS) {
        Guid guid;
        CString name;
        Gender gender;
        u8 skin_color;
        u8 face;
        u8 hair_style;
        u8 hair_color;
        u8 facial_hair;
        Race race;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -WorldResultresult

If result is equal to RESPONSE_SUCCESS:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidguid
-- / -CStringname
-1 / -Gendergender
-1 / -u8skin_color
-1 / -u8face
-1 / -u8hair_style
-1 / -u8hair_color
-1 / -u8facial_hair
-1 / -Racerace

SMSG_CHAR_RENAME

Client Version 1

Response to CMSG_CHAR_RENAME.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_rename.wowm:2.

smsg SMSG_CHAR_RENAME = 0x02C8 {
    WorldResult result;
    if (result == RESPONSE_SUCCESS) {
        Guid character;
        CString new_name;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

If result is equal to RESPONSE_SUCCESS:

OffsetSize / EndiannessTypeNameComment
0x058 / LittleGuidcharacter
0x0D- / -CStringnew_name

Examples

Example 1

0, 3, // size
200, 2, // opcode (712)
71, // result: WorldResult CHAR_NAME_TOO_LONG (0x47)

Example 2

0, 20, // size
200, 2, // opcode (712)
0, // result: WorldResult RESPONSE_SUCCESS (0x00)
239, 190, 173, 222, 0, 0, 0, 0, // character: Guid
68, 101, 97, 100, 98, 101, 101, 102, 0, // new_name: CString

Client Version 2.4.3

Response to CMSG_CHAR_RENAME.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_rename.wowm:2.

smsg SMSG_CHAR_RENAME = 0x02C8 {
    WorldResult result;
    if (result == RESPONSE_SUCCESS) {
        Guid character;
        CString new_name;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -WorldResultresult

If result is equal to RESPONSE_SUCCESS:

OffsetSize / EndiannessTypeNameComment
0x058 / LittleGuidcharacter
0x0D- / -CStringnew_name

Client Version 3.3.5

Response to CMSG_CHAR_RENAME.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_char_rename.wowm:2.

smsg SMSG_CHAR_RENAME = 0x02C8 {
    WorldResult result;
    if (result == RESPONSE_SUCCESS) {
        Guid character;
        CString new_name;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -WorldResultresult

If result is equal to RESPONSE_SUCCESS:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidcharacter
-- / -CStringnew_name

SMSG_CHAT_PLAYER_AMBIGUOUS

Client Version 2.4.3, Client Version 3

Never actually sent in any emulator.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_chat_player_ambiguous.wowm:2.

smsg SMSG_CHAT_PLAYER_AMBIGUOUS = 0x032D {
    CString player;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringplayer

SMSG_CHAT_PLAYER_NOT_FOUND

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_chat_player_not_found.wowm:3.

smsg SMSG_CHAT_PLAYER_NOT_FOUND = 0x02A9 {
    CString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringname

SMSG_CHAT_RESTRICTED

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_chat_restricted.wowm:1.

smsg SMSG_CHAT_RESTRICTED = 0x02FD {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_chat_restricted.wowm:22.

smsg SMSG_CHAT_RESTRICTED = 0x02FD {
    ChatRestrictionType restriction;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ChatRestrictionTyperestriction

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_chat_restricted.wowm:22.

smsg SMSG_CHAT_RESTRICTED = 0x02FD {
    ChatRestrictionType restriction;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ChatRestrictionTyperestriction

SMSG_CHAT_WRONG_FACTION

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_chat_wrong_faction.wowm:3.

smsg SMSG_CHAT_WRONG_FACTION = 0x0219 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_CLEAR_COOLDOWN

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_clear_cooldown.wowm:3.

smsg SMSG_CLEAR_COOLDOWN = 0x01DE {
    Spell id;
    Guid target;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellid
0x088 / LittleGuidtarget

SMSG_CLEAR_EXTRA_AURA_INFO

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_clear_extra_aura_info.wowm:1.

smsg SMSG_CLEAR_EXTRA_AURA_INFO = 0x03A6 {
    PackedGuid unit;
    Spell spell;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidunit
-4 / LittleSpellspell

SMSG_CLEAR_TARGET

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_clear_target.wowm:1.

smsg SMSG_CLEAR_TARGET = 0x03BE {
    Guid target;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidtarget

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_clear_target.wowm:7.

smsg SMSG_CLEAR_TARGET = 0x03BF {
    Guid target;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidtarget

SMSG_CLIENTCACHE_VERSION

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_clientcache_version.wowm:1.

smsg SMSG_CLIENTCACHE_VERSION = 0x04AB {
    u32 version;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32version

SMSG_CLIENT_CONTROL_UPDATE

Client Version 1.9, Client Version 1.10, Client Version 1.11, Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_client_control_update.wowm:3.

smsg SMSG_CLIENT_CONTROL_UPDATE = 0x0159 {
    PackedGuid guid;
    Bool allow_movement;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-1 / -Boolallow_movement

SMSG_COMPLAIN_RESULT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_complain_result.wowm:8.

smsg SMSG_COMPLAIN_RESULT = 0x03C7 {
    u8 unknown;
    ComplainResultWindow window_result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8unknownAll emulators set to 0.
0x051 / -ComplainResultWindowwindow_result

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_complain_result.wowm:16.

smsg SMSG_COMPLAIN_RESULT = 0x03C8 {
    u8 unknown;
    ComplainResultWindow window_result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8unknownAll emulators set to 0.
0x051 / -ComplainResultWindowwindow_result

SMSG_COMPRESSED_MOVES

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_compressed_moves.wowm:48.

smsg SMSG_COMPRESSED_MOVES = 0x02FB {
    CompressedMove[-] moves;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04? / -CompressedMove[-]moves

Examples

Example 1

0, 50, // size
251, 2, // opcode (763)
46, 0, 0, 0, // uncompressed size
120, 1, 211, 189, 203, 192, 40, 145, 183, 154, 251, 216, 186, 88, 230, 195, 43, 
212, 151, 59, 49, 32, 3, 70, 32, 167, 100, 57, 247, 177, 245, 239, 95, 29, 58, 121, 
102, 137, 19, 0, 38, 30, 14, 73, // compressed data

Example 2

0, 70, // size
251, 2, // opcode (763)
59, 0, 0, 0, // uncompressed size
120, 1, 179, 186, 203, 112, 59, 95, 198, 65, 220, 224, 99, 245, 27, 177, 35, 215, 
23, 55, 31, 109, 80, 148, 113, 210, 87, 100, 0, 2, 70, 6, 134, 99, 28, 12, 12, 204, 
64, 102, 235, 107, 177, 35, 92, 229, 205, 71, 21, 183, 203, 58, 49, 20, 0, 5, 12, 
24, 24, 0, 88, 227, 17, 4, // compressed data

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_multiple_moves.wowm:27.

smsg SMSG_COMPRESSED_MOVES = 0x02FB {
    u32 size = self.size;
    MiniMoveMessage[-] moves;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32size
-? / -MiniMoveMessage[-]moves

SMSG_COMPRESSED_UPDATE_OBJECT

Client Version 1.12

Compressed version of SMSG_UPDATE_OBJECT. Has the same fields when uncompressed

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_compressed_object.wowm:2.

smsg SMSG_COMPRESSED_UPDATE_OBJECT = 0x01F6 {
    u32 amount_of_objects;
    u8 has_transport;
    Object[amount_of_objects] objects;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_objects
0x081 / -u8has_transport
0x09? / -Object[amount_of_objects]objects

Examples

Example 1

Comment

Most minimal package required to load into the world. Also requires a valid SMSG_TUTORIAL_FLAGS and SMSG_LOGIN_VERIFY_WORLD.

0, 137, // size
246, 1, // opcode (502)
60, 1, 0, 0, // uncompressed size
120, 1, 99, 97, 96, 96, 96, 100, 58, 236, 17, 120, 64, 158, 53, 8, 200, 134, 3, 
191, 51, 13, 14, 140, 64, 222, 195, 39, 172, 12, 140, 242, 206, 10, 140, 30, 129, 
32, 185, 3, 242, 138, 64, 18, 194, 110, 176, 63, 206, 205, 192, 160, 1, 228, 131, 
20, 242, 3, 113, 10, 16, 51, 29, 47, 217, 192, 132, 110, 218, 81, 225, 147, 246, 
40, 166, 1, 213, 0, 213, 66, 76, 131, 176, 113, 153, 198, 222, 130, 97, 218, 231, 
154, 9, 168, 110, 3, 170, 129, 155, 6, 97, 55, 216, 95, 199, 234, 182, 192, 45, 
24, 166, 45, 157, 177, 21, 213, 109, 64, 53, 112, 211, 32, 108, 236, 110, 3, 0, 
54, 76, 48, 33, // compressed data

Client Version 2.4.3

Compressed version of SMSG_UPDATE_OBJECT. Has the same fields when uncompressed

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_compressed_object.wowm:2.

smsg SMSG_COMPRESSED_UPDATE_OBJECT = 0x01F6 {
    u32 amount_of_objects;
    u8 has_transport;
    Object[amount_of_objects] objects;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_objects
0x081 / -u8has_transport
0x09? / -Object[amount_of_objects]objects

Client Version 3.3.5

Compressed version of SMSG_UPDATE_OBJECT. Has the same fields when uncompressed

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_compressed_object.wowm:12.

smsg SMSG_COMPRESSED_UPDATE_OBJECT = 0x01F6 {
    u32 amount_of_objects;
    Object[amount_of_objects] objects;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_objects
-? / -Object[amount_of_objects]objects

SMSG_CONTACT_LIST

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_contact_list.wowm:38.

smsg SMSG_CONTACT_LIST = 0x0067 {
    RelationType list_mask;
    u32 amount_of_relations;
    Relation[amount_of_relations] relations;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -RelationTypelist_maskIndicates which kinds of relations are being sent in this list
0x084 / Littleu32amount_of_relations
0x0C? / -Relation[amount_of_relations]relations

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_contact_list.wowm:38.

smsg SMSG_CONTACT_LIST = 0x0067 {
    RelationType list_mask;
    u32 amount_of_relations;
    Relation[amount_of_relations] relations;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -RelationTypelist_maskIndicates which kinds of relations are being sent in this list
-4 / Littleu32amount_of_relations
-? / -Relation[amount_of_relations]relations

SMSG_CONVERT_RUNE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_convert_rune.wowm:1.

smsg SMSG_CONVERT_RUNE = 0x0486 {
    u8 index;
    u8 new_type;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8index
0x051 / -u8new_type

SMSG_COOLDOWN_EVENT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_cooldown_event.wowm:3.

smsg SMSG_COOLDOWN_EVENT = 0x0135 {
    Spell id;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellid
0x088 / LittleGuidguid

SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE

Client Version 3.3.5

Emus just set all values to 0.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_corpse_map_position_query_response.wowm:2.

smsg SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE = 0x04B7 {
    f32 unknown1;
    f32 unknown2;
    f32 unknown3;
    f32 unknown4;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littlef32unknown1
0x084 / Littlef32unknown2
0x0C4 / Littlef32unknown3
0x104 / Littlef32unknown4

SMSG_CORPSE_NOT_IN_INSTANCE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_corpse_not_in_instance.wowm:1.

smsg SMSG_CORPSE_NOT_IN_INSTANCE = 0x0506 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_CORPSE_RECLAIM_DELAY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/smsg_corpse_reclaim_delay.wowm:3.

smsg SMSG_CORPSE_RECLAIM_DELAY = 0x0269 {
    Seconds delay;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSecondsdelay

SMSG_CREATURE_QUERY_RESPONSE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_creature_query_response.wowm:1.

smsg SMSG_CREATURE_QUERY_RESPONSE = 0x0061 {
    u32 creature_entry;
    optional found {
        CString name1;
        CString name2;
        CString name3;
        CString name4;
        CString sub_name;
        u32 type_flags;
        u32 creature_type;
        (u32)CreatureFamily creature_family;
        u32 creature_rank;
        u32 unknown0;
        u32 spell_data_id;
        u32 display_id;
        u8 civilian;
        u8 racial_leader;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32creature_entryWhen the found optional is not present all emulators bitwise OR the entry with 0x80000000.``

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x08- / -CStringname1
-- / -CStringname2
-- / -CStringname3
-- / -CStringname4
-- / -CStringsub_name
-4 / Littleu32type_flags
-4 / Littleu32creature_typecmangos: CreatureType.dbc wdbFeild8
-4 / -CreatureFamilycreature_family
-4 / Littleu32creature_rankcmangos: Creature Rank (elite, boss, etc)
-4 / Littleu32unknown0cmangos: wdbFeild11
-4 / Littleu32spell_data_idcmangos: Id from CreatureSpellData.dbc wdbField12
-4 / Littleu32display_idcmangos: DisplayID wdbFeild13 and workaround, way to manage models must be fixed
-1 / -u8civiliancmangos: wdbFeild14
-1 / -u8racial_leader

Examples

Example 1

0, 46, // size
97, 0, // opcode (97)
69, 0, 0, 0, // creature_entry: u32
// Optional found
84, 104, 105, 110, 103, 0, // name1: CString
0, // name2: CString
0, // name3: CString
0, // name4: CString
0, // sub_name: CString
0, 0, 0, 0, // type_flags: u32
0, 0, 0, 0, // creature_type: u32
0, 0, 0, 0, // creature_family: CreatureFamily NONE (0)
0, 0, 0, 0, // creature_rank: u32
0, 0, 0, 0, // unknown0: u32
0, 0, 0, 0, // spell_data_id: u32
0, 0, 0, 0, // display_id: u32
0, // civilian: u8
0, // racial_leader: u8

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_creature_query_response.wowm:30.

smsg SMSG_CREATURE_QUERY_RESPONSE = 0x0061 {
    u32 creature_entry;
    optional found {
        CString name1;
        CString name2;
        CString name3;
        CString name4;
        CString sub_name;
        CString description;
        u32 type_flags;
        u32 creature_type;
        (u32)CreatureFamily creature_family;
        u32 creature_rank;
        u32 unknown0;
        u32 spell_data_id;
        u32[4] display_ids;
        f32 health_multiplier;
        f32 mana_multiplier;
        u8 racial_leader;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32creature_entryWhen the found optional is not present all emulators bitwise OR the entry with 0x80000000.``

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x08- / -CStringname1
-- / -CStringname2
-- / -CStringname3
-- / -CStringname4
-- / -CStringsub_name
-- / -CStringdescriptionmangosone: ‘Directions’ for guard, string for Icons 2.3.0
-4 / Littleu32type_flags
-4 / Littleu32creature_typemangosone: CreatureType.dbc wdbFeild8
-4 / -CreatureFamilycreature_family
-4 / Littleu32creature_rankmangosone: Creature Rank (elite, boss, etc)
-4 / Littleu32unknown0mangosone: wdbFeild11
-4 / Littleu32spell_data_idmangosone: Id from CreatureSpellData.dbc wdbField12
-16 / -u32[4]display_ids
-4 / Littlef32health_multiplier
-4 / Littlef32mana_multiplier
-1 / -u8racial_leader

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_creature_query_response.wowm:61.

smsg SMSG_CREATURE_QUERY_RESPONSE = 0x0061 {
    u32 creature_entry;
    optional found {
        CString name1;
        CString name2;
        CString name3;
        CString name4;
        CString sub_name;
        CString description;
        u32 type_flags;
        u32 creature_type;
        (u32)CreatureFamily creature_family;
        u32 creature_rank;
        u32 kill_credit1;
        u32 kill_credit2;
        u32[4] display_ids;
        f32 health_multiplier;
        f32 mana_multiplier;
        u8 racial_leader;
        u32[6] quest_items;
        u32 movement_id;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32creature_entryWhen the found optional is not present all emulators bitwise OR the entry with 0x80000000.``

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-- / -CStringname1
-- / -CStringname2
-- / -CStringname3
-- / -CStringname4
-- / -CStringsub_name
-- / -CStringdescriptionmangosone: ‘Directions’ for guard, string for Icons 2.3.0
-4 / Littleu32type_flags
-4 / Littleu32creature_typemangosone: CreatureType.dbc wdbFeild8
-4 / -CreatureFamilycreature_family
-4 / Littleu32creature_rankmangosone: Creature Rank (elite, boss, etc)
-4 / Littleu32kill_credit1mangosone: new in 3.1
-4 / Littleu32kill_credit2mangosone: new in 3.1
-16 / -u32[4]display_ids
-4 / Littlef32health_multiplier
-4 / Littlef32mana_multiplier
-1 / -u8racial_leader
-24 / -u32[6]quest_items
-4 / Littleu32movement_idmangosone: CreatureMovementInfo.dbc

SMSG_CRITERIA_DELETED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/achievement/smsg_criteria_deleted.wowm:1.

smsg SMSG_CRITERIA_DELETED = 0x049E {
    u32 criteria_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32criteria_id

SMSG_CRITERIA_UPDATE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/achievement/smsg_criteria_update.wowm:1.

smsg SMSG_CRITERIA_UPDATE = 0x046A {
    u32 achievement;
    PackedGuid progress_counter;
    PackedGuid player;
    u32 flags;
    DateTime time;
    Seconds time_elapsed;
    u32 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32achievement
-- / -PackedGuidprogress_countertrinitycore/azerothcore: This is a u32 passed to the appendPackGUID function which promotes it to u64.
-- / -PackedGuidplayer
-4 / Littleu32flagstrinitycore: this are some flags, 1 is for keeping the counter at 0 in client
-4 / LittleDateTimetime
-4 / LittleSecondstime_elapsed
-4 / Littleu32unknown

SMSG_CROSSED_INEBRIATION_THRESHOLD

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_crossed_inebriation_threshold.wowm:1.

smsg SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x03C0 {
    Guid player;
    u32 state;
    Item item;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidplayer
0x0C4 / Littleu32state
0x104 / LittleItemitem

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_crossed_inebriation_threshold.wowm:9.

smsg SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x03C1 {
    Guid player;
    u32 state;
    Item item;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidplayer
0x0C4 / Littleu32state
0x104 / LittleItemitem

SMSG_DEATH_RELEASE_LOC

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/smsg_death_release_loc.wowm:1.

smsg SMSG_DEATH_RELEASE_LOC = 0x0378 {
    Map map;
    Vector3d position;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x0812 / -Vector3dposition

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/smsg_death_release_loc.wowm:1.

smsg SMSG_DEATH_RELEASE_LOC = 0x0378 {
    Map map;
    Vector3d position;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x0812 / -Vector3dposition

SMSG_DEFENSE_MESSAGE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_defense_message.wowm:1.

smsg SMSG_DEFENSE_MESSAGE = 0x033B {
    Area area;
    SizedCString message;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Areaarea
0x08- / -SizedCStringmessage

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_defense_message.wowm:8.

smsg SMSG_DEFENSE_MESSAGE = 0x033A {
    Area area;
    SizedCString message;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Areaarea
0x08- / -SizedCStringmessage

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_defense_message.wowm:8.

smsg SMSG_DEFENSE_MESSAGE = 0x033A {
    Area area;
    SizedCString message;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -Areaarea
-- / -SizedCStringmessage

SMSG_DESTROY_OBJECT

Client Version 1, Client Version 2

Immediately removes an object from the presence of the player.

Used by vmangos for logout.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_destroy_object.wowm:3.

smsg SMSG_DESTROY_OBJECT = 0x00AA {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

Examples

Example 1

Comment

Remove object with GUID 6 from game world.

0, 10, // size
170, 0, // opcode (170)
6, 0, 0, 0, 0, 0, 0, 0, // guid: Guid

Client Version 3.3.5

Immediately removes an object from the presence of the player.

Used by vmangos for logout.

azerothcore: If the following bool is true, the client will call void CGUnit_C::OnDeath() for this object. OnDeath() does for eg trigger death animation and interrupts certain spells/missiles/auras/sounds…

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_destroy_object.wowm:23.

smsg SMSG_DESTROY_OBJECT = 0x00AA {
    Guid guid;
    Bool target_died;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C1 / -Booltarget_died

SMSG_DISMOUNTRESULT

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mount/smsg_dismountresult.wowm:8.

smsg SMSG_DISMOUNTRESULT = 0x016F {
    DismountResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -DismountResultresult

SMSG_DISMOUNT

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_dismount.wowm:1.

smsg SMSG_DISMOUNT = 0x03AC {
    PackedGuid player;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer

SMSG_DISPEL_FAILED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_dispel_failed.wowm:3.

smsg SMSG_DISPEL_FAILED = 0x0262 {
    Guid caster;
    Guid target;
    Spell[-] spells;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidcaster
-8 / LittleGuidtarget
-? / -Spell[-]spells

SMSG_DUEL_COMPLETE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/duel/smsg_duel_complete.wowm:3.

smsg SMSG_DUEL_COMPLETE = 0x016A {
    Bool ended_without_interruption;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -Boolended_without_interruption

SMSG_DUEL_COUNTDOWN

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/duel/smsg_duel_countdown.wowm:3.

smsg SMSG_DUEL_COUNTDOWN = 0x02B7 {
    Seconds time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSecondstime

SMSG_DUEL_INBOUNDS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/duel/smsg_duel_inbounds.wowm:3.

smsg SMSG_DUEL_INBOUNDS = 0x0169 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_DUEL_OUTOFBOUNDS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/duel/smsg_duel_outofbounds.wowm:3.

smsg SMSG_DUEL_OUTOFBOUNDS = 0x0168 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_DUEL_REQUESTED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/duel/smsg_duel_requested.wowm:3.

smsg SMSG_DUEL_REQUESTED = 0x0167 {
    Guid initiator;
    Guid target;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidinitiator
0x0C8 / LittleGuidtarget

SMSG_DUEL_WINNER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/duel/smsg_duel_winner.wowm:8.

smsg SMSG_DUEL_WINNER = 0x016B {
    DuelWinnerReason reason;
    CString opponent_name;
    CString initiator_name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -DuelWinnerReasonreason
-- / -CStringopponent_name
-- / -CStringinitiator_name

SMSG_DURABILITY_DAMAGE_DEATH

Client Version 1, Client Version 2, Client Version 3

Signals to the client that the death caused 10% durability loss.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_durability_damage_death.wowm:4.

smsg SMSG_DURABILITY_DAMAGE_DEATH = 0x02BD {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_EMOTE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_emote.wowm:1.

smsg SMSG_EMOTE = 0x0103 {
    Emote emote;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Emoteemote
0x088 / LittleGuidguid

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_emote.wowm:1.

smsg SMSG_EMOTE = 0x0103 {
    Emote emote;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Emoteemote
0x088 / LittleGuidguid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_emote.wowm:1.

smsg SMSG_EMOTE = 0x0103 {
    Emote emote;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Emoteemote
0x088 / LittleGuidguid

SMSG_ENABLE_BARBER_SHOP

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_enable_barber_shop.wowm:1.

smsg SMSG_ENABLE_BARBER_SHOP = 0x0427 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_ENCHANTMENTLOG

Client Version 1, Client Version 2

cmangos and vmangos/mangoszero disagree about packed and extra u8

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_enchantmentlog.wowm:2.

smsg SMSG_ENCHANTMENTLOG = 0x01D7 {
    Guid target;
    Guid caster;
    Item item;
    Spell spell;
    Bool show_affiliation;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidtarget
0x0C8 / LittleGuidcastervmangos: message says enchant has faded if empty
0x144 / LittleItemitem
0x184 / LittleSpellspell
0x1C1 / -Boolshow_affiliationvmangos: Only used if caster is not 0.

Client Version 3.3.5

Some emulators have the guids as not packed.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_enchantmentlog.wowm:15.

smsg SMSG_ENCHANTMENTLOG = 0x01D7 {
    PackedGuid target;
    PackedGuid caster;
    Item item;
    Spell spell;
    Bool show_affiliation;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget
-- / -PackedGuidcastervmangos: message says enchant has faded if empty
-4 / LittleItemitem
-4 / LittleSpellspell
-1 / -Boolshow_affiliationvmangos: Only used if caster is not 0.

SMSG_ENVIRONMENTAL_DAMAGE_LOG

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_environmentaldamagelog.wowm:12.

smsg SMSG_ENVIRONMENTAL_DAMAGE_LOG = 0x01FC {
    Guid guid;
    EnvironmentalDamageType damage_type;
    u32 damage;
    u32 absorb;
    u32 resist;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C1 / -EnvironmentalDamageTypedamage_type
0x0D4 / Littleu32damage
0x114 / Littleu32absorb
0x154 / Littleu32resist

SMSG_EQUIPMENT_SET_LIST

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_equipment_set_list.wowm:10.

smsg SMSG_EQUIPMENT_SET_LIST = 0x04BC {
    u32 amount_of_equipment_sets;
    EquipmentSetListItem[amount_of_equipment_sets] equipment_sets;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_equipment_sets
-? / -EquipmentSetListItem[amount_of_equipment_sets]equipment_sets

SMSG_EQUIPMENT_SET_USE_RESULT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_equipment_set_use_result.wowm:1.

smsg SMSG_EQUIPMENT_SET_USE_RESULT = 0x04D6 {
    u8 result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8result

SMSG_EXPECTED_SPAM_RECORDS

Client Version 1.12

Not implemented in Wrath or TBC emus. Only implemented in cmangos.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_expected_spam_records.wowm:4.

smsg SMSG_EXPECTED_SPAM_RECORDS = 0x0332 {
    u32 amount_of_records;
    CString[amount_of_records] records;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_records
0x08? / -CString[amount_of_records]records

SMSG_EXPLORATION_EXPERIENCE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/exp/smsg_exploration_experience.wowm:1.

smsg SMSG_EXPLORATION_EXPERIENCE = 0x01F8 {
    Area area;
    u32 experience;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Areaarea
0x084 / Littleu32experience

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/exp/smsg_exploration_experience.wowm:1.

smsg SMSG_EXPLORATION_EXPERIENCE = 0x01F8 {
    Area area;
    u32 experience;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Areaarea
0x084 / Littleu32experience

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/exp/smsg_exploration_experience.wowm:1.

smsg SMSG_EXPLORATION_EXPERIENCE = 0x01F8 {
    Area area;
    u32 experience;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Areaarea
0x084 / Littleu32experience

SMSG_FEATURE_SYSTEM_STATUS

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_feature_system_status.wowm:9.

smsg SMSG_FEATURE_SYSTEM_STATUS = 0x03C8 {
    ComplaintStatus complaint_status;
    Bool voice_chat_enabled;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ComplaintStatuscomplaint_status
0x051 / -Boolvoice_chat_enabled

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_feature_system_status.wowm:16.

smsg SMSG_FEATURE_SYSTEM_STATUS = 0x03C9 {
    ComplaintStatus complaint_status;
    Bool voice_chat_enabled;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ComplaintStatuscomplaint_status
0x051 / -Boolvoice_chat_enabled

SMSG_FEIGN_DEATH_RESISTED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_feign_death_resisted.wowm:3.

smsg SMSG_FEIGN_DEATH_RESISTED = 0x02B4 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_FISH_ESCAPED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_fish_escaped.wowm:3.

smsg SMSG_FISH_ESCAPED = 0x01C9 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_FISH_NOT_HOOKED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_fish_not_hooked.wowm:3.

smsg SMSG_FISH_NOT_HOOKED = 0x01C8 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_FLIGHT_SPLINE_SYNC

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_flight_spline_sync.wowm:1.

smsg SMSG_FLIGHT_SPLINE_SYNC = 0x0388 {
    f32 elapsed_value;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littlef32elapsed_value
0x088 / LittleGuidguid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_flight_spline_sync.wowm:8.

smsg SMSG_FLIGHT_SPLINE_SYNC = 0x0388 {
    f32 elapsed_value;
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32elapsed_value
-- / -PackedGuidguid

SMSG_FORCED_DEATH_UPDATE

Client Version 2.4.3, Client Version 3.3.5

Resets Release spirit timer clientside.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/smsg_forced_death_update.wowm:2.

smsg SMSG_FORCED_DEATH_UPDATE = 0x037A {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_flight_back_speed_change.wowm:1.

smsg SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE = 0x0383 {
    PackedGuid guid;
    u32 move_event;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32move_eventcmangos/mangoszero/vmangos: set to 0
cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39
-4 / Littlef32speed

SMSG_FORCE_FLIGHT_SPEED_CHANGE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_flight_speed_change.wowm:1.

smsg SMSG_FORCE_FLIGHT_SPEED_CHANGE = 0x0381 {
    PackedGuid guid;
    u32 move_event;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32move_eventcmangos/mangoszero/vmangos: set to 0
cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39
-4 / Littlef32speed

SMSG_FORCE_MOVE_ROOT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_move_root.wowm:1.

smsg SMSG_FORCE_MOVE_ROOT = 0x00E8 {
    Guid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32counter

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_move_root.wowm:8.

smsg SMSG_FORCE_MOVE_ROOT = 0x00E8 {
    PackedGuid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-4 / Littleu32counter

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_move_root.wowm:8.

smsg SMSG_FORCE_MOVE_ROOT = 0x00E8 {
    PackedGuid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32counter

SMSG_FORCE_MOVE_UNROOT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_move_unroot.wowm:1.

smsg SMSG_FORCE_MOVE_UNROOT = 0x00EA {
    Guid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32counter

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_move_unroot.wowm:8.

smsg SMSG_FORCE_MOVE_UNROOT = 0x00EA {
    PackedGuid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-4 / Littleu32counter

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_move_unroot.wowm:8.

smsg SMSG_FORCE_MOVE_UNROOT = 0x00EA {
    PackedGuid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32counter

SMSG_FORCE_PITCH_RATE_CHANGE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_pitch_rate_change.wowm:1.

smsg SMSG_FORCE_PITCH_RATE_CHANGE = 0x045C {
    PackedGuid guid;
    u32 move_event;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32move_eventcmangos/mangoszero/vmangos: set to 0
cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39
-4 / Littlef32speed

SMSG_FORCE_RUN_BACK_SPEED_CHANGE

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_run_back_speed_change.wowm:3.

smsg SMSG_FORCE_RUN_BACK_SPEED_CHANGE = 0x00E4 {
    PackedGuid guid;
    u32 move_event;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32move_eventcmangos/mangoszero/vmangos: set to 0
cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39
-4 / Littlef32speed

SMSG_FORCE_RUN_SPEED_CHANGE

Client Version 1.12

Tells the client that the running speed has changed.

Client replies with CMSG_FORCE_RUN_SPEED_CHANGE_ACK.

vmangos sends this message to the client being changed and SMSG_SPLINE_SET_RUN_SPEED to others.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_run_speed_change.wowm:4.

smsg SMSG_FORCE_RUN_SPEED_CHANGE = 0x00E2 {
    PackedGuid guid;
    u32 move_event;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-4 / Littleu32move_eventcmangos/mangoszero/vmangos: set to 0
cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39
-4 / Littlef32speed

Examples

Example 1

Comment

Force speed to 7

0, 12, // size
226, 0, // opcode (226)
1, 6, // guid: PackedGuid
0, 0, 0, 0, // move_event: u32
0, 0, 224, 64, // speed: f32

Client Version 2.4.3, Client Version 3

Tells the client that the running speed has changed.

Client replies with CMSG_FORCE_RUN_SPEED_CHANGE_ACK.

vmangos sends this message to the client being changed and SMSG_SPLINE_SET_RUN_SPEED to others.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_run_speed_change.wowm:32.

smsg SMSG_FORCE_RUN_SPEED_CHANGE = 0x00E2 {
    PackedGuid guid;
    u32 move_event;
    u8 unknown;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32move_eventcmangos/mangoszero/vmangos: set to 0
cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39
-1 / -u8unknownmangosone sets to 0
mangosone: new 2.1.0
-4 / Littlef32speed

SMSG_FORCE_SWIM_BACK_SPEED_CHANGE

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_swim_back_speed_change.wowm:3.

smsg SMSG_FORCE_SWIM_BACK_SPEED_CHANGE = 0x02DC {
    PackedGuid guid;
    u32 move_event;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32move_eventcmangos/mangoszero/vmangos: set to 0
cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39
-4 / Littlef32speed

SMSG_FORCE_SWIM_SPEED_CHANGE

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_swim_speed_change.wowm:3.

smsg SMSG_FORCE_SWIM_SPEED_CHANGE = 0x00E6 {
    PackedGuid guid;
    u32 move_event;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32move_eventcmangos/mangoszero/vmangos: set to 0
cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39
-4 / Littlef32speed

SMSG_FORCE_TURN_RATE_CHANGE

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_turn_rate_change.wowm:3.

smsg SMSG_FORCE_TURN_RATE_CHANGE = 0x02DE {
    PackedGuid guid;
    u32 move_event;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32move_eventcmangos/mangoszero/vmangos: set to 0
cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39
-4 / Littlef32speed

SMSG_FORCE_WALK_SPEED_CHANGE

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_force_walk_speed_change.wowm:3.

smsg SMSG_FORCE_WALK_SPEED_CHANGE = 0x02DA {
    PackedGuid guid;
    u32 move_event;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32move_eventcmangos/mangoszero/vmangos: set to 0
cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39
-4 / Littlef32speed

SMSG_FRIEND_LIST

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_friend_list.wowm:21.

smsg SMSG_FRIEND_LIST = 0x0067 {
    u8 amount_of_friends;
    Friend[amount_of_friends] friends;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8amount_of_friends
0x05? / -Friend[amount_of_friends]friends

SMSG_FRIEND_STATUS

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_friend_status.wowm:33.

smsg SMSG_FRIEND_STATUS = 0x0068 {
    FriendResult result;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -FriendResultresult
0x058 / LittleGuidguid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_friend_status.wowm:62.

smsg SMSG_FRIEND_STATUS = 0x0068 {
    FriendResult result;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -FriendResultresult
0x058 / LittleGuidguid

SMSG_GAMEOBJECT_CUSTOM_ANIM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_gameobject_custom_anim.wowm:3.

smsg SMSG_GAMEOBJECT_CUSTOM_ANIM = 0x00B3 {
    Guid guid;
    u32 animation_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32animation_id

SMSG_GAMEOBJECT_DESPAWN_ANIM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_gameobject_despawn_anim.wowm:3.

smsg SMSG_GAMEOBJECT_DESPAWN_ANIM = 0x0215 {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_GAMEOBJECT_PAGETEXT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_gameobject_pagetext.wowm:3.

smsg SMSG_GAMEOBJECT_PAGETEXT = 0x01DF {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_GAMEOBJECT_QUERY_RESPONSE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_gameobject_query_response.wowm:1.

smsg SMSG_GAMEOBJECT_QUERY_RESPONSE = 0x005F {
    u32 entry_id;
    optional found {
        u32 info_type;
        u32 display_id;
        CString name1;
        CString name2;
        CString name3;
        CString name4;
        CString name5;
        u32[6] raw_data;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32entry_idWhen the found optional is not present all emulators bitwise OR the entry with 0x80000000.``

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x084 / Littleu32info_type
0x0C4 / Littleu32display_id
0x10- / -CStringname1
-- / -CStringname2
-- / -CStringname3
-- / -CStringname4
-- / -CStringname5
-24 / -u32[6]raw_data

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_gameobject_query_response.wowm:18.

smsg SMSG_GAMEOBJECT_QUERY_RESPONSE = 0x005F {
    u32 entry_id;
    optional found {
        u32 info_type;
        u32 display_id;
        CString name1;
        CString name2;
        CString name3;
        CString name4;
        CString icon_name;
        CString cast_bar_caption;
        CString unknown;
        u32[6] raw_data;
        f32 gameobject_size;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32entry_idWhen the found optional is not present all emulators bitwise OR the entry with 0x80000000.``

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x084 / Littleu32info_type
0x0C4 / Littleu32display_id
0x10- / -CStringname1
-- / -CStringname2
-- / -CStringname3
-- / -CStringname4
-- / -CStringicon_name
-- / -CStringcast_bar_caption
-- / -CStringunknown
-24 / -u32[6]raw_data
-4 / Littlef32gameobject_size

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_gameobject_query_response.wowm:38.

smsg SMSG_GAMEOBJECT_QUERY_RESPONSE = 0x005F {
    u32 entry_id;
    optional found {
        u32 info_type;
        u32 display_id;
        CString name1;
        CString name2;
        CString name3;
        CString name4;
        CString icon_name;
        CString cast_bar_caption;
        CString unknown;
        u32[6] raw_data;
        f32 gameobject_size;
        u32[6] gameobject_quest_items;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32entry_idWhen the found optional is not present all emulators bitwise OR the entry with 0x80000000.``

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32info_type
-4 / Littleu32display_id
-- / -CStringname1
-- / -CStringname2
-- / -CStringname3
-- / -CStringname4
-- / -CStringicon_name
-- / -CStringcast_bar_caption
-- / -CStringunknown
-24 / -u32[6]raw_data
-4 / Littlef32gameobject_size
-24 / -u32[6]gameobject_quest_items

SMSG_GAMEOBJECT_RESET_STATE

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_gameobject_reset_state.wowm:3.

smsg SMSG_GAMEOBJECT_RESET_STATE = 0x02A7 {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_GAMEOBJECT_SPAWN_ANIM

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_gameobject_spawn_anim.wowm:3.

smsg SMSG_GAMEOBJECT_SPAWN_ANIM = 0x0214 {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_GMRESPONSE_DB_ERROR

Client Version 3.3.5

Only exists as comment in azerothcore/trinitycore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gmresponse_db_error.wowm:2.

smsg SMSG_GMRESPONSE_DB_ERROR = 0x04EE {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_GMRESPONSE_RECEIVED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gmresponse_received.wowm:1.

smsg SMSG_GMRESPONSE_RECEIVED = 0x04EF {
    u32 response_id;
    u32 ticket_id;
    CString message;
    CString[4] response;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32response_id
-4 / Littleu32ticket_id
-- / -CStringmessage
-? / -CString[4]response

SMSG_GMRESPONSE_STATUS_UPDATE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gmresponse_status_update.wowm:1.

smsg SMSG_GMRESPONSE_STATUS_UPDATE = 0x04F1 {
    Bool show_survey;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -Boolshow_survey

SMSG_GMTICKET_CREATE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gmticket_create.wowm:3.

smsg SMSG_GMTICKET_CREATE = 0x0206 {
    GmTicketResponse response;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GmTicketResponseresponse

SMSG_GMTICKET_DELETETICKET

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gmticket_deleteticket.wowm:3.

smsg SMSG_GMTICKET_DELETETICKET = 0x0218 {
    GmTicketResponse response;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GmTicketResponseresponse

SMSG_GMTICKET_GETTICKET

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gmticket_getticket.wowm:12.

smsg SMSG_GMTICKET_GETTICKET = 0x0212 {
    GmTicketStatus status;
    if (status == HAS_TEXT) {
        CString text;
        GmTicketType ticket_type;
        f32 days_since_ticket_creation;
        f32 days_since_oldest_ticket_creation;
        f32 days_since_last_updated;
        GmTicketEscalationStatus escalation_status;
        Bool read_by_gm;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GmTicketStatusstatus

If status is equal to HAS_TEXT:

OffsetSize / EndiannessTypeNameComment
0x08- / -CStringtextcmangos: Ticket text: data, should never exceed 1999 bytes
-1 / -GmTicketTypeticket_type
-4 / Littlef32days_since_ticket_creation
-4 / Littlef32days_since_oldest_ticket_creation
-4 / Littlef32days_since_last_updated
-1 / -GmTicketEscalationStatusescalation_status
-1 / -Boolread_by_gm

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gmticket_getticket.wowm:12.

smsg SMSG_GMTICKET_GETTICKET = 0x0212 {
    GmTicketStatus status;
    if (status == HAS_TEXT) {
        CString text;
        GmTicketType ticket_type;
        f32 days_since_ticket_creation;
        f32 days_since_oldest_ticket_creation;
        f32 days_since_last_updated;
        GmTicketEscalationStatus escalation_status;
        Bool read_by_gm;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GmTicketStatusstatus

If status is equal to HAS_TEXT:

OffsetSize / EndiannessTypeNameComment
0x08- / -CStringtextcmangos: Ticket text: data, should never exceed 1999 bytes
-1 / -GmTicketTypeticket_type
-4 / Littlef32days_since_ticket_creation
-4 / Littlef32days_since_oldest_ticket_creation
-4 / Littlef32days_since_last_updated
-1 / -GmTicketEscalationStatusescalation_status
-1 / -Boolread_by_gm

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gmticket_getticket.wowm:28.

smsg SMSG_GMTICKET_GETTICKET = 0x0212 {
    GmTicketStatus status;
    if (status == HAS_TEXT) {
        u32 id;
        CString text;
        Bool need_more_help;
        f32 days_since_ticket_creation;
        f32 days_since_oldest_ticket_creation;
        f32 days_since_last_updated;
        GmTicketEscalationStatus escalation_status;
        Bool read_by_gm;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -GmTicketStatusstatus

If status is equal to HAS_TEXT:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32id
-- / -CStringtextcmangos: Ticket text: data, should never exceed 1999 bytes
-1 / -Boolneed_more_help
-4 / Littlef32days_since_ticket_creation
-4 / Littlef32days_since_oldest_ticket_creation
-4 / Littlef32days_since_last_updated
-1 / -GmTicketEscalationStatusescalation_status
-1 / -Boolread_by_gm

SMSG_GMTICKET_SYSTEMSTATUS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gmticket_systemstatus.wowm:8.

smsg SMSG_GMTICKET_SYSTEMSTATUS = 0x021B {
    GmTicketQueueStatus will_accept_tickets;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GmTicketQueueStatuswill_accept_ticketsvmangos: This only disables the ticket UI at client side and is not fully reliable are we sure this is a uint32? Should ask Zor

SMSG_GMTICKET_UPDATETEXT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gmticket_updatetext.wowm:3.

smsg SMSG_GMTICKET_UPDATETEXT = 0x0208 {
    GmTicketResponse response;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GmTicketResponseresponse

SMSG_GM_MESSAGECHAT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_gm_messagechat.wowm:1.

smsg SMSG_GM_MESSAGECHAT = 0x03B2 {
    ChatType chat_type;
    (u32)Language language;
    if (chat_type == MONSTER_SAY
        || chat_type == MONSTER_PARTY
        || chat_type == MONSTER_YELL
        || chat_type == MONSTER_WHISPER
        || chat_type == RAID_BOSS_WHISPER
        || chat_type == RAID_BOSS_EMOTE
        || chat_type == MONSTER_EMOTE) {
        SizedCString sender;
        NamedGuid target1;
        SizedCString message1;
        PlayerChatTag chat_tag1;
    }
    else if (chat_type == BG_SYSTEM_NEUTRAL
        || chat_type == BG_SYSTEM_ALLIANCE
        || chat_type == BG_SYSTEM_HORDE) {
        NamedGuid target2;
        SizedCString message2;
        PlayerChatTag chat_tag2;
    }
    else if (chat_type == CHANNEL) {
        CString channel_name;
        Guid target4;
        SizedCString message3;
        PlayerChatTag chat_tag3;
    }
    else {
        Guid target5;
        SizedCString message4;
        PlayerChatTag chat_tag4;
        SizedCString sender_name;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ChatTypechat_type
0x054 / -Languagelanguage

If chat_type is equal to MONSTER_SAY or is equal to MONSTER_PARTY or is equal to MONSTER_YELL or is equal to MONSTER_WHISPER or is equal to RAID_BOSS_WHISPER or is equal to RAID_BOSS_EMOTE or is equal to MONSTER_EMOTE:

OffsetSize / EndiannessTypeNameComment
0x09- / -SizedCStringsender
-- / -NamedGuidtarget1
-- / -SizedCStringmessage1
-1 / -PlayerChatTagchat_tag1

Else If chat_type is equal to BG_SYSTEM_NEUTRAL or is equal to BG_SYSTEM_ALLIANCE or is equal to BG_SYSTEM_HORDE:

OffsetSize / EndiannessTypeNameComment
-- / -NamedGuidtarget2
-- / -SizedCStringmessage2
-1 / -PlayerChatTagchat_tag2

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel_name
-8 / LittleGuidtarget4
-- / -SizedCStringmessage3
-1 / -PlayerChatTagchat_tag3

Else: | - | 8 / Little | Guid | target5 | | | - | - / - | SizedCString | message4 | | | - | 1 / - | PlayerChatTag | chat_tag4 | | | - | - / - | SizedCString | sender_name | |

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_gm_messagechat.wowm:40.

smsg SMSG_GM_MESSAGECHAT = 0x03B3 {
    ChatType chat_type;
    (u32)Language language;
    Guid sender;
    u32 flags;
    if (chat_type == MONSTER_SAY
        || chat_type == MONSTER_PARTY
        || chat_type == MONSTER_YELL
        || chat_type == MONSTER_WHISPER
        || chat_type == RAID_BOSS_WHISPER
        || chat_type == RAID_BOSS_EMOTE
        || chat_type == MONSTER_EMOTE
        || chat_type == BATTLENET) {
        SizedCString sender1;
        NamedGuid target1;
    }
    else if (chat_type == WHISPER_FOREIGN) {
        SizedCString sender2;
        Guid target2;
    }
    else if (chat_type == BG_SYSTEM_NEUTRAL
        || chat_type == BG_SYSTEM_ALLIANCE
        || chat_type == BG_SYSTEM_HORDE) {
        NamedGuid target3;
    }
    else if (chat_type == ACHIEVEMENT
        || chat_type == GUILD_ACHIEVEMENT) {
        Guid target4;
    }
    else if (chat_type == CHANNEL) {
        CString channel_name;
        Guid target5;
    }
    else {
        SizedCString sender_name;
        Guid target6;
    }
    SizedCString message;
    PlayerChatTag chat_tag;
    if (chat_type == ACHIEVEMENT
        || chat_type == GUILD_ACHIEVEMENT) {
        u32 achievement_id;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -ChatTypechat_type
-4 / -Languagelanguage
-8 / LittleGuidsender
-4 / Littleu32flagsazerothcore sets to 0.

If chat_type is equal to MONSTER_SAY or is equal to MONSTER_PARTY or is equal to MONSTER_YELL or is equal to MONSTER_WHISPER or is equal to RAID_BOSS_WHISPER or is equal to RAID_BOSS_EMOTE or is equal to MONSTER_EMOTE or is equal to BATTLENET:

OffsetSize / EndiannessTypeNameComment
-- / -SizedCStringsender1
-- / -NamedGuidtarget1

Else If chat_type is equal to WHISPER_FOREIGN:

OffsetSize / EndiannessTypeNameComment
-- / -SizedCStringsender2
-8 / LittleGuidtarget2

Else If chat_type is equal to BG_SYSTEM_NEUTRAL or is equal to BG_SYSTEM_ALLIANCE or is equal to BG_SYSTEM_HORDE:

OffsetSize / EndiannessTypeNameComment
-- / -NamedGuidtarget3

Else If chat_type is equal to ACHIEVEMENT or is equal to GUILD_ACHIEVEMENT:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidtarget4

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel_name
-8 / LittleGuidtarget5

Else: | - | - / - | SizedCString | sender_name | | | - | 8 / Little | Guid | target6 | | | - | - / - | SizedCString | message | | | - | 1 / - | PlayerChatTag | chat_tag | |

If chat_type is equal to ACHIEVEMENT or is equal to GUILD_ACHIEVEMENT:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32achievement_id

SMSG_GM_TICKET_STATUS_UPDATE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gamemaster/smsg_gm_ticket_status_update.wowm:9.

smsg SMSG_GM_TICKET_STATUS_UPDATE = 0x0328 {
    GmTicketStatusResponse response;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GmTicketStatusResponseresponse

SMSG_GOSSIP_COMPLETE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_gossip_complete.wowm:3.

smsg SMSG_GOSSIP_COMPLETE = 0x017E {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_GOSSIP_MESSAGE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_gossip_message.wowm:12.

smsg SMSG_GOSSIP_MESSAGE = 0x017D {
    Guid guid;
    u32 title_text_id;
    u32 amount_of_gossip_items;
    GossipItem[amount_of_gossip_items] gossips;
    u32 amount_of_quests;
    QuestItem[amount_of_quests] quests;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32title_text_id
0x104 / Littleu32amount_of_gossip_items
0x14? / -GossipItem[amount_of_gossip_items]gossips
-4 / Littleu32amount_of_quests
-? / -QuestItem[amount_of_quests]quests

Client Version 2.4

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_gossip_message.wowm:42.

smsg SMSG_GOSSIP_MESSAGE = 0x017D {
    Guid guid;
    u32 menu_id;
    u32 title_text_id;
    u32 amount_of_gossip_items;
    GossipItem[amount_of_gossip_items] gossips;
    u32 amount_of_quests;
    QuestItem[amount_of_quests] quests;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32menu_idmangosone: new 2.4.0
0x104 / Littleu32title_text_id
0x144 / Littleu32amount_of_gossip_items
0x18? / -GossipItem[amount_of_gossip_items]gossips
-4 / Littleu32amount_of_quests
-? / -QuestItem[amount_of_quests]quests

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_gossip_message.wowm:42.

smsg SMSG_GOSSIP_MESSAGE = 0x017D {
    Guid guid;
    u32 menu_id;
    u32 title_text_id;
    u32 amount_of_gossip_items;
    GossipItem[amount_of_gossip_items] gossips;
    u32 amount_of_quests;
    QuestItem[amount_of_quests] quests;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidguid
-4 / Littleu32menu_idmangosone: new 2.4.0
-4 / Littleu32title_text_id
-4 / Littleu32amount_of_gossip_items
-? / -GossipItem[amount_of_gossip_items]gossips
-4 / Littleu32amount_of_quests
-? / -QuestItem[amount_of_quests]quests

SMSG_GOSSIP_POI

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_gossip_poi.wowm:3.

smsg SMSG_GOSSIP_POI = 0x0224 {
    u32 flags;
    Vector2d position;
    u32 icon;
    u32 data;
    CString location_name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32flags
-8 / -Vector2dposition
-4 / Littleu32icon
-4 / Littleu32data
-- / -CStringlocation_name

SMSG_GROUP_DECLINE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_decline.wowm:3.

smsg SMSG_GROUP_DECLINE = 0x0074 {
    CString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringname

SMSG_GROUP_DESTROYED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_destroyed.wowm:3.

smsg SMSG_GROUP_DESTROYED = 0x007C {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_GROUP_INVITE

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_invite.wowm:1.

smsg SMSG_GROUP_INVITE = 0x006F {
    CString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -CStringname

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_invite.wowm:14.

smsg SMSG_GROUP_INVITE = 0x006F {
    PlayerInviteStatus status;
    CString name;
    optional unknown {
        u32 unknown1;
        u8 count;
        u32 unknown2;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -PlayerInviteStatusstatus
-- / -CStringname

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unknown1All emulators set entire optional to 0.
-1 / -u8countAll emulators set entire optional to 0.
-4 / Littleu32unknown2All emulators set entire optional to 0.

SMSG_GROUP_JOINED_BATTLEGROUND

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_joined_battleground.wowm:16.

smsg SMSG_GROUP_JOINED_BATTLEGROUND = 0x02E8 {
    BgTypeId id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -BgTypeIdid

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_joined_battleground.wowm:42.

smsg SMSG_GROUP_JOINED_BATTLEGROUND = 0x02E8 {
    BgTypeId id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -BgTypeIdid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_joined_battleground.wowm:48.

smsg SMSG_GROUP_JOINED_BATTLEGROUND = 0x02E8 {
    BgTypeId id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -BgTypeIdid

SMSG_GROUP_LIST

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_list.wowm:18.

smsg SMSG_GROUP_LIST = 0x007D {
    GroupType group_type;
    u8 flags;
    u32 amount_of_members;
    GroupListMember[amount_of_members] members;
    Guid leader;
    optional group_not_empty {
        GroupLootSetting loot_setting;
        Guid master_loot;
        ItemQuality loot_threshold;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -GroupTypegroup_type
0x051 / -u8flagsmangoszero/cmangos/vmangos: own flags (groupid
0x064 / Littleu32amount_of_members
0x0A? / -GroupListMember[amount_of_members]members
-8 / LittleGuidleader

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-1 / -GroupLootSettingloot_setting
-8 / LittleGuidmaster_lootZero if loot_setting is not MASTER_LOOT
-1 / -ItemQualityloot_threshold

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_list.wowm:46.

smsg SMSG_GROUP_LIST = 0x007D {
    GroupType group_type;
    Bool battleground_group;
    u8 group_id;
    u8 flags;
    Guid group;
    u32 amount_of_members;
    GroupListMember[amount_of_members] members;
    Guid leader;
    optional group_not_empty {
        GroupLootSetting loot_setting;
        Guid master_loot;
        ItemQuality loot_threshold;
        DungeonDifficulty difficulty;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -GroupTypegroup_type
0x051 / -Boolbattleground_group
0x061 / -u8group_id
0x071 / -u8flagsmangoszero/cmangos/vmangos: own flags (groupid
0x088 / LittleGuidgroup
0x104 / Littleu32amount_of_members
0x14? / -GroupListMember[amount_of_members]members
-8 / LittleGuidleader

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-1 / -GroupLootSettingloot_setting
-8 / LittleGuidmaster_lootZero if loot_setting is not MASTER_LOOT
-1 / -ItemQualityloot_threshold
-1 / -DungeonDifficultydifficulty

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_list.wowm:88.

smsg SMSG_GROUP_LIST = 0x007D {
    u8 group_type;
    u8 group_id;
    u8 flags;
    u8 roles;
    Guid group;
    u32 counter;
    u32 amount_of_members;
    GroupListMember[amount_of_members] members;
    Guid leader;
    optional group_not_empty {
        GroupLootSetting loot_setting;
        Guid master_loot;
        ItemQuality loot_threshold;
        DungeonDifficulty difficulty;
        RaidDifficulty raid_difficulty;
        Bool heroic;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8group_type
-1 / -u8group_id
-1 / -u8flagsmangoszero/cmangos/vmangos: own flags (groupid
-1 / -u8roles
-8 / LittleGuidgroup
-4 / Littleu32counterazerothcore: 3.3, value increases every time this packet gets sent
-4 / Littleu32amount_of_members
-? / -GroupListMember[amount_of_members]members
-8 / LittleGuidleader

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-1 / -GroupLootSettingloot_setting
-8 / LittleGuidmaster_lootZero if loot_setting is not MASTER_LOOT
-1 / -ItemQualityloot_threshold
-1 / -DungeonDifficultydifficulty
-1 / -RaidDifficultyraid_difficulty
-1 / -Boolheroic

SMSG_GROUP_SET_LEADER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_set_leader.wowm:3.

smsg SMSG_GROUP_SET_LEADER = 0x0079 {
    CString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringname

SMSG_GROUP_UNINVITE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_group_uninvite.wowm:3.

smsg SMSG_GROUP_UNINVITE = 0x0077 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_GUILD_BANK_LIST

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/smsg_guild_bank_list.wowm:42.

smsg SMSG_GUILD_BANK_LIST = 0x03E7 {
    u64 bank_balance;
    u8 tab_id;
    u32 amount_of_allowed_item_withdraws;
    GuildBankTabResult tab_result;
    if (tab_result == PRESENT) {
        u8 amount_of_bank_tabs;
        GuildBankTab[amount_of_bank_tabs] tabs;
    }
    u8 amount_of_slot_updates;
    GuildBankSlot[amount_of_slot_updates] slot_updates;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / Littleu64bank_balance
0x0C1 / -u8tab_id
0x0D4 / Littleu32amount_of_allowed_item_withdraws
0x111 / -GuildBankTabResulttab_result

If tab_result is equal to PRESENT:

OffsetSize / EndiannessTypeNameComment
0x121 / -u8amount_of_bank_tabs
0x13? / -GuildBankTab[amount_of_bank_tabs]tabs
-1 / -u8amount_of_slot_updates
-? / -GuildBankSlot[amount_of_slot_updates]slot_updates

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/smsg_guild_bank_list.wowm:72.

smsg SMSG_GUILD_BANK_LIST = 0x03E8 {
    u64 bank_balance;
    u8 tab_id;
    u32 amount_of_allowed_item_withdraws;
    GuildBankTabResult tab_result;
    if (tab_result == PRESENT) {
        u8 amount_of_bank_tabs;
        GuildBankTab[amount_of_bank_tabs] tabs;
    }
    GuildBankContentResult content_result;
    if (content_result == PRESENT) {
        u8 amount_of_slot_updates;
        GuildBankSlot[amount_of_slot_updates] slot_updates;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / Littleu64bank_balance
-1 / -u8tab_id
-4 / Littleu32amount_of_allowed_item_withdraws
-1 / -GuildBankTabResulttab_result

If tab_result is equal to PRESENT:

OffsetSize / EndiannessTypeNameComment
-1 / -u8amount_of_bank_tabs
-? / -GuildBankTab[amount_of_bank_tabs]tabs
-1 / -GuildBankContentResultcontent_result

If content_result is equal to PRESENT:

OffsetSize / EndiannessTypeNameComment
-1 / -u8amount_of_slot_updates
-? / -GuildBankSlot[amount_of_slot_updates]slot_updates

SMSG_GUILD_COMMAND_RESULT

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_command_result.wowm:107.

smsg SMSG_GUILD_COMMAND_RESULT = 0x0093 {
    (u32)GuildCommand command;
    CString string;
    (u32)GuildCommandResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GuildCommandcommand
0x08- / -CStringstring
-4 / -GuildCommandResultresult

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_command_result.wowm:107.

smsg SMSG_GUILD_COMMAND_RESULT = 0x0093 {
    (u32)GuildCommand command;
    CString string;
    (u32)GuildCommandResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -GuildCommandcommand
0x08- / -CStringstring
-4 / -GuildCommandResultresult

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_command_result.wowm:107.

smsg SMSG_GUILD_COMMAND_RESULT = 0x0093 {
    (u32)GuildCommand command;
    CString string;
    (u32)GuildCommandResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -GuildCommandcommand
-- / -CStringstring
-4 / -GuildCommandResultresult

SMSG_GUILD_DECLINE

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_decline.wowm:1.

smsg SMSG_GUILD_DECLINE = 0x0086 {
    CString player;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringplayer

SMSG_GUILD_EVENT

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_event.wowm:56.

smsg SMSG_GUILD_EVENT = 0x0092 {
    GuildEvent event;
    u8 amount_of_events;
    CString[amount_of_events] event_descriptions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -GuildEventevent
0x051 / -u8amount_of_events
0x06? / -CString[amount_of_events]event_descriptions

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_event.wowm:65.

smsg SMSG_GUILD_EVENT = 0x0092 {
    GuildEvent event;
    u8 amount_of_events;
    CString[amount_of_events] event_descriptions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -GuildEventevent
-1 / -u8amount_of_events
-? / -CString[amount_of_events]event_descriptions

SMSG_GUILD_INFO

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_info.wowm:1.

smsg SMSG_GUILD_INFO = 0x0088 {
    CString guild_name;
    u32 created_day;
    u32 created_month;
    u32 created_year;
    u32 amount_of_characters_in_guild;
    u32 amount_of_accounts_in_guild;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -CStringguild_name
-4 / Littleu32created_day
-4 / Littleu32created_month
-4 / Littleu32created_year
-4 / Littleu32amount_of_characters_in_guild
-4 / Littleu32amount_of_accounts_in_guild

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_info.wowm:12.

smsg SMSG_GUILD_INFO = 0x0088 {
    CString guild_name;
    DateTime created;
    u32 amount_of_characters_in_guild;
    u32 amount_of_accounts_in_guild;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringguild_name
-4 / LittleDateTimecreated
-4 / Littleu32amount_of_characters_in_guild
-4 / Littleu32amount_of_accounts_in_guild

SMSG_GUILD_INVITE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_invite.wowm:3.

smsg SMSG_GUILD_INVITE = 0x0083 {
    CString player_name;
    CString guild_name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringplayer_name
-- / -CStringguild_name

SMSG_GUILD_QUERY_RESPONSE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_guild_query_response.wowm:1.

smsg SMSG_GUILD_QUERY_RESPONSE = 0x0055 {
    u32 id;
    CString name;
    CString[10] rank_names;
    u32 emblem_style;
    u32 emblem_color;
    u32 border_style;
    u32 border_color;
    u32 background_color;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32id
-- / -CStringname
-? / -CString[10]rank_names
-4 / Littleu32emblem_style
-4 / Littleu32emblem_color
-4 / Littleu32border_style
-4 / Littleu32border_color
-4 / Littleu32background_color

SMSG_GUILD_ROSTER

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_roster.wowm:24.

smsg SMSG_GUILD_ROSTER = 0x008A {
    u32 amount_of_members;
    CString motd;
    CString guild_info;
    u32 amount_of_rights;
    u32[amount_of_rights] rights;
    GuildMember[amount_of_members] members;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_members
0x08- / -CStringmotd
-- / -CStringguild_info
-4 / Littleu32amount_of_rights
-? / -u32[amount_of_rights]rights
-? / -GuildMember[amount_of_members]members

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_roster.wowm:82.

smsg SMSG_GUILD_ROSTER = 0x008A {
    u32 amount_of_members;
    CString motd;
    CString guild_info;
    u32 amount_of_rights;
    GuildRights[amount_of_rights] rights;
    GuildMember[amount_of_members] members;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_members
0x08- / -CStringmotd
-- / -CStringguild_info
-4 / Littleu32amount_of_rights
-? / -GuildRights[amount_of_rights]rights
-? / -GuildMember[amount_of_members]members

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_guild_roster.wowm:82.

smsg SMSG_GUILD_ROSTER = 0x008A {
    u32 amount_of_members;
    CString motd;
    CString guild_info;
    u32 amount_of_rights;
    GuildRights[amount_of_rights] rights;
    GuildMember[amount_of_members] members;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_members
-- / -CStringmotd
-- / -CStringguild_info
-4 / Littleu32amount_of_rights
-? / -GuildRights[amount_of_rights]rights
-? / -GuildMember[amount_of_members]members

SMSG_HIGHEST_THREAT_UPDATE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/threat/smsg_highest_threat_update.wowm:8.

smsg SMSG_HIGHEST_THREAT_UPDATE = 0x0482 {
    PackedGuid unit;
    PackedGuid new_victim;
    u32 amount_of_units;
    ThreatUpdateUnit[amount_of_units] units;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit
-- / -PackedGuidnew_victim
-4 / Littleu32amount_of_units
-? / -ThreatUpdateUnit[amount_of_units]units

SMSG_IGNORE_LIST

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_ignore_list.wowm:3.

smsg SMSG_IGNORE_LIST = 0x006B {
    u8 amount_of_ignored;
    u64[amount_of_ignored] ignored;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8amount_of_ignored
0x05? / -u64[amount_of_ignored]ignored

Examples

Example 1

0, 11, // size
107, 0, // opcode (107)
1, // amount_of_ignored: u8
239, 190, 173, 222, 254, 15, 220, 186, // ignored: u64[amount_of_ignored]

Example 2

0, 19, // size
107, 0, // opcode (107)
2, // amount_of_ignored: u8
239, 190, 173, 222, 254, 15, 220, 186, 239, 190, 173, 222, 0, 0, 0, 0, // ignored: u64[amount_of_ignored]

SMSG_INITIALIZE_FACTIONS

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_initialize_factions.wowm:9.

smsg SMSG_INITIALIZE_FACTIONS = 0x0122 {
    u32 amount_of_factions;
    FactionInitializer[amount_of_factions] factions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_factionsvmangos/cmangos/mangoszero: sets to 0x00000040 (64)
mangostwo (wrath) sets this to 0x00000080 (128)
0x08? / -FactionInitializer[amount_of_factions]factions

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_initialize_factions.wowm:26.

smsg SMSG_INITIALIZE_FACTIONS = 0x0122 {
    u32 amount_of_factions;
    FactionInitializer[amount_of_factions] factions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_factionsvmangos/cmangos/mangoszero: sets to 0x00000040 (64)
mangostwo (wrath) sets this to 0x00000080 (128)
-? / -FactionInitializer[amount_of_factions]factions

SMSG_INITIAL_SPELLS

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_initial_spells.wowm:22.

smsg SMSG_INITIAL_SPELLS = 0x012A {
    u8 unknown1;
    u16 spell_count;
    InitialSpell[spell_count] initial_spells;
    u16 cooldown_count;
    CooldownSpell[cooldown_count] cooldowns;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8unknown1cmangos/mangoszero: sets to 0
0x052 / Littleu16spell_count
0x07? / -InitialSpell[spell_count]initial_spells
-2 / Littleu16cooldown_count
-? / -CooldownSpell[cooldown_count]cooldowns

Examples

Example 1

0, 167, // size
42, 1, // opcode (298)
0, // unknown1: u8
40, 0, // spell_count: u16
78, 0, // [0].InitialSpell.spell_id: u16
0, 0, // [0].InitialSpell.unknown1: u16
81, 0, // [1].InitialSpell.spell_id: u16
0, 0, // [1].InitialSpell.unknown1: u16
107, 0, // [2].InitialSpell.spell_id: u16
0, 0, // [2].InitialSpell.unknown1: u16
196, 0, // [3].InitialSpell.spell_id: u16
0, 0, // [3].InitialSpell.unknown1: u16
198, 0, // [4].InitialSpell.spell_id: u16
0, 0, // [4].InitialSpell.unknown1: u16
201, 0, // [5].InitialSpell.spell_id: u16
0, 0, // [5].InitialSpell.unknown1: u16
203, 0, // [6].InitialSpell.spell_id: u16
0, 0, // [6].InitialSpell.unknown1: u16
204, 0, // [7].InitialSpell.spell_id: u16
0, 0, // [7].InitialSpell.unknown1: u16
10, 2, // [8].InitialSpell.spell_id: u16
0, 0, // [8].InitialSpell.unknown1: u16
156, 2, // [9].InitialSpell.spell_id: u16
0, 0, // [9].InitialSpell.unknown1: u16
78, 9, // [10].InitialSpell.spell_id: u16
0, 0, // [10].InitialSpell.unknown1: u16
153, 9, // [11].InitialSpell.spell_id: u16
0, 0, // [11].InitialSpell.unknown1: u16
175, 9, // [12].InitialSpell.spell_id: u16
0, 0, // [12].InitialSpell.unknown1: u16
234, 11, // [13].InitialSpell.spell_id: u16
0, 0, // [13].InitialSpell.unknown1: u16
37, 13, // [14].InitialSpell.spell_id: u16
0, 0, // [14].InitialSpell.unknown1: u16
181, 20, // [15].InitialSpell.spell_id: u16
0, 0, // [15].InitialSpell.unknown1: u16
89, 24, // [16].InitialSpell.spell_id: u16
0, 0, // [16].InitialSpell.unknown1: u16
102, 24, // [17].InitialSpell.spell_id: u16
0, 0, // [17].InitialSpell.unknown1: u16
103, 24, // [18].InitialSpell.spell_id: u16
0, 0, // [18].InitialSpell.unknown1: u16
77, 25, // [19].InitialSpell.spell_id: u16
0, 0, // [19].InitialSpell.unknown1: u16
78, 25, // [20].InitialSpell.spell_id: u16
0, 0, // [20].InitialSpell.unknown1: u16
203, 25, // [21].InitialSpell.spell_id: u16
0, 0, // [21].InitialSpell.unknown1: u16
98, 28, // [22].InitialSpell.spell_id: u16
0, 0, // [22].InitialSpell.unknown1: u16
99, 28, // [23].InitialSpell.spell_id: u16
0, 0, // [23].InitialSpell.unknown1: u16
187, 28, // [24].InitialSpell.spell_id: u16
0, 0, // [24].InitialSpell.unknown1: u16
194, 32, // [25].InitialSpell.spell_id: u16
0, 0, // [25].InitialSpell.unknown1: u16
33, 34, // [26].InitialSpell.spell_id: u16
0, 0, // [26].InitialSpell.unknown1: u16
117, 35, // [27].InitialSpell.spell_id: u16
0, 0, // [27].InitialSpell.unknown1: u16
118, 35, // [28].InitialSpell.spell_id: u16
0, 0, // [28].InitialSpell.unknown1: u16
156, 35, // [29].InitialSpell.spell_id: u16
0, 0, // [29].InitialSpell.unknown1: u16
165, 35, // [30].InitialSpell.spell_id: u16
0, 0, // [30].InitialSpell.unknown1: u16
117, 80, // [31].InitialSpell.spell_id: u16
0, 0, // [31].InitialSpell.unknown1: u16
118, 80, // [32].InitialSpell.spell_id: u16
0, 0, // [32].InitialSpell.unknown1: u16
119, 80, // [33].InitialSpell.spell_id: u16
0, 0, // [33].InitialSpell.unknown1: u16
120, 80, // [34].InitialSpell.spell_id: u16
0, 0, // [34].InitialSpell.unknown1: u16
128, 81, // [35].InitialSpell.spell_id: u16
0, 0, // [35].InitialSpell.unknown1: u16
147, 84, // [36].InitialSpell.spell_id: u16
0, 0, // [36].InitialSpell.unknown1: u16
148, 84, // [37].InitialSpell.spell_id: u16
0, 0, // [37].InitialSpell.unknown1: u16
11, 86, // [38].InitialSpell.spell_id: u16
0, 0, // [38].InitialSpell.unknown1: u16
26, 89, // [39].InitialSpell.spell_id: u16
0, 0, // [39].InitialSpell.unknown1: u16
// initial_spells: InitialSpell[spell_count]
0, 0, // cooldown_count: u16
// cooldowns: CooldownSpell[cooldown_count]

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_initial_spells.wowm:43.

smsg SMSG_INITIAL_SPELLS = 0x012A {
    u8 unknown1;
    u16 spell_count;
    InitialSpell[spell_count] initial_spells;
    u16 cooldown_count;
    CooldownSpell[cooldown_count] cooldowns;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8unknown1cmangos/mangoszero: sets to 0
-2 / Littleu16spell_count
-? / -InitialSpell[spell_count]initial_spells
-2 / Littleu16cooldown_count
-? / -CooldownSpell[cooldown_count]cooldowns

SMSG_INIT_WORLD_STATES

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/smsg_init_world_states.wowm:1.

smsg SMSG_INIT_WORLD_STATES = 0x02C2 {
    Map map;
    Area area;
    u16 amount_of_states;
    WorldState[amount_of_states] states;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x084 / -Areaarea
0x0C2 / Littleu16amount_of_states
0x0E? / -WorldState[amount_of_states]states

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/smsg_init_world_states.wowm:1.

smsg SMSG_INIT_WORLD_STATES = 0x02C2 {
    Map map;
    Area area;
    u16 amount_of_states;
    WorldState[amount_of_states] states;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x084 / -Areaarea
0x0C2 / Littleu16amount_of_states
0x0E? / -WorldState[amount_of_states]states

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/smsg_init_world_states.wowm:10.

smsg SMSG_INIT_WORLD_STATES = 0x02C2 {
    Map map;
    Area area;
    Area sub_area;
    u16 amount_of_states;
    WorldState[amount_of_states] states;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -Mapmap
-4 / -Areaarea
-4 / -Areasub_area
-2 / Littleu16amount_of_states
-? / -WorldState[amount_of_states]states

SMSG_INSPECT

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_inspect.wowm:3.

smsg SMSG_INSPECT = 0x0115 {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_INSPECT_TALENT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_inspect_talent.wowm:1.

smsg SMSG_INSPECT_TALENT = 0x03F3 {
    PackedGuid player;
    u8[-] talent_data;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidplayer
-? / -u8[-]talent_data

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_inspect_talent.wowm:33.

smsg SMSG_INSPECT_TALENT = 0x03F4 {
    PackedGuid player;
    u32 unspent_talent_points;
    u8 amount_of_specs;
    u8 active_spec;
    InspectTalentSpec[amount_of_specs] specs;
    u8 amount_of_glyphs;
    u16[amount_of_glyphs] glyphs;
    InspectTalentGearMask talent_gear_mask;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-4 / Littleu32unspent_talent_points
-1 / -u8amount_of_specs
-1 / -u8active_spec
-? / -InspectTalentSpec[amount_of_specs]specs
-1 / -u8amount_of_glyphs
-? / -u16[amount_of_glyphs]glyphs
-- / -InspectTalentGearMasktalent_gear_mask

SMSG_INSTANCE_DIFFICULTY

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_instance_difficulty.wowm:1.

smsg SMSG_INSTANCE_DIFFICULTY = 0x033B {
    u32 difficulty;
    Bool32 dynamic_difficulty;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32difficulty
0x084 / LittleBool32dynamic_difficulty

SMSG_INSTANCE_LOCK_WARNING_QUERY

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_instance_lock_warning_query.wowm:1.

smsg SMSG_INSTANCE_LOCK_WARNING_QUERY = 0x0147 {
    Milliseconds time;
    u32 encounter_mask;
    u8 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleMillisecondstime
0x084 / Littleu32encounter_mask
0x0C1 / -u8unknown

SMSG_INSTANCE_RESET

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_instance_reset.wowm:1.

smsg SMSG_INSTANCE_RESET = 0x031E {
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_instance_reset.wowm:1.

smsg SMSG_INSTANCE_RESET = 0x031E {
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_instance_reset.wowm:1.

smsg SMSG_INSTANCE_RESET = 0x031E {
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap

SMSG_INSTANCE_RESET_FAILED

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_instance_reset_failed.wowm:13.

smsg SMSG_INSTANCE_RESET_FAILED = 0x031F {
    (u32)InstanceResetFailedReason reason;
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -InstanceResetFailedReasonreason
0x084 / -Mapmap

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_instance_reset_failed.wowm:13.

smsg SMSG_INSTANCE_RESET_FAILED = 0x031F {
    (u32)InstanceResetFailedReason reason;
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -InstanceResetFailedReasonreason
0x084 / -Mapmap

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_instance_reset_failed.wowm:13.

smsg SMSG_INSTANCE_RESET_FAILED = 0x031F {
    (u32)InstanceResetFailedReason reason;
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -InstanceResetFailedReasonreason
0x084 / -Mapmap

SMSG_INSTANCE_SAVE_CREATED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_instance_save_created.wowm:3.

smsg SMSG_INSTANCE_SAVE_CREATED = 0x02CB {
    u32 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unknownAll emulators across all versions set to 0

SMSG_INVALIDATE_PLAYER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_invalidate_player.wowm:3.

smsg SMSG_INVALIDATE_PLAYER = 0x031C {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_INVENTORY_CHANGE_FAILURE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_inventory_change_failure.wowm:1.

smsg SMSG_INVENTORY_CHANGE_FAILURE = 0x0112 {
    InventoryResult result;
    if (result == CANT_EQUIP_LEVEL_I) {
        Level32 required_level;
    }
    if (result != OK) {
        Guid item1;
        Guid item2;
        u8 bag_type_subclass;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -InventoryResultresult

If result is equal to CANT_EQUIP_LEVEL_I:

OffsetSize / EndiannessTypeNameComment
0x054 / LittleLevel32required_level

If result is not equal to OK:

OffsetSize / EndiannessTypeNameComment
0x098 / LittleGuiditem1
0x118 / LittleGuiditem2
0x191 / -u8bag_type_subclasscmangos: bag type subclass, used with EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM and EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2
vmangos sets to 0

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_inventory_change_failure.wowm:17.

smsg SMSG_INVENTORY_CHANGE_FAILURE = 0x0112 {
    InventoryResult result;
    if (result != OK) {
        Guid item1;
        Guid item2;
        u8 bag_type_subclass;
    }
    if (result == CANT_EQUIP_LEVEL_I) {
        Level32 required_level;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -InventoryResultresult

If result is not equal to OK:

OffsetSize / EndiannessTypeNameComment
0x058 / LittleGuiditem1
0x0D8 / LittleGuiditem2
0x151 / -u8bag_type_subclasscmangos: bag type subclass, used with EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM and EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2
vmangos sets to 0

If result is equal to CANT_EQUIP_LEVEL_I:

OffsetSize / EndiannessTypeNameComment
0x164 / LittleLevel32required_level

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_inventory_change_failure.wowm:17.

smsg SMSG_INVENTORY_CHANGE_FAILURE = 0x0112 {
    InventoryResult result;
    if (result != OK) {
        Guid item1;
        Guid item2;
        u8 bag_type_subclass;
    }
    if (result == CANT_EQUIP_LEVEL_I) {
        Level32 required_level;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -InventoryResultresult

If result is not equal to OK:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuiditem1
-8 / LittleGuiditem2
-1 / -u8bag_type_subclasscmangos: bag type subclass, used with EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM and EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2
vmangos sets to 0

If result is equal to CANT_EQUIP_LEVEL_I:

OffsetSize / EndiannessTypeNameComment
-4 / LittleLevel32required_level

SMSG_ITEM_COOLDOWN

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_item_cooldown.wowm:3.

smsg SMSG_ITEM_COOLDOWN = 0x00B0 {
    Guid guid;
    Spell id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / LittleSpellid

SMSG_ITEM_ENCHANT_TIME_UPDATE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_item_enchant_time_update.wowm:3.

smsg SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x01EB {
    Guid item;
    u32 slot;
    u32 duration;
    Guid player;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuiditem
0x0C4 / Littleu32slotPossibly used with EnchantmentSlot enum.
0x104 / Littleu32duration
0x148 / LittleGuidplayer

SMSG_ITEM_NAME_QUERY_RESPONSE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_name_query_response.wowm:1.

smsg SMSG_ITEM_NAME_QUERY_RESPONSE = 0x02C5 {
    Item item;
    CString item_name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleItemitem
0x08- / -CStringitem_name

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_name_query_response.wowm:8.

smsg SMSG_ITEM_NAME_QUERY_RESPONSE = 0x02C5 {
    Item item;
    CString item_name;
    InventoryType inventory_type;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / LittleItemitem
-- / -CStringitem_name
-1 / -InventoryTypeinventory_type

SMSG_ITEM_PUSH_RESULT

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_item_push_result.wowm:22.

smsg SMSG_ITEM_PUSH_RESULT = 0x0166 {
    Guid guid;
    NewItemSource source;
    NewItemCreationType creation_type;
    NewItemChatAlert alert_chat;
    u8 bag_slot;
    u32 item_slot;
    Item item;
    u32 item_suffix_factor;
    u32 item_random_property_id;
    u32 item_count;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -NewItemSourcesource
0x104 / -NewItemCreationTypecreation_type
0x144 / -NewItemChatAlertalert_chat
0x181 / -u8bag_slot
0x194 / Littleu32item_slotmangoszero: item slot, but when added to stack: 0xFFFFFFFF
0x1D4 / LittleItemitem
0x214 / Littleu32item_suffix_factormangoszero: SuffixFactor
0x254 / Littleu32item_random_property_idmangoszero: random item property id
0x294 / Littleu32item_count

Examples

Example 1

Comment

Pushing the creation of a lionheart helm to player with Guid 4.

0, 43, // size
102, 1, // opcode (358)
4, 0, 0, 0, 0, 0, 0, 0, // guid: Guid
0, 0, 0, 0, // source: NewItemSource LOOTED (0)
1, 0, 0, 0, // creation_type: NewItemCreationType CREATED (1)
1, 0, 0, 0, // alert_chat: NewItemChatAlert SHOW (1)
255, // bag_slot: u8
24, 0, 0, 0, // item_slot: u32
96, 49, 0, 0, // item: Item
0, 0, 0, 0, // item_suffix_factor: u32
0, 0, 0, 0, // item_random_property_id: u32
1, 0, 0, 0, // item_count: u32

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_item_push_result.wowm:69.

smsg SMSG_ITEM_PUSH_RESULT = 0x0166 {
    Guid guid;
    NewItemSource source;
    NewItemCreationType creation_type;
    NewItemChatAlert alert_chat;
    u8 bag_slot;
    u32 item_slot;
    Item item;
    u32 item_suffix_factor;
    u32 item_random_property_id;
    u32 item_count;
    u32 item_count_in_inventory;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -NewItemSourcesource
0x104 / -NewItemCreationTypecreation_type
0x144 / -NewItemChatAlertalert_chat
0x181 / -u8bag_slot
0x194 / Littleu32item_slotmangoszero: item slot, but when added to stack: 0xFFFFFFFF
0x1D4 / LittleItemitem
0x214 / Littleu32item_suffix_factormangoszero: SuffixFactor
0x254 / Littleu32item_random_property_idmangoszero: random item property id
0x294 / Littleu32item_count
0x2D4 / Littleu32item_count_in_inventory

SMSG_ITEM_QUERY_SINGLE_RESPONSE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_query_single_response.wowm:172.

smsg SMSG_ITEM_QUERY_SINGLE_RESPONSE = 0x0058 {
    Item item;
    optional found {
        ItemClassAndSubClass class_and_sub_class;
        CString name1;
        CString name2;
        CString name3;
        CString name4;
        u32 display_id;
        (u32)ItemQuality quality;
        ItemFlag flags;
        Gold buy_price;
        Gold sell_price;
        (u32)InventoryType inventory_type;
        AllowedClass allowed_class;
        AllowedRace allowed_race;
        Level32 item_level;
        Level32 required_level;
        (u32)Skill required_skill;
        u32 required_skill_rank;
        Spell required_spell;
        u32 required_honor_rank;
        u32 required_city_rank;
        (u32)Faction required_faction;
        u32 required_faction_rank;
        u32 max_count;
        u32 stackable;
        u32 container_slots;
        ItemStat[10] stats;
        ItemDamageType[5] damages;
        i32 armor;
        i32 holy_resistance;
        i32 fire_resistance;
        i32 nature_resistance;
        i32 frost_resistance;
        i32 shadow_resistance;
        i32 arcane_resistance;
        u32 delay;
        u32 ammo_type;
        f32 ranged_range_modification;
        ItemSpells[5] spells;
        (u32)Bonding bonding;
        CString description;
        u32 page_text;
        Language language;
        (u32)PageTextMaterial page_text_material;
        u32 start_quest;
        u32 lock_id;
        u32 material;
        (u32)SheatheType sheathe_type;
        u32 random_property;
        u32 block;
        (u32)ItemSet item_set;
        u32 max_durability;
        Area area;
        Map map;
        (u32)BagFamily bag_family;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleItemitem

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x088 / -ItemClassAndSubClassclass_and_sub_class
0x10- / -CStringname1
-- / -CStringname2
-- / -CStringname3
-- / -CStringname4
-4 / Littleu32display_idid from ItemDisplayInfo.dbc
-4 / -ItemQualityquality
-4 / -ItemFlagflags
-4 / LittleGoldbuy_price
-4 / LittleGoldsell_price
-4 / -InventoryTypeinventory_type
-4 / -AllowedClassallowed_class
-4 / -AllowedRaceallowed_race
-4 / LittleLevel32item_level
-4 / LittleLevel32required_level
-4 / -Skillrequired_skill
-4 / Littleu32required_skill_rank
-4 / LittleSpellrequired_spell
-4 / Littleu32required_honor_rank
-4 / Littleu32required_city_rank
-4 / -Factionrequired_faction
-4 / Littleu32required_faction_rankcmangos/vmangos/mangoszero: send value only if reputation faction id setted ( needed for some items)
-4 / Littleu32max_count
-4 / Littleu32stackable
-4 / Littleu32container_slots
-80 / -ItemStat[10]stats
-60 / -ItemDamageType[5]damages
-4 / Littlei32armor
-4 / Littlei32holy_resistance
-4 / Littlei32fire_resistance
-4 / Littlei32nature_resistance
-4 / Littlei32frost_resistance
-4 / Littlei32shadow_resistance
-4 / Littlei32arcane_resistance
-4 / Littleu32delay
-4 / Littleu32ammo_type
-4 / Littlef32ranged_range_modification
-120 / -ItemSpells[5]spells
-4 / -Bondingbonding
-- / -CStringdescription
-4 / Littleu32page_text
-4 / -Languagelanguage
-4 / -PageTextMaterialpage_text_material
-4 / Littleu32start_questcmangos/vmangos/mangoszero: id from QuestCache.wdb
-4 / Littleu32lock_id
-4 / Littleu32materialcmangos/vmangos/mangoszero: id from Material.dbc
-4 / -SheatheTypesheathe_type
-4 / Littleu32random_propertycmangos/vmangos/mangoszero: id from ItemRandomProperties.dbc
-4 / Littleu32block
-4 / -ItemSetitem_set
-4 / Littleu32max_durability
-4 / -Areaarea
-4 / -Mapmap
-4 / -BagFamilybag_family

Examples

Example 1

1, 224, // size
88, 0, // opcode (88)
62, 28, 0, 0, // item: Item
// Optional found
2, 0, 0, 0, 5, 0, 0, 0, // class_and_sub_class: ItemClassAndSubClass TWO_HANDED_MACE (0x0000000500000002)
83, 109, 105, 116, 101, 39, 115, 32, 77, 105, 103, 104, 116, 121, 32, 72, 97, 109, 109, 101, 114, 0, // name1: CString
0, // name2: CString
0, // name3: CString
0, // name4: CString
154, 76, 0, 0, // display_id: u32
3, 0, 0, 0, // quality: ItemQuality RARE (3)
0, 0, 0, 0, // flags: ItemFlag  NONE (0)
155, 60, 0, 0, // buy_price: Gold
31, 12, 0, 0, // sell_price: Gold
17, 0, 0, 0, // inventory_type: InventoryType TWO_HANDED_WEAPON (17)
223, 5, 0, 0, // allowed_class: AllowedClass  WARRIOR| PALADIN| HUNTER| ROGUE| PRIEST| SHAMAN| MAGE| WARLOCK| DRUID (1503)
255, 1, 0, 0, // allowed_race: AllowedRace  HUMAN| ORC| DWARF| NIGHT_ELF| UNDEAD| TAUREN| GNOME| TROLL| GOBLIN (511)
23, 0, 0, 0, // item_level: Level32
18, 0, 0, 0, // required_level: Level32
0, 0, 0, 0, // required_skill: Skill NONE (0)
0, 0, 0, 0, // required_skill_rank: u32
0, 0, 0, 0, // required_spell: Spell
0, 0, 0, 0, // required_honor_rank: u32
0, 0, 0, 0, // required_city_rank: u32
0, 0, 0, 0, // required_faction: Faction NONE (0)
0, 0, 0, 0, // required_faction_rank: u32
0, 0, 0, 0, // max_count: u32
1, 0, 0, 0, // stackable: u32
0, 0, 0, 0, // container_slots: u32
0, 0, 0, 0, // [0].ItemStat.stat_type: ItemStatType MANA (0)
0, 0, 0, 0, // [0].ItemStat.value: i32
1, 0, 0, 0, // [1].ItemStat.stat_type: ItemStatType HEALTH (1)
0, 0, 0, 0, // [1].ItemStat.value: i32
4, 0, 0, 0, // [2].ItemStat.stat_type: ItemStatType STRENGTH (4)
11, 0, 0, 0, // [2].ItemStat.value: i32
3, 0, 0, 0, // [3].ItemStat.stat_type: ItemStatType AGILITY (3)
4, 0, 0, 0, // [3].ItemStat.value: i32
7, 0, 0, 0, // [4].ItemStat.stat_type: ItemStatType STAMINA (7)
0, 0, 0, 0, // [4].ItemStat.value: i32
5, 0, 0, 0, // [5].ItemStat.stat_type: ItemStatType INTELLECT (5)
0, 0, 0, 0, // [5].ItemStat.value: i32
6, 0, 0, 0, // [6].ItemStat.stat_type: ItemStatType SPIRIT (6)
0, 0, 0, 0, // [6].ItemStat.value: i32
0, 0, 0, 0, // [7].ItemStat.stat_type: ItemStatType MANA (0)
0, 0, 0, 0, // [7].ItemStat.value: i32
0, 0, 0, 0, // [8].ItemStat.stat_type: ItemStatType MANA (0)
0, 0, 0, 0, // [8].ItemStat.value: i32
0, 0, 0, 0, // [9].ItemStat.stat_type: ItemStatType MANA (0)
0, 0, 0, 0, // [9].ItemStat.value: i32
// stats: ItemStat[10]
0, 0, 92, 66, // [0].ItemDamageType.damage_minimum: f32
0, 0, 166, 66, // [0].ItemDamageType.damage_maximum: f32
0, 0, 0, 0, // [0].ItemDamageType.school: SpellSchool NORMAL (0)
0, 0, 0, 0, // [1].ItemDamageType.damage_minimum: f32
0, 0, 0, 0, // [1].ItemDamageType.damage_maximum: f32
0, 0, 0, 0, // [1].ItemDamageType.school: SpellSchool NORMAL (0)
0, 0, 0, 0, // [2].ItemDamageType.damage_minimum: f32
0, 0, 0, 0, // [2].ItemDamageType.damage_maximum: f32
0, 0, 0, 0, // [2].ItemDamageType.school: SpellSchool NORMAL (0)
0, 0, 0, 0, // [3].ItemDamageType.damage_minimum: f32
0, 0, 0, 0, // [3].ItemDamageType.damage_maximum: f32
0, 0, 0, 0, // [3].ItemDamageType.school: SpellSchool NORMAL (0)
0, 0, 0, 0, // [4].ItemDamageType.damage_minimum: f32
0, 0, 0, 0, // [4].ItemDamageType.damage_maximum: f32
0, 0, 0, 0, // [4].ItemDamageType.school: SpellSchool NORMAL (0)
// damages: ItemDamageType[5]
0, 0, 0, 0, // armor: i32
0, 0, 0, 0, // holy_resistance: i32
0, 0, 0, 0, // fire_resistance: i32
0, 0, 0, 0, // nature_resistance: i32
0, 0, 0, 0, // frost_resistance: i32
0, 0, 0, 0, // shadow_resistance: i32
0, 0, 0, 0, // arcane_resistance: i32
172, 13, 0, 0, // delay: u32
0, 0, 0, 0, // ammo_type: u32
0, 0, 0, 0, // ranged_range_modification: f32
0, 0, 0, 0, // [0].ItemSpells.spell: Spell
0, 0, 0, 0, // [0].ItemSpells.spell_trigger: SpellTriggerType ON_USE (0)
0, 0, 0, 0, // [0].ItemSpells.spell_charges: i32
0, 0, 0, 0, // [0].ItemSpells.spell_cooldown: i32
0, 0, 0, 0, // [0].ItemSpells.spell_category: u32
0, 0, 0, 0, // [0].ItemSpells.spell_category_cooldown: i32
0, 0, 0, 0, // [1].ItemSpells.spell: Spell
0, 0, 0, 0, // [1].ItemSpells.spell_trigger: SpellTriggerType ON_USE (0)
0, 0, 0, 0, // [1].ItemSpells.spell_charges: i32
0, 0, 0, 0, // [1].ItemSpells.spell_cooldown: i32
0, 0, 0, 0, // [1].ItemSpells.spell_category: u32
0, 0, 0, 0, // [1].ItemSpells.spell_category_cooldown: i32
0, 0, 0, 0, // [2].ItemSpells.spell: Spell
0, 0, 0, 0, // [2].ItemSpells.spell_trigger: SpellTriggerType ON_USE (0)
0, 0, 0, 0, // [2].ItemSpells.spell_charges: i32
0, 0, 0, 0, // [2].ItemSpells.spell_cooldown: i32
0, 0, 0, 0, // [2].ItemSpells.spell_category: u32
0, 0, 0, 0, // [2].ItemSpells.spell_category_cooldown: i32
0, 0, 0, 0, // [3].ItemSpells.spell: Spell
0, 0, 0, 0, // [3].ItemSpells.spell_trigger: SpellTriggerType ON_USE (0)
0, 0, 0, 0, // [3].ItemSpells.spell_charges: i32
0, 0, 0, 0, // [3].ItemSpells.spell_cooldown: i32
0, 0, 0, 0, // [3].ItemSpells.spell_category: u32
0, 0, 0, 0, // [3].ItemSpells.spell_category_cooldown: i32
0, 0, 0, 0, // [4].ItemSpells.spell: Spell
0, 0, 0, 0, // [4].ItemSpells.spell_trigger: SpellTriggerType ON_USE (0)
0, 0, 0, 0, // [4].ItemSpells.spell_charges: i32
0, 0, 0, 0, // [4].ItemSpells.spell_cooldown: i32
0, 0, 0, 0, // [4].ItemSpells.spell_category: u32
0, 0, 0, 0, // [4].ItemSpells.spell_category_cooldown: i32
// spells: ItemSpells[5]
1, 0, 0, 0, // bonding: Bonding PICK_UP (1)
0, // description: CString
0, 0, 0, 0, // page_text: u32
0, 0, 0, 0, // language: Language UNIVERSAL (0)
0, 0, 0, 0, // page_text_material: PageTextMaterial NONE (0)
0, 0, 0, 0, // start_quest: u32
0, 0, 0, 0, // lock_id: u32
2, 0, 0, 0, // material: u32
1, 0, 0, 0, // sheathe_type: SheatheType MAIN_HAND (1)
0, 0, 0, 0, // random_property: u32
0, 0, 0, 0, // block: u32
0, 0, 0, 0, // item_set: ItemSet NONE (0)
80, 0, 0, 0, // max_durability: u32
0, 0, 0, 0, // area: Area NONE (0)
0, 0, 0, 0, // map: Map EASTERN_KINGDOMS (0)
0, 0, 0, 0, // bag_family: BagFamily NONE (0)

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_query_single_response.wowm:657.

smsg SMSG_ITEM_QUERY_SINGLE_RESPONSE = 0x0058 {
    Item item;
    optional found {
        ItemClassAndSubClass class_and_sub_class;
        u32 sound_override_sub_class;
        CString name1;
        CString name2;
        CString name3;
        CString name4;
        u32 display_id;
        (u32)ItemQuality quality;
        ItemFlag flags;
        Gold buy_price;
        Gold sell_price;
        (u32)InventoryType inventory_type;
        AllowedClass allowed_class;
        AllowedRace allowed_race;
        u32 item_level;
        Level32 required_level;
        (u32)Skill required_skill;
        u32 required_skill_rank;
        Spell required_spell;
        u32 required_honor_rank;
        u32 required_city_rank;
        (u32)Faction required_faction;
        u32 required_faction_rank;
        u32 max_count;
        u32 stackable;
        u32 container_slots;
        ItemStat[10] stats;
        ItemDamageType[5] damages;
        i32 armor;
        i32 holy_resistance;
        i32 fire_resistance;
        i32 nature_resistance;
        i32 frost_resistance;
        i32 shadow_resistance;
        i32 arcane_resistance;
        u32 delay;
        u32 ammo_type;
        f32 ranged_range_modification;
        ItemSpells[5] spells;
        (u32)Bonding bonding;
        CString description;
        u32 page_text;
        (u32)Language language;
        (u32)PageTextMaterial page_text_material;
        u32 start_quest;
        u32 lock_id;
        u32 material;
        (u32)SheatheType sheathe_type;
        u32 random_property;
        u32 block;
        (u32)ItemSet item_set;
        u32 max_durability;
        Area area;
        Map map;
        BagFamily bag_family;
        u32 totem_category;
        ItemSocket[3] sockets;
        u32 socket_bonus;
        u32 gem_properties;
        u32 required_disenchant_skill;
        f32 armor_damage_modifier;
        Seconds duration;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleItemitem

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x088 / -ItemClassAndSubClassclass_and_sub_class
0x104 / Littleu32sound_override_sub_classmangosone: new 2.0.3, not exist in wdb cache?
mangosone sets to -1.
azerothcore: < 0: id from ItemSubClass.dbc, used to override weapon sound from actual sub class
0x14- / -CStringname1
-- / -CStringname2
-- / -CStringname3
-- / -CStringname4
-4 / Littleu32display_idid from ItemDisplayInfo.dbc
-4 / -ItemQualityquality
-4 / -ItemFlagflags
-4 / LittleGoldbuy_price
-4 / LittleGoldsell_price
-4 / -InventoryTypeinventory_type
-4 / -AllowedClassallowed_class
-4 / -AllowedRaceallowed_race
-4 / Littleu32item_level
-4 / LittleLevel32required_level
-4 / -Skillrequired_skill
-4 / Littleu32required_skill_rank
-4 / LittleSpellrequired_spell
-4 / Littleu32required_honor_rank
-4 / Littleu32required_city_rank
-4 / -Factionrequired_faction
-4 / Littleu32required_faction_rankcmangos/vmangos/mangoszero: send value only if reputation faction id setted ( needed for some items)
-4 / Littleu32max_count
-4 / Littleu32stackable
-4 / Littleu32container_slots
-80 / -ItemStat[10]stats
-60 / -ItemDamageType[5]damages
-4 / Littlei32armor
-4 / Littlei32holy_resistance
-4 / Littlei32fire_resistance
-4 / Littlei32nature_resistance
-4 / Littlei32frost_resistance
-4 / Littlei32shadow_resistance
-4 / Littlei32arcane_resistance
-4 / Littleu32delay
-4 / Littleu32ammo_type
-4 / Littlef32ranged_range_modification
-120 / -ItemSpells[5]spells
-4 / -Bondingbonding
-- / -CStringdescription
-4 / Littleu32page_text
-4 / -Languagelanguage
-4 / -PageTextMaterialpage_text_material
-4 / Littleu32start_questcmangos/vmangos/mangoszero: id from QuestCache.wdb
-4 / Littleu32lock_id
-4 / Littleu32materialcmangos/vmangos/mangoszero: id from Material.dbc
-4 / -SheatheTypesheathe_type
-4 / Littleu32random_propertycmangos/vmangos/mangoszero: id from ItemRandomProperties.dbc
-4 / Littleu32block
-4 / -ItemSetitem_set
-4 / Littleu32max_durability
-4 / -Areaarea
-4 / -Mapmap
-4 / -BagFamilybag_family
-4 / Littleu32totem_categorymangosone: id from TotemCategory.dbc
-24 / -ItemSocket[3]sockets
-4 / Littleu32socket_bonus
-4 / Littleu32gem_properties
-4 / Littleu32required_disenchant_skill
-4 / Littlef32armor_damage_modifier
-4 / LittleSecondsdurationmangosone: added in 2.4.2.8209, duration (seconds)

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_query_single_response.wowm:836.

smsg SMSG_ITEM_QUERY_SINGLE_RESPONSE = 0x0058 {
    Item item;
    optional found {
        ItemClassAndSubClass class_and_sub_class;
        u32 sound_override_sub_class;
        CString name1;
        CString name2;
        CString name3;
        CString name4;
        u32 display_id;
        (u32)ItemQuality quality;
        ItemFlag flags;
        ItemFlag2 flags2;
        Gold buy_price;
        Gold sell_price;
        (u32)InventoryType inventory_type;
        AllowedClass allowed_class;
        AllowedRace allowed_race;
        u32 item_level;
        Level32 required_level;
        (u32)Skill required_skill;
        u32 required_skill_rank;
        Spell required_spell;
        u32 required_honor_rank;
        u32 required_city_rank;
        (u32)Faction required_faction;
        u32 required_faction_rank;
        u32 max_count;
        u32 stackable;
        u32 container_slots;
        u32 amount_of_stats;
        ItemStat[amount_of_stats] stats;
        u32 scaling_stats_entry;
        u32 scaling_stats_flag;
        ItemDamageType[2] damages;
        i32 armor;
        i32 holy_resistance;
        i32 fire_resistance;
        i32 nature_resistance;
        i32 frost_resistance;
        i32 shadow_resistance;
        i32 arcane_resistance;
        u32 delay;
        u32 ammo_type;
        f32 ranged_range_modification;
        ItemSpells[5] spells;
        (u32)Bonding bonding;
        CString description;
        u32 page_text;
        (u32)Language language;
        (u32)PageTextMaterial page_text_material;
        u32 start_quest;
        u32 lock_id;
        u32 material;
        (u32)SheatheType sheathe_type;
        u32 random_property;
        u32 random_suffix;
        u32 block;
        (u32)ItemSet item_set;
        u32 max_durability;
        Area area;
        Map map;
        BagFamily bag_family;
        u32 totem_category;
        ItemSocket[3] sockets;
        u32 socket_bonus;
        u32 gem_properties;
        u32 required_disenchant_skill;
        f32 armor_damage_modifier;
        Seconds duration;
        u32 item_limit_category;
        u32 holiday_id;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / LittleItemitem

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-8 / -ItemClassAndSubClassclass_and_sub_class
-4 / Littleu32sound_override_sub_classmangosone: new 2.0.3, not exist in wdb cache?
mangosone sets to -1.
azerothcore: < 0: id from ItemSubClass.dbc, used to override weapon sound from actual sub class
-- / -CStringname1
-- / -CStringname2
-- / -CStringname3
-- / -CStringname4
-4 / Littleu32display_idid from ItemDisplayInfo.dbc
-4 / -ItemQualityquality
-4 / -ItemFlagflags
-4 / -ItemFlag2flags2
-4 / LittleGoldbuy_price
-4 / LittleGoldsell_price
-4 / -InventoryTypeinventory_type
-4 / -AllowedClassallowed_class
-4 / -AllowedRaceallowed_race
-4 / Littleu32item_level
-4 / LittleLevel32required_level
-4 / -Skillrequired_skill
-4 / Littleu32required_skill_rank
-4 / LittleSpellrequired_spell
-4 / Littleu32required_honor_rank
-4 / Littleu32required_city_rank
-4 / -Factionrequired_faction
-4 / Littleu32required_faction_rankcmangos/vmangos/mangoszero: send value only if reputation faction id setted ( needed for some items)
-4 / Littleu32max_count
-4 / Littleu32stackable
-4 / Littleu32container_slots
-4 / Littleu32amount_of_stats
-? / -ItemStat[amount_of_stats]stats
-4 / Littleu32scaling_stats_entry
-4 / Littleu32scaling_stats_flag
-24 / -ItemDamageType[2]damages
-4 / Littlei32armor
-4 / Littlei32holy_resistance
-4 / Littlei32fire_resistance
-4 / Littlei32nature_resistance
-4 / Littlei32frost_resistance
-4 / Littlei32shadow_resistance
-4 / Littlei32arcane_resistance
-4 / Littleu32delay
-4 / Littleu32ammo_type
-4 / Littlef32ranged_range_modification
-120 / -ItemSpells[5]spells
-4 / -Bondingbonding
-- / -CStringdescription
-4 / Littleu32page_text
-4 / -Languagelanguage
-4 / -PageTextMaterialpage_text_material
-4 / Littleu32start_questcmangos/vmangos/mangoszero: id from QuestCache.wdb
-4 / Littleu32lock_id
-4 / Littleu32materialcmangos/vmangos/mangoszero: id from Material.dbc
-4 / -SheatheTypesheathe_type
-4 / Littleu32random_propertycmangos/vmangos/mangoszero: id from ItemRandomProperties.dbc
-4 / Littleu32random_suffix
-4 / Littleu32block
-4 / -ItemSetitem_set
-4 / Littleu32max_durability
-4 / -Areaarea
-4 / -Mapmap
-4 / -BagFamilybag_family
-4 / Littleu32totem_categorymangosone: id from TotemCategory.dbc
-24 / -ItemSocket[3]sockets
-4 / Littleu32socket_bonus
-4 / Littleu32gem_properties
-4 / Littleu32required_disenchant_skill
-4 / Littlef32armor_damage_modifier
-4 / LittleSecondsdurationmangosone: added in 2.4.2.8209, duration (seconds)
-4 / Littleu32item_limit_category
-4 / Littleu32holiday_idmangosone: HolidayId - points to HolidayNames.dbc

SMSG_ITEM_REFUND_INFO_RESPONSE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_item_refund_info_response.wowm:8.

smsg SMSG_ITEM_REFUND_INFO_RESPONSE = 0x04B2 {
    Guid item;
    Gold money_cost;
    u32 honor_point_cost;
    u32 arena_point_cost;
    ItemRefundExtra[5] extra_items;
    u32 unknown1;
    u32 time_since_loss;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuiditem
0x0C4 / LittleGoldmoney_cost
0x104 / Littleu32honor_point_cost
0x144 / Littleu32arena_point_cost
0x1840 / -ItemRefundExtra[5]extra_items
0x404 / Littleu32unknown1Emus set to 0.
0x444 / Littleu32time_since_loss

SMSG_ITEM_REFUND_RESULT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_item_refund_result.wowm:8.

smsg SMSG_ITEM_REFUND_RESULT = 0x04B5 {
    Guid item;
    ItemRefundResult result;
    if (result == SUCCESS) {
        Gold cost;
        u32 honor_point_cost;
        u32 arena_point_cost;
        ItemRefundExtra[5] extra_items;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuiditem
-1 / -ItemRefundResultresult

If result is equal to SUCCESS:

OffsetSize / EndiannessTypeNameComment
-4 / LittleGoldcost
-4 / Littleu32honor_point_cost
-4 / Littleu32arena_point_cost
-40 / -ItemRefundExtra[5]extra_items

SMSG_ITEM_TEXT_QUERY_RESPONSE

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_text_query_response.wowm:1.

smsg SMSG_ITEM_TEXT_QUERY_RESPONSE = 0x0244 {
    u32 item_text_id;
    CString text;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32item_text_id
0x08- / -CStringtextmangoszero: CString TODO max length 8000

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_item_text_query_response.wowm:16.

smsg SMSG_ITEM_TEXT_QUERY_RESPONSE = 0x0244 {
    ItemTextQuery query;
    if (query == HAS_TEXT) {
        Guid item;
        CString text;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -ItemTextQueryquery

If query is equal to HAS_TEXT:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuiditem
-- / -CStringtext

SMSG_ITEM_TIME_UPDATE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_item_time_update.wowm:3.

smsg SMSG_ITEM_TIME_UPDATE = 0x01EA {
    Guid guid;
    u32 duration;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32duration

SMSG_KICK_REASON

Client Version 2.4.3

All that exists of this is an implementation in cmangos-tbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_kick_reason.wowm:2.

smsg SMSG_KICK_REASON = 0x03C4 {
    u8 reason;
    CString text;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8reason
0x05- / -CStringtext

Client Version 3.3.5

All that exists of this is an implementation in cmangos-tbc.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_kick_reason.wowm:10.

smsg SMSG_KICK_REASON = 0x03C5 {
    u8 reason;
    CString text;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8reason
-- / -CStringtext

SMSG_LEARNED_SPELL

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_learned_spell.wowm:1.

smsg SMSG_LEARNED_SPELL = 0x012B {
    Spell id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellid

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_learned_spell.wowm:1.

smsg SMSG_LEARNED_SPELL = 0x012B {
    Spell id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_learned_spell.wowm:7.

smsg SMSG_LEARNED_SPELL = 0x012B {
    Spell id;
    u16 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellid
0x082 / Littleu16unknownmangostwo: 3.3.3 unk

SMSG_LEVELUP_INFO

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/exp/smsg_levelup_info.wowm:1.

smsg SMSG_LEVELUP_INFO = 0x01D4 {
    Level32 new_level;
    u32 health;
    u32 mana;
    u32 rage;
    u32 focus;
    u32 energy;
    u32 happiness;
    u32 strength;
    u32 agility;
    u32 stamina;
    u32 intellect;
    u32 spirit;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleLevel32new_level
0x084 / Littleu32health
0x0C4 / Littleu32mana
0x104 / Littleu32rage
0x144 / Littleu32focus
0x184 / Littleu32energy
0x1C4 / Littleu32happiness
0x204 / Littleu32strength
0x244 / Littleu32agility
0x284 / Littleu32stamina
0x2C4 / Littleu32intellect
0x304 / Littleu32spirit

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/exp/smsg_levelup_info.wowm:18.

smsg SMSG_LEVELUP_INFO = 0x01D4 {
    Level32 new_level;
    u32 health;
    u32 mana;
    u32 rage;
    u32 focus;
    u32 energy;
    u32 happiness;
    u32 rune;
    u32 runic_power;
    u32 strength;
    u32 agility;
    u32 stamina;
    u32 intellect;
    u32 spirit;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleLevel32new_level
0x084 / Littleu32health
0x0C4 / Littleu32mana
0x104 / Littleu32rage
0x144 / Littleu32focus
0x184 / Littleu32energy
0x1C4 / Littleu32happiness
0x204 / Littleu32rune
0x244 / Littleu32runic_power
0x284 / Littleu32strength
0x2C4 / Littleu32agility
0x304 / Littleu32stamina
0x344 / Littleu32intellect
0x384 / Littleu32spirit

SMSG_LFG_BOOT_PROPOSAL_UPDATE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_boot_proposal_update.wowm:1.

smsg SMSG_LFG_BOOT_PROPOSAL_UPDATE = 0x036D {
    Bool vote_in_progress;
    Bool did_vote;
    Bool agreed_with_kick;
    Guid victim;
    u32 total_votes;
    u32 votes_agree;
    Seconds time_left;
    u32 votes_needed;
    CString reason;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -Boolvote_in_progress
-1 / -Booldid_vote
-1 / -Boolagreed_with_kick
-8 / LittleGuidvictim
-4 / Littleu32total_votes
-4 / Littleu32votes_agree
-4 / LittleSecondstime_left
-4 / Littleu32votes_needed
-- / -CStringreason

SMSG_LFG_DISABLED

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_disabled.wowm:1.

smsg SMSG_LFG_DISABLED = 0x0398 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_LFG_JOIN_RESULT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_join_result.wowm:1.

smsg SMSG_LFG_JOIN_RESULT = 0x0364 {
    u32 result;
    u32 state;
    LfgJoinPlayer[-] players;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32result
-4 / Littleu32state
-? / -LfgJoinPlayer[-]players

SMSG_LFG_LEADER_IS_LFM

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_leader_is_lfm.wowm:1.

smsg SMSG_LFG_LEADER_IS_LFM = 0x036B {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_LFG_OFFER_CONTINUE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_offer_continue.wowm:1.

smsg SMSG_LFG_OFFER_CONTINUE = 0x0293 {
    u32 dungeon_entry;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32dungeon_entry

SMSG_LFG_PARTY_INFO

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_party_info.wowm:9.

smsg SMSG_LFG_PARTY_INFO = 0x0372 {
    u8 amount_of_infos;
    LfgPartyInfo[amount_of_infos] infos;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8amount_of_infos
-? / -LfgPartyInfo[amount_of_infos]infos

SMSG_LFG_PLAYER_INFO

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_player_info.wowm:22.

smsg SMSG_LFG_PLAYER_INFO = 0x036F {
    u8 amount_of_available_dungeons;
    LfgAvailableDungeon[amount_of_available_dungeons] available_dungeons;
    u8 amount_of_locked_dungeons;
    LfgJoinLockedDungeon[amount_of_locked_dungeons] locked_dungeons;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8amount_of_available_dungeons
-? / -LfgAvailableDungeon[amount_of_available_dungeons]available_dungeons
-1 / -u8amount_of_locked_dungeons
-? / -LfgJoinLockedDungeon[amount_of_locked_dungeons]locked_dungeons

SMSG_LFG_PLAYER_REWARD

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_player_reward.wowm:1.

smsg SMSG_LFG_PLAYER_REWARD = 0x01FF {
    u32 random_dungeon_entry;
    u32 dungeon_finished_entry;
    Bool done;
    u32 unknown1;
    Gold money_reward;
    u32 experience_reward;
    u32 unknown2;
    u32 unknown3;
    u8 amount_of_rewards;
    QuestGiverReward[amount_of_rewards] rewards;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32random_dungeon_entry
-4 / Littleu32dungeon_finished_entry
-1 / -Booldone
-4 / Littleu32unknown1emus set to 1.
-4 / LittleGoldmoney_reward
-4 / Littleu32experience_reward
-4 / Littleu32unknown2emus set to 0.
-4 / Littleu32unknown3emus set to 0.
-1 / -u8amount_of_rewards
-? / -QuestGiverReward[amount_of_rewards]rewards

SMSG_LFG_PROPOSAL_UPDATE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_proposal_update.wowm:1.

smsg SMSG_LFG_PROPOSAL_UPDATE = 0x0361 {
    u32 dungeon_id;
    u8 proposal_state;
    u32 proposal_id;
    u32 encounters_finished_mask;
    u8 silent;
    u8 amount_of_proposals;
    LfgProposal[amount_of_proposals] proposals;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32dungeon_id
-1 / -u8proposal_state
-4 / Littleu32proposal_id
-4 / Littleu32encounters_finished_mask
-1 / -u8silent
-1 / -u8amount_of_proposals
-? / -LfgProposal[amount_of_proposals]proposals

SMSG_LFG_QUEUE_STATUS

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_queue_status.wowm:1.

smsg SMSG_LFG_QUEUE_STATUS = 0x0365 {
    u32 dungeon;
    i32 average_wait_time;
    i32 wait_time;
    i32 wait_time_tank;
    i32 wait_time_healer;
    i32 wait_time_dps;
    u8 tanks_needed;
    u8 healers_needed;
    u8 dps_needed;
    u32 queue_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32dungeon
0x084 / Littlei32average_wait_time
0x0C4 / Littlei32wait_time
0x104 / Littlei32wait_time_tank
0x144 / Littlei32wait_time_healer
0x184 / Littlei32wait_time_dps
0x1C1 / -u8tanks_needed
0x1D1 / -u8healers_needed
0x1E1 / -u8dps_needed
0x1F4 / Littleu32queue_time

SMSG_LFG_ROLE_CHECK_UPDATE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_role_check_update.wowm:1.

smsg SMSG_LFG_ROLE_CHECK_UPDATE = 0x0363 {
    u32 rolecheck_state;
    u8 rolecheck_initializing;
    u8 amount_of_dungeon_entries;
    u32[amount_of_dungeon_entries] dungeon_entries;
    u8 amount_of_roles;
    LfgRole[amount_of_roles] roles;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32rolecheck_state
-1 / -u8rolecheck_initializing
-1 / -u8amount_of_dungeon_entries
-? / -u32[amount_of_dungeon_entries]dungeon_entries
-1 / -u8amount_of_roles
-? / -LfgRole[amount_of_roles]rolesazerothcore: Leader info MUST be sent first.

SMSG_LFG_ROLE_CHOSEN

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_role_chosen.wowm:1.

smsg SMSG_LFG_ROLE_CHOSEN = 0x02BB {
    Guid guid;
    Bool ready;
    u32 roles;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C1 / -Boolready
0x0D4 / Littleu32roles

SMSG_LFG_TELEPORT_DENIED

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_teleport_denied.wowm:13.

smsg SMSG_LFG_TELEPORT_DENIED = 0x0200 {
    LfgTeleportError error;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -LfgTeleportErrorerror

SMSG_LFG_UPDATE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_update.wowm:15.

smsg SMSG_LFG_UPDATE = 0x036C {
    Bool queued;
    Bool is_looking_for_group;
    LfgUpdateLookingForMore looking_for_more;
    if (looking_for_more == LOOKING_FOR_MORE) {
        LfgData data;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -Boolqueued
0x051 / -Boolis_looking_for_group
0x061 / -LfgUpdateLookingForMorelooking_for_more

If looking_for_more is equal to LOOKING_FOR_MORE:

OffsetSize / EndiannessTypeNameComment
0x074 / -LfgDatadata

SMSG_LFG_UPDATE_LFG

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_update_lfg.wowm:1.

smsg SMSG_LFG_UPDATE_LFG = 0x036E {
    LfgData[3] data;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0412 / -LfgData[3]data

SMSG_LFG_UPDATE_LFM

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_update_lfm.wowm:1.

smsg SMSG_LFG_UPDATE_LFM = 0x036D {
    LfgUpdateLookingForMore looking_for_more;
    if (looking_for_more == LOOKING_FOR_MORE) {
        LfgData data;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -LfgUpdateLookingForMorelooking_for_more

If looking_for_more is equal to LOOKING_FOR_MORE:

OffsetSize / EndiannessTypeNameComment
0x054 / -LfgDatadata

SMSG_LFG_UPDATE_PARTY

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_update_party.wowm:1.

smsg SMSG_LFG_UPDATE_PARTY = 0x0368 {
    LfgUpdateType update_type;
    LfgJoinStatus join_status;
    if (join_status == JOINED) {
        u8 joined;
        u8 queued;
        u8 no_partial_clear;
        u8 achievements;
        u8 amount_of_dungeons;
        u32[amount_of_dungeons] dungeons;
        CString comment;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -LfgUpdateTypeupdate_type
-1 / -LfgJoinStatusjoin_status

If join_status is equal to JOINED:

OffsetSize / EndiannessTypeNameComment
-1 / -u8joined
-1 / -u8queued
-1 / -u8no_partial_clear
-1 / -u8achievements
-1 / -u8amount_of_dungeons
-? / -u32[amount_of_dungeons]dungeons
-- / -CStringcomment

SMSG_LFG_UPDATE_PLAYER

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_update_player.wowm:27.

smsg SMSG_LFG_UPDATE_PLAYER = 0x0367 {
    LfgUpdateType update_type;
    LfgJoinStatus join_status;
    if (join_status == JOINED) {
        u8 queued;
        u8 no_partial_clear;
        u8 achievements;
        u8 amount_of_dungeons;
        u32[amount_of_dungeons] dungeons;
        CString comment;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -LfgUpdateTypeupdate_type
-1 / -LfgJoinStatusjoin_status

If join_status is equal to JOINED:

OffsetSize / EndiannessTypeNameComment
-1 / -u8queued
-1 / -u8no_partial_clear
-1 / -u8achievements
-1 / -u8amount_of_dungeons
-? / -u32[amount_of_dungeons]dungeons
-- / -CStringcomment

SMSG_LFG_UPDATE_QUEUED

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_update_queued.wowm:1.

smsg SMSG_LFG_UPDATE_QUEUED = 0x036F {
    Bool queued;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -Boolqueued

SMSG_LFG_UPDATE_SEARCH

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_lfg_update_search.wowm:1.

smsg SMSG_LFG_UPDATE_SEARCH = 0x0369 {
    Bool in_lfg_queue;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -Boolin_lfg_queue

SMSG_LIST_INVENTORY

Client Version 1

if amount_of_items is 0 it is supposedly followed by a single u8 with 0 to say that vendor has no items.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_list_inventory.wowm:29.

smsg SMSG_LIST_INVENTORY = 0x019F {
    Guid vendor;
    u8 amount_of_items;
    ListInventoryItem[amount_of_items] items;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidvendor
0x0C1 / -u8amount_of_itemscmangos: 0 displays Vendor has no inventory
0x0D? / -ListInventoryItem[amount_of_items]items

Client Version 2.4.3, Client Version 3

if amount_of_items is 0 it is supposedly followed by a single u8 with 0 to say that vendor has no items.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_list_inventory.wowm:39.

smsg SMSG_LIST_INVENTORY = 0x019F {
    Guid vendor;
    u8 amount_of_items;
    ListInventoryItem[amount_of_items] items;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidvendor
-1 / -u8amount_of_itemscmangos: 0 displays Vendor has no inventory
-? / -ListInventoryItem[amount_of_items]items

SMSG_LOGIN_SETTIMESPEED

Client Version 1, Client Version 2, Client Version 3.0, Client Version 3.1.0, Client Version 3.1.1

Tells the client what the datetime is and how fast time passes.

The client also asks for the datetime with CMSG_QUERY_TIME and gets a reply from SMSG_QUERY_TIME_RESPONSE, but this does not appear to change anything in the client.

Despite sending this as the very first message after the client logs in it will still send a CMSG_QUERY_TIME.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_login_settimespeed.wowm:4.

smsg SMSG_LOGIN_SETTIMESPEED = 0x0042 {
    DateTime datetime;
    f32 timescale;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleDateTimedatetimeCurrent server datetime.
Running the client with -console verifies that this message in this format sets the correct datetime. SMSG_QUERY_TIME_RESPONSE will not set this.
0x084 / Littlef32timescaleHow many minutes should pass by every second.
vmangos/cmangos/mangoszero set this to 0.01666667. This means that 1/60 minutes pass every second (one second passes every second). Setting this to 1.0 will make the client advance one minute every second.

Examples

Example 1

Comment

Set time to 2022-08-13 (Wednesday) 08:10 and timescale 0.016666668 (1/60).

0, 10, // size
66, 0, // opcode (66)
10, 50, 115, 22, // datetime: DateTime
137, 136, 136, 60, // timescale: f32

Client Version 3.1.2, Client Version 3.2, Client Version 3.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_login_settimespeed.wowm:28.

smsg SMSG_LOGIN_SETTIMESPEED = 0x0042 {
    DateTime datetime;
    f32 timescale;
    u32 unknown1;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleDateTimedatetimeCurrent server datetime.
Running the client with -console verifies that this message in this format sets the correct datetime. SMSG_QUERY_TIME_RESPONSE will not set this.
0x084 / Littlef32timescaleHow many minutes should pass by every second.
vmangos/cmangos/mangoszero set this to 0.01666667. This means that 1/60 minutes pass every second (one second passes every second). Setting this to 1.0 will make the client advance one minute every second.
0x0C4 / Littleu32unknown1arcemu/azerothcore/mangostwo: Set to 0.

SMSG_LOGIN_VERIFY_WORLD

Client Version 1.12

Message to the client that is has successfully logged into the world and that it should load the map and coordinates.

The positions and orientations do not matter since they can be overwritten in the SMSG_UPDATE_OBJECT, but the map determines which map the client loads and this is not changeable in SMSG_UPDATE_OBJECT.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_login_verify_world.wowm:4.

smsg SMSG_LOGIN_VERIFY_WORLD = 0x0236 {
    Map map;
    Vector3d position;
    f32 orientation;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x0812 / -Vector3dposition
0x144 / Littlef32orientation

Examples

Example 1

0, 22, // size
54, 2, // opcode (566)
0, 0, 0, 0, // map: Map EASTERN_KINGDOMS (0)
205, 215, 11, 198, // Vector3d.x: f32
53, 126, 4, 195, // Vector3d.y: f32
249, 15, 167, 66, // Vector3d.z: f32
0, 0, 0, 0, // orientation: f32

Client Version 2.4.3

Message to the client that is has successfully logged into the world and that it should load the map and coordinates.

The positions and orientations do not matter since they can be overwritten in the SMSG_UPDATE_OBJECT, but the map determines which map the client loads and this is not changeable in SMSG_UPDATE_OBJECT.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_login_verify_world.wowm:4.

smsg SMSG_LOGIN_VERIFY_WORLD = 0x0236 {
    Map map;
    Vector3d position;
    f32 orientation;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x0812 / -Vector3dposition
0x144 / Littlef32orientation

Client Version 3.3.5

Message to the client that is has successfully logged into the world and that it should load the map and coordinates.

The positions and orientations do not matter since they can be overwritten in the SMSG_UPDATE_OBJECT, but the map determines which map the client loads and this is not changeable in SMSG_UPDATE_OBJECT.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_login_verify_world.wowm:4.

smsg SMSG_LOGIN_VERIFY_WORLD = 0x0236 {
    Map map;
    Vector3d position;
    f32 orientation;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x0812 / -Vector3dposition
0x144 / Littlef32orientation

SMSG_LOGOUT_CANCEL_ACK

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_logout_cancel_ack.wowm:3.

smsg SMSG_LOGOUT_CANCEL_ACK = 0x004F {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_LOGOUT_COMPLETE

Client Version 1.12, Client Version 2, Client Version 3

Immediately logs out the client of the world and makes it send CMSG_CHAR_ENUM.

Normally the client will send CMSG_LOGOUT_REQUEST and the server will reply with an SMSG_LOGOUT_RESPONSE before this message, but sending it unprompted will also immediately send the client to the character screen.

The client always seems to send 2 CMSG_CANCEL_TRADE immediately after receiving this mesage, but before sending CMSG_CHAR_ENUM.

Even if ‘Exit Game’ is selected the client will still send a CMSG_CHAR_ENUM immediately before closing the connection, despite it not needing to see the character list.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_logout_complete.wowm:7.

smsg SMSG_LOGOUT_COMPLETE = 0x004D {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Examples

Example 1

0, 2, // size
77, 0, // opcode (77)

SMSG_LOGOUT_RESPONSE

Client Version 1.12, Client Version 2, Client Version 3

Reply to CMSG_LOGOUT_REQUEST.

The client expects to get an SMSG_LOGOUT_COMPLETE when logout is complete.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_logout_response.wowm:18.

smsg SMSG_LOGOUT_RESPONSE = 0x004C {
    LogoutResult result;
    LogoutSpeed speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -LogoutResultresult
0x081 / -LogoutSpeedspeed

Examples

Example 1

0, 7, // size
76, 0, // opcode (76)
0, 0, 0, 0, // result: LogoutResult SUCCESS (0)
1, // speed: LogoutSpeed INSTANT (1)

SMSG_LOG_XPGAIN

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/exp/smsg_log_xpgain.wowm:8.

smsg SMSG_LOG_XPGAIN = 0x01D0 {
    Guid target;
    u32 total_exp;
    ExperienceAwardType exp_type;
    if (exp_type == NON_KILL) {
        u32 experience_without_rested;
        f32 exp_group_bonus;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidtarget
0x0C4 / Littleu32total_exp
0x101 / -ExperienceAwardTypeexp_type

If exp_type is equal to NON_KILL:

OffsetSize / EndiannessTypeNameComment
0x114 / Littleu32experience_without_rested
0x154 / Littlef32exp_group_bonusmangoszero sets to 1 and comments: 1 - none 0 - 100% group bonus output

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/exp/smsg_log_xpgain.wowm:21.

smsg SMSG_LOG_XPGAIN = 0x01D0 {
    Guid target;
    u32 total_exp;
    ExperienceAwardType exp_type;
    if (exp_type == NON_KILL) {
        u32 experience_without_rested;
        f32 exp_group_bonus;
    }
    Bool exp_includes_recruit_a_friend_bonus;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidtarget
-4 / Littleu32total_exp
-1 / -ExperienceAwardTypeexp_type

If exp_type is equal to NON_KILL:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32experience_without_rested
-4 / Littlef32exp_group_bonusmangoszero sets to 1 and comments: 1 - none 0 - 100% group bonus output
-1 / -Boolexp_includes_recruit_a_friend_bonus

SMSG_LOOT_ALL_PASSED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_all_passed.wowm:3.

smsg SMSG_LOOT_ALL_PASSED = 0x029E {
    Guid looted_target;
    u32 loot_slot;
    Item item;
    u32 item_random_property_id;
    u32 item_random_suffix_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidlooted_target
0x0C4 / Littleu32loot_slot
0x104 / LittleItemitem
0x144 / Littleu32item_random_property_id
0x184 / Littleu32item_random_suffix_idvmangos/mangoszero: Always set to 0.

SMSG_LOOT_CLEAR_MONEY

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_clear_money.wowm:3.

smsg SMSG_LOOT_CLEAR_MONEY = 0x0165 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_LOOT_LIST

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_list.wowm:1.

smsg SMSG_LOOT_LIST = 0x03F8 {
    Guid creature;
    PackedGuid master_looter;
    PackedGuid group_looter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidcreature
0x0C- / -PackedGuidmaster_looter
-- / -PackedGuidgroup_looter

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_list.wowm:9.

smsg SMSG_LOOT_LIST = 0x03F9 {
    Guid creature;
    PackedGuid master_looter;
    PackedGuid group_looter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidcreature
-- / -PackedGuidmaster_looter
-- / -PackedGuidgroup_looter

SMSG_LOOT_MASTER_LIST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_master_list.wowm:3.

smsg SMSG_LOOT_MASTER_LIST = 0x02A4 {
    u8 amount_of_players;
    Guid[amount_of_players] guids;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8amount_of_players
-? / -Guid[amount_of_players]guids

SMSG_LOOT_MONEY_NOTIFY

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_money_notify.wowm:1.

smsg SMSG_LOOT_MONEY_NOTIFY = 0x0163 {
    u32 amount;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_money_notify.wowm:7.

smsg SMSG_LOOT_MONEY_NOTIFY = 0x0163 {
    u32 amount;
    Bool alone;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount
0x081 / -BoolaloneControls the text displayed in chat. False is ‘Your share is…’ and true is ‘You loot…’

SMSG_LOOT_RELEASE_RESPONSE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_release_response.wowm:3.

smsg SMSG_LOOT_RELEASE_RESPONSE = 0x0161 {
    Guid guid;
    u8 unknown1;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C1 / -u8unknown1Set to 1 on mangoszero/vmangos/cmangos/azerothcraft/mangosone/mangostwo/arcemu

SMSG_LOOT_REMOVED

Client Version 1, Client Version 2, Client Version 3

Notify a looting player that an item has been taken.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_removed.wowm:4.

smsg SMSG_LOOT_REMOVED = 0x0162 {
    u8 slot;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8slot

SMSG_LOOT_RESPONSE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_response.wowm:73.

smsg SMSG_LOOT_RESPONSE = 0x0160 {
    Guid guid;
    LootMethod loot_method;
    if (loot_method == ERROR) {
        LootMethodError loot_error;
    }
    Gold gold;
    u8 amount_of_items;
    LootItem[amount_of_items] items;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidguid
-1 / -LootMethodloot_method

If loot_method is equal to ERROR:

OffsetSize / EndiannessTypeNameComment
-1 / -LootMethodErrorloot_error
-4 / LittleGoldgold
-1 / -u8amount_of_items
-? / -LootItem[amount_of_items]items

SMSG_LOOT_ROLL

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_roll.wowm:1.

smsg SMSG_LOOT_ROLL = 0x02A2 {
    Guid creature;
    u32 loot_slot;
    Guid player;
    Item item;
    u32 item_random_suffix;
    u32 item_random_property_id;
    u8 roll_number;
    RollVote vote;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidcreature
0x0C4 / Littleu32loot_slot
0x108 / LittleGuidplayer
0x184 / LittleItemitem
0x1C4 / Littleu32item_random_suffixvmangos/mangoszero: not used ?
0x204 / Littleu32item_random_property_id
0x241 / -u8roll_numbervmangos/cmangos/mangoszero: 0: Need for: item_name > 127: you passed on: item_name Roll number
0x251 / -RollVotevote

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_roll.wowm:17.

smsg SMSG_LOOT_ROLL = 0x02A2 {
    Guid creature;
    u32 loot_slot;
    Guid player;
    Item item;
    u32 item_random_suffix;
    u32 item_random_property_id;
    u8 roll_number;
    RollVote vote;
    u8 auto_pass;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidcreature
0x0C4 / Littleu32loot_slot
0x108 / LittleGuidplayer
0x184 / LittleItemitem
0x1C4 / Littleu32item_random_suffixvmangos/mangoszero: not used ?
0x204 / Littleu32item_random_property_id
0x241 / -u8roll_numbervmangos/cmangos/mangoszero: 0: Need for: item_name > 127: you passed on: item_name Roll number
0x251 / -RollVotevote
0x261 / -u8auto_passmangosone/arcemu sets to 0.
mangosone: auto pass on loot
arcemu: possibly related to disenchanting of loot
azerothcore: 1: ‘You automatically passed on: %s because you cannot loot that item.’ - Possibly used in need before greed

SMSG_LOOT_ROLL_WON

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_roll_won.wowm:1.

smsg SMSG_LOOT_ROLL_WON = 0x029F {
    Guid looted_target;
    u32 loot_slot;
    Item item;
    u32 item_random_suffix;
    u32 item_random_property_id;
    Guid winning_player;
    u8 winning_roll;
    RollVote vote;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidlooted_target
0x0C4 / Littleu32loot_slot
0x104 / LittleItemitem
0x144 / Littleu32item_random_suffixvmangos/mangoszero: not used ?
0x184 / Littleu32item_random_property_id
0x1C8 / LittleGuidwinning_player
0x241 / -u8winning_rollrollnumber related to SMSG_LOOT_ROLL
0x251 / -RollVotevoteRolltype related to SMSG_LOOT_ROLL

Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_roll_won.wowm:17.

smsg SMSG_LOOT_ROLL_WON = 0x029F {
    Guid looted_target;
    u32 loot_slot;
    Item item;
    u32 item_random_suffix;
    u32 item_random_property_id;
    Guid winning_player;
    u8 winning_roll;
    RollVote vote;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidlooted_target
0x0C4 / Littleu32loot_slot
0x104 / LittleItemitem
0x144 / Littleu32item_random_suffixvmangos/mangoszero: not used ?
0x184 / Littleu32item_random_property_id
0x1C8 / LittleGuidwinning_player
0x241 / -u8winning_rollrollnumber related to SMSG_LOOT_ROLL
0x251 / -RollVotevoteRolltype related to SMSG_LOOT_ROLL

SMSG_LOOT_START_ROLL

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_start_roll.wowm:1.

smsg SMSG_LOOT_START_ROLL = 0x02A1 {
    Guid creature;
    u32 loot_slot;
    Item item;
    u32 item_random_suffix;
    u32 item_random_property_id;
    Milliseconds countdown_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidcreature
0x0C4 / Littleu32loot_slot
0x104 / LittleItemitem
0x144 / Littleu32item_random_suffixvmangos/mangoszero: not used ?
0x184 / Littleu32item_random_property_id
0x1C4 / LittleMillisecondscountdown_time

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/loot/smsg_loot_start_roll.wowm:22.

smsg SMSG_LOOT_START_ROLL = 0x02A1 {
    Guid creature;
    Map map;
    u32 loot_slot;
    Item item;
    u32 item_random_suffix;
    u32 item_random_property_id;
    Milliseconds countdown_time;
    RollFlags flags;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidcreature
0x0C4 / -Mapmap
0x104 / Littleu32loot_slot
0x144 / LittleItemitem
0x184 / Littleu32item_random_suffixvmangos/mangoszero: not used ?
0x1C4 / Littleu32item_random_property_id
0x204 / LittleMillisecondscountdown_time
0x241 / -RollFlagsflags

SMSG_MAIL_LIST_RESULT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:110.

smsg SMSG_MAIL_LIST_RESULT = 0x023B {
    u8 amount_of_mails;
    Mail[amount_of_mails] mails;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8amount_of_mails
0x05? / -Mail[amount_of_mails]mails

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:110.

smsg SMSG_MAIL_LIST_RESULT = 0x023B {
    u8 amount_of_mails;
    Mail[amount_of_mails] mails;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8amount_of_mails
0x05? / -Mail[amount_of_mails]mails

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:167.

smsg SMSG_MAIL_LIST_RESULT = 0x023B {
    u32 real_mail_amount;
    u8 amount_of_mails;
    Mail[amount_of_mails] mails;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32real_mail_amountazerothcore: this will display warning about undelivered mail to player if realCount > mailsCount
-1 / -u8amount_of_mails
-? / -Mail[amount_of_mails]mails

SMSG_MEETINGSTONE_COMPLETE

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/meetingstone/smsg_meetingstone_complete.wowm:3.

smsg SMSG_MEETINGSTONE_COMPLETE = 0x0297 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_MEETINGSTONE_IN_PROGRESS

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/meetingstone/smsg_meetingstone_in_progress.wowm:3.

smsg SMSG_MEETINGSTONE_IN_PROGRESS = 0x0298 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_MEETINGSTONE_JOINFAILED

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/meetingstone/smsg_meetingstone_joinfailed.wowm:9.

smsg SMSG_MEETINGSTONE_JOINFAILED = 0x02BB {
    MeetingStoneFailure reason;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -MeetingStoneFailurereason

SMSG_MEETINGSTONE_MEMBER_ADDED

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/meetingstone/smsg_meetingstone_member_added.wowm:3.

smsg SMSG_MEETINGSTONE_MEMBER_ADDED = 0x0299 {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_MEETINGSTONE_SETQUEUE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/meetingstone/smsg_meetingstone_setqueue.wowm:14.

smsg SMSG_MEETINGSTONE_SETQUEUE = 0x0295 {
    Area area;
    MeetingStoneStatus status;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Areaarea
0x081 / -MeetingStoneStatusstatus

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/meetingstone/smsg_meetingstone_setqueue.wowm:14.

smsg SMSG_MEETINGSTONE_SETQUEUE = 0x0295 {
    Area area;
    MeetingStoneStatus status;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Areaarea
0x081 / -MeetingStoneStatusstatus

SMSG_MESSAGECHAT

Client Version 1.7, Client Version 1.8, Client Version 1.9, Client Version 1.10, Client Version 1.11, Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_messagechat.wowm:10.

smsg SMSG_MESSAGECHAT = 0x0096 {
    ChatType chat_type;
    Language language;
    if (chat_type == MONSTER_WHISPER
        || chat_type == RAID_BOSS_EMOTE
        || chat_type == MONSTER_EMOTE) {
        SizedCString monster_name;
        Guid monster;
    }
    else if (chat_type == SAY
        || chat_type == PARTY
        || chat_type == YELL) {
        Guid speech_bubble_credit;
        Guid chat_credit;
    }
    else if (chat_type == MONSTER_SAY
        || chat_type == MONSTER_YELL) {
        Guid sender1;
        SizedCString sender_name;
        Guid target;
    }
    else if (chat_type == CHANNEL) {
        CString channel_name;
        u32 player_rank;
        Guid player;
    }
    else {
        Guid sender2;
    }
    SizedCString message;
    PlayerChatTag tag;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ChatTypechat_type
0x054 / -Languagelanguage

If chat_type is equal to MONSTER_WHISPER or is equal to RAID_BOSS_EMOTE or is equal to MONSTER_EMOTE:

OffsetSize / EndiannessTypeNameComment
0x09- / -SizedCStringmonster_name
-8 / LittleGuidmonster

Else If chat_type is equal to SAY or is equal to PARTY or is equal to YELL:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidspeech_bubble_creditThis character will have the speech bubble above their head.
0 value credits same as chat_credit. Invalid value credits no one.
cmangos/vmangos/mangoszero: chat_credit and speech_bubble_credit are the same
-8 / LittleGuidchat_creditThis character will be appear to say this in the chat box.
0 value credits no name.
cmangos/vmangos/mangoszero: chat_credit and speech_bubble_credit are the same

Else If chat_type is equal to MONSTER_SAY or is equal to MONSTER_YELL:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidsender1
-- / -SizedCStringsender_name
-8 / LittleGuidtarget

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel_name
-4 / Littleu32player_rank
-8 / LittleGuidplayer

Else: | - | 8 / Little | Guid | sender2 | | | - | - / - | SizedCString | message | | | - | 1 / - | PlayerChatTag | tag | |

Examples

Example 1

0, 51, // size
150, 0, // opcode (150)
0, // chat_type: ChatType SAY (0x00)
0, 0, 0, 0, // language: Language UNIVERSAL (0)
5, 0, 0, 0, 0, 0, 0, 0, // speech_bubble_credit: Guid
5, 0, 0, 0, 0, 0, 0, 0, // chat_credit: Guid
23, 0, 0, 0,  // SizedCString.length
84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 115, 97, 121, 32, 109, 101, 115, 115, 97, 103, 101, 46, 0, // message: SizedCString
0, // tag: PlayerChatTag NONE (0)

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_messagechat.wowm:84.

smsg SMSG_MESSAGECHAT = 0x0096 {
    ChatType chat_type;
    (u32)Language language;
    if (chat_type == MONSTER_SAY
        || chat_type == MONSTER_PARTY
        || chat_type == MONSTER_YELL
        || chat_type == MONSTER_WHISPER
        || chat_type == RAID_BOSS_WHISPER
        || chat_type == RAID_BOSS_EMOTE
        || chat_type == MONSTER_EMOTE) {
        SizedCString sender;
        NamedGuid target1;
    }
    else if (chat_type == BG_SYSTEM_NEUTRAL
        || chat_type == BG_SYSTEM_ALLIANCE
        || chat_type == BG_SYSTEM_HORDE) {
        NamedGuid target2;
    }
    else if (chat_type == CHANNEL) {
        CString channel_name;
        Guid target4;
    }
    else {
        Guid target5;
    }
    SizedCString message;
    PlayerChatTag tag;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ChatTypechat_type
0x054 / -Languagelanguage

If chat_type is equal to MONSTER_SAY or is equal to MONSTER_PARTY or is equal to MONSTER_YELL or is equal to MONSTER_WHISPER or is equal to RAID_BOSS_WHISPER or is equal to RAID_BOSS_EMOTE or is equal to MONSTER_EMOTE:

OffsetSize / EndiannessTypeNameComment
0x09- / -SizedCStringsender
-- / -NamedGuidtarget1

Else If chat_type is equal to BG_SYSTEM_NEUTRAL or is equal to BG_SYSTEM_ALLIANCE or is equal to BG_SYSTEM_HORDE:

OffsetSize / EndiannessTypeNameComment
-- / -NamedGuidtarget2

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel_name
-8 / LittleGuidtarget4

Else: | - | 8 / Little | Guid | target5 | | | - | - / - | SizedCString | message | | | - | 1 / - | PlayerChatTag | tag | |

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_messagechat.wowm:116.

smsg SMSG_MESSAGECHAT = 0x0096 {
    ChatType chat_type;
    (u32)Language language;
    Guid sender;
    u32 flags;
    if (chat_type == MONSTER_SAY
        || chat_type == MONSTER_PARTY
        || chat_type == MONSTER_YELL
        || chat_type == MONSTER_WHISPER
        || chat_type == RAID_BOSS_WHISPER
        || chat_type == RAID_BOSS_EMOTE
        || chat_type == MONSTER_EMOTE
        || chat_type == BATTLENET) {
        SizedCString sender1;
        NamedGuid target1;
    }
    else if (chat_type == WHISPER_FOREIGN) {
        SizedCString sender2;
        Guid target2;
    }
    else if (chat_type == BG_SYSTEM_NEUTRAL
        || chat_type == BG_SYSTEM_ALLIANCE
        || chat_type == BG_SYSTEM_HORDE) {
        NamedGuid target3;
    }
    else if (chat_type == ACHIEVEMENT
        || chat_type == GUILD_ACHIEVEMENT) {
        Guid target4;
    }
    else if (chat_type == CHANNEL) {
        CString channel_name;
        Guid target5;
    }
    else {
        Guid target6;
    }
    SizedCString message;
    PlayerChatTag tag;
    if (chat_type == ACHIEVEMENT
        || chat_type == GUILD_ACHIEVEMENT) {
        u32 achievement_id;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -ChatTypechat_type
-4 / -Languagelanguage
-8 / LittleGuidsender
-4 / Littleu32flagsazerothcore sets to 0.

If chat_type is equal to MONSTER_SAY or is equal to MONSTER_PARTY or is equal to MONSTER_YELL or is equal to MONSTER_WHISPER or is equal to RAID_BOSS_WHISPER or is equal to RAID_BOSS_EMOTE or is equal to MONSTER_EMOTE or is equal to BATTLENET:

OffsetSize / EndiannessTypeNameComment
-- / -SizedCStringsender1
-- / -NamedGuidtarget1

Else If chat_type is equal to WHISPER_FOREIGN:

OffsetSize / EndiannessTypeNameComment
-- / -SizedCStringsender2
-8 / LittleGuidtarget2

Else If chat_type is equal to BG_SYSTEM_NEUTRAL or is equal to BG_SYSTEM_ALLIANCE or is equal to BG_SYSTEM_HORDE:

OffsetSize / EndiannessTypeNameComment
-- / -NamedGuidtarget3

Else If chat_type is equal to ACHIEVEMENT or is equal to GUILD_ACHIEVEMENT:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidtarget4

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel_name
-8 / LittleGuidtarget5

Else: | - | 8 / Little | Guid | target6 | | | - | - / - | SizedCString | message | | | - | 1 / - | PlayerChatTag | tag | |

If chat_type is equal to ACHIEVEMENT or is equal to GUILD_ACHIEVEMENT:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32achievement_id

SMSG_MIRRORIMAGE_DATA

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_mirrorimage_data.wowm:1.

smsg SMSG_MIRRORIMAGE_DATA = 0x0401 {
    Guid guid;
    u32 display_id;
    Race race;
    Gender gender;
    u8 skin_color;
    u8 face;
    u8 hair_style;
    u8 hair_color;
    u8 facial_hair;
    u32 guild_id;
    u32[11] display_ids;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32display_id
0x101 / -Racerace
0x111 / -Gendergender
0x121 / -u8skin_color
0x131 / -u8face
0x141 / -u8hair_style
0x151 / -u8hair_color
0x161 / -u8facial_hair
0x174 / Littleu32guild_id
0x1B44 / -u32[11]display_idsThis array contains the: HEAD, SHOULDERS, BODY, CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, BACK, and TABARD.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_mirrorimage_data.wowm:18.

smsg SMSG_MIRRORIMAGE_DATA = 0x0402 {
    Guid guid;
    u32 display_id;
    Race race;
    Gender gender;
    Class class;
    u8 skin_color;
    u8 face;
    u8 hair_style;
    u8 hair_color;
    u8 facial_hair;
    u32 guild_id;
    u32[11] display_ids;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32display_id
0x101 / -Racerace
0x111 / -Gendergender
0x121 / -Classclass
0x131 / -u8skin_color
0x141 / -u8face
0x151 / -u8hair_style
0x161 / -u8hair_color
0x171 / -u8facial_hair
0x184 / Littleu32guild_id
0x1C44 / -u32[11]display_idsThis array contains the: HEAD, SHOULDERS, BODY, CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, BACK, and TABARD.

SMSG_MODIFY_COOLDOWN

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_modify_cooldown.wowm:1.

smsg SMSG_MODIFY_COOLDOWN = 0x0491 {
    Spell spell;
    Guid player;
    Milliseconds cooldown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellspell
0x088 / LittleGuidplayer
0x104 / LittleMillisecondscooldown

SMSG_MONSTER_MOVE

Client Version 1.12, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_monster_move.wowm:11.

smsg SMSG_MONSTER_MOVE = 0x00DD {
    PackedGuid guid;
    Vector3d spline_point;
    u32 spline_id;
    MonsterMoveType move_type;
    if (move_type == FACING_TARGET) {
        Guid target;
    }
    else if (move_type == FACING_ANGLE) {
        f32 angle;
    }
    else if (move_type == FACING_SPOT) {
        Vector3d position;
    }
    SplineFlag spline_flags;
    u32 duration;
    MonsterMoveSplines splines;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-12 / -Vector3dspline_point
-4 / Littleu32spline_id
-1 / -MonsterMoveTypemove_type

If move_type is equal to FACING_TARGET:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidtarget

Else If move_type is equal to FACING_ANGLE:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32angle

Else If move_type is equal to FACING_SPOT:

OffsetSize / EndiannessTypeNameComment
-12 / -Vector3dposition
-4 / -SplineFlagspline_flags
-4 / Littleu32duration
-- / -MonsterMoveSplinesplines

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_monster_move.wowm:31.

smsg SMSG_MONSTER_MOVE = 0x00DD {
    PackedGuid guid;
    u8 unknown;
    Vector3d spline_point;
    u32 spline_id;
    MonsterMoveType move_type;
    if (move_type == FACING_TARGET) {
        Guid target;
    }
    else if (move_type == FACING_ANGLE) {
        f32 angle;
    }
    else if (move_type == FACING_SPOT) {
        Vector3d position;
    }
    SplineFlag spline_flags;
    if (spline_flags & ENTER_CYCLE) {
        u32 animation_id;
        u32 animation_start_time;
    }
    u32 duration;
    if (spline_flags & PARABOLIC) {
        f32 vertical_acceleration;
        u32 effect_start_time;
    }
    MonsterMoveSplines splines;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-1 / -u8unknowncmangos-wotlk sets to 0
-12 / -Vector3dspline_point
-4 / Littleu32spline_id
-1 / -MonsterMoveTypemove_type

If move_type is equal to FACING_TARGET:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidtarget

Else If move_type is equal to FACING_ANGLE:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32angle

Else If move_type is equal to FACING_SPOT:

OffsetSize / EndiannessTypeNameComment
-12 / -Vector3dposition
-4 / -SplineFlagspline_flags

If spline_flags contains ENTER_CYCLE:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32animation_id
-4 / Littleu32animation_start_time
-4 / Littleu32duration

If spline_flags contains PARABOLIC:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32vertical_acceleration
-4 / Littleu32effect_start_time
-- / -MonsterMoveSplinesplines

SMSG_MONSTER_MOVE_TRANSPORT

Client Version 1.12, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_monster_move_transport.wowm:1.

smsg SMSG_MONSTER_MOVE_TRANSPORT = 0x02AE {
    PackedGuid guid;
    PackedGuid transport;
    Vector3d spline_point;
    u32 spline_id;
    MonsterMoveType move_type;
    if (move_type == FACING_TARGET) {
        Guid target;
    }
    else if (move_type == FACING_ANGLE) {
        f32 angle;
    }
    else if (move_type == FACING_SPOT) {
        Vector3d position;
    }
    SplineFlag spline_flags;
    u32 duration;
    MonsterMoveSplines splines;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -PackedGuidtransport
-12 / -Vector3dspline_point
-4 / Littleu32spline_id
-1 / -MonsterMoveTypemove_type

If move_type is equal to FACING_TARGET:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidtarget

Else If move_type is equal to FACING_ANGLE:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32angle

Else If move_type is equal to FACING_SPOT:

OffsetSize / EndiannessTypeNameComment
-12 / -Vector3dposition
-4 / -SplineFlagspline_flags
-4 / Littleu32duration
-- / -MonsterMoveSplinesplines

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_monster_move_transport.wowm:21.

smsg SMSG_MONSTER_MOVE_TRANSPORT = 0x02AE {
    PackedGuid guid;
    PackedGuid transport;
    u8 unknown;
    Vector3d spline_point;
    u32 spline_id;
    MonsterMoveType move_type;
    if (move_type == FACING_TARGET) {
        Guid target;
    }
    else if (move_type == FACING_ANGLE) {
        f32 angle;
    }
    else if (move_type == FACING_SPOT) {
        Vector3d position;
    }
    SplineFlag spline_flags;
    if (spline_flags & ENTER_CYCLE) {
        u32 animation_id;
        u32 animation_start_time;
    }
    u32 duration;
    if (spline_flags & PARABOLIC) {
        f32 vertical_acceleration;
        u32 effect_start_time;
    }
    MonsterMoveSplines splines;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-- / -PackedGuidtransport
-1 / -u8unknowncmangos-wotlk sets to 0
-12 / -Vector3dspline_point
-4 / Littleu32spline_id
-1 / -MonsterMoveTypemove_type

If move_type is equal to FACING_TARGET:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidtarget

Else If move_type is equal to FACING_ANGLE:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32angle

Else If move_type is equal to FACING_SPOT:

OffsetSize / EndiannessTypeNameComment
-12 / -Vector3dposition
-4 / -SplineFlagspline_flags

If spline_flags contains ENTER_CYCLE:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32animation_id
-4 / Littleu32animation_start_time
-4 / Littleu32duration

If spline_flags contains PARABOLIC:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32vertical_acceleration
-4 / Littleu32effect_start_time
-- / -MonsterMoveSplinesplines

SMSG_MOTD

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_motd.wowm:1.

smsg SMSG_MOTD = 0x033D {
    u32 amount_of_motds;
    CString[amount_of_motds] motds;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_motds
-? / -CString[amount_of_motds]motds

Examples

Example 1

0, 116, // size
61, 3, // opcode (829)
2, 0, 0, 0, // amount_of_motds: u32
87, 101, 108, 99, 111, 109, 101, 32, 116, 111, 32, 97, 110, 32, 65, 122, 101, 114, 
111, 116, 104, 67, 111, 114, 101, 32, 115, 101, 114, 118, 101, 114, 46, 0, 124, 
99, 102, 102, 70, 70, 52, 65, 50, 68, 84, 104, 105, 115, 32, 115, 101, 114, 118, 
101, 114, 32, 114, 117, 110, 115, 32, 111, 110, 32, 65, 122, 101, 114, 111, 116, 
104, 67, 111, 114, 101, 124, 114, 32, 124, 99, 102, 102, 51, 67, 69, 55, 70, 70, 
119, 119, 119, 46, 97, 122, 101, 114, 111, 116, 104, 99, 111, 114, 101, 46, 111, 
114, 103, 124, 114, 0, // motds: CString[amount_of_motds]

SMSG_MOUNTRESULT

Client Version 1, Client Version 2, Client Version 3

This is not used in any TBC emulator, but trinitycore has it implemented so it is assumed to be valid for TBC as well.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mount/smsg_mountresult.wowm:29.

smsg SMSG_MOUNTRESULT = 0x016E {
    MountResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -MountResultresult

SMSG_MOUNTSPECIAL_ANIM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mount/smsg_mountspecial_anim.wowm:3.

smsg SMSG_MOUNTSPECIAL_ANIM = 0x0172 {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_MOVE_FEATHER_FALL

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_feather_fall.wowm:3.

smsg SMSG_MOVE_FEATHER_FALL = 0x00F2 {
    PackedGuid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32counter

SMSG_MOVE_GRAVITY_DISABLE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_gravity_disable.wowm:1.

smsg SMSG_MOVE_GRAVITY_DISABLE = 0x04CE {
    PackedGuid unit;
    u32 movement_counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit
-4 / Littleu32movement_counter

SMSG_MOVE_GRAVITY_ENABLE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_gravity_enable.wowm:1.

smsg SMSG_MOVE_GRAVITY_ENABLE = 0x04D0 {
    PackedGuid unit;
    u32 movement_counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit
-4 / Littleu32movement_counter

SMSG_MOVE_KNOCK_BACK

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_knock_back.wowm:3.

smsg SMSG_MOVE_KNOCK_BACK = 0x00EF {
    PackedGuid guid;
    u32 movement_counter;
    f32 v_cos;
    f32 v_sin;
    f32 horizontal_speed;
    f32 vertical_speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32movement_countermangoszero: Sequence
mangoszero sets to 0
-4 / Littlef32v_coscmangos/mangoszero/vmangos: x direction
-4 / Littlef32v_sincmangos/mangoszero/vmangos: y direction
-4 / Littlef32horizontal_speedcmangos/mangoszero/vmangos: Horizontal speed
-4 / Littlef32vertical_speedcmangos/mangoszero/vmangos: Z Movement speed (vertical)

SMSG_MOVE_LAND_WALK

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_land_walk.wowm:3.

smsg SMSG_MOVE_LAND_WALK = 0x00DF {
    PackedGuid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32counter

SMSG_MOVE_NORMAL_FALL

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_normal_fall.wowm:3.

smsg SMSG_MOVE_NORMAL_FALL = 0x00F3 {
    PackedGuid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32counter

SMSG_MOVE_SET_CAN_FLY

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_set_can_fly.wowm:1.

smsg SMSG_MOVE_SET_CAN_FLY = 0x0343 {
    PackedGuid player;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-4 / Littleu32counter

SMSG_MOVE_SET_COLLISION_HGT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_set_collision_hgt.wowm:1.

smsg SMSG_MOVE_SET_COLLISION_HGT = 0x0516 {
    PackedGuid unit;
    u32 packet_counter;
    f32 collision_height;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit
-4 / Littleu32packet_counter
-4 / Littlef32collision_height

SMSG_MOVE_SET_FLIGHT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_set_flight.wowm:1.

smsg SMSG_MOVE_SET_FLIGHT = 0x033E {
    Guid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32counter

SMSG_MOVE_SET_HOVER

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_set_hover.wowm:3.

smsg SMSG_MOVE_SET_HOVER = 0x00F4 {
    PackedGuid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32counter

SMSG_MOVE_UNSET_CAN_FLY

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_unset_can_fly.wowm:1.

smsg SMSG_MOVE_UNSET_CAN_FLY = 0x0344 {
    PackedGuid player;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-4 / Littleu32counter

SMSG_MOVE_UNSET_FLIGHT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_unset_flight.wowm:1.

smsg SMSG_MOVE_UNSET_FLIGHT = 0x033F {
    Guid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32counter

SMSG_MOVE_UNSET_HOVER

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_unset_hover.wowm:3.

smsg SMSG_MOVE_UNSET_HOVER = 0x00F5 {
    PackedGuid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32counter

SMSG_MOVE_WATER_WALK

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_move_water_walk.wowm:3.

smsg SMSG_MOVE_WATER_WALK = 0x00DE {
    PackedGuid guid;
    u32 counter;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littleu32counter

SMSG_MULTIPLE_MOVES

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_multiple_moves.wowm:20.

smsg SMSG_MULTIPLE_MOVES = 0x051E {
    u32 size = self.size;
    MiniMoveMessage[-] moves;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32size
-? / -MiniMoveMessage[-]moves

SMSG_NAME_QUERY_RESPONSE

Client Version 1.12

Response to CMSG_NAME_QUERY.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_name_query_response.wowm:2.

smsg SMSG_NAME_QUERY_RESPONSE = 0x0051 {
    Guid guid;
    CString character_name;
    CString realm_name;
    (u32)Race race;
    (u32)Gender gender;
    (u32)Class class;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C- / -CStringcharacter_name
-- / -CStringrealm_nameUsed for showing cross realm realm names. If this is an empty string it is shown like a regular player on the same realm.
-4 / -Racerace
-4 / -Gendergender
-4 / -Classclass

Examples

Example 1

0, 28, // size
81, 0, // opcode (81)
239, 190, 173, 222, 0, 0, 0, 0, // guid: Guid
65, 115, 100, 102, 0, // character_name: CString
0, // realm_name: CString
1, 0, 0, 0, // race: Race HUMAN (1)
0, 0, 0, 0, // gender: Gender MALE (0)
1, 0, 0, 0, // class: Class WARRIOR (1)

Example 2

0, 29, // size
81, 0, // opcode (81)
239, 190, 173, 222, 0, 0, 0, 0, // guid: Guid
65, 115, 100, 102, 0, // character_name: CString
65, 0, // realm_name: CString
1, 0, 0, 0, // race: Race HUMAN (1)
0, 0, 0, 0, // gender: Gender MALE (0)
1, 0, 0, 0, // class: Class WARRIOR (1)

Client Version 2.4.3

Response to CMSG_NAME_QUERY.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_name_query_response.wowm:22.

smsg SMSG_NAME_QUERY_RESPONSE = 0x0051 {
    PackedGuid guid;
    CString character_name;
    CString realm_name;
    (u32)Race race;
    (u32)Gender gender;
    (u32)Class class;
    DeclinedNames has_declined_names;
    if (has_declined_names == YES) {
        CString[5] declined_names;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-- / -CStringcharacter_name
-- / -CStringrealm_nameUsed for showing cross realm realm names. If this is an empty string it is shown like a regular player on the same realm.
-4 / -Racerace
-4 / -Gendergender
-4 / -Classclass
-1 / -DeclinedNameshas_declined_names

If has_declined_names is equal to YES:

OffsetSize / EndiannessTypeNameComment
-? / -CString[5]declined_names

Client Version 3.3.5

Response to CMSG_NAME_QUERY.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_name_query_response.wowm:39.

smsg SMSG_NAME_QUERY_RESPONSE = 0x0051 {
    PackedGuid guid;
    u8 early_terminate = 0;
    CString character_name;
    CString realm_name;
    Race race;
    Gender gender;
    Class class;
    DeclinedNames has_declined_names;
    if (has_declined_names == YES) {
        CString[5] declined_names;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-1 / -u8early_terminateAdded in 3.1
When this is 1, the packet stops early. However, there is as of yet no good reason to ever send 1, so this is const
-- / -CStringcharacter_name
-- / -CStringrealm_nameUsed for showing cross realm realm names. If this is an empty string it is shown like a regular player on the same realm.
-1 / -Racerace
-1 / -Gendergender
-1 / -Classclass
-1 / -DeclinedNameshas_declined_names

If has_declined_names is equal to YES:

OffsetSize / EndiannessTypeNameComment
-? / -CString[5]declined_names

SMSG_NEW_TAXI_PATH

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_new_taxi_path.wowm:3.

smsg SMSG_NEW_TAXI_PATH = 0x01AF {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_NEW_WORLD

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_new_world.wowm:1.

smsg SMSG_NEW_WORLD = 0x003E {
    Map map;
    Vector3d position;
    f32 orientation;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x0812 / -Vector3dposition
0x144 / Littlef32orientation

Examples

Example 1

0, 22, // size
62, 0, // opcode (62)
1, 0, 0, 0, // map: Map KALIMDOR (1)
0, 160, 186, 68, // Vector3d.x: f32
0, 236, 137, 197, // Vector3d.y: f32
205, 204, 184, 65, // Vector3d.z: f32
205, 204, 76, 62, // orientation: f32

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_new_world.wowm:1.

smsg SMSG_NEW_WORLD = 0x003E {
    Map map;
    Vector3d position;
    f32 orientation;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x0812 / -Vector3dposition
0x144 / Littlef32orientation

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_new_world.wowm:1.

smsg SMSG_NEW_WORLD = 0x003E {
    Map map;
    Vector3d position;
    f32 orientation;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x0812 / -Vector3dposition
0x144 / Littlef32orientation

SMSG_NOTIFICATION

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_notification.wowm:3.

smsg SMSG_NOTIFICATION = 0x01CB {
    CString notification;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringnotification

SMSG_NPC_TEXT_UPDATE

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_npc_text_update.wowm:10.

smsg SMSG_NPC_TEXT_UPDATE = 0x0180 {
    u32 text_id;
    NpcTextUpdate[8] texts;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32text_id
0x08? / -NpcTextUpdate[8]texts

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_npc_text_update.wowm:10.

smsg SMSG_NPC_TEXT_UPDATE = 0x0180 {
    u32 text_id;
    NpcTextUpdate[8] texts;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32text_id
0x08? / -NpcTextUpdate[8]texts

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gossip/smsg_npc_text_update.wowm:10.

smsg SMSG_NPC_TEXT_UPDATE = 0x0180 {
    u32 text_id;
    NpcTextUpdate[8] texts;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32text_id
-? / -NpcTextUpdate[8]texts

SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vehicle/smsg_on_cancel_expected_ride_vehicle_aura.wowm:1.

smsg SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x049D {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_OPEN_CONTAINER

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_open_container.wowm:3.

smsg SMSG_OPEN_CONTAINER = 0x0113 {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_OVERRIDE_LIGHT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/cinematic/smsg_override_light.wowm:1.

smsg SMSG_OVERRIDE_LIGHT = 0x0411 {
    u32 default_id;
    u32 id_override;
    Seconds fade_in_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32default_id
0x084 / Littleu32id_override
0x0C4 / LittleSecondsfade_in_time

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/cinematic/smsg_override_light.wowm:9.

smsg SMSG_OVERRIDE_LIGHT = 0x0412 {
    u32 default_id;
    u32 id_override;
    Seconds fade_in_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32default_id
0x084 / Littleu32id_override
0x0C4 / LittleSecondsfade_in_time

SMSG_PAGE_TEXT_QUERY_RESPONSE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_page_text_query_response.wowm:3.

smsg SMSG_PAGE_TEXT_QUERY_RESPONSE = 0x005B {
    u32 page_id;
    CString text;
    u32 next_page_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32page_id
-- / -CStringtext
-4 / Littleu32next_page_id

SMSG_PARTYKILLLOG

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_partykilllog.wowm:3.

smsg SMSG_PARTYKILLLOG = 0x01F5 {
    Guid player_with_killing_blow;
    Guid victim;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidplayer_with_killing_blow
0x0C8 / LittleGuidvictim

SMSG_PARTY_COMMAND_RESULT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_command_result.wowm:39.

smsg SMSG_PARTY_COMMAND_RESULT = 0x007F {
    (u32)PartyOperation operation;
    CString member;
    (u32)PartyResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -PartyOperationoperation
0x08- / -CStringmember
-4 / -PartyResultresult

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_command_result.wowm:49.

smsg SMSG_PARTY_COMMAND_RESULT = 0x007F {
    (u32)PartyOperation operation;
    CString member;
    (u32)PartyResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -PartyOperationoperation
0x08- / -CStringmember
-4 / -PartyResultresult

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_command_result.wowm:49.

smsg SMSG_PARTY_COMMAND_RESULT = 0x007F {
    (u32)PartyOperation operation;
    CString member;
    (u32)PartyResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -PartyOperationoperation
-- / -CStringmember
-4 / -PartyResultresult

SMSG_PARTY_MEMBER_STATS

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_member_stats.wowm:1.

smsg SMSG_PARTY_MEMBER_STATS = 0x007E {
    PackedGuid guid;
    GroupUpdateFlags mask;
    if (mask & STATUS) {
        GroupMemberOnlineStatus status;
    }
    if (mask & CUR_HP) {
        u16 current_health;
    }
    if (mask & MAX_HP) {
        u16 max_health;
    }
    if (mask & POWER_TYPE) {
        Power power;
    }
    if (mask & CUR_POWER) {
        u16 current_power;
    }
    if (mask & MAX_POWER) {
        u16 max_power;
    }
    if (mask & LEVEL) {
        Level16 level;
    }
    if (mask & ZONE) {
        Area area;
    }
    if (mask & POSITION) {
        u16 position_x;
        u16 position_y;
    }
    if (mask & AURAS) {
        AuraMask auras;
    }
    if (mask & AURAS_2) {
        AuraMask negative_auras;
    }
    if (mask & PET_GUID) {
        Guid pet;
    }
    if (mask & PET_NAME) {
        CString pet_name;
    }
    if (mask & PET_MODEL_ID) {
        u16 pet_display_id;
    }
    if (mask & PET_CUR_HP) {
        u16 pet_current_health;
    }
    if (mask & PET_MAX_HP) {
        u16 pet_max_health;
    }
    if (mask & PET_POWER_TYPE) {
        Power pet_power_type;
    }
    if (mask & PET_CUR_POWER) {
        u16 pet_current_power;
    }
    if (mask & PET_MAX_POWER) {
        u16 pet_max_power;
    }
    if (mask & PET_AURAS) {
        AuraMask pet_auras;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-4 / -GroupUpdateFlagsmask

If mask contains STATUS:

OffsetSize / EndiannessTypeNameComment
-1 / -GroupMemberOnlineStatusstatus

If mask contains CUR_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16current_health

If mask contains MAX_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16max_health

If mask contains POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpower

If mask contains CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16current_power

If mask contains MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16max_power

If mask contains LEVEL:

OffsetSize / EndiannessTypeNameComment
-2 / LittleLevel16level

If mask contains ZONE:

OffsetSize / EndiannessTypeNameComment
-4 / -Areaarea

If mask contains POSITION:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16position_xcmangos: float cast to u16
-2 / Littleu16position_ycmangos: float cast to u16

If mask contains AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskaurascmangos: In all checked pre-2.x data of packets included only positive auras

If mask contains AURAS_2:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMasknegative_auras

If mask contains PET_GUID:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidpet

If mask contains PET_NAME:

OffsetSize / EndiannessTypeNameComment
-- / -CStringpet_name

If mask contains PET_MODEL_ID:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_display_id

If mask contains PET_CUR_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_current_health

If mask contains PET_MAX_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_max_health

If mask contains PET_POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpet_power_type

If mask contains PET_CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_current_power

If mask contains PET_MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_max_power

If mask contains PET_AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskpet_auras

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_member_stats.wowm:72.

smsg SMSG_PARTY_MEMBER_STATS = 0x007E {
    PackedGuid guid;
    GroupUpdateFlags mask;
    if (mask & STATUS) {
        GroupMemberOnlineStatus status;
    }
    if (mask & CUR_HP) {
        u16 current_health;
    }
    if (mask & MAX_HP) {
        u16 max_health;
    }
    if (mask & POWER_TYPE) {
        Power power;
    }
    if (mask & CUR_POWER) {
        u16 current_power;
    }
    if (mask & MAX_POWER) {
        u16 max_power;
    }
    if (mask & LEVEL) {
        Level16 level;
    }
    if (mask & ZONE) {
        Area area;
    }
    if (mask & POSITION) {
        u16 position_x;
        u16 position_y;
    }
    if (mask & AURAS) {
        AuraMask auras;
    }
    if (mask & PET_GUID) {
        Guid pet;
    }
    if (mask & PET_NAME) {
        CString pet_name;
    }
    if (mask & PET_MODEL_ID) {
        u16 pet_display_id;
    }
    if (mask & PET_CUR_HP) {
        u16 pet_current_health;
    }
    if (mask & PET_MAX_HP) {
        u16 pet_max_health;
    }
    if (mask & PET_POWER_TYPE) {
        Power pet_power_type;
    }
    if (mask & PET_CUR_POWER) {
        u16 pet_current_power;
    }
    if (mask & PET_MAX_POWER) {
        u16 pet_max_power;
    }
    if (mask & PET_AURAS) {
        AuraMask pet_auras;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-4 / -GroupUpdateFlagsmask

If mask contains STATUS:

OffsetSize / EndiannessTypeNameComment
-1 / -GroupMemberOnlineStatusstatus

If mask contains CUR_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16current_health

If mask contains MAX_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16max_health

If mask contains POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpower

If mask contains CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16current_power

If mask contains MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16max_power

If mask contains LEVEL:

OffsetSize / EndiannessTypeNameComment
-2 / LittleLevel16level

If mask contains ZONE:

OffsetSize / EndiannessTypeNameComment
-4 / -Areaarea

If mask contains POSITION:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16position_xcmangos: float cast to u16
-2 / Littleu16position_ycmangos: float cast to u16

If mask contains AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskaurascmangos: In all checked pre-2.x data of packets included only positive auras

If mask contains PET_GUID:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidpet

If mask contains PET_NAME:

OffsetSize / EndiannessTypeNameComment
-- / -CStringpet_name

If mask contains PET_MODEL_ID:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_display_id

If mask contains PET_CUR_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_current_health

If mask contains PET_MAX_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_max_health

If mask contains PET_POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpet_power_type

If mask contains PET_CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_current_power

If mask contains PET_MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_max_power

If mask contains PET_AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskpet_auras

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_member_stats.wowm:148.

smsg SMSG_PARTY_MEMBER_STATS = 0x007E {
    PackedGuid guid;
    GroupUpdateFlags mask;
    if (mask & STATUS) {
        GroupMemberOnlineStatus status;
    }
    if (mask & CUR_HP) {
        u32 current_health;
    }
    if (mask & MAX_HP) {
        u32 max_health;
    }
    if (mask & POWER_TYPE) {
        Power power;
    }
    if (mask & CUR_POWER) {
        u16 current_power;
    }
    if (mask & MAX_POWER) {
        u16 max_power;
    }
    if (mask & LEVEL) {
        Level16 level;
    }
    if (mask & ZONE) {
        Area area;
    }
    if (mask & POSITION) {
        u16 position_x;
        u16 position_y;
    }
    if (mask & AURAS) {
        AuraMask auras;
    }
    if (mask & PET_GUID) {
        Guid pet;
    }
    if (mask & PET_NAME) {
        CString pet_name;
    }
    if (mask & PET_MODEL_ID) {
        u16 pet_display_id;
    }
    if (mask & PET_CUR_HP) {
        u32 pet_current_health;
    }
    if (mask & PET_MAX_HP) {
        u32 pet_max_health;
    }
    if (mask & PET_POWER_TYPE) {
        Power pet_power_type;
    }
    if (mask & PET_CUR_POWER) {
        u16 pet_current_power;
    }
    if (mask & PET_MAX_POWER) {
        u16 pet_max_power;
    }
    if (mask & PET_AURAS) {
        AuraMask pet_auras;
    }
    if (mask & VEHICLE_SEAT) {
        u32 transport;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / -GroupUpdateFlagsmask

If mask contains STATUS:

OffsetSize / EndiannessTypeNameComment
-1 / -GroupMemberOnlineStatusstatus

If mask contains CUR_HP:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32current_health

If mask contains MAX_HP:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32max_health

If mask contains POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpower

If mask contains CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16current_power

If mask contains MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16max_power

If mask contains LEVEL:

OffsetSize / EndiannessTypeNameComment
-2 / LittleLevel16level

If mask contains ZONE:

OffsetSize / EndiannessTypeNameComment
-4 / -Areaarea

If mask contains POSITION:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16position_xcmangos: float cast to u16
-2 / Littleu16position_ycmangos: float cast to u16

If mask contains AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskaurascmangos: In all checked pre-2.x data of packets included only positive auras

If mask contains PET_GUID:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidpet

If mask contains PET_NAME:

OffsetSize / EndiannessTypeNameComment
-- / -CStringpet_name

If mask contains PET_MODEL_ID:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_display_id

If mask contains PET_CUR_HP:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32pet_current_health

If mask contains PET_MAX_HP:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32pet_max_health

If mask contains PET_POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpet_power_type

If mask contains PET_CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_current_power

If mask contains PET_MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_max_power

If mask contains PET_AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskpet_auras

If mask contains VEHICLE_SEAT:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32transport

SMSG_PARTY_MEMBER_STATS_FULL

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_member_stats_full.wowm:1.

smsg SMSG_PARTY_MEMBER_STATS_FULL = 0x02F2 {
    PackedGuid player;
    GroupUpdateFlags mask;
    if (mask & STATUS) {
        GroupMemberOnlineStatus status;
    }
    if (mask & CUR_HP) {
        u16 current_health;
    }
    if (mask & MAX_HP) {
        u16 max_health;
    }
    if (mask & POWER_TYPE) {
        Power power;
    }
    if (mask & CUR_POWER) {
        u16 current_power;
    }
    if (mask & MAX_POWER) {
        u16 max_power;
    }
    if (mask & LEVEL) {
        Level16 level;
    }
    if (mask & ZONE) {
        Area area;
    }
    if (mask & POSITION) {
        u16 position_x;
        u16 position_y;
    }
    if (mask & AURAS) {
        AuraMask auras;
    }
    if (mask & PET_GUID) {
        Guid pet;
    }
    if (mask & PET_NAME) {
        CString pet_name;
    }
    if (mask & PET_MODEL_ID) {
        u16 pet_display_id;
    }
    if (mask & PET_CUR_HP) {
        u16 pet_current_health;
    }
    if (mask & PET_MAX_HP) {
        u16 pet_max_health;
    }
    if (mask & PET_POWER_TYPE) {
        Power pet_power_type;
    }
    if (mask & PET_CUR_POWER) {
        u16 pet_current_power;
    }
    if (mask & PET_MAX_POWER) {
        u16 pet_max_power;
    }
    if (mask & PET_AURAS) {
        AuraMask pet_auras;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidplayer
-4 / -GroupUpdateFlagsmask

If mask contains STATUS:

OffsetSize / EndiannessTypeNameComment
-1 / -GroupMemberOnlineStatusstatus

If mask contains CUR_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16current_health

If mask contains MAX_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16max_health

If mask contains POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpower

If mask contains CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16current_power

If mask contains MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16max_power

If mask contains LEVEL:

OffsetSize / EndiannessTypeNameComment
-2 / LittleLevel16level

If mask contains ZONE:

OffsetSize / EndiannessTypeNameComment
-4 / -Areaarea

If mask contains POSITION:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16position_xcmangos: float cast to u16
-2 / Littleu16position_ycmangos: float cast to u16

If mask contains AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskaurascmangos: In all checked pre-2.x data of packets included only positive auras

If mask contains PET_GUID:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidpet

If mask contains PET_NAME:

OffsetSize / EndiannessTypeNameComment
-- / -CStringpet_name

If mask contains PET_MODEL_ID:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_display_id

If mask contains PET_CUR_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_current_health

If mask contains PET_MAX_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_max_health

If mask contains PET_POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpet_power_type

If mask contains PET_CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_current_power

If mask contains PET_MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_max_power

If mask contains PET_AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskpet_auras

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_member_stats_full.wowm:69.

smsg SMSG_PARTY_MEMBER_STATS_FULL = 0x02F2 {
    PackedGuid guid;
    GroupUpdateFlags mask;
    if (mask & STATUS) {
        GroupMemberOnlineStatus status;
    }
    if (mask & CUR_HP) {
        u16 current_health;
    }
    if (mask & MAX_HP) {
        u16 max_health;
    }
    if (mask & POWER_TYPE) {
        Power power;
    }
    if (mask & CUR_POWER) {
        u16 current_power;
    }
    if (mask & MAX_POWER) {
        u16 max_power;
    }
    if (mask & LEVEL) {
        Level16 level;
    }
    if (mask & ZONE) {
        Area area;
    }
    if (mask & POSITION) {
        u16 position_x;
        u16 position_y;
    }
    if (mask & AURAS) {
        AuraMask auras;
    }
    if (mask & PET_GUID) {
        Guid pet;
    }
    if (mask & PET_NAME) {
        CString pet_name;
    }
    if (mask & PET_MODEL_ID) {
        u16 pet_display_id;
    }
    if (mask & PET_CUR_HP) {
        u16 pet_current_health;
    }
    if (mask & PET_MAX_HP) {
        u16 pet_max_health;
    }
    if (mask & PET_POWER_TYPE) {
        Power pet_power_type;
    }
    if (mask & PET_CUR_POWER) {
        u16 pet_current_power;
    }
    if (mask & PET_MAX_POWER) {
        u16 pet_max_power;
    }
    if (mask & PET_AURAS) {
        AuraMask pet_auras;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid
-4 / -GroupUpdateFlagsmask

If mask contains STATUS:

OffsetSize / EndiannessTypeNameComment
-1 / -GroupMemberOnlineStatusstatus

If mask contains CUR_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16current_health

If mask contains MAX_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16max_health

If mask contains POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpower

If mask contains CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16current_power

If mask contains MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16max_power

If mask contains LEVEL:

OffsetSize / EndiannessTypeNameComment
-2 / LittleLevel16level

If mask contains ZONE:

OffsetSize / EndiannessTypeNameComment
-4 / -Areaarea

If mask contains POSITION:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16position_xcmangos: float cast to u16
-2 / Littleu16position_ycmangos: float cast to u16

If mask contains AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskaurascmangos: In all checked pre-2.x data of packets included only positive auras

If mask contains PET_GUID:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidpet

If mask contains PET_NAME:

OffsetSize / EndiannessTypeNameComment
-- / -CStringpet_name

If mask contains PET_MODEL_ID:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_display_id

If mask contains PET_CUR_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_current_health

If mask contains PET_MAX_HP:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_max_health

If mask contains PET_POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpet_power_type

If mask contains PET_CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_current_power

If mask contains PET_MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_max_power

If mask contains PET_AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskpet_auras

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_party_member_stats_full.wowm:137.

smsg SMSG_PARTY_MEMBER_STATS_FULL = 0x02F2 {
    PackedGuid guid;
    GroupUpdateFlags mask;
    if (mask & STATUS) {
        GroupMemberOnlineStatus status;
    }
    if (mask & CUR_HP) {
        u32 current_health;
    }
    if (mask & MAX_HP) {
        u32 max_health;
    }
    if (mask & POWER_TYPE) {
        Power power;
    }
    if (mask & CUR_POWER) {
        u16 current_power;
    }
    if (mask & MAX_POWER) {
        u16 max_power;
    }
    if (mask & LEVEL) {
        Level16 level;
    }
    if (mask & ZONE) {
        Area area;
    }
    if (mask & POSITION) {
        u16 position_x;
        u16 position_y;
    }
    if (mask & AURAS) {
        AuraMask auras;
    }
    if (mask & PET_GUID) {
        Guid pet;
    }
    if (mask & PET_NAME) {
        CString pet_name;
    }
    if (mask & PET_MODEL_ID) {
        u16 pet_display_id;
    }
    if (mask & PET_CUR_HP) {
        u32 pet_current_health;
    }
    if (mask & PET_MAX_HP) {
        u32 pet_max_health;
    }
    if (mask & PET_POWER_TYPE) {
        Power pet_power_type;
    }
    if (mask & PET_CUR_POWER) {
        u16 pet_current_power;
    }
    if (mask & PET_MAX_POWER) {
        u16 pet_max_power;
    }
    if (mask & PET_AURAS) {
        AuraMask pet_auras;
    }
    if (mask & VEHICLE_SEAT) {
        u32 transport;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / -GroupUpdateFlagsmask

If mask contains STATUS:

OffsetSize / EndiannessTypeNameComment
-1 / -GroupMemberOnlineStatusstatus

If mask contains CUR_HP:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32current_health

If mask contains MAX_HP:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32max_health

If mask contains POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpower

If mask contains CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16current_power

If mask contains MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16max_power

If mask contains LEVEL:

OffsetSize / EndiannessTypeNameComment
-2 / LittleLevel16level

If mask contains ZONE:

OffsetSize / EndiannessTypeNameComment
-4 / -Areaarea

If mask contains POSITION:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16position_xcmangos: float cast to u16
-2 / Littleu16position_ycmangos: float cast to u16

If mask contains AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskaurascmangos: In all checked pre-2.x data of packets included only positive auras

If mask contains PET_GUID:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidpet

If mask contains PET_NAME:

OffsetSize / EndiannessTypeNameComment
-- / -CStringpet_name

If mask contains PET_MODEL_ID:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_display_id

If mask contains PET_CUR_HP:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32pet_current_health

If mask contains PET_MAX_HP:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32pet_max_health

If mask contains PET_POWER_TYPE:

OffsetSize / EndiannessTypeNameComment
-1 / -Powerpet_power_type

If mask contains PET_CUR_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_current_power

If mask contains PET_MAX_POWER:

OffsetSize / EndiannessTypeNameComment
-2 / Littleu16pet_max_power

If mask contains PET_AURAS:

OffsetSize / EndiannessTypeNameComment
-- / -AuraMaskpet_auras

If mask contains VEHICLE_SEAT:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32transport

SMSG_PAUSE_MIRROR_TIMER

Client Version 1, Client Version 2, Client Version 3

According to cmangos: ’Default UI handler for this is bugged, args dont match. Gotta do a full update with SMSG_START_MIRROR_TIMER to avoid lua errors.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_pause_mirror_timer.wowm:4.

smsg SMSG_PAUSE_MIRROR_TIMER = 0x01DA {
    TimerType timer;
    Bool is_frozen;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -TimerTypetimer
0x081 / -Boolis_frozen

SMSG_PERIODICAURALOG

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_periodicauralog.wowm:1.

smsg SMSG_PERIODICAURALOG = 0x024E {
    PackedGuid target;
    PackedGuid caster;
    Spell spell;
    u32 amount_of_auras;
    AuraLog[amount_of_auras] auras;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidtarget
-- / -PackedGuidcaster
-4 / LittleSpellspell
-4 / Littleu32amount_of_auras
-? / -AuraLog[amount_of_auras]auras

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_periodicauralog.wowm:1.

smsg SMSG_PERIODICAURALOG = 0x024E {
    PackedGuid target;
    PackedGuid caster;
    Spell spell;
    u32 amount_of_auras;
    AuraLog[amount_of_auras] auras;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidtarget
-- / -PackedGuidcaster
-4 / LittleSpellspell
-4 / Littleu32amount_of_auras
-? / -AuraLog[amount_of_auras]auras

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_periodicauralog.wowm:1.

smsg SMSG_PERIODICAURALOG = 0x024E {
    PackedGuid target;
    PackedGuid caster;
    Spell spell;
    u32 amount_of_auras;
    AuraLog[amount_of_auras] auras;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget
-- / -PackedGuidcaster
-4 / LittleSpellspell
-4 / Littleu32amount_of_auras
-? / -AuraLog[amount_of_auras]auras

SMSG_PETITION_QUERY_RESPONSE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_petition_query_response.wowm:1.

smsg SMSG_PETITION_QUERY_RESPONSE = 0x01C7 {
    u32 petition_id;
    Guid charter_owner;
    CString guild_name;
    CString body_text;
    u32 unknown_flags;
    u32 minimum_signatures;
    u32 maximum_signatures;
    u32 deadline;
    u32 issue_date;
    u32 allowed_guild_id;
    AllowedClass allowed_class;
    AllowedRace allowed_race;
    u16 allowed_genders;
    Level32 allowed_minimum_level;
    Level32 allowed_maximum_level;
    u32 todo_amount_of_signers;
    u32 number_of_choices;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32petition_id
0x088 / LittleGuidcharter_owner
0x10- / -CStringguild_name
-- / -CStringbody_textcmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-4 / Littleu32unknown_flagscmangos/vmangos/mangoszero: Set to 1, only info is comment from vmangos
-4 / Littleu32minimum_signaturescmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos
-4 / Littleu32maximum_signaturescmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos
-4 / Littleu32deadlinecmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-4 / Littleu32issue_datecmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-4 / Littleu32allowed_guild_idcmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-4 / -AllowedClassallowed_classcmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-4 / -AllowedRaceallowed_racecmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-2 / Littleu16allowed_genderscmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-4 / LittleLevel32allowed_minimum_levelcmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-4 / LittleLevel32allowed_maximum_levelcmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-4 / Littleu32todo_amount_of_signerscmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
vmangos: char m_choicetext1064
-4 / Littleu32number_of_choicescmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_petition_query_response.wowm:46.

smsg SMSG_PETITION_QUERY_RESPONSE = 0x01C7 {
    u32 petition_id;
    Guid charter_owner;
    CString guild_name;
    CString body_text;
    u32 minimum_signatures;
    u32 maximum_signatures;
    u32 unknown1;
    u32 unknown2;
    u32 unknown3;
    u32 unknown4;
    u32 unknown5;
    u16 unknown6;
    u32 unknown7;
    u32 unknown8;
    u32 unknown9;
    u32 unknown10;
    (u32)CharterType charter_type;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32petition_id
0x088 / LittleGuidcharter_owner
0x10- / -CStringguild_name
-- / -CStringbody_textcmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-4 / Littleu32minimum_signaturescmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos
-4 / Littleu32maximum_signaturescmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos
-4 / Littleu32unknown1mangosone: bypass client - side limitation, a different value is needed here for each petition
-4 / Littleu32unknown2
-4 / Littleu32unknown3
-4 / Littleu32unknown4
-4 / Littleu32unknown5
-2 / Littleu16unknown6
-4 / Littleu32unknown7
-4 / Littleu32unknown8
-4 / Littleu32unknown9
-4 / Littleu32unknown10
-4 / -CharterTypecharter_type

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_petition_query_response.wowm:72.

smsg SMSG_PETITION_QUERY_RESPONSE = 0x01C7 {
    u32 petition_id;
    Guid charter_owner;
    CString guild_name;
    CString body_text;
    u32 minimum_signatures;
    u32 maximum_signatures;
    u32 unknown1;
    u32 unknown2;
    u32 unknown3;
    u32 unknown4;
    u32 unknown5;
    u16 unknown6;
    u32 unknown7;
    u32 unknown8;
    u32 unknown9;
    u8[10] unknown10;
    u32 unknown11;
    (u32)CharterType charter_type;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32petition_id
-8 / LittleGuidcharter_owner
-- / -CStringguild_name
-- / -CStringbody_textcmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos
-4 / Littleu32minimum_signaturescmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos
-4 / Littleu32maximum_signaturescmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos
-4 / Littleu32unknown1mangosone: bypass client - side limitation, a different value is needed here for each petition
-4 / Littleu32unknown2
-4 / Littleu32unknown3
-4 / Littleu32unknown4
-4 / Littleu32unknown5
-2 / Littleu16unknown6
-4 / Littleu32unknown7
-4 / Littleu32unknown8
-4 / Littleu32unknown9
-10 / -u8[10]unknown10
-4 / Littleu32unknown11
-4 / -CharterTypecharter_type

SMSG_PETITION_SHOWLIST

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_petition_showlist.wowm:31.

smsg SMSG_PETITION_SHOWLIST = 0x01BC {
    Guid npc;
    u8 amount_of_petitions;
    PetitionShowlist[amount_of_petitions] petitions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidnpc
0x0C1 / -u8amount_of_petitions
0x0D? / -PetitionShowlist[amount_of_petitions]petitions

Client Version 2.4.3, Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_petition_showlist.wowm:39.

smsg SMSG_PETITION_SHOWLIST = 0x01BC {
    Guid npc;
    u8 amount_of_petitions;
    PetitionShowlist[amount_of_petitions] petitions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidnpc
-1 / -u8amount_of_petitions
-? / -PetitionShowlist[amount_of_petitions]petitions

SMSG_PETITION_SHOW_SIGNATURES

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_petition_show_signatures.wowm:8.

smsg SMSG_PETITION_SHOW_SIGNATURES = 0x01BF {
    Guid item;
    Guid owner;
    u32 petition;
    u8 amount_of_signatures;
    PetitionSignature[amount_of_signatures] signatures;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuiditem
-8 / LittleGuidowner
-4 / Littleu32petition
-1 / -u8amount_of_signatures
-? / -PetitionSignature[amount_of_signatures]signatures

SMSG_PETITION_SIGN_RESULTS

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_petition_sign_results.wowm:22.

smsg SMSG_PETITION_SIGN_RESULTS = 0x01C1 {
    Guid petition;
    Guid owner;
    PetitionResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidpetition
0x0C8 / LittleGuidowner
0x144 / -PetitionResultresult

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_petition_sign_results.wowm:30.

smsg SMSG_PETITION_SIGN_RESULTS = 0x01C1 {
    Guid petition;
    Guid owner;
    PetitionResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidpetition
0x0C8 / LittleGuidowner
0x144 / -PetitionResultresult

SMSG_PET_ACTION_FEEDBACK

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_action_feedback.wowm:10.

smsg SMSG_PET_ACTION_FEEDBACK = 0x02C6 {
    PetFeedback feedback;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -PetFeedbackfeedback

SMSG_PET_ACTION_SOUND

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_action_sound.wowm:8.

smsg SMSG_PET_ACTION_SOUND = 0x0324 {
    Guid guid;
    PetTalkReason reason;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -PetTalkReasonreason

SMSG_PET_BROKEN

Client Version 1, Client Version 2, Client Version 3

Not implemented in any Wrath emulator.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_broken.wowm:4.

smsg SMSG_PET_BROKEN = 0x02AF {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_PET_CAST_FAILED

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_cast_failed.wowm:1.

smsg SMSG_PET_CAST_FAILED = 0x0138 {
    Spell id;
    u8 unknown1;
    SpellCastResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellid
0x081 / -u8unknown1vmangos sets to 2 and cmangos sets to 0.
0x091 / -SpellCastResultresult

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_cast_failed.wowm:10.

smsg SMSG_PET_CAST_FAILED = 0x0138 {
    Spell id;
    SpellCastResult result;
    Bool multiple_casts;
    if (result == REQUIRES_SPELL_FOCUS) {
        u32 spell_focus;
    }
    else if (result == REQUIRES_AREA) {
        Area area;
    }
    else if (result == TOTEMS) {
        u32[2] totems;
    }
    else if (result == TOTEM_CATEGORY) {
        u32[2] totem_categories;
    }
    else if (result == EQUIPPED_ITEM_CLASS) {
        u32 item_class;
        u32 item_sub_class;
        u32 item_inventory_type;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellid
0x081 / -SpellCastResultresult
0x091 / -Boolmultiple_casts

If result is equal to REQUIRES_SPELL_FOCUS:

OffsetSize / EndiannessTypeNameComment
0x0A4 / Littleu32spell_focus

Else If result is equal to REQUIRES_AREA:

OffsetSize / EndiannessTypeNameComment
0x0E4 / -Areaarea

Else If result is equal to TOTEMS:

OffsetSize / EndiannessTypeNameComment
0x128 / -u32[2]totems

Else If result is equal to TOTEM_CATEGORY:

OffsetSize / EndiannessTypeNameComment
0x1A8 / -u32[2]totem_categories

Else If result is equal to EQUIPPED_ITEM_CLASS:

OffsetSize / EndiannessTypeNameComment
0x224 / Littleu32item_class
0x264 / Littleu32item_sub_class
0x2A4 / Littleu32item_inventory_type

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_cast_failed.wowm:35.

smsg SMSG_PET_CAST_FAILED = 0x0138 {
    u8 cast_count;
    Spell id;
    SpellCastResult result;
    Bool multiple_casts;
    if (result == REQUIRES_SPELL_FOCUS) {
        u32 spell_focus;
    }
    else if (result == REQUIRES_AREA) {
        Area area;
    }
    else if (result == TOTEMS) {
        u32[2] totems;
    }
    else if (result == TOTEM_CATEGORY) {
        u32[2] totem_categories;
    }
    else if (result == EQUIPPED_ITEM_CLASS
        || result == EQUIPPED_ITEM_CLASS_OFFHAND
        || result == EQUIPPED_ITEM_CLASS_MAINHAND) {
        u32 item_class;
        u32 item_sub_class;
    }
    else if (result == TOO_MANY_OF_ITEM) {
        u32 item_limit_category;
    }
    else if (result == CUSTOM_ERROR) {
        u32 custom_error;
    }
    else if (result == REAGENTS) {
        u32 missing_item;
    }
    else if (result == PREVENTED_BY_MECHANIC) {
        u32 mechanic;
    }
    else if (result == NEED_EXOTIC_AMMO) {
        u32 equipped_item_sub_class;
    }
    else if (result == NEED_MORE_ITEMS) {
        Item item;
        u32 count;
    }
    else if (result == MIN_SKILL) {
        (u32)Skill skill;
        u32 skill_required;
    }
    else if (result == FISHING_TOO_LOW) {
        u32 fishing_skill_required;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -u8cast_count
-4 / LittleSpellid
-1 / -SpellCastResultresult
-1 / -Boolmultiple_casts

If result is equal to REQUIRES_SPELL_FOCUS:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32spell_focus

Else If result is equal to REQUIRES_AREA:

OffsetSize / EndiannessTypeNameComment
-4 / -Areaarea

Else If result is equal to TOTEMS:

OffsetSize / EndiannessTypeNameComment
-8 / -u32[2]totems

Else If result is equal to TOTEM_CATEGORY:

OffsetSize / EndiannessTypeNameComment
-8 / -u32[2]totem_categories

Else If result is equal to EQUIPPED_ITEM_CLASS or is equal to EQUIPPED_ITEM_CLASS_OFFHAND or is equal to EQUIPPED_ITEM_CLASS_MAINHAND:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32item_class
-4 / Littleu32item_sub_class

Else If result is equal to TOO_MANY_OF_ITEM:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32item_limit_category

Else If result is equal to CUSTOM_ERROR:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32custom_error

Else If result is equal to REAGENTS:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32missing_item

Else If result is equal to PREVENTED_BY_MECHANIC:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32mechanic

Else If result is equal to NEED_EXOTIC_AMMO:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32equipped_item_sub_class

Else If result is equal to NEED_MORE_ITEMS:

OffsetSize / EndiannessTypeNameComment
-4 / LittleItemitem
-4 / Littleu32count

Else If result is equal to MIN_SKILL:

OffsetSize / EndiannessTypeNameComment
-4 / -Skillskill
-4 / Littleu32skill_required

Else If result is equal to FISHING_TOO_LOW:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32fishing_skill_required

SMSG_PET_DISMISS_SOUND

Client Version 1, Client Version 2, Client Version 3

Not implemented in any Wrath emulators.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_dismiss_sound.wowm:3.

smsg SMSG_PET_DISMISS_SOUND = 0x0325 {
    u32 sound_id;
    Vector3d position;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32sound_id
0x0812 / -Vector3dposition

SMSG_PET_GUIDS

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_guids.wowm:1.

smsg SMSG_PET_GUIDS = 0x04AA {
    u32 amount_of_guids;
    Guid[amount_of_guids] guids;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_guids
-? / -Guid[amount_of_guids]guids

SMSG_PET_LEARNED_SPELL

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_pet_learned_spell.wowm:1.

smsg SMSG_PET_LEARNED_SPELL = 0x0499 {
    Spell spell;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellspell

SMSG_PET_MODE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_mode.wowm:8.

smsg SMSG_PET_MODE = 0x017A {
    Guid guid;
    PetReactState react_state;
    PetCommandState command_state;
    u8 unknown1;
    PetEnabled pet_enabled;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C1 / -PetReactStatereact_state
0x0D1 / -PetCommandStatecommand_state
0x0E1 / -u8unknown1vmangos sets to 0.
0x0F1 / -PetEnabledpet_enabled

SMSG_PET_NAME_INVALID

Client Version 1.12

Some emulators have this with fields, but it has been verified to be empty on 1.12 through reverse engineering.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_name_invalid.wowm:2.

smsg SMSG_PET_NAME_INVALID = 0x0178 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

Client Version 2.4.3, Client Version 3

Some emulators have this with fields, but it has been verified to be empty on 1.12 through reverse engineering.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_name_invalid.wowm:32.

smsg SMSG_PET_NAME_INVALID = 0x0178 {
    (u32)PetNameInvalidReason reason;
    CString name;
    DeclinedPetNameIncluded included;
    if (included == INCLUDED) {
        CString[5] declined_names;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -PetNameInvalidReasonreason
-- / -CStringname
-1 / -DeclinedPetNameIncludedincluded

If included is equal to INCLUDED:

OffsetSize / EndiannessTypeNameComment
-? / -CString[5]declined_names

SMSG_PET_NAME_QUERY_RESPONSE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_pet_name_query_response.wowm:1.

smsg SMSG_PET_NAME_QUERY_RESPONSE = 0x0053 {
    u32 pet_number;
    CString name;
    u32 pet_name_timestamp;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32pet_number
0x08- / -CStringname
-4 / Littleu32pet_name_timestamp

Examples

Example 1

0, 17, // size
83, 0, // opcode (83)
239, 190, 173, 222, // pet_number: u32
65, 66, 67, 68, 69, 70, 0, // name: CString
222, 202, 250, 0, // pet_name_timestamp: u32

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_pet_name_query_response.wowm:30.

smsg SMSG_PET_NAME_QUERY_RESPONSE = 0x0053 {
    u32 pet_number;
    CString name;
    u32 pet_name_timestamp;
    PetQueryDisabledNames names;
    if (names == PRESENT) {
        CString[5] declined_names;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32pet_number
-- / -CStringname
-4 / Littleu32pet_name_timestamp
-1 / -PetQueryDisabledNamesnames

If names is equal to PRESENT:

OffsetSize / EndiannessTypeNameComment
-? / -CString[5]declined_names

SMSG_PET_SPELLS

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_spells.wowm:11.

smsg SMSG_PET_SPELLS = 0x0179 {
    Guid pet;
    optional action_bars {
        u32 duration;
        PetReactState react;
        PetCommandState command;
        u8 unknown;
        PetEnabled pet_enabled;
        u32[10] action_bars;
        u8 amount_of_spells;
        u32[amount_of_spells] spells;
        u8 amount_of_cooldowns;
        PetSpellCooldown[amount_of_cooldowns] cooldowns;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidpet

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x0C4 / Littleu32duration
0x101 / -PetReactStatereact
0x111 / -PetCommandStatecommand
0x121 / -u8unknownmangoszero: set to 0
0x131 / -PetEnabledpet_enabled
0x1440 / -u32[10]action_bars
0x3C1 / -u8amount_of_spells
0x3D? / -u32[amount_of_spells]spells
-1 / -u8amount_of_cooldowns
-? / -PetSpellCooldown[amount_of_cooldowns]cooldowns

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_spells.wowm:40.

smsg SMSG_PET_SPELLS = 0x0179 {
    Guid pet;
    optional action_bars {
        (u16)CreatureFamily family;
        u32 duration;
        PetReactState react;
        PetCommandState command;
        u8 unknown;
        PetEnabled pet_enabled;
        u32[10] action_bars;
        u8 amount_of_spells;
        u32[amount_of_spells] spells;
        u8 amount_of_cooldowns;
        PetSpellCooldown[amount_of_cooldowns] cooldowns;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidpet

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-2 / -CreatureFamilyfamily
-4 / Littleu32duration
-1 / -PetReactStatereact
-1 / -PetCommandStatecommand
-1 / -u8unknownmangoszero: set to 0
-1 / -PetEnabledpet_enabled
-40 / -u32[10]action_bars
-1 / -u8amount_of_spells
-? / -u32[amount_of_spells]spells
-1 / -u8amount_of_cooldowns
-? / -PetSpellCooldown[amount_of_cooldowns]cooldowns

SMSG_PET_TAME_FAILURE

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_tame_failure.wowm:21.

smsg SMSG_PET_TAME_FAILURE = 0x0173 {
    PetTameFailureReason reason;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -PetTameFailureReasonreason

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_tame_failure.wowm:48.

smsg SMSG_PET_TAME_FAILURE = 0x0173 {
    PetTameFailureReason reason;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -PetTameFailureReasonreason

SMSG_PET_UNLEARNED_SPELL

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_pet_unlearned_spell.wowm:1.

smsg SMSG_PET_UNLEARNED_SPELL = 0x049A {
    Spell spell;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellspell

SMSG_PET_UNLEARN_CONFIRM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_unlearn_confirm.wowm:3.

smsg SMSG_PET_UNLEARN_CONFIRM = 0x02F1 {
    Guid pet;
    u32 talent_reset_cost;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidpet
0x0C4 / Littleu32talent_reset_cost

SMSG_PET_UPDATE_COMBO_POINTS

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_update_combo_points.wowm:1.

smsg SMSG_PET_UPDATE_COMBO_POINTS = 0x0492 {
    PackedGuid unit;
    PackedGuid target;
    u8 combo_points;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit
-- / -PackedGuidtarget
-1 / -u8combo_points

SMSG_PLAYED_TIME

Client Version 1.12, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_played_time.wowm:1.

smsg SMSG_PLAYED_TIME = 0x01CD {
    u32 total_played_time;
    u32 level_played_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32total_played_time
0x084 / Littleu32level_played_time

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_played_time.wowm:9.

smsg SMSG_PLAYED_TIME = 0x01CD {
    u32 total_played_time;
    u32 level_played_time;
    Bool show_on_ui;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32total_played_timeTime played in total (seconds)
0x084 / Littleu32level_played_timeTime played on this level (seconds)
0x0C1 / -Boolshow_on_uiWhether this is a silent query or the client should show it on the UI (chat box).
Send back the value received in CMSG_PLAYED_TIME

SMSG_PLAYERBOUND

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_playerbound.wowm:3.

smsg SMSG_PLAYERBOUND = 0x0158 {
    Guid guid;
    Area area;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -Areaarea

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_playerbound.wowm:3.

smsg SMSG_PLAYERBOUND = 0x0158 {
    Guid guid;
    Area area;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -Areaarea

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_playerbound.wowm:3.

smsg SMSG_PLAYERBOUND = 0x0158 {
    Guid guid;
    Area area;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -Areaarea

SMSG_PLAYER_SKINNED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_player_skinned.wowm:3.

smsg SMSG_PLAYER_SKINNED = 0x02BC {
    Bool spirit_released;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -Boolspirit_released

SMSG_PLAYER_VEHICLE_DATA

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vehicle/smsg_player_vehicle_data.wowm:1.

smsg SMSG_PLAYER_VEHICLE_DATA = 0x04A7 {
    PackedGuid target;
    u32 vehicle_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget
-4 / Littleu32vehicle_id

SMSG_PLAY_MUSIC

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/smsg_play_music.wowm:3.

smsg SMSG_PLAY_MUSIC = 0x0277 {
    u32 sound_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32sound_id

SMSG_PLAY_OBJECT_SOUND

Client Version 1, Client Version 2, Client Version 3

vmangos: Nostalrius: ignored by client if unit is not loaded

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_player_object_sound.wowm:4.

smsg SMSG_PLAY_OBJECT_SOUND = 0x0278 {
    u32 sound_id;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32sound_id
0x088 / LittleGuidguid

SMSG_PLAY_SOUND

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/smsg_play_sound.wowm:3.

smsg SMSG_PLAY_SOUND = 0x02D2 {
    u32 sound_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32sound_id

SMSG_PLAY_SPELL_IMPACT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_play_spell_impact.wowm:3.

smsg SMSG_PLAY_SPELL_IMPACT = 0x01F7 {
    Guid guid;
    u32 spell_visual_kit;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32spell_visual_kitmangoszero/mangosone/azerothcore: index from SpellVisualKit.dbc. Used for visual effect on player with 0x016A

SMSG_PLAY_SPELL_VISUAL

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_play_spell_visual.wowm:3.

smsg SMSG_PLAY_SPELL_VISUAL = 0x01F3 {
    Guid guid;
    u32 spell_art_kit;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32spell_art_kitmangoszero/mangosone: index from SpellVisualKit.dbc. Set to 0xB3 when buying spells.

SMSG_PONG

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/ping_pong/smsg_pong.wowm:2.

smsg SMSG_PONG = 0x01DD {
    u32 sequence_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32sequence_id

Examples

Example 1

0, 6, // size
221, 1, // opcode (477)
239, 190, 173, 222, // sequence_id: u32

SMSG_POWER_UPDATE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_power_update.wowm:1.

smsg SMSG_POWER_UPDATE = 0x0480 {
    PackedGuid unit;
    Power power;
    u32 amount;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit
-1 / -Powerpower
-4 / Littleu32amount

SMSG_PRE_RESURRECT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/smsg_pre_resurrect.wowm:1.

smsg SMSG_PRE_RESURRECT = 0x0494 {
    PackedGuid player;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer

SMSG_PROCRESIST

Client Version 1.12, Client Version 2, Client Version 3

According to cmangos/azerothcore/trinitycore/mangostwo. Not present in vmangos.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_procresist.wowm:9.

smsg SMSG_PROCRESIST = 0x0260 {
    Guid caster;
    Guid target;
    Spell id;
    LogFormat log_format;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidcaster
0x0C8 / LittleGuidtarget
0x144 / LittleSpellid
0x181 / -LogFormatlog_format

SMSG_PROPOSE_LEVEL_GRANT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_propose_level_grant.wowm:1.

smsg SMSG_PROPOSE_LEVEL_GRANT = 0x041E {
    PackedGuid player;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidplayer

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_propose_level_grant.wowm:7.

smsg SMSG_PROPOSE_LEVEL_GRANT = 0x041F {
    PackedGuid player;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer

SMSG_PVP_CREDIT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pvp/smsg_pvp_credit.wowm:3.

smsg SMSG_PVP_CREDIT = 0x028C {
    u32 honor_points;
    Guid victim;
    (u32)PvpRank rank;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32honor_points
0x088 / LittleGuidvictim
0x104 / -PvpRankrank

SMSG_QUERY_QUESTS_COMPLETED_RESPONSE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_query_quests_completed_response.wowm:1.

smsg SMSG_QUERY_QUESTS_COMPLETED_RESPONSE = 0x0501 {
    u32 amount_of_reward_quests;
    u32[amount_of_reward_quests] reward_quests;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_reward_quests
-? / -u32[amount_of_reward_quests]reward_quests

SMSG_QUERY_TIME_RESPONSE

Client Version 1.12

Reply to CMSG_QUERY_TIME.

CMSG_QUERY_TIME and this reply does not actually appear to set the time. Instead SMSG_LOGIN_SETTIMESPEED seems to correctly set the time. Running the client with -console will print the date when SMSG_LOGIN_SETTIMESPEED is received, but not when this message is received.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_query_time_response.wowm:3.

smsg SMSG_QUERY_TIME_RESPONSE = 0x01CF {
    u32 time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32timeSeconds since 1970, 1st of January (Unix Time).

Examples

Example 1

0, 6, // size
207, 1, // opcode (463)
148, 152, 80, 97, // time: u32

Client Version 2.4.3, Client Version 3

Reply to CMSG_QUERY_TIME.

CMSG_QUERY_TIME and this reply does not actually appear to set the time. Instead SMSG_LOGIN_SETTIMESPEED seems to correctly set the time. Running the client with -console will print the date when SMSG_LOGIN_SETTIMESPEED is received, but not when this message is received.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_query_time_response.wowm:22.

smsg SMSG_QUERY_TIME_RESPONSE = 0x01CF {
    u32 time;
    u32 time_until_daily_quest_reset;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32timeSeconds since 1970, 1st of January (Unix Time).
0x084 / Littleu32time_until_daily_quest_resetUnits need confirmation, but it’s likely in seconds, since many other time related things are also seconds.

SMSG_QUESTGIVER_OFFER_REWARD

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_offer_reward.wowm:1.

smsg SMSG_QUESTGIVER_OFFER_REWARD = 0x018D {
    Guid npc;
    u32 quest_id;
    CString title;
    CString offer_reward_text;
    Bool32 auto_finish;
    u32 amount_of_emotes;
    NpcTextUpdateEmote[amount_of_emotes] emotes;
    u32 amount_of_choice_item_rewards;
    QuestItemRequirement[amount_of_choice_item_rewards] choice_item_rewards;
    u32 amount_of_item_rewards;
    QuestItemRequirement[amount_of_item_rewards] item_rewards;
    Gold money_reward;
    Spell reward_spell;
    Spell reward_spell_cast;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidnpc
0x0C4 / Littleu32quest_id
0x10- / -CStringtitle
-- / -CStringoffer_reward_text
-4 / LittleBool32auto_finish
-4 / Littleu32amount_of_emotes
-? / -NpcTextUpdateEmote[amount_of_emotes]emotes
-4 / Littleu32amount_of_choice_item_rewards
-? / -QuestItemRequirement[amount_of_choice_item_rewards]choice_item_rewards
-4 / Littleu32amount_of_item_rewards
-? / -QuestItemRequirement[amount_of_item_rewards]item_rewards
-4 / LittleGoldmoney_reward
-4 / LittleSpellreward_spell
-4 / LittleSpellreward_spell_castmangoszero and cmangos disagree about which field is _cast, although they both agree that the _cast field should not be in zero (vanilla). They still both include both fields in the code though.

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_offer_reward.wowm:23.

smsg SMSG_QUESTGIVER_OFFER_REWARD = 0x018D {
    Guid npc;
    u32 quest_id;
    CString title;
    CString offer_reward_text;
    Bool32 auto_finish;
    u32 suggested_players;
    u32 amount_of_emotes;
    NpcTextUpdateEmote[amount_of_emotes] emotes;
    u32 amount_of_choice_item_rewards;
    QuestItemRequirement[amount_of_choice_item_rewards] choice_item_rewards;
    u32 amount_of_item_rewards;
    QuestItemRequirement[amount_of_item_rewards] item_rewards;
    Gold money_reward;
    u32 honor_reward;
    u32 unknown1;
    Spell reward_spell;
    Spell reward_spell_cast;
    u32 title_reward;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidnpc
0x0C4 / Littleu32quest_id
0x10- / -CStringtitle
-- / -CStringoffer_reward_text
-4 / LittleBool32auto_finish
-4 / Littleu32suggested_players
-4 / Littleu32amount_of_emotes
-? / -NpcTextUpdateEmote[amount_of_emotes]emotes
-4 / Littleu32amount_of_choice_item_rewards
-? / -QuestItemRequirement[amount_of_choice_item_rewards]choice_item_rewards
-4 / Littleu32amount_of_item_rewards
-? / -QuestItemRequirement[amount_of_item_rewards]item_rewards
-4 / LittleGoldmoney_reward
-4 / Littleu32honor_reward
-4 / Littleu32unknown1mangostwo: unused by client?
mangostwo sets to 0x08.
-4 / LittleSpellreward_spell
-4 / LittleSpellreward_spell_castmangoszero and cmangos disagree about which field is _cast, although they both agree that the _cast field should not be in zero (vanilla). They still both include both fields in the code though.
-4 / Littleu32title_reward

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_offer_reward.wowm:51.

smsg SMSG_QUESTGIVER_OFFER_REWARD = 0x018D {
    Guid npc;
    u32 quest_id;
    CString title;
    CString offer_reward_text;
    Bool32 auto_finish;
    u32 flags1;
    u32 suggested_players;
    u32 amount_of_emotes;
    NpcTextUpdateEmote[amount_of_emotes] emotes;
    u32 amount_of_choice_item_rewards;
    QuestItemRequirement[amount_of_choice_item_rewards] choice_item_rewards;
    u32 amount_of_item_rewards;
    QuestItemRequirement[amount_of_item_rewards] item_rewards;
    Gold money_reward;
    u32 experience_reward;
    u32 honor_reward;
    f32 honor_reward_multiplier;
    u32 unknown1;
    Spell reward_spell;
    Spell reward_spell_cast;
    u32 title_reward;
    u32 reward_talents;
    u32 reward_arena_points;
    u32 reward_reputation_mask;
    u32[5] reward_factions;
    u32[5] reward_reputations;
    u32[5] reward_reputations_override;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidnpc
-4 / Littleu32quest_id
-- / -CStringtitle
-- / -CStringoffer_reward_text
-4 / LittleBool32auto_finish
-4 / Littleu32flags1
-4 / Littleu32suggested_players
-4 / Littleu32amount_of_emotes
-? / -NpcTextUpdateEmote[amount_of_emotes]emotes
-4 / Littleu32amount_of_choice_item_rewards
-? / -QuestItemRequirement[amount_of_choice_item_rewards]choice_item_rewards
-4 / Littleu32amount_of_item_rewards
-? / -QuestItemRequirement[amount_of_item_rewards]item_rewards
-4 / LittleGoldmoney_reward
-4 / Littleu32experience_reward
-4 / Littleu32honor_reward
-4 / Littlef32honor_reward_multiplier
-4 / Littleu32unknown1mangostwo: unused by client?
mangostwo sets to 0x08.
-4 / LittleSpellreward_spell
-4 / LittleSpellreward_spell_castmangoszero and cmangos disagree about which field is _cast, although they both agree that the _cast field should not be in zero (vanilla). They still both include both fields in the code though.
-4 / Littleu32title_reward
-4 / Littleu32reward_talents
-4 / Littleu32reward_arena_points
-4 / Littleu32reward_reputation_mask
-20 / -u32[5]reward_factions
-20 / -u32[5]reward_reputationsmangostwo: columnid in QuestFactionReward.dbc (if negative, from second row)
-20 / -u32[5]reward_reputations_overridemangostwo: reward reputation override. No diplomacy bonus is expected given, reward also does not display in chat window

SMSG_QUESTGIVER_QUEST_COMPLETE

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_complete.wowm:1.

smsg SMSG_QUESTGIVER_QUEST_COMPLETE = 0x0191 {
    u32 quest_id;
    u32 unknown;
    u32 experience_reward;
    Gold money_reward;
    u32 amount_of_item_rewards;
    QuestItemReward[amount_of_item_rewards] item_rewards;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / Littleu32unknowncmangos/vmangos/mangoszero: set to 0x03
0x0C4 / Littleu32experience_reward
0x104 / LittleGoldmoney_reward
0x144 / Littleu32amount_of_item_rewards
0x18? / -QuestItemReward[amount_of_item_rewards]item_rewards

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_complete.wowm:15.

smsg SMSG_QUESTGIVER_QUEST_COMPLETE = 0x0191 {
    u32 quest_id;
    u32 unknown;
    u32 experience_reward;
    Gold money_reward;
    u32 honor_reward;
    u32 amount_of_item_rewards;
    QuestItemReward[amount_of_item_rewards] item_rewards;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / Littleu32unknowncmangos/vmangos/mangoszero: set to 0x03
0x0C4 / Littleu32experience_reward
0x104 / LittleGoldmoney_reward
0x144 / Littleu32honor_reward
0x184 / Littleu32amount_of_item_rewards
0x1C? / -QuestItemReward[amount_of_item_rewards]item_rewards

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_complete.wowm:30.

smsg SMSG_QUESTGIVER_QUEST_COMPLETE = 0x0191 {
    u32 quest_id;
    u32 unknown;
    u32 experience_reward;
    Gold money_reward;
    u32 honor_reward;
    u32 talent_reward;
    u32 arena_point_reward;
    u32 amount_of_item_rewards;
    QuestItemReward[amount_of_item_rewards] item_rewards;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32quest_id
-4 / Littleu32unknowncmangos/vmangos/mangoszero: set to 0x03
-4 / Littleu32experience_reward
-4 / LittleGoldmoney_reward
-4 / Littleu32honor_reward
-4 / Littleu32talent_reward
-4 / Littleu32arena_point_reward
-4 / Littleu32amount_of_item_rewards
-? / -QuestItemReward[amount_of_item_rewards]item_rewards

SMSG_QUESTGIVER_QUEST_DETAILS

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_details.wowm:8.

smsg SMSG_QUESTGIVER_QUEST_DETAILS = 0x0188 {
    Guid guid;
    u32 quest_id;
    CString title;
    CString details;
    CString objectives;
    Bool32 auto_finish;
    u32 amount_of_choice_item_rewards;
    QuestItemReward[amount_of_choice_item_rewards] choice_item_rewards;
    u32 amount_of_item_rewards;
    QuestItemReward[amount_of_item_rewards] item_rewards;
    Gold money_reward;
    Spell reward_spell;
    u32 amount_of_emotes;
    QuestDetailsEmote[amount_of_emotes] emotes;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32quest_id
0x10- / -CStringtitle
-- / -CStringdetails
-- / -CStringobjectives
-4 / LittleBool32auto_finish
-4 / Littleu32amount_of_choice_item_rewards
-? / -QuestItemReward[amount_of_choice_item_rewards]choice_item_rewards
-4 / Littleu32amount_of_item_rewards
-? / -QuestItemReward[amount_of_item_rewards]item_rewards
-4 / LittleGoldmoney_reward
-4 / LittleSpellreward_spell
-4 / Littleu32amount_of_emotes
-? / -QuestDetailsEmote[amount_of_emotes]emotes

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_details.wowm:27.

smsg SMSG_QUESTGIVER_QUEST_DETAILS = 0x0188 {
    Guid guid;
    u32 quest_id;
    CString title;
    CString details;
    CString objectives;
    Bool32 auto_finish;
    u32 suggested_players;
    u32 amount_of_choice_item_rewards;
    QuestItemReward[amount_of_choice_item_rewards] choice_item_rewards;
    u32 amount_of_item_rewards;
    QuestItemReward[amount_of_item_rewards] item_rewards;
    Gold money_reward;
    u32 honor_reward;
    Spell reward_spell;
    Spell casted_spell;
    u32 title_reward;
    u32 amount_of_emotes;
    QuestDetailsEmote[amount_of_emotes] emotes;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32quest_id
0x10- / -CStringtitle
-- / -CStringdetails
-- / -CStringobjectives
-4 / LittleBool32auto_finish
-4 / Littleu32suggested_players
-4 / Littleu32amount_of_choice_item_rewards
-? / -QuestItemReward[amount_of_choice_item_rewards]choice_item_rewards
-4 / Littleu32amount_of_item_rewards
-? / -QuestItemReward[amount_of_item_rewards]item_rewards
-4 / LittleGoldmoney_reward
-4 / Littleu32honor_reward
-4 / LittleSpellreward_spellmangosone: reward spell, this spell will display (icon) (casted if RewSpellCast==0)
-4 / LittleSpellcasted_spell
-4 / Littleu32title_rewardmangosone: CharTitle, new 2.4.0, player gets this title (bit index from CharTitles)
-4 / Littleu32amount_of_emotes
-? / -QuestDetailsEmote[amount_of_emotes]emotes

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_details.wowm:60.

smsg SMSG_QUESTGIVER_QUEST_DETAILS = 0x0188 {
    Guid guid;
    Guid guid2;
    u32 quest_id;
    CString title;
    CString details;
    CString objectives;
    Bool auto_finish;
    u32 quest_flags;
    u32 suggested_players;
    u8 is_finished;
    u32 amount_of_choice_item_rewards;
    QuestGiverReward[amount_of_choice_item_rewards] choice_item_rewards;
    u32 amount_of_item_rewards;
    QuestGiverReward[amount_of_item_rewards] item_rewards;
    Gold money_reward;
    u32 experience_reward;
    u32 honor_reward;
    f32 honor_reward_multiplier;
    Spell reward_spell;
    Spell casted_spell;
    u32 title_reward;
    u32 talent_reward;
    u32 arena_point_reward;
    u32 unknown2;
    u32[5] reward_factions;
    u32[5] reward_reputations;
    u32[5] reward_reputations_override;
    u32 amount_of_emotes;
    QuestDetailsEmote[amount_of_emotes] emotes;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidguid
-8 / LittleGuidguid2arcemu also sends guid2 if guid is a player. Otherwise sends 0.
-4 / Littleu32quest_id
-- / -CStringtitle
-- / -CStringdetails
-- / -CStringobjectives
-1 / -Boolauto_finish
-4 / Littleu32quest_flags
-4 / Littleu32suggested_players
-1 / -u8is_finishedarcemu: MANGOS: IsFinished? value is sent back to server in quest accept packet
-4 / Littleu32amount_of_choice_item_rewards
-? / -QuestGiverReward[amount_of_choice_item_rewards]choice_item_rewards
-4 / Littleu32amount_of_item_rewards
-? / -QuestGiverReward[amount_of_item_rewards]item_rewards
-4 / LittleGoldmoney_reward
-4 / Littleu32experience_rewardarcemu: New 3.3 - this is the XP you’ll see on the quest reward panel too, but I think it is fine not to show it, because it can change if the player levels up before completing the quest.
-4 / Littleu32honor_reward
-4 / Littlef32honor_reward_multiplierarcemu: new 3.3
-4 / LittleSpellreward_spellmangosone: reward spell, this spell will display (icon) (casted if RewSpellCast==0)
-4 / LittleSpellcasted_spell
-4 / Littleu32title_rewardmangosone: CharTitle, new 2.4.0, player gets this title (bit index from CharTitles)
-4 / Littleu32talent_reward
-4 / Littleu32arena_point_reward
-4 / Littleu32unknown2arcemu: new 3.3.0
-20 / -u32[5]reward_factions
-20 / -u32[5]reward_reputationsmangostwo: columnid in QuestFactionReward.dbc (if negative, from second row)
-20 / -u32[5]reward_reputations_overridemangostwo: reward reputation override. No diplomacy bonus is expected given, reward also does not display in chat window
-4 / Littleu32amount_of_emotes
-? / -QuestDetailsEmote[amount_of_emotes]emotes

SMSG_QUESTGIVER_QUEST_FAILED

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_questfailed.wowm:3.

smsg SMSG_QUESTGIVER_QUEST_FAILED = 0x0192 {
    u32 quest_id;
    QuestFailedReason reason;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / -QuestFailedReasonreason

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_questfailed.wowm:3.

smsg SMSG_QUESTGIVER_QUEST_FAILED = 0x0192 {
    u32 quest_id;
    QuestFailedReason reason;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / -QuestFailedReasonreason

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_questfailed.wowm:3.

smsg SMSG_QUESTGIVER_QUEST_FAILED = 0x0192 {
    u32 quest_id;
    QuestFailedReason reason;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / -QuestFailedReasonreason

SMSG_QUESTGIVER_QUEST_INVALID

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_invalid.wowm:3.

smsg SMSG_QUESTGIVER_QUEST_INVALID = 0x018F {
    QuestFailedReason msg;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -QuestFailedReasonmsg

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_invalid.wowm:3.

smsg SMSG_QUESTGIVER_QUEST_INVALID = 0x018F {
    QuestFailedReason msg;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -QuestFailedReasonmsg

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_invalid.wowm:3.

smsg SMSG_QUESTGIVER_QUEST_INVALID = 0x018F {
    QuestFailedReason msg;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -QuestFailedReasonmsg

SMSG_QUESTGIVER_QUEST_LIST

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_list.wowm:1.

smsg SMSG_QUESTGIVER_QUEST_LIST = 0x0185 {
    Guid npc;
    CString title;
    u32 emote_delay;
    u32 emote;
    u8 amount_of_entries;
    QuestItem[amount_of_entries] quest_items;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidnpc
0x0C- / -CStringtitle
-4 / Littleu32emote_delaymangoszero: player emote
-4 / Littleu32emotemangoszero: NPC emote
-1 / -u8amount_of_entries
-? / -QuestItem[amount_of_entries]quest_items

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_quest_list.wowm:16.

smsg SMSG_QUESTGIVER_QUEST_LIST = 0x0185 {
    Guid npc;
    CString title;
    u32 emote_delay;
    u32 emote;
    u8 amount_of_entries;
    QuestItem[amount_of_entries] quest_items;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidnpc
-- / -CStringtitle
-4 / Littleu32emote_delaymangoszero: player emote
-4 / Littleu32emotemangoszero: NPC emote
-1 / -u8amount_of_entries
-? / -QuestItem[amount_of_entries]quest_items

SMSG_QUESTGIVER_REQUEST_ITEMS

Client Version 1

mangoszero/vmangos: Quests that don’t require items use the RequestItemsText field to store the text that is shown when you talk to the quest giver while the quest is incomplete. Therefore the text should not be shown for them when the quest is complete. For quests that do require items, it is self explanatory.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_request_item.wowm:17.

smsg SMSG_QUESTGIVER_REQUEST_ITEMS = 0x018B {
    Guid npc;
    u32 quest_id;
    CString title;
    CString request_items_text;
    u32 emote_delay;
    u32 emote;
    Bool32 auto_finish;
    Gold required_money;
    u32 amount_of_required_items;
    QuestItemRequirement[amount_of_required_items] required_items;
    u32 unknown1;
    QuestCompletable completable;
    u32 flags2;
    u32 flags3;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidnpc
0x0C4 / Littleu32quest_id
0x10- / -CStringtitle
-- / -CStringrequest_items_text
-4 / Littleu32emote_delay
-4 / Littleu32emote
-4 / LittleBool32auto_finish
-4 / LittleGoldrequired_money
-4 / Littleu32amount_of_required_items
-? / -QuestItemRequirement[amount_of_required_items]required_items
-4 / Littleu32unknown1cmangos/vmangos/mangoszero: All emulators set to 0x02
-4 / -QuestCompletablecompletable
-4 / Littleu32flags2cmangos/vmangos/mangoszero: set to 0x04
-4 / Littleu32flags3cmangos/vmangos/mangoszero: set to 0x08

Client Version 2.4.3

mangoszero/vmangos: Quests that don’t require items use the RequestItemsText field to store the text that is shown when you talk to the quest giver while the quest is incomplete. Therefore the text should not be shown for them when the quest is complete. For quests that do require items, it is self explanatory.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_request_item.wowm:40.

smsg SMSG_QUESTGIVER_REQUEST_ITEMS = 0x018B {
    Guid npc;
    u32 quest_id;
    CString title;
    CString request_items_text;
    u32 emote_delay;
    u32 emote;
    Bool32 auto_finish;
    u32 suggested_players;
    Gold required_money;
    u32 amount_of_required_items;
    QuestItemRequirement[amount_of_required_items] required_items;
    QuestCompletable completable;
    u32 flags1;
    u32 flags2;
    u32 flags3;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidnpc
0x0C4 / Littleu32quest_id
0x10- / -CStringtitle
-- / -CStringrequest_items_text
-4 / Littleu32emote_delay
-4 / Littleu32emote
-4 / LittleBool32auto_finish
-4 / Littleu32suggested_players
-4 / LittleGoldrequired_money
-4 / Littleu32amount_of_required_items
-? / -QuestItemRequirement[amount_of_required_items]required_items
-4 / -QuestCompletablecompletable
-4 / Littleu32flags1cmangos/vmangos/mangoszero: set to 0x04
-4 / Littleu32flags2cmangos/vmangos/mangoszero: set to 0x08
-4 / Littleu32flags3cmangos/vmangos/mangoszero: set to 0x10

Client Version 3.3.5

mangoszero/vmangos: Quests that don’t require items use the RequestItemsText field to store the text that is shown when you talk to the quest giver while the quest is incomplete. Therefore the text should not be shown for them when the quest is complete. For quests that do require items, it is self explanatory.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_request_item.wowm:64.

smsg SMSG_QUESTGIVER_REQUEST_ITEMS = 0x018B {
    Guid npc;
    u32 quest_id;
    CString title;
    CString request_items_text;
    u32 emote_delay;
    u32 emote;
    Bool32 auto_finish;
    u32 flags1;
    u32 suggested_players;
    Gold required_money;
    u32 amount_of_required_items;
    QuestItemRequirement[amount_of_required_items] required_items;
    QuestCompletable completable;
    u32 flags2;
    u32 flags3;
    u32 flags4;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidnpc
-4 / Littleu32quest_id
-- / -CStringtitle
-- / -CStringrequest_items_text
-4 / Littleu32emote_delay
-4 / Littleu32emote
-4 / LittleBool32auto_finish
-4 / Littleu32flags1mangostwo: 3.3.3 questFlags
-4 / Littleu32suggested_players
-4 / LittleGoldrequired_money
-4 / Littleu32amount_of_required_items
-? / -QuestItemRequirement[amount_of_required_items]required_items
-4 / -QuestCompletablecompletable
-4 / Littleu32flags2mangostwo: set to 0x04
-4 / Littleu32flags3mangostwo: set to 0x08
-4 / Littleu32flags4mangostwo: set to 0x10

SMSG_QUESTGIVER_STATUS

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_status.wowm:3.

smsg SMSG_QUESTGIVER_STATUS = 0x0183 {
    Guid guid;
    (u32)QuestGiverStatus status;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -QuestGiverStatusstatus

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_status.wowm:3.

smsg SMSG_QUESTGIVER_STATUS = 0x0183 {
    Guid guid;
    (u32)QuestGiverStatus status;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -QuestGiverStatusstatus

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_status.wowm:3.

smsg SMSG_QUESTGIVER_STATUS = 0x0183 {
    Guid guid;
    (u32)QuestGiverStatus status;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -QuestGiverStatusstatus

SMSG_QUESTGIVER_STATUS_MULTIPLE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_status_multiple.wowm:8.

smsg SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x0417 {
    u32 amount_of_statuses;
    QuestGiverStatusReport[amount_of_statuses] statuses;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_statuses
0x08? / -QuestGiverStatusReport[amount_of_statuses]statuses

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_status_multiple.wowm:15.

smsg SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x0418 {
    u32 amount_of_statuses;
    QuestGiverStatusReport[amount_of_statuses] statuses;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_statuses
-? / -QuestGiverStatusReport[amount_of_statuses]statuses

SMSG_QUESTLOG_FULL

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questlog_full.wowm:3.

smsg SMSG_QUESTLOG_FULL = 0x0195 {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_QUESTUPDATE_ADD_ITEM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questupdate_add_item.wowm:3.

smsg SMSG_QUESTUPDATE_ADD_ITEM = 0x019A {
    u32 required_item_id;
    u32 items_required;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32required_item_id
0x084 / Littleu32items_required

SMSG_QUESTUPDATE_ADD_KILL

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questupdate_add_kill.wowm:3.

smsg SMSG_QUESTUPDATE_ADD_KILL = 0x0199 {
    u32 quest_id;
    u32 creature_id;
    u32 kill_count;
    u32 required_kill_count;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / Littleu32creature_idUnsure of name
0x0C4 / Littleu32kill_count
0x104 / Littleu32required_kill_count
0x148 / LittleGuidguid

SMSG_QUESTUPDATE_ADD_PVP_KILL

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questupdate_add_pvp_kill.wowm:1.

smsg SMSG_QUESTUPDATE_ADD_PVP_KILL = 0x046F {
    u32 quest_id;
    u32 count;
    u32 players_slain;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / Littleu32count
0x0C4 / Littleu32players_slain

SMSG_QUESTUPDATE_COMPLETE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questupdate_complete.wowm:3.

smsg SMSG_QUESTUPDATE_COMPLETE = 0x0198 {
    u32 quest_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id

SMSG_QUESTUPDATE_FAILEDTIMER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questupdate_failedtimer.wowm:3.

smsg SMSG_QUESTUPDATE_FAILEDTIMER = 0x0197 {
    u32 quest_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id

SMSG_QUESTUPDATE_FAILED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questupdate_failed.wowm:3.

smsg SMSG_QUESTUPDATE_FAILED = 0x0196 {
    u32 quest_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id

SMSG_QUEST_CONFIRM_ACCEPT

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_confirm_accept.wowm:3.

smsg SMSG_QUEST_CONFIRM_ACCEPT = 0x019C {
    u32 quest_id;
    CString quest_title;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32quest_id
-- / -CStringquest_title
-8 / LittleGuidguid

SMSG_QUEST_FORCE_REMOVE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_force_remove.wowm:1.

smsg SMSG_QUEST_FORCE_REMOVE = 0x021E {
    u32 quest_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id

SMSG_QUEST_POI_QUERY_RESPONSE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_poi_query_response.wowm:30.

smsg SMSG_QUEST_POI_QUERY_RESPONSE = 0x01E4 {
    u32 amount_of_quests;
    QuestPoiList[amount_of_quests] quests;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_quests
-? / -QuestPoiList[amount_of_quests]quests

SMSG_QUEST_QUERY_RESPONSE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_query_response.wowm:11.

smsg SMSG_QUEST_QUERY_RESPONSE = 0x005D {
    u32 quest_id;
    u32 quest_method;
    Level32 quest_level;
    u32 zone_or_sort;
    u32 quest_type;
    Faction reputation_objective_faction;
    u32 reputation_objective_value;
    Faction required_opposite_faction;
    u32 required_opposite_reputation_value;
    u32 next_quest_in_chain;
    Gold money_reward;
    Gold max_level_money_reward;
    u32 reward_spell;
    u32 source_item_id;
    u32 quest_flags;
    QuestItemReward[4] rewards;
    QuestItemReward[6] choice_rewards;
    u32 point_map_id;
    Vector2d position;
    u32 point_opt;
    CString title;
    CString objective_text;
    CString details;
    CString end_text;
    QuestObjective[4] objectives;
    CString[4] objective_texts;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / Littleu32quest_methodAccepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details)
0x0C4 / LittleLevel32quest_level
0x104 / Littleu32zone_or_sort
0x144 / Littleu32quest_type
0x182 / -Factionreputation_objective_factioncmangos: shown in quest log as part of quest objective
0x1A4 / Littleu32reputation_objective_valuecmangos: shown in quest log as part of quest objective
0x1E2 / -Factionrequired_opposite_factioncmangos: RequiredOpositeRepFaction, required faction value with another (oposite) faction (objective). cmangos sets to 0
0x204 / Littleu32required_opposite_reputation_valuecmangos: RequiredOpositeRepValue, required faction value with another (oposite) faction (objective). cmangos sets to 0
0x244 / Littleu32next_quest_in_chain
0x284 / LittleGoldmoney_reward
0x2C4 / LittleGoldmax_level_money_rewardcmangos: used in XP calculation at client
0x304 / Littleu32reward_spellcmangos: reward spell, this spell will display (icon) (casted if RewSpellCast==0)
0x344 / Littleu32source_item_id
0x384 / Littleu32quest_flags
0x3C32 / -QuestItemReward[4]rewards
0x5C48 / -QuestItemReward[6]choice_rewards
0x8C4 / Littleu32point_map_id
0x908 / -Vector2dposition
0x984 / Littleu32point_opt
0x9C- / -CStringtitle
-- / -CStringobjective_text
-- / -CStringdetails
-- / -CStringend_text
-64 / -QuestObjective[4]objectives
-? / -CString[4]objective_texts

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_query_response.wowm:49.

smsg SMSG_QUEST_QUERY_RESPONSE = 0x005D {
    u32 quest_id;
    u32 quest_method;
    Level32 quest_level;
    u32 zone_or_sort;
    u32 quest_type;
    u32 suggest_player_amount;
    Faction reputation_objective_faction;
    u32 reputation_objective_value;
    Faction required_opposite_faction;
    u32 required_opposite_reputation_value;
    u32 next_quest_in_chain;
    Gold money_reward;
    Gold max_level_money_reward;
    u32 reward_spell;
    u32 casted_reward_spell;
    u32 honor_reward;
    u32 source_item_id;
    u32 quest_flags;
    u32 title_reward;
    QuestItemReward[4] rewards;
    QuestItemReward[6] choice_rewards;
    u32 point_map_id;
    Vector2d position;
    u32 point_opt;
    CString title;
    CString objective_text;
    CString details;
    CString end_text;
    QuestObjective[4] objectives;
    CString[4] objective_texts;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / Littleu32quest_methodAccepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details)
0x0C4 / LittleLevel32quest_level
0x104 / Littleu32zone_or_sort
0x144 / Littleu32quest_type
0x184 / Littleu32suggest_player_amount
0x1C2 / -Factionreputation_objective_factioncmangos: shown in quest log as part of quest objective
0x1E4 / Littleu32reputation_objective_valuecmangos: shown in quest log as part of quest objective
0x222 / -Factionrequired_opposite_factioncmangos: RequiredOpositeRepFaction, required faction value with another (oposite) faction (objective). cmangos sets to 0
0x244 / Littleu32required_opposite_reputation_valuecmangos: RequiredOpositeRepValue, required faction value with another (oposite) faction (objective). cmangos sets to 0
0x284 / Littleu32next_quest_in_chain
0x2C4 / LittleGoldmoney_reward
0x304 / LittleGoldmax_level_money_rewardcmangos: used in XP calculation at client
0x344 / Littleu32reward_spellcmangos: reward spell, this spell will display (icon) (casted if RewSpellCast==0)
0x384 / Littleu32casted_reward_spellmangosone: casted spell
0x3C4 / Littleu32honor_reward
0x404 / Littleu32source_item_id
0x444 / Littleu32quest_flags
0x484 / Littleu32title_rewardCharTitleId, new 2.4.0, player gets this title (id from CharTitles)
0x4C32 / -QuestItemReward[4]rewards
0x6C48 / -QuestItemReward[6]choice_rewards
0x9C4 / Littleu32point_map_id
0xA08 / -Vector2dposition
0xA84 / Littleu32point_opt
0xAC- / -CStringtitle
-- / -CStringobjective_text
-- / -CStringdetails
-- / -CStringend_text
-64 / -QuestObjective[4]objectives
-? / -CString[4]objective_texts

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_query_response.wowm:93.

smsg SMSG_QUEST_QUERY_RESPONSE = 0x005D {
    u32 quest_id;
    u32 quest_method;
    Level32 quest_level;
    Level32 minimum_quest_level;
    u32 zone_or_sort;
    u32 quest_type;
    u32 suggest_player_amount;
    Faction reputation_objective_faction;
    u32 reputation_objective_value;
    Faction required_opposite_faction;
    u32 required_opposite_reputation_value;
    u32 next_quest_in_chain;
    Gold money_reward;
    Gold max_level_money_reward;
    u32 reward_spell;
    u32 casted_reward_spell;
    u32 honor_reward;
    f32 honor_reward_multiplier;
    u32 source_item_id;
    u32 quest_flags;
    u32 title_reward;
    u32 players_slain;
    u32 bonus_talents;
    u32 bonus_arena_points;
    u32 unknown1;
    QuestItemReward[4] rewards;
    QuestItemReward[6] choice_rewards;
    u32[5] reputation_rewards;
    u32[5] reputation_reward_amounts;
    u32[5] reputation_reward_overrides;
    u32 point_map_id;
    Vector2d position;
    u32 point_opt;
    CString title;
    CString objective_text;
    CString details;
    CString end_text;
    CString completed_text;
    QuestObjective[4] objectives;
    QuestItemRequirement[6] item_requirements;
    CString[4] objective_texts;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32quest_id
-4 / Littleu32quest_methodAccepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details)
-4 / LittleLevel32quest_level
-4 / LittleLevel32minimum_quest_levelmin required level to obtain (added for 3.3).
Assumed allowed (database) range is -1 to 255 (still using uint32, since negative value would not be of any known use for client)
-4 / Littleu32zone_or_sort
-4 / Littleu32quest_type
-4 / Littleu32suggest_player_amount
-2 / -Factionreputation_objective_factioncmangos: shown in quest log as part of quest objective
-4 / Littleu32reputation_objective_valuecmangos: shown in quest log as part of quest objective
-2 / -Factionrequired_opposite_factioncmangos: RequiredOpositeRepFaction, required faction value with another (oposite) faction (objective). cmangos sets to 0
-4 / Littleu32required_opposite_reputation_valuecmangos: RequiredOpositeRepValue, required faction value with another (oposite) faction (objective). cmangos sets to 0
-4 / Littleu32next_quest_in_chain
-4 / LittleGoldmoney_reward
-4 / LittleGoldmax_level_money_rewardcmangos: used in XP calculation at client
-4 / Littleu32reward_spellcmangos: reward spell, this spell will display (icon) (casted if RewSpellCast==0)
-4 / Littleu32casted_reward_spellmangosone: casted spell
-4 / Littleu32honor_reward
-4 / Littlef32honor_reward_multipliernew reward honor (multiplied by around 62 at client side)
-4 / Littleu32source_item_id
-4 / Littleu32quest_flags
-4 / Littleu32title_rewardCharTitleId, new 2.4.0, player gets this title (id from CharTitles)
-4 / Littleu32players_slain
-4 / Littleu32bonus_talents
-4 / Littleu32bonus_arena_points
-4 / Littleu32unknown1
-32 / -QuestItemReward[4]rewards
-48 / -QuestItemReward[6]choice_rewards
-20 / -u32[5]reputation_rewards
-20 / -u32[5]reputation_reward_amounts
-20 / -u32[5]reputation_reward_overrides
-4 / Littleu32point_map_id
-8 / -Vector2dposition
-4 / Littleu32point_opt
-- / -CStringtitle
-- / -CStringobjective_text
-- / -CStringdetails
-- / -CStringend_text
-- / -CStringcompleted_text
-64 / -QuestObjective[4]objectives
-72 / -QuestItemRequirement[6]item_requirements
-? / -CString[4]objective_texts

SMSG_RAID_GROUP_ONLY

Client Version 1, Client Version 2, Client Version 3

used when player leaves raid group inside instance

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_raid_group_only.wowm:9.

smsg SMSG_RAID_GROUP_ONLY = 0x0286 {
    u32 homebind_timer;
    RaidGroupError error;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32homebind_timer
0x084 / -RaidGroupErrorerror

SMSG_RAID_INSTANCE_INFO

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_raid_instance_info.wowm:9.

smsg SMSG_RAID_INSTANCE_INFO = 0x02CC {
    u32 amount_of_raid_infos;
    RaidInfo[amount_of_raid_infos] raid_infos;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_raid_infos
0x08? / -RaidInfo[amount_of_raid_infos]raid_infos

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_raid_instance_info.wowm:9.

smsg SMSG_RAID_INSTANCE_INFO = 0x02CC {
    u32 amount_of_raid_infos;
    RaidInfo[amount_of_raid_infos] raid_infos;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_raid_infos
0x08? / -RaidInfo[amount_of_raid_infos]raid_infos

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_raid_instance_info.wowm:9.

smsg SMSG_RAID_INSTANCE_INFO = 0x02CC {
    u32 amount_of_raid_infos;
    RaidInfo[amount_of_raid_infos] raid_infos;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_raid_infos
-? / -RaidInfo[amount_of_raid_infos]raid_infos

SMSG_RAID_INSTANCE_MESSAGE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_raid_instance_message.wowm:14.

smsg SMSG_RAID_INSTANCE_MESSAGE = 0x02FA {
    RaidInstanceMessage message_type;
    Map map;
    u32 time_left;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -RaidInstanceMessagemessage_type
0x084 / -Mapmap
0x0C4 / Littleu32time_left

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_raid_instance_message.wowm:14.

smsg SMSG_RAID_INSTANCE_MESSAGE = 0x02FA {
    RaidInstanceMessage message_type;
    Map map;
    u32 time_left;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -RaidInstanceMessagemessage_type
0x084 / -Mapmap
0x0C4 / Littleu32time_left

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_raid_instance_message.wowm:37.

smsg SMSG_RAID_INSTANCE_MESSAGE = 0x02FA {
    RaidInstanceMessage message_type;
    Map map;
    (u32)RaidDifficulty difficulty;
    u32 time_left;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -RaidInstanceMessagemessage_type
0x084 / -Mapmap
0x0C4 / -RaidDifficultydifficulty
0x104 / Littleu32time_left

SMSG_READ_ITEM_FAILED

Client Version 1, Client Version 2, Client Version 3

vmangos has extra u8 with comment 0..2, read failure reason? if == 1, use next command.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_read_item_failed.wowm:4.

smsg SMSG_READ_ITEM_FAILED = 0x00AF {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_READ_ITEM_OK

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_read_item_ok.wowm:3.

smsg SMSG_READ_ITEM_OK = 0x00AE {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_REALM_SPLIT

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_realm_split.wowm:9.

smsg SMSG_REALM_SPLIT = 0x038B {
    u32 realm_id;
    RealmSplitState state;
    CString split_date;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32realm_idArcEmu/TrinityCore/mangosthree send realm_id from CMSG_REALM_SPLIT back.
-4 / -RealmSplitStatestate
-- / -CStringsplit_dateSeems to be slash separated string, like ‘01/01/01’.

SMSG_RECEIVED_MAIL

Client Version 1, Client Version 2, Client Version 3

cmangos/vmangos/mangoszero: deliver undelivered mail

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_received_mail.wowm:4.

smsg SMSG_RECEIVED_MAIL = 0x0285 {
    u32 unknown1;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unknown1cmangos/vmangos sends 0 as u32, mangoszero sends 0 as f32

SMSG_REDIRECT_CLIENT

Client Version 3.3.5

Only exists as a comment in azerothcore/trinitycore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_redirect_client.wowm:2.

smsg SMSG_REDIRECT_CLIENT = 0x050D {
    u32 ip_address;
    u16 port;
    u32 unknown;
    u8[20] hash;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32ip_address
0x082 / Littleu16port
0x0A4 / Littleu32unknown
0x0E20 / -u8[20]hashazerothcore: ip + port, seed = sessionkey

SMSG_REFER_A_FRIEND_FAILURE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_refer_a_friend_failure.wowm:21.

smsg SMSG_REFER_A_FRIEND_FAILURE = 0x0420 {
    (u32)ReferAFriendError error;
    if (error == NOT_IN_GROUP) {
        CString target_name;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -ReferAFriendErrorerror

If error is equal to NOT_IN_GROUP:

OffsetSize / EndiannessTypeNameComment
0x08- / -CStringtarget_name

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_refer_a_friend_failure.wowm:30.

smsg SMSG_REFER_A_FRIEND_FAILURE = 0x0421 {
    (u32)ReferAFriendError error;
    if (error == NOT_IN_GROUP) {
        CString target_name;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -ReferAFriendErrorerror

If error is equal to NOT_IN_GROUP:

OffsetSize / EndiannessTypeNameComment
-- / -CStringtarget_name

SMSG_REMOVED_SPELL

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_removed_spell.wowm:1.

smsg SMSG_REMOVED_SPELL = 0x0203 {
    Spell16 spell;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x042 / LittleSpell16spell

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_removed_spell.wowm:7.

smsg SMSG_REMOVED_SPELL = 0x0203 {
    Spell spell;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellspell

SMSG_RESET_FAILED_NOTIFY

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_reset_failed_notify.wowm:1.

smsg SMSG_RESET_FAILED_NOTIFY = 0x0396 {
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_reset_failed_notify.wowm:1.

smsg SMSG_RESET_FAILED_NOTIFY = 0x0396 {
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap

SMSG_RESISTLOG

Client Version 1.12

Structure as comment on https://github1s.com/mangoszero/server/blob/HEAD/src/game/Server/Opcodes.h#L525.

Not used in azerothcore/trinitycore/mangostwo/arcemu.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_resistlog.wowm:5.

smsg SMSG_RESISTLOG = 0x01D6 {
    Guid guid1;
    Guid guid2;
    u32 unknown1;
    f32 unknown2;
    f32 unknown3;
    u32 unknown4;
    u32 unknown5;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid1
0x0C8 / LittleGuidguid2
0x144 / Littleu32unknown1
0x184 / Littlef32unknown2
0x1C4 / Littlef32unknown3
0x204 / Littleu32unknown4
0x244 / Littleu32unknown5

SMSG_RESPOND_INSPECT_ACHIEVEMENTS

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/achievement/smsg_respond_inspect_achievements.wowm:1.

smsg SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x046C {
    PackedGuid player;
    AchievementDoneArray done;
    AchievementInProgressArray in_progress;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidplayer
-- / -AchievementDoneArraydone
-- / -AchievementInProgressArrayin_progress

SMSG_RESURRECT_FAILED

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/smsg_resurrect_failed.wowm:1.

smsg SMSG_RESURRECT_FAILED = 0x0252 {
    u32 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unknownarcemu is the only emulator that has this.
arcemu sets to 1.

SMSG_RESURRECT_REQUEST

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/smsg_resurrect_request.wowm:1.

smsg SMSG_RESURRECT_REQUEST = 0x015B {
    Guid guid;
    SizedCString name;
    Bool player;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidguid
-- / -SizedCStringname
-1 / -Boolplayer

SMSG_RESYNC_RUNES

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_resync_runes.wowm:8.

smsg SMSG_RESYNC_RUNES = 0x0487 {
    u32 amount_of_runes;
    ResyncRune[amount_of_runes] runes;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_runes
-? / -ResyncRune[amount_of_runes]runes

SMSG_SELL_ITEM

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_sell_item.wowm:17.

smsg SMSG_SELL_ITEM = 0x01A1 {
    Guid guid;
    Guid item;
    SellItemResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C8 / LittleGuiditem
0x141 / -SellItemResultresult

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_sell_item.wowm:48.

smsg SMSG_SELL_ITEM = 0x01A1 {
    Guid guid;
    Guid item;
    SellItemResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C8 / LittleGuiditem
0x141 / -SellItemResultresult

SMSG_SEND_MAIL_RESULT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_send_mail_result.wowm:51.

smsg SMSG_SEND_MAIL_RESULT = 0x0239 {
    u32 mail_id;
    MailAction action;
    if (action == ITEM_TAKEN) {
        MailResult result;
        if (result == ERR_EQUIP_ERROR) {
            u32 equip_error;
        }
        else {
            Item item;
            u32 item_count;
        }
    }
    else {
        MailResultTwo result2;
        if (result2 == ERR_EQUIP_ERROR) {
            u32 equip_error2;
        }
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_send_mail_result.wowm:51.

smsg SMSG_SEND_MAIL_RESULT = 0x0239 {
    u32 mail_id;
    MailAction action;
    if (action == ITEM_TAKEN) {
        MailResult result;
        if (result == ERR_EQUIP_ERROR) {
            u32 equip_error;
        }
        else {
            Item item;
            u32 item_count;
        }
    }
    else {
        MailResultTwo result2;
        if (result2 == ERR_EQUIP_ERROR) {
            u32 equip_error2;
        }
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_send_mail_result.wowm:51.

smsg SMSG_SEND_MAIL_RESULT = 0x0239 {
    u32 mail_id;
    MailAction action;
    if (action == ITEM_TAKEN) {
        MailResult result;
        if (result == ERR_EQUIP_ERROR) {
            u32 equip_error;
        }
        else {
            Item item;
            u32 item_count;
        }
    }
    else {
        MailResultTwo result2;
        if (result2 == ERR_EQUIP_ERROR) {
            u32 equip_error2;
        }
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

SMSG_SEND_UNLEARN_SPELLS

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_send_unlearn_spells.wowm:1.

smsg SMSG_SEND_UNLEARN_SPELLS = 0x041D {
    u32 amount_of_spells;
    Spell[amount_of_spells] spells;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_spells
0x08? / -Spell[amount_of_spells]spells

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_send_unlearn_spells.wowm:8.

smsg SMSG_SEND_UNLEARN_SPELLS = 0x041E {
    u32 amount_of_spells;
    Spell[amount_of_spells] spells;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_spells
-? / -Spell[amount_of_spells]spells

SMSG_SERVER_FIRST_ACHIEVEMENT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/achievement/smsg_server_first_achievement.wowm:8.

smsg SMSG_SERVER_FIRST_ACHIEVEMENT = 0x0498 {
    CString name;
    Guid player;
    u32 achievement;
    AchievementNameLinkType link_type;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringname
-8 / LittleGuidplayer
-4 / Littleu32achievement
-1 / -AchievementNameLinkTypelink_type

SMSG_SERVER_MESSAGE

Client Version 1.12, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_server_message.wowm:11.

smsg SMSG_SERVER_MESSAGE = 0x0291 {
    ServerMessageType message_type;
    CString message;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -ServerMessageTypemessage_type
0x08- / -CStringmessage

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_server_message.wowm:32.

smsg SMSG_SERVER_MESSAGE = 0x0291 {
    ServerMessageType message_type;
    CString message;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -ServerMessageTypemessage_type
-- / -CStringmessage

SMSG_SET_EXTRA_AURA_INFO

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_set_extra_aura_info.wowm:1.

smsg SMSG_SET_EXTRA_AURA_INFO = 0x03A4 {
    PackedGuid unit;
    optional aura {
        u8 slot;
        Spell spell;
        u32 max_duration;
        u32 remaining_duration;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidunit

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-1 / -u8slot
-4 / LittleSpellspell
-4 / Littleu32max_duration
-4 / Littleu32remaining_duration

SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_set_extra_aura_info_need_update.wowm:1.

smsg SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE = 0x03A5 {
    PackedGuid unit;
    u8 slot;
    Spell spell;
    u32 max_duration;
    u32 remaining_duration;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidunit
-1 / -u8slot
-4 / LittleSpellspell
-4 / Littleu32max_duration
-4 / Littleu32remaining_duration

SMSG_SET_FACTION_STANDING

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_faction_standing.wowm:9.

smsg SMSG_SET_FACTION_STANDING = 0x0124 {
    u32 amount_of_faction_standings;
    FactionStanding[amount_of_faction_standings] faction_standings;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_faction_standings
0x08? / -FactionStanding[amount_of_faction_standings]faction_standings

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_faction_standing.wowm:16.

smsg SMSG_SET_FACTION_STANDING = 0x0124 {
    f32 refer_a_friend_bonus;
    u32 amount_of_faction_standings;
    FactionStanding[amount_of_faction_standings] faction_standings;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littlef32refer_a_friend_bonusAll emus set to 0.
0x084 / Littleu32amount_of_faction_standings
0x0C? / -FactionStanding[amount_of_faction_standings]faction_standings

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_faction_standing.wowm:25.

smsg SMSG_SET_FACTION_STANDING = 0x0124 {
    f32 refer_a_friend_bonus;
    Bool any_rank_increased;
    u32 amount_of_faction_standings;
    FactionStanding[amount_of_faction_standings] faction_standings;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32refer_a_friend_bonusAll emus set to 0.
-1 / -Boolany_rank_increasedmangostwo: display visual effect
-4 / Littleu32amount_of_faction_standings
-? / -FactionStanding[amount_of_faction_standings]faction_standings

SMSG_SET_FACTION_VISIBLE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_faction_visible.wowm:1.

smsg SMSG_SET_FACTION_VISIBLE = 0x0123 {
    Faction faction;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x042 / -Factionfaction

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_faction_visible.wowm:1.

smsg SMSG_SET_FACTION_VISIBLE = 0x0123 {
    Faction faction;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x042 / -Factionfaction

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_faction_visible.wowm:1.

smsg SMSG_SET_FACTION_VISIBLE = 0x0123 {
    Faction faction;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x042 / -Factionfaction

SMSG_SET_FLAT_SPELL_MODIFIER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_set_flat_spell_modifier.wowm:1.

smsg SMSG_SET_FLAT_SPELL_MODIFIER = 0x0266 {
    u8 eff;
    u8 op;
    u32 value;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8eff
0x051 / -u8op
0x064 / Littleu32value

SMSG_SET_FORCED_REACTIONS

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_forced_reactions.wowm:8.

smsg SMSG_SET_FORCED_REACTIONS = 0x02A5 {
    u32 amount_of_reactions;
    ForcedReaction[amount_of_reactions] reactions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_reactions
0x08? / -ForcedReaction[amount_of_reactions]reactions

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_forced_reactions.wowm:8.

smsg SMSG_SET_FORCED_REACTIONS = 0x02A5 {
    u32 amount_of_reactions;
    ForcedReaction[amount_of_reactions] reactions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_reactions
0x08? / -ForcedReaction[amount_of_reactions]reactions

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/faction/smsg_set_forced_reactions.wowm:8.

smsg SMSG_SET_FORCED_REACTIONS = 0x02A5 {
    u32 amount_of_reactions;
    ForcedReaction[amount_of_reactions] reactions;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_reactions
-? / -ForcedReaction[amount_of_reactions]reactions

SMSG_SET_PCT_SPELL_MODIFIER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_set_pct_spell_modifier.wowm:3.

smsg SMSG_SET_PCT_SPELL_MODIFIER = 0x0267 {
    u8 eff;
    u8 op;
    u32 value;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8eff
0x051 / -u8op
0x064 / Littleu32value

SMSG_SET_PHASE_SHIFT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_set_phase_shift.wowm:1.

smsg SMSG_SET_PHASE_SHIFT = 0x047C {
    u32 new_phase;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32new_phase

SMSG_SET_PLAYER_DECLINED_NAMES_RESULT

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_set_player_declined_names_result.wowm:1.

smsg SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x0419 {
    u32 result;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32result
0x088 / LittleGuidguid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_set_player_declined_names_result.wowm:8.

smsg SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x041A {
    u32 result;
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32result
0x088 / LittleGuidguid

SMSG_SET_PROFICIENCY

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_set_proficiency.wowm:1.

smsg SMSG_SET_PROFICIENCY = 0x0127 {
    ItemClass class;
    u32 item_sub_class_mask;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ItemClassclass
0x054 / Littleu32item_sub_class_mask

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_set_proficiency.wowm:1.

smsg SMSG_SET_PROFICIENCY = 0x0127 {
    ItemClass class;
    u32 item_sub_class_mask;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ItemClassclass
0x054 / Littleu32item_sub_class_mask

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_set_proficiency.wowm:1.

smsg SMSG_SET_PROFICIENCY = 0x0127 {
    ItemClass class;
    u32 item_sub_class_mask;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -ItemClassclass
0x054 / Littleu32item_sub_class_mask

SMSG_SET_PROJECTILE_POSITION

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_set_projectile_position.wowm:1.

smsg SMSG_SET_PROJECTILE_POSITION = 0x04BF {
    Guid caster;
    u8 amount_of_casts;
    Vector3d position;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidcaster
0x0C1 / -u8amount_of_casts
0x0D12 / -Vector3dposition

SMSG_SET_REST_START

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/exp/smsg_set_rest_start.wowm:3.

smsg SMSG_SET_REST_START = 0x021E {
    u32 unknown1;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32unknown1cmangos/mangoszero: unknown, may be rest state time or experience

SMSG_SHOWTAXINODES

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_showtaxinodes.wowm:3.

smsg SMSG_SHOWTAXINODES = 0x01A9 {
    u32 unknown1;
    Guid guid;
    u32 nearest_node;
    u32[-] nodes;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unknown1Set to 1 in mangoszero
-8 / LittleGuidguid
-4 / Littleu32nearest_node
-? / -u32[-]nodes

SMSG_SHOW_BANK

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_show_bank.wowm:3.

smsg SMSG_SHOW_BANK = 0x01B8 {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_SHOW_MAILBOX

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_show_mailbox.wowm:1.

smsg SMSG_SHOW_MAILBOX = 0x0297 {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_SOCKET_GEMS_RESULT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_socket_gems_result.wowm:1.

smsg SMSG_SOCKET_GEMS_RESULT = 0x050B {
    Guid item;
    u32[3] sockets;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuiditem
0x0C12 / -u32[3]sockets

SMSG_SPELLDAMAGESHIELD

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelldamageshield.wowm:1.

smsg SMSG_SPELLDAMAGESHIELD = 0x024F {
    Guid victim;
    Guid caster;
    u32 damage;
    (u32)SpellSchool school;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidvictim
0x0C8 / LittleGuidcaster
0x144 / Littleu32damage
0x184 / -SpellSchoolschool

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelldamageshield.wowm:10.

smsg SMSG_SPELLDAMAGESHIELD = 0x024F {
    Guid victim;
    Guid caster;
    Spell spell;
    u32 damage;
    (u32)SpellSchool school;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidvictim
0x0C8 / LittleGuidcaster
0x144 / LittleSpellspell
0x184 / Littleu32damage
0x1C4 / -SpellSchoolschool

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelldamageshield.wowm:20.

smsg SMSG_SPELLDAMAGESHIELD = 0x024F {
    Guid victim;
    Guid caster;
    Spell spell;
    u32 damage;
    u32 overkill;
    (u32)SpellSchool school;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidvictim
0x0C8 / LittleGuidcaster
0x144 / LittleSpellspell
0x184 / Littleu32damage
0x1C4 / Littleu32overkill
0x204 / -SpellSchoolschool

SMSG_SPELLDISPELLOG

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelldispellog.wowm:1.

smsg SMSG_SPELLDISPELLOG = 0x027B {
    PackedGuid victim;
    PackedGuid caster;
    u32 amount_of_spells;
    Spell[amount_of_spells] spells;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidvictim
-- / -PackedGuidcaster
-4 / Littleu32amount_of_spells
-? / -Spell[amount_of_spells]spells

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelldispellog.wowm:10.

smsg SMSG_SPELLDISPELLOG = 0x027B {
    PackedGuid victim;
    PackedGuid caster;
    Spell dispell_spell;
    u8 unknown;
    u32 amount_of_spells;
    DispelledSpell[amount_of_spells] spells;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidvictim
-- / -PackedGuidcaster
-4 / LittleSpelldispell_spell
-1 / -u8unknownmangosone: unused
-4 / Littleu32amount_of_spells
-? / -DispelledSpell[amount_of_spells]spells

SMSG_SPELLENERGIZELOG

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellenergizelog.wowm:1.

smsg SMSG_SPELLENERGIZELOG = 0x0151 {
    PackedGuid victim;
    PackedGuid caster;
    Spell spell;
    (u32)Power power;
    u32 damage;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidvictim
-- / -PackedGuidcaster
-4 / LittleSpellspell
-4 / -Powerpower
-4 / Littleu32damage

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellenergizelog.wowm:11.

smsg SMSG_SPELLENERGIZELOG = 0x0151 {
    PackedGuid victim;
    PackedGuid caster;
    Spell spell;
    (u32)Power power;
    u32 damage;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidvictim
-- / -PackedGuidcaster
-4 / LittleSpellspell
-4 / -Powerpower
-4 / Littleu32damage

SMSG_SPELLHEALLOG

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellheallog.wowm:1.

smsg SMSG_SPELLHEALLOG = 0x0150 {
    PackedGuid victim;
    PackedGuid caster;
    Spell id;
    u32 damage;
    Bool critical;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidvictim
-- / -PackedGuidcaster
-4 / LittleSpellid
-4 / Littleu32damage
-1 / -Boolcritical

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellheallog.wowm:11.

smsg SMSG_SPELLHEALLOG = 0x0150 {
    PackedGuid victim;
    PackedGuid caster;
    Spell id;
    u32 damage;
    Bool critical;
    u8 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidvictim
-- / -PackedGuidcaster
-4 / LittleSpellid
-4 / Littleu32damage
-1 / -Boolcritical
-1 / -u8unknownmangosone: unused in client?

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellheallog.wowm:23.

smsg SMSG_SPELLHEALLOG = 0x0150 {
    PackedGuid victim;
    PackedGuid caster;
    Spell id;
    u32 damage;
    u32 overheal;
    u32 absorb;
    Bool critical;
    u8 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidvictim
-- / -PackedGuidcaster
-4 / LittleSpellid
-4 / Littleu32damage
-4 / Littleu32overheal
-4 / Littleu32absorb
-1 / -Boolcritical
-1 / -u8unknownmangostwo: unused in client?

SMSG_SPELLINSTAKILLLOG

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellinstakilllog.wowm:1.

smsg SMSG_SPELLINSTAKILLLOG = 0x032F {
    Guid target;
    Spell spell;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidtarget
0x0C4 / LittleSpellspell

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellinstakilllog.wowm:8.

smsg SMSG_SPELLINSTAKILLLOG = 0x032F {
    Guid caster;
    Guid target;
    Spell spell;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidcaster
0x0C8 / LittleGuidtarget
0x144 / LittleSpellspell

SMSG_SPELLLOGEXECUTE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogexecute.wowm:1.

smsg SMSG_SPELLLOGEXECUTE = 0x024C {
    PackedGuid caster;
    Spell spell;
    u32 amount_of_effects;
    SpellLog[amount_of_effects] logs;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidcaster
-4 / LittleSpellspell
-4 / Littleu32amount_of_effects
-? / -SpellLog[amount_of_effects]logs

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogexecute.wowm:1.

smsg SMSG_SPELLLOGEXECUTE = 0x024C {
    PackedGuid caster;
    Spell spell;
    u32 amount_of_effects;
    SpellLog[amount_of_effects] logs;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidcaster
-4 / LittleSpellspell
-4 / Littleu32amount_of_effects
-? / -SpellLog[amount_of_effects]logs

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogexecute.wowm:1.

smsg SMSG_SPELLLOGEXECUTE = 0x024C {
    PackedGuid caster;
    Spell spell;
    u32 amount_of_effects;
    SpellLog[amount_of_effects] logs;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidcaster
-4 / LittleSpellspell
-4 / Littleu32amount_of_effects
-? / -SpellLog[amount_of_effects]logs

SMSG_SPELLLOGMISS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogmiss.wowm:8.

smsg SMSG_SPELLLOGMISS = 0x024B {
    Spell id;
    Guid caster;
    u8 unknown1;
    u32 amount_of_targets;
    SpellLogMiss[amount_of_targets] targets;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / LittleSpellid
-8 / LittleGuidcaster
-1 / -u8unknown1cmangos/mangoszero: can be 0 or 1
-4 / Littleu32amount_of_targets
-? / -SpellLogMiss[amount_of_targets]targets

SMSG_SPELLNONMELEEDAMAGELOG

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellnonmeleedamagelog.wowm:1.

smsg SMSG_SPELLNONMELEEDAMAGELOG = 0x0250 {
    PackedGuid target;
    PackedGuid attacker;
    Spell spell;
    u32 damage;
    SpellSchool school;
    u32 absorbed_damage;
    u32 resisted;
    Bool periodic_log;
    u8 unused;
    u32 blocked;
    HitInfo hit_info;
    u8 extend_flag;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidtarget
-- / -PackedGuidattacker
-4 / LittleSpellspell
-4 / Littleu32damage
-1 / -SpellSchoolschool
-4 / Littleu32absorbed_damage
-4 / Littleu32resistedcmangos/mangoszero/vmangos: sent as int32
-1 / -Boolperiodic_logcmangos/mangoszero/vmangos: if 1, then client show spell name (example: %s’s ranged shot hit %s for %u school or %s suffers %u school damage from %s’s spell_name
-1 / -u8unused
-4 / Littleu32blocked
-4 / -HitInfohit_info
-1 / -u8extend_flagcmangos has some that might be correct https://github.com/cmangos/mangos-classic/blob/524a39412dae7946d06e4b8f319f45b615075815/src/game/Entities/Unit.cpp#L5497.

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellnonmeleedamagelog.wowm:1.

smsg SMSG_SPELLNONMELEEDAMAGELOG = 0x0250 {
    PackedGuid target;
    PackedGuid attacker;
    Spell spell;
    u32 damage;
    SpellSchool school;
    u32 absorbed_damage;
    u32 resisted;
    Bool periodic_log;
    u8 unused;
    u32 blocked;
    HitInfo hit_info;
    u8 extend_flag;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidtarget
-- / -PackedGuidattacker
-4 / LittleSpellspell
-4 / Littleu32damage
-1 / -SpellSchoolschool
-4 / Littleu32absorbed_damage
-4 / Littleu32resistedcmangos/mangoszero/vmangos: sent as int32
-1 / -Boolperiodic_logcmangos/mangoszero/vmangos: if 1, then client show spell name (example: %s’s ranged shot hit %s for %u school or %s suffers %u school damage from %s’s spell_name
-1 / -u8unused
-4 / Littleu32blocked
-4 / -HitInfohit_info
-1 / -u8extend_flagcmangos has some that might be correct https://github.com/cmangos/mangos-classic/blob/524a39412dae7946d06e4b8f319f45b615075815/src/game/Entities/Unit.cpp#L5497.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellnonmeleedamagelog.wowm:21.

smsg SMSG_SPELLNONMELEEDAMAGELOG = 0x0250 {
    PackedGuid target;
    PackedGuid attacker;
    Spell spell;
    u32 damage;
    u32 overkill;
    SpellSchool school;
    u32 absorbed_damage;
    u32 resisted;
    Bool periodic_log;
    u8 unused;
    u32 blocked;
    HitInfo hit_info;
    u8 extend_flag;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget
-- / -PackedGuidattacker
-4 / LittleSpellspell
-4 / Littleu32damage
-4 / Littleu32overkill
-1 / -SpellSchoolschool
-4 / Littleu32absorbed_damage
-4 / Littleu32resistedcmangos/mangoszero/vmangos: sent as int32
-1 / -Boolperiodic_logcmangos/mangoszero/vmangos: if 1, then client show spell name (example: %s’s ranged shot hit %s for %u school or %s suffers %u school damage from %s’s spell_name
-1 / -u8unused
-4 / Littleu32blocked
-4 / -HitInfohit_info
-1 / -u8extend_flagcmangos has some that might be correct https://github.com/cmangos/mangos-classic/blob/524a39412dae7946d06e4b8f319f45b615075815/src/game/Entities/Unit.cpp#L5497.

SMSG_SPELLORDAMAGE_IMMUNE

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellordamage_immune.wowm:3.

smsg SMSG_SPELLORDAMAGE_IMMUNE = 0x0263 {
    Guid caster;
    Guid target;
    Spell id;
    Bool debug_log_format;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidcaster
0x0C8 / LittleGuidtarget
0x144 / LittleSpellid
0x181 / -Booldebug_log_format

SMSG_SPELLSTEALLOG

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellsteallog.wowm:15.

smsg SMSG_SPELLSTEALLOG = 0x0333 {
    PackedGuid victim;
    PackedGuid caster;
    Spell spell;
    u8 unknown;
    u32 amount_of_spell_steals;
    SpellSteal[amount_of_spell_steals] spell_steals;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidvictim
-- / -PackedGuidcaster
-4 / LittleSpellspell
-1 / -u8unknown
-4 / Littleu32amount_of_spell_steals
-? / -SpellSteal[amount_of_spell_steals]spell_steals

SMSG_SPELL_COOLDOWN

Client Version 1

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_cooldown.wowm:8.

smsg SMSG_SPELL_COOLDOWN = 0x0134 {
    Guid guid;
    SpellCooldownStatus[-] cooldowns;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C? / -SpellCooldownStatus[-]cooldowns

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_cooldown.wowm:15.

smsg SMSG_SPELL_COOLDOWN = 0x0134 {
    Guid guid;
    u8 flags;
    SpellCooldownStatus[-] cooldowns;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidguid
-1 / -u8flags
-? / -SpellCooldownStatus[-]cooldowns

SMSG_SPELL_DELAYED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_delayed.wowm:3.

smsg SMSG_SPELL_DELAYED = 0x01E2 {
    Guid guid;
    u32 delay_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32delay_time

SMSG_SPELL_FAILED_OTHER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_failed_other.wowm:1.

smsg SMSG_SPELL_FAILED_OTHER = 0x02A6 {
    Guid caster;
    Spell id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidcaster
0x0C4 / LittleSpellid

SMSG_SPELL_FAILURE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_failure.wowm:1.

smsg SMSG_SPELL_FAILURE = 0x0133 {
    Guid guid;
    Spell spell;
    SpellCastResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / LittleSpellspell
0x101 / -SpellCastResultresult

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_failure.wowm:1.

smsg SMSG_SPELL_FAILURE = 0x0133 {
    Guid guid;
    Spell spell;
    SpellCastResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / LittleSpellspell
0x101 / -SpellCastResultresult

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_failure.wowm:9.

smsg SMSG_SPELL_FAILURE = 0x0133 {
    Guid guid;
    u8 extra_casts;
    Spell spell;
    SpellCastResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C1 / -u8extra_casts
0x0D4 / LittleSpellspell
0x111 / -SpellCastResultresult

SMSG_SPELL_GO

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_go.wowm:1.

smsg SMSG_SPELL_GO = 0x0132 {
    PackedGuid cast_item;
    PackedGuid caster;
    Spell spell;
    CastFlags flags;
    u8 amount_of_hits;
    Guid[amount_of_hits] hits;
    u8 amount_of_misses;
    SpellMiss[amount_of_misses] misses;
    SpellCastTargets targets;
    if (flags & AMMO) {
        u32 ammo_display_id;
        u32 ammo_inventory_type;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidcast_itemcmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster.
-- / -PackedGuidcaster
-4 / LittleSpellspell
-2 / -CastFlagsflags
-1 / -u8amount_of_hits
-? / -Guid[amount_of_hits]hits
-1 / -u8amount_of_misses
-? / -SpellMiss[amount_of_misses]misses
-- / -SpellCastTargetstargets

If flags contains AMMO:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32ammo_display_id
-4 / Littleu32ammo_inventory_type

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_go.wowm:23.

smsg SMSG_SPELL_GO = 0x0132 {
    PackedGuid cast_item;
    PackedGuid caster;
    Spell spell;
    CastFlags flags;
    u32 timestamp;
    u8 amount_of_hits;
    Guid[amount_of_hits] hits;
    u8 amount_of_misses;
    SpellMiss[amount_of_misses] misses;
    SpellCastTargets targets;
    if (flags & AMMO) {
        u32 ammo_display_id;
        u32 ammo_inventory_type;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidcast_itemcmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster.
-- / -PackedGuidcaster
-4 / LittleSpellspell
-2 / -CastFlagsflags
-4 / Littleu32timestamp
-1 / -u8amount_of_hits
-? / -Guid[amount_of_hits]hits
-1 / -u8amount_of_misses
-? / -SpellMiss[amount_of_misses]misses
-- / -SpellCastTargetstargets

If flags contains AMMO:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32ammo_display_id
-4 / Littleu32ammo_inventory_type

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_go.wowm:47.

smsg SMSG_SPELL_GO = 0x0132 {
    PackedGuid cast_item;
    PackedGuid caster;
    u8 extra_casts;
    Spell spell;
    GameobjectCastFlags flags;
    u32 timestamp;
    u8 amount_of_hits;
    Guid[amount_of_hits] hits;
    u8 amount_of_misses;
    SpellMiss[amount_of_misses] misses;
    SpellCastTargets targets;
    if (flags & POWER_UPDATE) {
        (u32)Power power;
    }
    if (flags & RUNE_UPDATE) {
        u8 rune_mask_initial;
        u8 rune_mask_after_cast;
        u8[6] rune_cooldowns;
    }
    if (flags & ADJUST_MISSILE) {
        f32 elevation;
        u32 delay_trajectory;
    }
    if (flags & AMMO) {
        u32 ammo_display_id;
        u32 ammo_inventory_type;
    }
    if (flags & VISUAL_CHAIN) {
        u32 unknown1;
        u32 unknown2;
    }
    if (flags & DEST_LOCATION) {
        u8 unknown3;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidcast_itemcmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster.
-- / -PackedGuidcaster
-1 / -u8extra_casts
-4 / LittleSpellspell
-4 / -GameobjectCastFlagsflags
-4 / Littleu32timestamp
-1 / -u8amount_of_hits
-? / -Guid[amount_of_hits]hits
-1 / -u8amount_of_misses
-? / -SpellMiss[amount_of_misses]misses
-- / -SpellCastTargetstargets

If flags contains POWER_UPDATE:

OffsetSize / EndiannessTypeNameComment
-4 / -Powerpower

If flags contains RUNE_UPDATE:

OffsetSize / EndiannessTypeNameComment
-1 / -u8rune_mask_initial
-1 / -u8rune_mask_after_cast
-6 / -u8[6]rune_cooldowns

If flags contains ADJUST_MISSILE:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32elevation
-4 / Littleu32delay_trajectory

If flags contains AMMO:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32ammo_display_id
-4 / Littleu32ammo_inventory_type

If flags contains VISUAL_CHAIN:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unknown1
-4 / Littleu32unknown2

If flags contains DEST_LOCATION:

OffsetSize / EndiannessTypeNameComment
-1 / -u8unknown3

SMSG_SPELL_START

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_start.wowm:1.

smsg SMSG_SPELL_START = 0x0131 {
    PackedGuid cast_item;
    PackedGuid caster;
    Spell spell;
    CastFlags flags;
    u32 timer;
    SpellCastTargets targets;
    if (flags & AMMO) {
        u32 ammo_display_id;
        u32 ammo_inventory_type;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidcast_itemcmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster.
-- / -PackedGuidcaster
-4 / LittleSpellspell
-2 / -CastFlagsflags
-4 / Littleu32timer
-- / -SpellCastTargetstargets

If flags contains AMMO:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32ammo_display_id
-4 / Littleu32ammo_inventory_type

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_start.wowm:17.

smsg SMSG_SPELL_START = 0x0131 {
    PackedGuid cast_item;
    PackedGuid caster;
    Spell spell;
    u8 cast_count;
    CastFlags flags;
    u32 timer;
    SpellCastTargets targets;
    if (flags & AMMO) {
        u32 ammo_display_id;
        u32 ammo_inventory_type;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidcast_itemcmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster.
-- / -PackedGuidcaster
-4 / LittleSpellspell
-1 / -u8cast_count
-2 / -CastFlagsflags
-4 / Littleu32timer
-- / -SpellCastTargetstargets

If flags contains AMMO:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32ammo_display_id
-4 / Littleu32ammo_inventory_type

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_start.wowm:34.

smsg SMSG_SPELL_START = 0x0131 {
    PackedGuid cast_item;
    PackedGuid caster;
    u8 cast_count;
    Spell spell;
    CastFlags flags;
    u32 timer;
    SpellCastTargets targets;
    if (flags & POWER_LEFT_SELF) {
        (u32)Power power;
    }
    if (flags & AMMO) {
        u32 ammo_display_id;
        u32 ammo_inventory_type;
    }
    if (flags & UNKNOWN_23) {
        u32 unknown1;
        u32 unknown2;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidcast_itemcmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster.
-- / -PackedGuidcaster
-1 / -u8cast_count
-4 / LittleSpellspell
-4 / -CastFlagsflags
-4 / Littleu32timer
-- / -SpellCastTargetstargets

If flags contains POWER_LEFT_SELF:

OffsetSize / EndiannessTypeNameComment
-4 / -Powerpower

If flags contains AMMO:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32ammo_display_id
-4 / Littleu32ammo_inventory_type

If flags contains UNKNOWN_23:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unknown1
-4 / Littleu32unknown2

SMSG_SPELL_UPDATE_CHAIN_TARGETS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_update_chain_targets.wowm:3.

smsg SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x0330 {
    Guid caster;
    Spell spell;
    u32 amount_of_targets;
    Guid[amount_of_targets] targets;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidcaster
-4 / LittleSpellspell
-4 / Littleu32amount_of_targets
-? / -Guid[amount_of_targets]targets

SMSG_SPIRIT_HEALER_CONFIRM

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/resurrect/smsg_spirit_healer_confirm.wowm:3.

smsg SMSG_SPIRIT_HEALER_CONFIRM = 0x0222 {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_SPLINE_MOVE_FEATHER_FALL

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_feather_fall.wowm:3.

smsg SMSG_SPLINE_MOVE_FEATHER_FALL = 0x0305 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_GRAVITY_DISABLE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_gravity_disable.wowm:1.

smsg SMSG_SPLINE_MOVE_GRAVITY_DISABLE = 0x04D3 {
    PackedGuid unit;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit

SMSG_SPLINE_MOVE_GRAVITY_ENABLE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_gravity_enable.wowm:1.

smsg SMSG_SPLINE_MOVE_GRAVITY_ENABLE = 0x04D4 {
    PackedGuid unit;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit

SMSG_SPLINE_MOVE_LAND_WALK

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_land_walk.wowm:3.

smsg SMSG_SPLINE_MOVE_LAND_WALK = 0x030A {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_NORMAL_FALL

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_normal_fall.wowm:3.

smsg SMSG_SPLINE_MOVE_NORMAL_FALL = 0x0306 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_ROOT

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_root.wowm:3.

smsg SMSG_SPLINE_MOVE_ROOT = 0x031A {
    Guid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid

SMSG_SPLINE_MOVE_SET_FLYING

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_set_flying.wowm:1.

smsg SMSG_SPLINE_MOVE_SET_FLYING = 0x0421 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_set_flying.wowm:7.

smsg SMSG_SPLINE_MOVE_SET_FLYING = 0x0422 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_SET_HOVER

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_set_hover.wowm:3.

smsg SMSG_SPLINE_MOVE_SET_HOVER = 0x0307 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_SET_RUN_MODE

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_set_run_mode.wowm:3.

smsg SMSG_SPLINE_MOVE_SET_RUN_MODE = 0x030D {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_SET_WALK_MODE

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_set_walk_mode.wowm:3.

smsg SMSG_SPLINE_MOVE_SET_WALK_MODE = 0x030E {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_START_SWIM

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_start_swim.wowm:3.

smsg SMSG_SPLINE_MOVE_START_SWIM = 0x030B {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_STOP_SWIM

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_stop_swim.wowm:3.

smsg SMSG_SPLINE_MOVE_STOP_SWIM = 0x030C {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_UNROOT

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_unroot.wowm:3.

smsg SMSG_SPLINE_MOVE_UNROOT = 0x0304 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_UNSET_FLYING

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_unset_flying.wowm:1.

smsg SMSG_SPLINE_MOVE_UNSET_FLYING = 0x0422 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidguid

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_unset_flying.wowm:7.

smsg SMSG_SPLINE_MOVE_UNSET_FLYING = 0x0423 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_UNSET_HOVER

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_unset_hover.wowm:3.

smsg SMSG_SPLINE_MOVE_UNSET_HOVER = 0x0308 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_MOVE_WATER_WALK

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_move_water_walk.wowm:3.

smsg SMSG_SPLINE_MOVE_WATER_WALK = 0x0309 {
    PackedGuid guid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid

SMSG_SPLINE_SET_FLIGHT_BACK_SPEED

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_set_flight_back_speed.wowm:1.

smsg SMSG_SPLINE_SET_FLIGHT_BACK_SPEED = 0x0386 {
    PackedGuid guid;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littlef32speed

SMSG_SPLINE_SET_FLIGHT_SPEED

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_set_flight_speed.wowm:1.

smsg SMSG_SPLINE_SET_FLIGHT_SPEED = 0x0385 {
    PackedGuid guid;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littlef32speed

SMSG_SPLINE_SET_RUN_BACK_SPEED

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_set_run_back_speed.wowm:3.

smsg SMSG_SPLINE_SET_RUN_BACK_SPEED = 0x02FF {
    PackedGuid guid;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littlef32speed

SMSG_SPLINE_SET_RUN_SPEED

Client Version 1.12, Client Version 2, Client Version 3

Informs the client that the run speed of a unit has changed.

Mangos sends this to third parties that aren’t having their speed changed and SMSG_FORCE_RUN_SPEED_CHANGE to the client that has their run speed changed.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_run_speed.wowm:5.

smsg SMSG_SPLINE_SET_RUN_SPEED = 0x02FE {
    PackedGuid guid;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littlef32speed

Examples

Example 1

Comment

Object with guid 6 having run speed changed to 7.

0, 8, // size
254, 2, // opcode (766)
1, 6, // guid: PackedGuid
0, 0, 224, 64, // speed: f32

SMSG_SPLINE_SET_SWIM_BACK_SPEED

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_set_swim_back_speed.wowm:3.

smsg SMSG_SPLINE_SET_SWIM_BACK_SPEED = 0x0302 {
    PackedGuid guid;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littlef32speed

SMSG_SPLINE_SET_SWIM_SPEED

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_set_swim_speed.wowm:3.

smsg SMSG_SPLINE_SET_SWIM_SPEED = 0x0300 {
    PackedGuid guid;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littlef32speed

SMSG_SPLINE_SET_TURN_RATE

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_set_turn_rate.wowm:3.

smsg SMSG_SPLINE_SET_TURN_RATE = 0x0303 {
    PackedGuid guid;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littlef32speed

SMSG_SPLINE_SET_WALK_SPEED

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_spline_set_walk_speed.wowm:3.

smsg SMSG_SPLINE_SET_WALK_SPEED = 0x0301 {
    PackedGuid guid;
    f32 speed;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-4 / Littlef32speed

SMSG_STABLE_RESULT

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_stable_result.wowm:16.

smsg SMSG_STABLE_RESULT = 0x0273 {
    StableResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -StableResultresult

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_stable_result.wowm:39.

smsg SMSG_STABLE_RESULT = 0x0273 {
    StableResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -StableResultresult

SMSG_STANDSTATE_UPDATE

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_standstate_update.wowm:3.

smsg SMSG_STANDSTATE_UPDATE = 0x029D {
    UnitStandState state;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -UnitStandStatestate

SMSG_START_MIRROR_TIMER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_start_mirror_timer.wowm:3.

smsg SMSG_START_MIRROR_TIMER = 0x01D9 {
    TimerType timer;
    u32 time_remaining;
    u32 duration;
    u32 scale;
    Bool is_frozen;
    Spell id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -TimerTypetimer
0x084 / Littleu32time_remaining
0x0C4 / Littleu32duration
0x104 / Littleu32scale
0x141 / -Boolis_frozen
0x154 / LittleSpellid

SMSG_STOP_MIRROR_TIMER

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_stop_mirror_timer.wowm:3.

smsg SMSG_STOP_MIRROR_TIMER = 0x01DB {
    TimerType timer;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -TimerTypetimer

SMSG_SUMMON_REQUEST

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_summon_request.wowm:3.

smsg SMSG_SUMMON_REQUEST = 0x02AB {
    Guid summoner;
    Area area;
    Milliseconds auto_decline_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidsummoner
0x0C4 / -Areaarea
0x104 / LittleMillisecondsauto_decline_time

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_summon_request.wowm:3.

smsg SMSG_SUMMON_REQUEST = 0x02AB {
    Guid summoner;
    Area area;
    Milliseconds auto_decline_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidsummoner
0x0C4 / -Areaarea
0x104 / LittleMillisecondsauto_decline_time

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_summon_request.wowm:3.

smsg SMSG_SUMMON_REQUEST = 0x02AB {
    Guid summoner;
    Area area;
    Milliseconds auto_decline_time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidsummoner
0x0C4 / -Areaarea
0x104 / LittleMillisecondsauto_decline_time

SMSG_SUPERCEDED_SPELL

Client Version 1, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_superceded_spell.wowm:1.

smsg SMSG_SUPERCEDED_SPELL = 0x012C {
    u16 new_spell_id;
    u16 old_spell_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x042 / Littleu16new_spell_id
0x062 / Littleu16old_spell_id

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_superceded_spell.wowm:8.

smsg SMSG_SUPERCEDED_SPELL = 0x012C {
    Spell new;
    Spell old;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleSpellnew
0x084 / LittleSpellold

SMSG_TALENTS_INFO

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_talents_info.wowm:17.

smsg SMSG_TALENTS_INFO = 0x04C0 {
    TalentInfoType talent_type;
    u32 points_left;
    if (talent_type == PET) {
        u8 amount_of_talents;
        InspectTalent[amount_of_talents] talents;
    }
    else if (talent_type == PLAYER) {
        u8 amount_of_specs;
        u8 active_spec;
        TalentInfoSpec[amount_of_specs] specs;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-1 / -TalentInfoTypetalent_type
-4 / Littleu32points_left

If talent_type is equal to PET:

OffsetSize / EndiannessTypeNameComment
-1 / -u8amount_of_talents
-? / -InspectTalent[amount_of_talents]talents

Else If talent_type is equal to PLAYER:

OffsetSize / EndiannessTypeNameComment
-1 / -u8amount_of_specs
-1 / -u8active_spec
-? / -TalentInfoSpec[amount_of_specs]specs

SMSG_TALENTS_INVOLUNTARILY_RESET

Client Version 3.3.5

Only exists as comment in azerothcore/trinitycore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_talents_involuntarily_reset.wowm:2.

smsg SMSG_TALENTS_INVOLUNTARILY_RESET = 0x04FA {
    u8 unknown;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8unknown

SMSG_TAXINODE_STATUS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_taxinode_status.wowm:3.

smsg SMSG_TAXINODE_STATUS = 0x01AB {
    Guid guid;
    Bool taxi_mask_node_known;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C1 / -Booltaxi_mask_node_known

SMSG_TEXT_EMOTE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_text_emote.wowm:1.

smsg SMSG_TEXT_EMOTE = 0x0105 {
    Guid guid;
    TextEmote text_emote;
    u32 emote;
    SizedCString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -TextEmotetext_emote
0x104 / Littleu32emote
0x14- / -SizedCStringname

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_text_emote.wowm:1.

smsg SMSG_TEXT_EMOTE = 0x0105 {
    Guid guid;
    TextEmote text_emote;
    u32 emote;
    SizedCString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / -TextEmotetext_emote
0x104 / Littleu32emote
0x14- / -SizedCStringname

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/smsg_text_emote.wowm:1.

smsg SMSG_TEXT_EMOTE = 0x0105 {
    Guid guid;
    TextEmote text_emote;
    u32 emote;
    SizedCString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidguid
-4 / -TextEmotetext_emote
-4 / Littleu32emote
-- / -SizedCStringname

SMSG_THREAT_CLEAR

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/threat/smsg_threat_clear.wowm:1.

smsg SMSG_THREAT_CLEAR = 0x0485 {
    PackedGuid unit;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit

SMSG_THREAT_REMOVE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/threat/smsg_threat_remove.wowm:1.

smsg SMSG_THREAT_REMOVE = 0x0484 {
    PackedGuid unit;
    PackedGuid victim;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit
-- / -PackedGuidvictim

SMSG_THREAT_UPDATE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/threat/smsg_threat_update.wowm:1.

smsg SMSG_THREAT_UPDATE = 0x0483 {
    PackedGuid unit;
    u32 amount_of_units;
    ThreatUpdateUnit[amount_of_units] units;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit
-4 / Littleu32amount_of_units
-? / -ThreatUpdateUnit[amount_of_units]units

SMSG_TIME_SYNC_REQ

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_time_sync_req.wowm:3.

smsg SMSG_TIME_SYNC_REQ = 0x0390 {
    u32 time_sync;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32time_sync

SMSG_TITLE_EARNED

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_title_earned.wowm:8.

smsg SMSG_TITLE_EARNED = 0x0373 {
    u32 title;
    TitleEarnStatus status;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32title
0x084 / -TitleEarnStatusstatus

SMSG_TOGGLE_XP_GAIN

Client Version 3.3.5

Only exists as comment in azerothcore/trinitycore.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/exp/smsg_toggle_xp_gain.wowm:2.

smsg SMSG_TOGGLE_XP_GAIN = 0x04ED {
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

This message has no fields in the body.

SMSG_TOTEM_CREATED

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_totem_created.wowm:1.

smsg SMSG_TOTEM_CREATED = 0x0412 {
    u8 slot;
    Guid totem;
    u32 duration;
    Spell spell;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8slot
0x058 / LittleGuidtotem
0x0D4 / Littleu32duration
0x114 / LittleSpellspell

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_totem_created.wowm:10.

smsg SMSG_TOTEM_CREATED = 0x0413 {
    u8 slot;
    Guid totem;
    u32 duration;
    Spell spell;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8slot
0x058 / LittleGuidtotem
0x0D4 / Littleu32duration
0x114 / LittleSpellspell

SMSG_TRADE_STATUS

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/smsg_trade_status.wowm:283.

smsg SMSG_TRADE_STATUS = 0x0120 {
    TradeStatus status;
    if (status == BEGIN_TRADE) {
        Guid unknown1;
    }
    else if (status == CLOSE_WINDOW) {
        (u32)InventoryResult inventory_result;
        Bool target_error;
        u32 item_limit_category_id;
    }
    else if (status == ONLY_CONJURED
        || status == NOT_ON_TAPLIST) {
        u8 slot;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -TradeStatusstatus

If status is equal to BEGIN_TRADE:

OffsetSize / EndiannessTypeNameComment
0x088 / LittleGuidunknown1Set to 0 in vmangos.

Else If status is equal to CLOSE_WINDOW:

OffsetSize / EndiannessTypeNameComment
0x104 / -InventoryResultinventory_result
0x141 / -Booltarget_errorused for: EQUIP_ERR_BAG_FULL, EQUIP_ERR_CANT_CARRY_MORE_OF_THIS, EQUIP_ERR_MISSING_REAGENT, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED
0x154 / Littleu32item_limit_category_idItemLimitCategory.dbc entry

Else If status is equal to ONLY_CONJURED or is equal to NOT_ON_TAPLIST:

OffsetSize / EndiannessTypeNameComment
0x191 / -u8slotTrade slot -1 here clears CGTradeInfo::m_tradeMoney

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/smsg_trade_status.wowm:283.

smsg SMSG_TRADE_STATUS = 0x0120 {
    TradeStatus status;
    if (status == BEGIN_TRADE) {
        Guid unknown1;
    }
    else if (status == CLOSE_WINDOW) {
        (u32)InventoryResult inventory_result;
        Bool target_error;
        u32 item_limit_category_id;
    }
    else if (status == ONLY_CONJURED
        || status == NOT_ON_TAPLIST) {
        u8 slot;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -TradeStatusstatus

If status is equal to BEGIN_TRADE:

OffsetSize / EndiannessTypeNameComment
0x088 / LittleGuidunknown1Set to 0 in vmangos.

Else If status is equal to CLOSE_WINDOW:

OffsetSize / EndiannessTypeNameComment
0x104 / -InventoryResultinventory_result
0x141 / -Booltarget_errorused for: EQUIP_ERR_BAG_FULL, EQUIP_ERR_CANT_CARRY_MORE_OF_THIS, EQUIP_ERR_MISSING_REAGENT, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED
0x154 / Littleu32item_limit_category_idItemLimitCategory.dbc entry

Else If status is equal to ONLY_CONJURED or is equal to NOT_ON_TAPLIST:

OffsetSize / EndiannessTypeNameComment
0x191 / -u8slotTrade slot -1 here clears CGTradeInfo::m_tradeMoney

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/smsg_trade_status.wowm:283.

smsg SMSG_TRADE_STATUS = 0x0120 {
    TradeStatus status;
    if (status == BEGIN_TRADE) {
        Guid unknown1;
    }
    else if (status == CLOSE_WINDOW) {
        (u32)InventoryResult inventory_result;
        Bool target_error;
        u32 item_limit_category_id;
    }
    else if (status == ONLY_CONJURED
        || status == NOT_ON_TAPLIST) {
        u8 slot;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -TradeStatusstatus

If status is equal to BEGIN_TRADE:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidunknown1Set to 0 in vmangos.

Else If status is equal to CLOSE_WINDOW:

OffsetSize / EndiannessTypeNameComment
-4 / -InventoryResultinventory_result
-1 / -Booltarget_errorused for: EQUIP_ERR_BAG_FULL, EQUIP_ERR_CANT_CARRY_MORE_OF_THIS, EQUIP_ERR_MISSING_REAGENT, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED
-4 / Littleu32item_limit_category_idItemLimitCategory.dbc entry

Else If status is equal to ONLY_CONJURED or is equal to NOT_ON_TAPLIST:

OffsetSize / EndiannessTypeNameComment
-1 / -u8slotTrade slot -1 here clears CGTradeInfo::m_tradeMoney

SMSG_TRADE_STATUS_EXTENDED

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/smsg_trade_status_extended.wowm:21.

smsg SMSG_TRADE_STATUS_EXTENDED = 0x0121 {
    Bool self_player;
    u32 trade_slot_count1;
    u32 trade_slot_count2;
    Gold money_in_trade;
    Spell spell_on_lowest_slot;
    TradeSlot[7] trade_slots;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -Boolself_playercmangos/vmangos/mangoszero: send trader or own trade windows state (last need for proper show spell apply to non-trade slot)
0x054 / Littleu32trade_slot_count1cmangos/vmangos/mangoszero: sets to 7
cmangos/vmangos/mangoszero: trade slots count/number?, = next field in most cases
0x094 / Littleu32trade_slot_count2cmangos/vmangos/mangoszero: sets to 7
cmangos/vmangos/mangoszero: trade slots count/number?, = prev field in most cases
0x0D4 / LittleGoldmoney_in_trade
0x114 / LittleSpellspell_on_lowest_slot
0x15427 / -TradeSlot[7]trade_slotsvmangos/cmangos/mangoszero: All set to same as trade_slot_count* (7), unsure which determines how big this is. Unused slots are 0.

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/smsg_trade_status_extended.wowm:61.

smsg SMSG_TRADE_STATUS_EXTENDED = 0x0121 {
    Bool self_player;
    u32 trade_id;
    u32 trade_slot_count1;
    u32 trade_slot_count2;
    Gold money_in_trade;
    Spell spell_on_lowest_slot;
    TradeSlot[7] trade_slots;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -Boolself_playercmangos/vmangos/mangoszero: send trader or own trade windows state (last need for proper show spell apply to non-trade slot)
0x054 / Littleu32trade_idadded in 2.4.0, this value must be equal to value from TRADE_STATUS_OPEN_WINDOW status packet (different value for different players to block multiple trades?)
0x094 / Littleu32trade_slot_count1cmangos/vmangos/mangoszero: sets to 7
cmangos/vmangos/mangoszero: trade slots count/number?, = next field in most cases
0x0D4 / Littleu32trade_slot_count2cmangos/vmangos/mangoszero: sets to 7
cmangos/vmangos/mangoszero: trade slots count/number?, = prev field in most cases
0x114 / LittleGoldmoney_in_trade
0x154 / LittleSpellspell_on_lowest_slot
0x19511 / -TradeSlot[7]trade_slotsvmangos/cmangos/mangoszero: All set to same as trade_slot_count* (7), unsure which determines how big this is. Unused slots are 0.

SMSG_TRAINER_BUY_FAILED

Client Version 1, Client Version 2, Client Version 3

No TBC emulators implement this.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_trainer_buy_failed.wowm:15.

smsg SMSG_TRAINER_BUY_FAILED = 0x01B4 {
    Guid guid;
    Spell id;
    TrainingFailureReason error;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / LittleSpellid
0x104 / -TrainingFailureReasonerror

SMSG_TRAINER_BUY_SUCCEEDED

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_trainer_buy_succeeded.wowm:3.

smsg SMSG_TRAINER_BUY_SUCCEEDED = 0x01B3 {
    Guid guid;
    Spell id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / LittleSpellid

SMSG_TRAINER_LIST

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_trainer_list.wowm:28.

smsg SMSG_TRAINER_LIST = 0x01B1 {
    Guid guid;
    u32 trainer_type;
    u32 amount_of_spells;
    TrainerSpell[amount_of_spells] spells;
    CString greeting;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32trainer_type
0x104 / Littleu32amount_of_spells
0x14? / -TrainerSpell[amount_of_spells]spells
-- / -CStringgreeting

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_trainer_list.wowm:28.

smsg SMSG_TRAINER_LIST = 0x01B1 {
    Guid guid;
    u32 trainer_type;
    u32 amount_of_spells;
    TrainerSpell[amount_of_spells] spells;
    CString greeting;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidguid
0x0C4 / Littleu32trainer_type
0x104 / Littleu32amount_of_spells
0x14? / -TrainerSpell[amount_of_spells]spells
-- / -CStringgreeting

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_trainer_list.wowm:28.

smsg SMSG_TRAINER_LIST = 0x01B1 {
    Guid guid;
    u32 trainer_type;
    u32 amount_of_spells;
    TrainerSpell[amount_of_spells] spells;
    CString greeting;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidguid
-4 / Littleu32trainer_type
-4 / Littleu32amount_of_spells
-? / -TrainerSpell[amount_of_spells]spells
-- / -CStringgreeting

SMSG_TRANSFER_ABORTED

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_transfer_aborted.wowm:11.

smsg SMSG_TRANSFER_ABORTED = 0x0040 {
    Map map;
    TransferAbortReason reason;
    u8 argument;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x081 / -TransferAbortReasonreason
0x091 / -u8argumentPossibly not needed.

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_transfer_aborted.wowm:44.

smsg SMSG_TRANSFER_ABORTED = 0x0040 {
    Map map;
    TransferAbortReason reason;
    if (reason == INSUFFICIENT_EXPANSION_LEVEL
        || reason == DIFFICULTY_NOT_AVAILABLE) {
        DungeonDifficulty difficulty;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap
0x081 / -TransferAbortReasonreason

If reason is equal to INSUFFICIENT_EXPANSION_LEVEL or is equal to DIFFICULTY_NOT_AVAILABLE:

OffsetSize / EndiannessTypeNameComment
0x091 / -DungeonDifficultydifficulty

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_transfer_aborted.wowm:91.

smsg SMSG_TRANSFER_ABORTED = 0x0040 {
    Map map;
    TransferAbortReason reason;
    if (reason == INSUFFICIENT_EXPANSION_LEVEL
        || reason == DIFFICULTY_NOT_AVAILABLE
        || reason == UNIQUE_MESSAGE) {
        DungeonDifficulty difficulty;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -Mapmap
-1 / -TransferAbortReasonreason

If reason is equal to INSUFFICIENT_EXPANSION_LEVEL or is equal to DIFFICULTY_NOT_AVAILABLE or is equal to UNIQUE_MESSAGE:

OffsetSize / EndiannessTypeNameComment
-1 / -DungeonDifficultydifficulty

SMSG_TRANSFER_PENDING

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_transfer_pending.wowm:1.

smsg SMSG_TRANSFER_PENDING = 0x003F {
    Map map;
    optional has_transport {
        u32 transport;
        Map transport_map;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x084 / Littleu32transport
0x0C4 / -Maptransport_map

Examples

Example 1

0, 6, // size
63, 0, // opcode (63)
1, 0, 0, 0, // map: Map KALIMDOR (1)

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_transfer_pending.wowm:1.

smsg SMSG_TRANSFER_PENDING = 0x003F {
    Map map;
    optional has_transport {
        u32 transport;
        Map transport_map;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
0x084 / Littleu32transport
0x0C4 / -Maptransport_map

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/smsg/smsg_transfer_pending.wowm:1.

smsg SMSG_TRANSFER_PENDING = 0x003F {
    Map map;
    optional has_transport {
        u32 transport;
        Map transport_map;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -Mapmap

Optionally the following fields can be present. This can only be detected by looking at the size of the message.

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32transport
-4 / -Maptransport_map

SMSG_TRIGGER_CINEMATIC

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/cinematic/smsg_trigger_cinematic.wowm:15.

smsg SMSG_TRIGGER_CINEMATIC = 0x00FA {
    CinematicSequenceId cinematic_sequence_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -CinematicSequenceIdcinematic_sequence_id

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/cinematic/smsg_trigger_cinematic.wowm:40.

smsg SMSG_TRIGGER_CINEMATIC = 0x00FA {
    CinematicSequenceId cinematic_sequence_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -CinematicSequenceIdcinematic_sequence_id

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/cinematic/smsg_trigger_cinematic.wowm:66.

smsg SMSG_TRIGGER_CINEMATIC = 0x00FA {
    CinematicSequenceId cinematic_sequence_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -CinematicSequenceIdcinematic_sequence_id

SMSG_TRIGGER_MOVIE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_trigger_movie.wowm:1.

smsg SMSG_TRIGGER_MOVIE = 0x0464 {
    u32 movie_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32movie_id

SMSG_TURN_IN_PETITION_RESULTS

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_turn_in_petition_results.wowm:1.

smsg SMSG_TURN_IN_PETITION_RESULTS = 0x01C5 {
    PetitionResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -PetitionResultresult

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild/smsg_turn_in_petition_results.wowm:7.

smsg SMSG_TURN_IN_PETITION_RESULTS = 0x01C5 {
    PetitionResult result;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -PetitionResultresult

SMSG_TUTORIAL_FLAGS

Client Version 1, Client Version 2, Client Version 3

Data for which tutorials the client has passed.

All bits set means that all tutorials have been passed.

Must be sent after SMSG_LOGIN_VERIFY_WORLD otherwise the client will SEGFAULT.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/character_screen/smsg_tutorial_flags.wowm:6.

smsg SMSG_TUTORIAL_FLAGS = 0x00FD {
    u32[8] tutorial_data;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x0432 / -u32[8]tutorial_data

Examples

Example 1

0, 34, // size
253, 0, // opcode (253)
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // tutorial_data: u32[8]

SMSG_UPDATE_ACCOUNT_DATA

Client Version 2.4.3, Client Version 3

Sent as response to CMSG_REQUEST_ACCOUNT_DATA

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_update_account_data.wowm:2.

smsg SMSG_UPDATE_ACCOUNT_DATA = 0x020C {
    u32 data_type;
    u32 decompressed_size;
    u8[-] compressed_data;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32data_type
-4 / Littleu32decompressed_size
-? / -u8[-]compressed_data

SMSG_UPDATE_ACCOUNT_DATA_COMPLETE

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_update_account_data_complete.wowm:1.

smsg SMSG_UPDATE_ACCOUNT_DATA_COMPLETE = 0x0463 {
    u32 data_type;
    u32 unknown1;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32data_type
0x084 / Littleu32unknown1mangostwo hardcodes this to 0

SMSG_UPDATE_AURA_DURATION

Client Version 1.12, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_update_aura_duration.wowm:3.

smsg SMSG_UPDATE_AURA_DURATION = 0x0137 {
    u8 aura_slot;
    u32 aura_duration;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -u8aura_slot
0x054 / Littleu32aura_duration

SMSG_UPDATE_COMBO_POINTS

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_update_combo_points.wowm:1.

smsg SMSG_UPDATE_COMBO_POINTS = 0x039D {
    PackedGuid target;
    u8 combo_points;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget
-1 / -u8combo_points

SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_update_instance_encounter_unit.wowm:15.

smsg SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT = 0x0214 {
    EncounterFrame frame;
    if (frame == ENGAGE
        || frame == DISENGAGE
        || frame == UPDATE_PRIORITY) {
        PackedGuid guid;
        u8 parameter1;
    }
    else if (frame == ADD_TIMER
        || frame == ENABLE_OBJECTIVE
        || frame == DISABLE_OBJECTIVE) {
        u8 parameter2;
    }
    else if (frame == UPDATE_OBJECTIVE) {
        u8 parameter3;
        u8 parameter4;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -EncounterFrameframe

If frame is equal to ENGAGE or is equal to DISENGAGE or is equal to UPDATE_PRIORITY:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidguid
-1 / -u8parameter1

Else If frame is equal to ADD_TIMER or is equal to ENABLE_OBJECTIVE or is equal to DISABLE_OBJECTIVE:

OffsetSize / EndiannessTypeNameComment
-1 / -u8parameter2

Else If frame is equal to UPDATE_OBJECTIVE:

OffsetSize / EndiannessTypeNameComment
-1 / -u8parameter3
-1 / -u8parameter4

SMSG_UPDATE_INSTANCE_OWNERSHIP

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_update_instance_ownership.wowm:3.

smsg SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x032B {
    Bool32 player_is_saved_to_a_raid;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / LittleBool32player_is_saved_to_a_raid

SMSG_UPDATE_LAST_INSTANCE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_update_last_instance.wowm:3.

smsg SMSG_UPDATE_LAST_INSTANCE = 0x0320 {
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_update_last_instance.wowm:3.

smsg SMSG_UPDATE_LAST_INSTANCE = 0x0320 {
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/raid/smsg_update_last_instance.wowm:3.

smsg SMSG_UPDATE_LAST_INSTANCE = 0x0320 {
    Map map;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Mapmap

SMSG_UPDATE_LFG_LIST

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/lfg/smsg_update_lfg_list.wowm:107.

smsg SMSG_UPDATE_LFG_LIST = 0x0360 {
    (u32)LfgType lfg_type;
    u32 dungeon_id;
    LfgListUpdateType update_type;
    if (update_type == PARTIAL) {
        u32 amount_of_deleted_guids;
        Guid[amount_of_deleted_guids] deleted_guids;
    }
    u32 amount_of_groups;
    u32 unknown1;
    LfgListGroup[amount_of_groups] groups;
    u32 amount_of_players;
    u32 unknown2;
    LfgListPlayer[amount_of_players] players;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / -LfgTypelfg_type
-4 / Littleu32dungeon_id
-1 / -LfgListUpdateTypeupdate_type

If update_type is equal to PARTIAL:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_deleted_guids
-? / -Guid[amount_of_deleted_guids]deleted_guids
-4 / Littleu32amount_of_groups
-4 / Littleu32unknown1emus set to 0.
-? / -LfgListGroup[amount_of_groups]groups
-4 / Littleu32amount_of_players
-4 / Littleu32unknown2emus set to 0.
-? / -LfgListPlayer[amount_of_players]players

SMSG_UPDATE_OBJECT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_object.wowm:180.

smsg SMSG_UPDATE_OBJECT = 0x00A9 {
    u32 amount_of_objects;
    u8 has_transport;
    Object[amount_of_objects] objects;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_objects
0x081 / -u8has_transport
0x09? / -Object[amount_of_objects]objects

Examples

Example 1

Comment

Most minimal package required to load into the world. Also requires a valid SMSG_TUTORIAL_FLAGS and SMSG_LOGIN_VERIFY_WORLD.

0, 97, // size
169, 0, // opcode (169)
1, 0, 0, 0, // amount_of_objects: u32
0, // has_transport: u8
3, // [0].Object.update_type: UpdateType CREATE_OBJECT2 (3)
1, 4, // [0].Object.guid3: PackedGuid
4, // [0].Object.object_type: ObjectType PLAYER (4)
49, // MovementBlock.update_flag: UpdateFlag  SELF| ALL| LIVING (49)
0, 0, 0, 0, // MovementBlock.flags: MovementFlags  NONE (0)
0, 0, 0, 0, // MovementBlock.timestamp: u32
205, 215, 11, 198, // Vector3d.x: f32
53, 126, 4, 195, // Vector3d.y: f32
249, 15, 167, 66, // Vector3d.z: f32
0, 0, 0, 0, // MovementBlock.living_orientation: f32
0, 0, 0, 0, // MovementBlock.fall_time: f32
0, 0, 128, 63, // MovementBlock.walking_speed: f32
0, 0, 224, 64, // MovementBlock.running_speed: f32
0, 0, 144, 64, // MovementBlock.backwards_running_speed: f32
0, 0, 0, 0, // MovementBlock.swimming_speed: f32
0, 0, 0, 0, // MovementBlock.backwards_swimming_speed: f32
219, 15, 73, 64, // MovementBlock.turn_rate: f32
1, 0, 0, 0, // MovementBlock.unknown1: u32
// UpdateMask
2, // amount_of_blocks
7, 0, 64, 0, // Block 0
16, 0, 0, 0, // Block 1
4, 0, 0, 0, // Item
0, 0, 0, 0, // Item
25, 0, 0, 0, // Item
100, 0, 0, 0, // Item
1, 1, 1, 1, // Item
// [0].Object.mask2: UpdateMask
// objects: Object[amount_of_objects]

Example 2

0, 133, // size
169, 0, // opcode (169)
1, 0, 0, 0, // amount_of_objects: u32
0, // has_transport: u8
3, // [0].Object.update_type: UpdateType CREATE_OBJECT2 (3)
1, 4, // [0].Object.guid3: PackedGuid
4, // [0].Object.object_type: ObjectType PLAYER (4)
49, // MovementBlock.update_flag: UpdateFlag  SELF| ALL| LIVING (49)
0, 0, 0, 0, // MovementBlock.flags: MovementFlags  NONE (0)
0, 0, 0, 0, // MovementBlock.timestamp: u32
205, 215, 11, 198, // Vector3d.x: f32
53, 126, 4, 195, // Vector3d.y: f32
249, 15, 167, 66, // Vector3d.z: f32
0, 0, 0, 0, // MovementBlock.living_orientation: f32
0, 0, 0, 0, // MovementBlock.fall_time: f32
0, 0, 128, 63, // MovementBlock.walking_speed: f32
0, 0, 224, 64, // MovementBlock.running_speed: f32
0, 0, 144, 64, // MovementBlock.backwards_running_speed: f32
0, 0, 0, 0, // MovementBlock.swimming_speed: f32
0, 0, 0, 0, // MovementBlock.backwards_swimming_speed: f32
219, 15, 73, 64, // MovementBlock.turn_rate: f32
1, 0, 0, 0, // MovementBlock.unknown1: u32
// UpdateMask
5, // amount_of_blocks
23, 0, 64, 16, // Block 0
28, 0, 0, 0, // Block 1
0, 0, 0, 0, // Block 2
0, 0, 0, 0, // Block 3
24, 0, 0, 0, // Block 4
4, 0, 0, 0, // Item
0, 0, 0, 0, // Item
25, 0, 0, 0, // Item
0, 0, 128, 63, // Item
100, 0, 0, 0, // Item
100, 0, 0, 0, // Item
1, 0, 0, 0, // Item
1, 0, 0, 0, // Item
1, 1, 1, 1, // Item
50, 0, 0, 0, // Item
50, 0, 0, 0, // Item
// [0].Object.mask2: UpdateMask
// objects: Object[amount_of_objects]

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_object_2_4_3.wowm:115.

smsg SMSG_UPDATE_OBJECT = 0x00A9 {
    u32 amount_of_objects;
    u8 has_transport;
    Object[amount_of_objects] objects;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32amount_of_objects
0x081 / -u8has_transport
0x09? / -Object[amount_of_objects]objects

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/gameobject/smsg_update_object_3_3_5.wowm:199.

smsg SMSG_UPDATE_OBJECT = 0x00A9 {
    u32 amount_of_objects;
    Object[amount_of_objects] objects;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32amount_of_objects
-? / -Object[amount_of_objects]objects

Examples

Example 1

0, 115, // size
169, 0, // opcode (169)
1, 0, 0, 0, // amount_of_objects: u32
3, // [0].Object.update_type: UpdateType CREATE_OBJECT2 (3)
1, 8, // [0].Object.guid3: PackedGuid
4, // [0].Object.object_type: ObjectType PLAYER (4)
33, 0, // MovementBlock.update_flag: UpdateFlag  SELF| LIVING (33)
0, 0, 0, 0, 0, 0, // MovementBlock.flags: MovementFlags  NONE (0)
0, 0, 0, 0, // MovementBlock.timestamp: u32
205, 215, 11, 198, // Vector3d.x: f32
53, 126, 4, 195, // Vector3d.y: f32
249, 15, 167, 66, // Vector3d.z: f32
0, 0, 0, 0, // MovementBlock.orientation: f32
0, 0, 0, 0, // MovementBlock.fall_time: f32
0, 0, 128, 63, // MovementBlock.walking_speed: f32
0, 0, 140, 66, // MovementBlock.running_speed: f32
0, 0, 144, 64, // MovementBlock.backwards_running_speed: f32
0, 0, 0, 0, // MovementBlock.swimming_speed: f32
0, 0, 0, 0, // MovementBlock.backwards_swimming_speed: f32
0, 0, 0, 0, // MovementBlock.flight_speed: f32
0, 0, 0, 0, // MovementBlock.backwards_flight_speed: f32
208, 15, 73, 64, // MovementBlock.turn_rate: f32
0, 0, 0, 0, // MovementBlock.pitch_rate: f32
// UpdateMask
3, // amount_of_blocks
7, 0, 0, 0, // Block 0
0, 0, 128, 0, // Block 1
24, 0, 0, 0, // Block 2
8, 0, 0, 0, // Item
0, 0, 0, 0, // Item
25, 0, 0, 0, // Item
1, 0, 0, 0, // Item
12, 77, 0, 0, // Item
12, 77, 0, 0, // Item
// [0].Object.mask2: UpdateMask
// objects: Object[amount_of_objects]

SMSG_UPDATE_WORLD_STATE

Client Version 1.12, Client Version 2, Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/smsg_update_world_state.wowm:3.

smsg SMSG_UPDATE_WORLD_STATE = 0x02C3 {
    WorldState state;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / -WorldStatestate

SMSG_USERLIST_ADD

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_userlist_add.wowm:1.

smsg SMSG_USERLIST_ADD = 0x03EF {
    Guid player;
    u8 player_flags;
    u8 flags;
    u32 amount_of_players;
    CString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidplayer
0x0C1 / -u8player_flags
0x0D1 / -u8flags
0x0E4 / Littleu32amount_of_players
0x12- / -CStringname

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_userlist_add.wowm:11.

smsg SMSG_USERLIST_ADD = 0x03F0 {
    Guid player;
    u8 player_flags;
    u8 flags;
    u32 amount_of_players;
    CString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidplayer
-1 / -u8player_flags
-1 / -u8flags
-4 / Littleu32amount_of_players
-- / -CStringname

SMSG_USERLIST_REMOVE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_userlist_remove.wowm:1.

smsg SMSG_USERLIST_REMOVE = 0x03F0 {
    Guid player;
    u8 flags;
    u32 amount_of_players;
    CString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidplayer
0x0C1 / -u8flags
0x0D4 / Littleu32amount_of_players
0x11- / -CStringname

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_userlist_remove.wowm:10.

smsg SMSG_USERLIST_REMOVE = 0x03F1 {
    Guid player;
    u8 flags;
    u32 amount_of_players;
    CString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidplayer
-1 / -u8flags
-4 / Littleu32amount_of_players
-- / -CStringname

SMSG_USERLIST_UPDATE

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_userlist_update.wowm:1.

smsg SMSG_USERLIST_UPDATE = 0x03F1 {
    Guid player;
    u8 player_flags;
    u8 flags;
    u32 amount_of_players;
    CString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x048 / LittleGuidplayer
0x0C1 / -u8player_flags
0x0D1 / -u8flags
0x0E4 / Littleu32amount_of_players
0x12- / -CStringname

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_userlist_update.wowm:11.

smsg SMSG_USERLIST_UPDATE = 0x03F2 {
    Guid player;
    u8 player_flags;
    u8 flags;
    u32 amount_of_players;
    CString name;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuidplayer
-1 / -u8player_flags
-1 / -u8flags
-4 / Littleu32amount_of_players
-- / -CStringname

SMSG_WARDEN_DATA

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/warden/smsg_warden_data.wowm:1.

smsg SMSG_WARDEN_DATA = 0x02E6 {
    u8[-] encrypted_data;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-? / -u8[-]encrypted_data

SMSG_WEATHER

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/smsg_weather.wowm:17.

smsg SMSG_WEATHER = 0x02F4 {
    WeatherType weather_type;
    f32 grade;
    u32 sound_id;
    WeatherChangeType change;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -WeatherTypeweather_type
0x084 / Littlef32grade
0x0C4 / Littleu32sound_id
0x101 / -WeatherChangeTypechange

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/smsg_weather.wowm:44.

smsg SMSG_WEATHER = 0x02F4 {
    WeatherType weather_type;
    f32 grade;
    WeatherChangeType change;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -WeatherTypeweather_type
0x084 / Littlef32grade
0x0C1 / -WeatherChangeTypechange

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/smsg_weather.wowm:70.

smsg SMSG_WEATHER = 0x02F4 {
    WeatherType weather_type;
    f32 grade;
    WeatherChangeType change;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -WeatherTypeweather_type
0x084 / Littlef32grade
0x0C1 / -WeatherChangeTypechange

SMSG_WHOIS

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_whois.wowm:3.

smsg SMSG_WHOIS = 0x0065 {
    CString message;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -CStringmessagevmangos: max CString length allowed: 256

SMSG_WHO

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_who.wowm:24.

smsg SMSG_WHO = 0x0063 {
    u32 listed_players;
    u32 online_players;
    WhoPlayer[listed_players] players;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32listed_players
0x084 / Littleu32online_players
0x0C? / -WhoPlayer[listed_players]players

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_who.wowm:24.

smsg SMSG_WHO = 0x0063 {
    u32 listed_players;
    u32 online_players;
    WhoPlayer[listed_players] players;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32listed_players
0x084 / Littleu32online_players
0x0C? / -WhoPlayer[listed_players]players

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_who.wowm:24.

smsg SMSG_WHO = 0x0063 {
    u32 listed_players;
    u32 online_players;
    WhoPlayer[listed_players] players;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32listed_players
-4 / Littleu32online_players
-? / -WhoPlayer[listed_players]players

SMSG_WORLD_STATE_UI_TIMER_UPDATE

Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/queries/smsg_world_state_ui_timer_update.wowm:3.

smsg SMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x04F7 {
    u32 time;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32timeSeconds since Unix Epoch

SMSG_ZONE_UNDER_ATTACK

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_zone_under_attack.wowm:1.

smsg SMSG_ZONE_UNDER_ATTACK = 0x0254 {
    Area zone_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Areazone_id

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_zone_under_attack.wowm:7.

smsg SMSG_ZONE_UNDER_ATTACK = 0x0254 {
    Area zone_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Areazone_id

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/combat/smsg_zone_under_attack.wowm:13.

smsg SMSG_ZONE_UNDER_ATTACK = 0x0254 {
    Area zone_id;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / -Areazone_id

SendCalendarEvent

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_send_calendar.wowm:12.

struct SendCalendarEvent {
    Guid event_id;
    CString title;
    u32 event_type;
    DateTime event_time;
    u32 flags;
    u32 dungeon_id;
    PackedGuid creator;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidevent_id
0x08- / -CStringtitle
-4 / Littleu32event_type
-4 / LittleDateTimeevent_time
-4 / Littleu32flags
-4 / Littleu32dungeon_id
-- / -PackedGuidcreator

Used in:

SendCalendarHoliday

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_send_calendar.wowm:41.

struct SendCalendarHoliday {
    u32 holiday_id;
    u32 region;
    u32 looping;
    u32 priority;
    u32 calendar_filter_type;
    u32[26] holiday_days;
    u32[10] durations;
    u32[10] flags;
    CString texture_file_name;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32holiday_id
0x044 / Littleu32region
0x084 / Littleu32looping
0x0C4 / Littleu32priority
0x104 / Littleu32calendar_filter_type
0x14104 / -u32[26]holiday_days
0x7C40 / -u32[10]durations
0xA440 / -u32[10]flags
0xCC- / -CStringtexture_file_name

Used in:

SendCalendarInstance

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_send_calendar.wowm:24.

struct SendCalendarInstance {
    Map map;
    u32 difficulty;
    u32 reset_time;
    Guid instance_id;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -Mapmap
0x044 / Littleu32difficulty
0x084 / Littleu32reset_time
0x0C8 / LittleGuidinstance_id

Used in:

SendCalendarInvite

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_send_calendar.wowm:1.

struct SendCalendarInvite {
    Guid event_id;
    Guid invite_id;
    u8 status;
    u8 rank;
    Bool is_guild_event;
    PackedGuid creator;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidevent_id
0x088 / LittleGuidinvite_id
0x101 / -u8status
0x111 / -u8rank
0x121 / -Boolis_guild_event
0x13- / -PackedGuidcreator

Used in:

SendCalendarResetTime

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/calendar/smsg_calendar_send_calendar.wowm:33.

struct SendCalendarResetTime {
    Map map;
    u32 period;
    u32 time_offset;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -Mapmap
0x044 / Littleu32period
0x084 / Littleu32time_offset

Used in:

SkillInfo

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/update_mask/skill_info.wowm:3.

struct SkillInfo {
    Skill skill;
    u16 skill_step;
    u16 minimum;
    u16 maximum;
    u16 permanent_bonus;
    u16 temporary_bonus;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / -Skillskill
0x022 / Littleu16skill_step
0x042 / Littleu16minimum
0x062 / Littleu16maximum
0x082 / Littleu16permanent_bonus
0x0A2 / Littleu16temporary_bonus

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/update_mask/skill_info.wowm:3.

struct SkillInfo {
    Skill skill;
    u16 skill_step;
    u16 minimum;
    u16 maximum;
    u16 permanent_bonus;
    u16 temporary_bonus;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / -Skillskill
0x022 / Littleu16skill_step
0x042 / Littleu16minimum
0x062 / Littleu16maximum
0x082 / Littleu16permanent_bonus
0x0A2 / Littleu16temporary_bonus

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/update_mask/skill_info.wowm:3.

struct SkillInfo {
    Skill skill;
    u16 skill_step;
    u16 minimum;
    u16 maximum;
    u16 permanent_bonus;
    u16 temporary_bonus;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / -Skillskill
0x022 / Littleu16skill_step
0x042 / Littleu16minimum
0x062 / Littleu16maximum
0x082 / Littleu16permanent_bonus
0x0A2 / Littleu16temporary_bonus

Used in:

SpellCastTargets

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/common.wowm:118.

struct SpellCastTargets {
    SpellCastTargetFlags target_flags;
    if (target_flags & UNIT) {
        PackedGuid unit_target;
    }
    if (target_flags & GAMEOBJECT) {
        PackedGuid gameobject;
    }
    else if (target_flags & OBJECT_UNK) {
        PackedGuid object_unk;
    }
    if (target_flags & ITEM) {
        PackedGuid item;
    }
    else if (target_flags & TRADE_ITEM) {
        PackedGuid trade_item;
    }
    if (target_flags & SOURCE_LOCATION) {
        Vector3d source;
    }
    if (target_flags & DEST_LOCATION) {
        Vector3d destination;
    }
    if (target_flags & STRING) {
        CString target_string;
    }
    if (target_flags & CORPSE) {
        PackedGuid corpse;
    }
    else if (target_flags & PVP_CORPSE) {
        PackedGuid pvp_corpse;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / -SpellCastTargetFlagstarget_flags

If target_flags contains UNIT:

OffsetSize / EndiannessTypeNameComment
0x02- / -PackedGuidunit_target

If target_flags contains GAMEOBJECT:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidgameobject

Else If target_flags contains OBJECT_UNK:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidobject_unk

If target_flags contains ITEM:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuiditem

Else If target_flags contains TRADE_ITEM:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtrade_item

If target_flags contains SOURCE_LOCATION:

OffsetSize / EndiannessTypeNameComment
-12 / -Vector3dsource

If target_flags contains DEST_LOCATION:

OffsetSize / EndiannessTypeNameComment
-12 / -Vector3ddestination

If target_flags contains STRING:

OffsetSize / EndiannessTypeNameComment
-- / -CStringtarget_string

If target_flags contains CORPSE:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidcorpse

Else If target_flags contains PVP_CORPSE:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidpvp_corpse

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/common.wowm:159.

struct SpellCastTargets {
    SpellCastTargetFlags target_flags;
    if (target_flags & UNIT) {
        PackedGuid unit_target;
    }
    else if (target_flags & UNIT_MINIPET) {
        PackedGuid unit_minipet;
    }
    else if (target_flags & UNIT_ENEMY) {
        PackedGuid unit_enemy;
    }
    if (target_flags & GAMEOBJECT) {
        PackedGuid gameobject;
    }
    else if (target_flags & LOCKED) {
        PackedGuid locked;
    }
    if (target_flags & ITEM) {
        PackedGuid item;
    }
    else if (target_flags & TRADE_ITEM) {
        PackedGuid trade_item;
    }
    if (target_flags & SOURCE_LOCATION) {
        Vector3d source;
    }
    if (target_flags & DEST_LOCATION) {
        Vector3d destination;
    }
    if (target_flags & STRING) {
        CString target_string;
    }
    if (target_flags & CORPSE_ALLY) {
        PackedGuid corpse_ally;
    }
    else if (target_flags & CORPSE_ENEMY) {
        PackedGuid corpse_enemy;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -SpellCastTargetFlagstarget_flags

If target_flags contains UNIT:

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidunit_target

Else If target_flags contains UNIT_MINIPET:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit_minipet

Else If target_flags contains UNIT_ENEMY:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidunit_enemy

If target_flags contains GAMEOBJECT:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidgameobject

Else If target_flags contains LOCKED:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidlocked

If target_flags contains ITEM:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuiditem

Else If target_flags contains TRADE_ITEM:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtrade_item

If target_flags contains SOURCE_LOCATION:

OffsetSize / EndiannessTypeNameComment
-12 / -Vector3dsource

If target_flags contains DEST_LOCATION:

OffsetSize / EndiannessTypeNameComment
-12 / -Vector3ddestination

If target_flags contains STRING:

OffsetSize / EndiannessTypeNameComment
-- / -CStringtarget_string

If target_flags contains CORPSE_ALLY:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidcorpse_ally

Else If target_flags contains CORPSE_ENEMY:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidcorpse_enemy

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/common.wowm:206.

struct SpellCastTargets {
    SpellCastTargetFlags target_flags;
    if (target_flags & UNIT) {
        PackedGuid unit_target;
    }
    else if (target_flags & UNIT_MINIPET) {
        PackedGuid minipet_target;
    }
    else if (target_flags & GAMEOBJECT) {
        PackedGuid gameobject_target;
    }
    else if (target_flags & CORPSE_ENEMY) {
        PackedGuid enemy_corpse_target;
    }
    else if (target_flags & CORPSE_ALLY) {
        PackedGuid ally_corpse_target;
    }
    if (target_flags & ITEM) {
        PackedGuid item_target;
    }
    else if (target_flags & TRADE_ITEM) {
        PackedGuid trade_item_target;
    }
    if (target_flags & SOURCE_LOCATION) {
        Vector3d source;
    }
    if (target_flags & DEST_LOCATION) {
        Vector3d destination;
    }
    if (target_flags & STRING) {
        CString target_string;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -SpellCastTargetFlagstarget_flags

If target_flags contains UNIT:

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidunit_target

Else If target_flags contains UNIT_MINIPET:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidminipet_target

Else If target_flags contains GAMEOBJECT:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidgameobject_target

Else If target_flags contains CORPSE_ENEMY:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidenemy_corpse_target

Else If target_flags contains CORPSE_ALLY:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidally_corpse_target

If target_flags contains ITEM:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuiditem_target

Else If target_flags contains TRADE_ITEM:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtrade_item_target

If target_flags contains SOURCE_LOCATION:

OffsetSize / EndiannessTypeNameComment
-12 / -Vector3dsource

If target_flags contains DEST_LOCATION:

OffsetSize / EndiannessTypeNameComment
-12 / -Vector3ddestination

If target_flags contains STRING:

OffsetSize / EndiannessTypeNameComment
-- / -CStringtarget_string

Used in:

SpellCooldownStatus

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_cooldown.wowm:1.

struct SpellCooldownStatus {
    Spell id;
    Milliseconds cooldown_time;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleSpellid
0x044 / LittleMillisecondscooldown_time

Used in:

SpellLogMiss

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogmiss.wowm:1.

struct SpellLogMiss {
    Guid target;
    SpellMissInfo miss_info;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidtarget
0x081 / -SpellMissInfomiss_info

Used in:

SpellLog

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogexecute.wowm:143.

struct SpellLog {
    SpellEffect effect;
    u32 amount_of_logs = 1;
    if (effect == POWER_DRAIN) {
        Guid target1;
        u32 amount;
        (u32)Power power;
        f32 multiplier;
    }
    else if (effect == HEAL
        || effect == HEAL_MAX_HEALTH) {
        Guid target2;
        u32 heal_amount;
        u32 heal_critical;
    }
    else if (effect == ENERGIZE) {
        Guid target3;
        u32 energize_amount;
        u32 energize_power;
    }
    else if (effect == ADD_EXTRA_ATTACKS) {
        Guid target4;
        u32 extra_attacks;
    }
    else if (effect == CREATE_ITEM) {
        Item item;
    }
    else if (effect == INTERRUPT_CAST) {
        Guid target5;
        Spell interrupted_spell;
    }
    else if (effect == DURABILITY_DAMAGE) {
        Guid target6;
        Item item_to_damage;
        u32 unknown5;
    }
    else if (effect == FEED_PET) {
        Item feed_pet_item;
    }
    else if (effect == INSTAKILL
        || effect == RESURRECT
        || effect == DISPEL
        || effect == THREAT
        || effect == DISTRACT
        || effect == SANCTUARY
        || effect == THREAT_ALL
        || effect == DISPEL_MECHANIC
        || effect == RESURRECT_NEW
        || effect == ATTACK_ME
        || effect == SKIN_PLAYER_CORPSE
        || effect == MODIFY_THREAT_PERCENT
        || effect == UNKNOWN126
        || effect == OPEN_LOCK
        || effect == OPEN_LOCK_ITEM
        || effect == DISMISS_PET
        || effect == TRANS_DOOR
        || effect == SUMMON
        || effect == SUMMON_PET
        || effect == SUMMON_WILD
        || effect == SUMMON_GUARDIAN
        || effect == SUMMON_TOTEM_SLOT1
        || effect == SUMMON_TOTEM_SLOT2
        || effect == SUMMON_TOTEM_SLOT3
        || effect == SUMMON_TOTEM_SLOT4
        || effect == SUMMON_POSSESSED
        || effect == SUMMON_TOTEM
        || effect == SUMMON_CRITTER
        || effect == SUMMON_OBJECT_WILD
        || effect == SUMMON_OBJECT_SLOT1
        || effect == SUMMON_OBJECT_SLOT2
        || effect == SUMMON_OBJECT_SLOT3
        || effect == SUMMON_OBJECT_SLOT4
        || effect == SUMMON_DEMON) {
        Guid target7;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -SpellEffecteffect
0x044 / Littleu32amount_of_logsvmangos/cmangos/mangoszero: Can be variable but all use constant 1

If effect is equal to POWER_DRAIN:

OffsetSize / EndiannessTypeNameComment
0x088 / LittleGuidtarget1
0x104 / Littleu32amount
0x144 / -Powerpower
0x184 / Littlef32multiplier

Else If effect is equal to HEAL or is equal to HEAL_MAX_HEALTH:

OffsetSize / EndiannessTypeNameComment
0x1C8 / LittleGuidtarget2
0x244 / Littleu32heal_amount
0x284 / Littleu32heal_critical

Else If effect is equal to ENERGIZE:

OffsetSize / EndiannessTypeNameComment
0x2C8 / LittleGuidtarget3
0x344 / Littleu32energize_amount
0x384 / Littleu32energize_power

Else If effect is equal to ADD_EXTRA_ATTACKS:

OffsetSize / EndiannessTypeNameComment
0x3C8 / LittleGuidtarget4
0x444 / Littleu32extra_attacks

Else If effect is equal to CREATE_ITEM:

OffsetSize / EndiannessTypeNameComment
0x484 / LittleItemitem

Else If effect is equal to INTERRUPT_CAST:

OffsetSize / EndiannessTypeNameComment
0x4C8 / LittleGuidtarget5
0x544 / LittleSpellinterrupted_spell

Else If effect is equal to DURABILITY_DAMAGE:

OffsetSize / EndiannessTypeNameComment
0x588 / LittleGuidtarget6
0x604 / LittleItemitem_to_damage
0x644 / Littleu32unknown5

Else If effect is equal to FEED_PET:

OffsetSize / EndiannessTypeNameComment
0x684 / LittleItemfeed_pet_item

Else If effect is equal to INSTAKILL or is equal to RESURRECT or is equal to DISPEL or is equal to THREAT or is equal to DISTRACT or is equal to SANCTUARY or is equal to THREAT_ALL or is equal to DISPEL_MECHANIC or is equal to RESURRECT_NEW or is equal to ATTACK_ME or is equal to SKIN_PLAYER_CORPSE or is equal to MODIFY_THREAT_PERCENT or is equal to UNKNOWN126 or is equal to OPEN_LOCK or is equal to OPEN_LOCK_ITEM or is equal to DISMISS_PET or is equal to TRANS_DOOR or is equal to SUMMON or is equal to SUMMON_PET or is equal to SUMMON_WILD or is equal to SUMMON_GUARDIAN or is equal to SUMMON_TOTEM_SLOT1 or is equal to SUMMON_TOTEM_SLOT2 or is equal to SUMMON_TOTEM_SLOT3 or is equal to SUMMON_TOTEM_SLOT4 or is equal to SUMMON_POSSESSED or is equal to SUMMON_TOTEM or is equal to SUMMON_CRITTER or is equal to SUMMON_OBJECT_WILD or is equal to SUMMON_OBJECT_SLOT1 or is equal to SUMMON_OBJECT_SLOT2 or is equal to SUMMON_OBJECT_SLOT3 or is equal to SUMMON_OBJECT_SLOT4 or is equal to SUMMON_DEMON:

OffsetSize / EndiannessTypeNameComment
0x6C8 / LittleGuidtarget7

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogexecute.wowm:385.

struct SpellLog {
    SpellEffect effect;
    u32 amount_of_logs = 1;
    if (effect == POWER_DRAIN) {
        PackedGuid target1;
        u32 amount;
        (u32)Power power;
        f32 multiplier;
    }
    else if (effect == ADD_EXTRA_ATTACKS) {
        PackedGuid target4;
        u32 extra_attacks;
    }
    else if (effect == INTERRUPT_CAST) {
        PackedGuid target5;
        Spell interrupted_spell;
    }
    else if (effect == DURABILITY_DAMAGE) {
        PackedGuid target6;
        Item item_to_damage;
        u32 unknown5;
    }
    else if (effect == OPEN_LOCK
        || effect == OPEN_LOCK_ITEM) {
        PackedGuid lock_target;
    }
    else if (effect == CREATE_ITEM) {
        Item item;
    }
    else if (effect == SUMMON
        || effect == TRANS_DOOR
        || effect == SUMMON_PET
        || effect == SUMMON_OBJECT_WILD
        || effect == CREATE_HOUSE
        || effect == DUEL
        || effect == SUMMON_OBJECT_SLOT1
        || effect == SUMMON_OBJECT_SLOT2
        || effect == SUMMON_OBJECT_SLOT3
        || effect == SUMMON_OBJECT_SLOT4) {
        PackedGuid summon_target;
    }
    else if (effect == FEED_PET) {
        PackedGuid pet_feed_guid;
    }
    else if (effect == DISMISS_PET) {
        PackedGuid pet_dismiss_guid;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -SpellEffecteffect
0x044 / Littleu32amount_of_logsvmangos/cmangos/mangoszero: Can be variable but all use constant 1

If effect is equal to POWER_DRAIN:

OffsetSize / EndiannessTypeNameComment
0x08- / -PackedGuidtarget1
-4 / Littleu32amount
-4 / -Powerpower
-4 / Littlef32multiplier

Else If effect is equal to ADD_EXTRA_ATTACKS:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget4
-4 / Littleu32extra_attacks

Else If effect is equal to INTERRUPT_CAST:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget5
-4 / LittleSpellinterrupted_spell

Else If effect is equal to DURABILITY_DAMAGE:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget6
-4 / LittleItemitem_to_damage
-4 / Littleu32unknown5

Else If effect is equal to OPEN_LOCK or is equal to OPEN_LOCK_ITEM:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidlock_target

Else If effect is equal to CREATE_ITEM:

OffsetSize / EndiannessTypeNameComment
-4 / LittleItemitem

Else If effect is equal to SUMMON or is equal to TRANS_DOOR or is equal to SUMMON_PET or is equal to SUMMON_OBJECT_WILD or is equal to CREATE_HOUSE or is equal to DUEL or is equal to SUMMON_OBJECT_SLOT1 or is equal to SUMMON_OBJECT_SLOT2 or is equal to SUMMON_OBJECT_SLOT3 or is equal to SUMMON_OBJECT_SLOT4:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidsummon_target

Else If effect is equal to FEED_PET:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidpet_feed_guid

Else If effect is equal to DISMISS_PET:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidpet_dismiss_guid

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogexecute.wowm:602.

struct SpellLog {
    SpellEffect effect;
    u32 amount_of_logs = 1;
    if (effect == POWER_DRAIN) {
        PackedGuid target1;
        u32 amount;
        (u32)Power power;
        f32 multiplier;
    }
    else if (effect == ADD_EXTRA_ATTACKS) {
        PackedGuid target4;
        u32 extra_attacks;
    }
    else if (effect == INTERRUPT_CAST) {
        PackedGuid target5;
        Spell interrupted_spell;
    }
    else if (effect == DURABILITY_DAMAGE) {
        PackedGuid target6;
        Item item_to_damage;
        u32 unknown5;
    }
    else if (effect == OPEN_LOCK
        || effect == OPEN_LOCK_ITEM) {
        PackedGuid lock_target;
    }
    else if (effect == CREATE_ITEM
        || effect == CREATE_ITEM2) {
        Item item;
    }
    else if (effect == SUMMON
        || effect == TRANS_DOOR
        || effect == SUMMON_PET
        || effect == SUMMON_OBJECT_WILD
        || effect == CREATE_HOUSE
        || effect == DUEL
        || effect == SUMMON_OBJECT_SLOT1
        || effect == SUMMON_OBJECT_SLOT2
        || effect == SUMMON_OBJECT_SLOT3
        || effect == SUMMON_OBJECT_SLOT4) {
        PackedGuid summon_target;
    }
    else if (effect == FEED_PET) {
        PackedGuid pet_feed_guid;
    }
    else if (effect == DISMISS_PET) {
        PackedGuid pet_dismiss_guid;
    }
    else if (effect == RESURRECT
        || effect == RESURRECT_NEW) {
        PackedGuid resurrect_guid;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -SpellEffecteffect
0x044 / Littleu32amount_of_logsvmangos/cmangos/mangoszero: Can be variable but all use constant 1

If effect is equal to POWER_DRAIN:

OffsetSize / EndiannessTypeNameComment
0x08- / -PackedGuidtarget1
-4 / Littleu32amount
-4 / -Powerpower
-4 / Littlef32multiplier

Else If effect is equal to ADD_EXTRA_ATTACKS:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget4
-4 / Littleu32extra_attacks

Else If effect is equal to INTERRUPT_CAST:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget5
-4 / LittleSpellinterrupted_spell

Else If effect is equal to DURABILITY_DAMAGE:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget6
-4 / LittleItemitem_to_damage
-4 / Littleu32unknown5

Else If effect is equal to OPEN_LOCK or is equal to OPEN_LOCK_ITEM:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidlock_target

Else If effect is equal to CREATE_ITEM or is equal to CREATE_ITEM2:

OffsetSize / EndiannessTypeNameComment
-4 / LittleItemitem

Else If effect is equal to SUMMON or is equal to TRANS_DOOR or is equal to SUMMON_PET or is equal to SUMMON_OBJECT_WILD or is equal to CREATE_HOUSE or is equal to DUEL or is equal to SUMMON_OBJECT_SLOT1 or is equal to SUMMON_OBJECT_SLOT2 or is equal to SUMMON_OBJECT_SLOT3 or is equal to SUMMON_OBJECT_SLOT4:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidsummon_target

Else If effect is equal to FEED_PET:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidpet_feed_guid

Else If effect is equal to DISMISS_PET:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidpet_dismiss_guid

Else If effect is equal to RESURRECT or is equal to RESURRECT_NEW:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidresurrect_guid

Used in:

SpellMiss

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/spell_common.wowm:28.

struct SpellMiss {
    Guid target;
    SpellMissInfo miss_info;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidtarget
0x081 / -SpellMissInfomiss_info

Used in:

Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/spell_common_3_3_5.wowm:44.

struct SpellMiss {
    Guid target;
    SpellMissInfo miss_info;
    if (miss_info == REFLECT) {
        u8 reflect_result;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidtarget
0x081 / -SpellMissInfomiss_info

If miss_info is equal to REFLECT:

OffsetSize / EndiannessTypeNameComment
0x091 / -u8reflect_result

Used in:

SpellSteal

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellsteallog.wowm:8.

struct SpellSteal {
    Spell spell;
    SpellStealAction action;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleSpellspell
0x041 / -SpellStealActionaction

Used in:

StabledPet

Client Version 1, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/pet/msg_list_stabled_pets_server.wowm:3.

struct StabledPet {
    u32 pet_number;
    u32 entry;
    Level32 level;
    CString name;
    u32 loyalty;
    u8 slot;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32pet_number
0x044 / Littleu32entry
0x084 / LittleLevel32level
0x0C- / -CStringname
-4 / Littleu32loyalty
-1 / -u8slotvmangos/mangoszero/cmangos: client slot 1 == current pet (0)

Used in:

TalentInfoSpec

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_talents_info.wowm:8.

struct TalentInfoSpec {
    u8 amount_of_talents;
    InspectTalent[amount_of_talents] talents;
    u8 amount_of_glyphs;
    u16[amount_of_glyphs] glyphs;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8amount_of_talents
0x01? / -InspectTalent[amount_of_talents]talents
-1 / -u8amount_of_glyphs
-? / -u16[amount_of_glyphs]glyphs

Used in:

ThreatUpdateUnit

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/threat/smsg_highest_threat_update.wowm:1.

struct ThreatUpdateUnit {
    PackedGuid unit;
    u32 threat;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidunit
-4 / Littleu32threat

Used in:

TradeSlot

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/smsg_trade_status_extended.wowm:1.

struct TradeSlot {
    u8 trade_slot_number;
    Item item;
    u32 display_id;
    u32 stack_count;
    Bool32 wrapped;
    Guid gift_wrapper;
    u32 enchantment;
    Guid item_creator;
    u32 spell_charges;
    u32 item_suffix_factor;
    u32 item_random_properties_id;
    u32 lock_id;
    u32 max_durability;
    u32 durability;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8trade_slot_numbercmangos/vmangos/mangoszero: sets to index of array
0x014 / LittleItemitem
0x054 / Littleu32display_id
0x094 / Littleu32stack_count
0x0D4 / LittleBool32wrapped
0x118 / LittleGuidgift_wrapper
0x194 / Littleu32enchantment
0x1D8 / LittleGuiditem_creator
0x254 / Littleu32spell_charges
0x294 / Littleu32item_suffix_factor
0x2D4 / Littleu32item_random_properties_id
0x314 / Littleu32lock_id
0x354 / Littleu32max_durability
0x394 / Littleu32durability

Used in:

Client Version 2.4.3, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/trade/smsg_trade_status_extended.wowm:40.

struct TradeSlot {
    u8 trade_slot_number;
    Item item;
    u32 display_id;
    u32 stack_count;
    Bool32 wrapped;
    Guid gift_wrapper;
    u32 enchantment;
    u32[3] enchantments_slots;
    Guid item_creator;
    u32 spell_charges;
    u32 item_suffix_factor;
    u32 item_random_properties_id;
    u32 lock_id;
    u32 max_durability;
    u32 durability;
}

Body

OffsetSize / EndiannessTypeNameComment
0x001 / -u8trade_slot_numbercmangos/vmangos/mangoszero: sets to index of array
0x014 / LittleItemitem
0x054 / Littleu32display_id
0x094 / Littleu32stack_count
0x0D4 / LittleBool32wrapped
0x118 / LittleGuidgift_wrapper
0x194 / Littleu32enchantment
0x1D12 / -u32[3]enchantments_slots
0x298 / LittleGuiditem_creator
0x314 / Littleu32spell_charges
0x354 / Littleu32item_suffix_factor
0x394 / Littleu32item_random_properties_id
0x3D4 / Littleu32lock_id
0x414 / Littleu32max_durability
0x454 / Littleu32durability

Used in:

TrainerSpell

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_trainer_list.wowm:9.

struct TrainerSpell {
    Spell spell;
    TrainerSpellState state;
    u32 spell_cost;
    u32 talent_point_cost;
    u32 first_rank;
    u8 required_level;
    (u32)Skill required_skill;
    u32 required_skill_value;
    u32[3] required_spells;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleSpellspellcmangos: learned spell (or cast-spell in profession case)
0x041 / -TrainerSpellStatestate
0x054 / Littleu32spell_cost
0x094 / Littleu32talent_point_costcmangos: spells don’t cost talent points
cmangos: set to 0
0x0D4 / Littleu32first_rankcmangos: must be equal prev. field to have learn button in enabled state
cmangos: 1 for true 0 for false
0x111 / -u8required_level
0x124 / -Skillrequired_skill
0x164 / Littleu32required_skill_value
0x1A12 / -u32[3]required_spells

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_trainer_list.wowm:9.

struct TrainerSpell {
    Spell spell;
    TrainerSpellState state;
    u32 spell_cost;
    u32 talent_point_cost;
    u32 first_rank;
    u8 required_level;
    (u32)Skill required_skill;
    u32 required_skill_value;
    u32[3] required_spells;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleSpellspellcmangos: learned spell (or cast-spell in profession case)
0x041 / -TrainerSpellStatestate
0x054 / Littleu32spell_cost
0x094 / Littleu32talent_point_costcmangos: spells don’t cost talent points
cmangos: set to 0
0x0D4 / Littleu32first_rankcmangos: must be equal prev. field to have learn button in enabled state
cmangos: 1 for true 0 for false
0x111 / -u8required_level
0x124 / -Skillrequired_skill
0x164 / Littleu32required_skill_value
0x1A12 / -u32[3]required_spells

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_trainer_list.wowm:9.

struct TrainerSpell {
    Spell spell;
    TrainerSpellState state;
    u32 spell_cost;
    u32 talent_point_cost;
    u32 first_rank;
    u8 required_level;
    (u32)Skill required_skill;
    u32 required_skill_value;
    u32[3] required_spells;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleSpellspellcmangos: learned spell (or cast-spell in profession case)
0x041 / -TrainerSpellStatestate
0x054 / Littleu32spell_cost
0x094 / Littleu32talent_point_costcmangos: spells don’t cost talent points
cmangos: set to 0
0x0D4 / Littleu32first_rankcmangos: must be equal prev. field to have learn button in enabled state
cmangos: 1 for true 0 for false
0x111 / -u8required_level
0x124 / -Skillrequired_skill
0x164 / Littleu32required_skill_value
0x1A12 / -u32[3]required_spells

Used in:

TransportInfo

Client Version 1.12, Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/common_movement.wowm:3.

struct TransportInfo {
    PackedGuid guid;
    Vector3d position;
    f32 orientation;
    u32 timestamp;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-12 / -Vector3dposition
-4 / Littlef32orientation
-4 / Littleu32timestamp

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/movement/common_movement_3_3_5.wowm:3.

struct TransportInfo {
    PackedGuid guid;
    Vector3d position;
    f32 orientation;
    u32 timestamp;
    u8 seat;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -PackedGuidguid
-12 / -Vector3dposition
-4 / Littlef32orientation
-4 / Littleu32timestamp
-1 / -u8seat

Used in:

Vector2dUnsigned

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_poi_query_response.wowm:9.

struct Vector2dUnsigned {
    u32 x;
    u32 y;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32x
0x044 / Littleu32y

Used in:

Vector2d

Client Version *

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vector.wowm:10.

struct Vector2d {
    f32 x;
    f32 y;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littlef32x
0x044 / Littlef32y

Used in:

Vector3d

Client Version *

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/vector.wowm:4.

struct Vector3d {
    f32 x;
    f32 y;
    f32 z;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littlef32x
0x044 / Littlef32y
0x084 / Littlef32z

Used in:

VisibleItem

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/update_mask/skill_info.wowm:14.

struct VisibleItem {
    Guid creator;
    Item item;
    u32[2] enchants;
    u32 padding5 = 0;
    u32 padding6 = 0;
    u32 padding7 = 0;
    u32 padding8 = 0;
    u32 padding9 = 0;
    u32 random_property_id;
    u32 item_suffix_factor;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidcreator
0x084 / LittleItemitem
0x0C8 / -u32[2]enchants
0x144 / Littleu32padding5
0x184 / Littleu32padding6
0x1C4 / Littleu32padding7
0x204 / Littleu32padding8
0x244 / Littleu32padding9
0x284 / Littleu32random_property_id
0x2C4 / Littleu32item_suffix_factor

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/update_mask/skill_info.wowm:29.

struct VisibleItem {
    Guid creator;
    Item item;
    u32[6] enchants;
    u32 random_property_id;
    u32 item_suffix_factor;
}

Body

OffsetSize / EndiannessTypeNameComment
0x008 / LittleGuidcreator
0x084 / LittleItemitem
0x0C24 / -u32[6]enchants
0x244 / Littleu32random_property_id
0x284 / Littleu32item_suffix_factor

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/update_mask/skill_info.wowm:39.

struct VisibleItem {
    Item item;
    u16[2] enchants;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / LittleItemitem
0x044 / -u16[2]enchants

Used in:

WhoPlayer

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_who.wowm:1.

struct WhoPlayer {
    CString name;
    CString guild;
    Level32 level;
    (u32)Class class;
    (u32)Race race;
    Area area;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -CStringname
-- / -CStringguild
-4 / LittleLevel32level
-4 / -Classclass
-4 / -Racerace
-4 / -Areaarea

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_who.wowm:12.

struct WhoPlayer {
    CString name;
    CString guild;
    Level32 level;
    Class class;
    Race race;
    Gender gender;
    Area area;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -CStringname
-- / -CStringguild
-4 / LittleLevel32level
-1 / -Classclass
-1 / -Racerace
-1 / -Gendergender
-4 / -Areaarea

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/social/smsg_who.wowm:12.

struct WhoPlayer {
    CString name;
    CString guild;
    Level32 level;
    Class class;
    Race race;
    Gender gender;
    Area area;
}

Body

OffsetSize / EndiannessTypeNameComment
0x00- / -CStringname
-- / -CStringguild
-4 / LittleLevel32level
-1 / -Classclass
-1 / -Racerace
-1 / -Gendergender
-4 / -Areaarea

Used in:

WorldState

Client Version 1.12, Client Version 2, Client Version 3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/world/world_common.wowm:3.

struct WorldState {
    u32 state;
    u32 value;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32state
0x044 / Littleu32value

Used in: