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:
cmsgmsgsmsg
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
wowmfiles 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, andu64are sent as little endian over the network. - The floating point type
f32is 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.
| Type | Purpose | C Name |
|---|---|---|
u8 | Unsigned 8 bit integer. Min value 0, max value 256. | unsigned char |
u16 | Unsigned 16 bit integer. Min value 0, max value 65536. | unsigned short |
u32 | Unsigned 32 bit integer. Min value 0, max value 4294967296. | unsigned int |
u64 | Unsigned 64 bit integer. Min value 0, max value 18446744073709551616. | unsigned long long |
i32 | Unsigned 32 bit integer. Min value -2147483648, max value 4294967296. | signed int |
Bool | Unsigned 1 bit integer. 0 means false and all other values mean true. | unsigned char |
Bool32 | Unsigned 4 bit integer. 0 means false and all other values mean true. | unsigned int |
PackedGuid | Guid sent in the “packed” format. See PackedGuid. | - |
Guid | Unsigned 8 bit integer. Can be replaced with a u64. | unsigned long long |
NamedGuid | A Guid (u64) followed by a CString if the value of the Guid is not 0. | - |
DateTime | u32 in a special format. See DateTime. | unsigned int |
f32 | Floating point value of 4 bytes. | f32 |
CString | UTF-8 string type that is terminated by a zero byte value. | char* |
SizedCString | A 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* |
String | UTF-8 string type of exactly length len. | unsigned char + char* |
UpdateMask | Update values sent in a relatively complex format. See UpdateMask. | - |
MonsterMoveSplines | Array of positions. See MonsterMoveSpline. | - |
AuraMask | Aura values sent using a mask. See Masks. | - |
AchievementDoneArray | Array that terminates on a sentinel value. See AchievementDoneArray | - |
AchievementInProgressArray | Array that terminates on a sentinel value. See AchievementInProgressArray | - |
EnchantMask | Enchant values sent using a mask. See EnchantMasks. | - |
InspectTalentGearMask | InspectTalentGear values sent using a mask. See Masks. | - |
Gold | Alias for u32. | unsigned int |
Population | f32 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 |
Level | Alias for u8. | unsigned char |
Level16 | Alias for u16. | unsigned short |
Level32 | Alias for u32. | unsigned int |
VariableItemRandomProperty | A u32 followed by another u32 if the first value is not equal to 0. | - |
AddonArray | Array of Addons for TBC and Wrath that rely on externally knowing the amount of array members. See AddonArray. | - |
IpAddress | Alias for big endian u32. | unsigned int |
Seconds | Alias for u32. | unsigned int |
Milliseconds | Alias for u32. | unsigned int |
Spell | Alias for u32 that represents a spell. | unsigned int |
Spell16 | Alias for u16 that represents a spell. | unsigned short |
Item | Alias for u32 that represents an item entry. | unsigned int |
CacheMask | Client 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:
- A
u8with the amount of mask bytes. - The mask bytes as
u32s. - 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:
| Name | Offset | Size | Type |
|---|---|---|---|
OBJECT_GUID | 0x0000 | 2 | GUID |
OBJECT_TYPE | 0x0002 | 1 | INT |
OBJECT_ENTRY | 0x0003 | 1 | INT |
OBJECT_SCALE_X | 0x0004 | 1 | FLOAT |
Fields that all items have:
| Name | Offset | Size | Type |
|---|---|---|---|
ITEM_OWNER | 0x0006 | 2 | GUID |
ITEM_CONTAINED | 0x0008 | 2 | GUID |
ITEM_CREATOR | 0x000a | 2 | GUID |
ITEM_GIFTCREATOR | 0x000c | 2 | GUID |
ITEM_STACK_COUNT | 0x000e | 1 | INT |
ITEM_DURATION | 0x000f | 1 | INT |
ITEM_SPELL_CHARGES | 0x0010 | 5 | INT |
ITEM_FLAGS | 0x0015 | 1 | INT |
ITEM_ENCHANTMENT | 0x0016 | 21 | INT |
ITEM_PROPERTY_SEED | 0x002b | 1 | INT |
ITEM_RANDOM_PROPERTIES_ID | 0x002c | 1 | INT |
ITEM_ITEM_TEXT_ID | 0x002d | 1 | INT |
ITEM_DURABILITY | 0x002e | 1 | INT |
ITEM_MAXDURABILITY | 0x002f | 1 | INT |
Fields that all containers have:
| Name | Offset | Size | Type |
|---|---|---|---|
CONTAINER_NUM_SLOTS | 0x0030 | 1 | INT |
CONTAINER_SLOT_1 | 0x0032 | 72 | GUID |
Fields that all units have:
| Name | Offset | Size | Type |
|---|---|---|---|
UNIT_CHARM | 0x0006 | 2 | GUID |
UNIT_SUMMON | 0x0008 | 2 | GUID |
UNIT_CHARMEDBY | 0x000a | 2 | GUID |
UNIT_SUMMONEDBY | 0x000c | 2 | GUID |
UNIT_CREATEDBY | 0x000e | 2 | GUID |
UNIT_TARGET | 0x0010 | 2 | GUID |
UNIT_PERSUADED | 0x0012 | 2 | GUID |
UNIT_CHANNEL_OBJECT | 0x0014 | 2 | GUID |
UNIT_HEALTH | 0x0016 | 1 | INT |
UNIT_POWER1 | 0x0017 | 1 | INT |
UNIT_POWER2 | 0x0018 | 1 | INT |
UNIT_POWER3 | 0x0019 | 1 | INT |
UNIT_POWER4 | 0x001a | 1 | INT |
UNIT_POWER5 | 0x001b | 1 | INT |
UNIT_MAXHEALTH | 0x001c | 1 | INT |
UNIT_MAXPOWER1 | 0x001d | 1 | INT |
UNIT_MAXPOWER2 | 0x001e | 1 | INT |
UNIT_MAXPOWER3 | 0x001f | 1 | INT |
UNIT_MAXPOWER4 | 0x0020 | 1 | INT |
UNIT_MAXPOWER5 | 0x0021 | 1 | INT |
UNIT_LEVEL | 0x0022 | 1 | INT |
UNIT_FACTIONTEMPLATE | 0x0023 | 1 | INT |
UNIT_BYTES_0 | 0x0024 | 1 | BYTES |
UNIT_VIRTUAL_ITEM_SLOT_DISPLAY | 0x0025 | 3 | INT |
UNIT_VIRTUAL_ITEM_INFO | 0x0028 | 6 | BYTES |
UNIT_FLAGS | 0x002e | 1 | INT |
UNIT_AURA | 0x002f | 48 | INT |
UNIT_AURAFLAGS | 0x005f | 6 | BYTES |
UNIT_AURALEVELS | 0x0065 | 12 | BYTES |
UNIT_AURAAPPLICATIONS | 0x0071 | 12 | BYTES |
UNIT_AURASTATE | 0x007d | 1 | INT |
UNIT_BASEATTACKTIME | 0x007e | 2 | INT |
UNIT_RANGEDATTACKTIME | 0x0080 | 1 | INT |
UNIT_BOUNDINGRADIUS | 0x0081 | 1 | FLOAT |
UNIT_COMBATREACH | 0x0082 | 1 | FLOAT |
UNIT_DISPLAYID | 0x0083 | 1 | INT |
UNIT_NATIVEDISPLAYID | 0x0084 | 1 | INT |
UNIT_MOUNTDISPLAYID | 0x0085 | 1 | INT |
UNIT_MINDAMAGE | 0x0086 | 1 | FLOAT |
UNIT_MAXDAMAGE | 0x0087 | 1 | FLOAT |
UNIT_MINOFFHANDDAMAGE | 0x0088 | 1 | FLOAT |
UNIT_MAXOFFHANDDAMAGE | 0x0089 | 1 | FLOAT |
UNIT_BYTES_1 | 0x008a | 1 | BYTES |
UNIT_PETNUMBER | 0x008b | 1 | INT |
UNIT_PET_NAME_TIMESTAMP | 0x008c | 1 | INT |
UNIT_PETEXPERIENCE | 0x008d | 1 | INT |
UNIT_PETNEXTLEVELEXP | 0x008e | 1 | INT |
UNIT_DYNAMIC_FLAGS | 0x008f | 1 | INT |
UNIT_CHANNEL_SPELL | 0x0090 | 1 | INT |
UNIT_MOD_CAST_SPEED | 0x0091 | 1 | FLOAT |
UNIT_CREATED_BY_SPELL | 0x0092 | 1 | INT |
UNIT_NPC_FLAGS | 0x0093 | 1 | INT |
UNIT_NPC_EMOTESTATE | 0x0094 | 1 | INT |
UNIT_TRAINING_POINTS | 0x0095 | 1 | TWO_SHORT |
UNIT_STRENGTH | 0x0096 | 1 | INT |
UNIT_AGILITY | 0x0097 | 1 | INT |
UNIT_STAMINA | 0x0098 | 1 | INT |
UNIT_INTELLECT | 0x0099 | 1 | INT |
UNIT_SPIRIT | 0x009a | 1 | INT |
UNIT_NORMAL_RESISTANCE | 0x009b | 1 | INT |
UNIT_HOLY_RESISTANCE | 0x009c | 1 | INT |
UNIT_FIRE_RESISTANCE | 0x009d | 1 | INT |
UNIT_NATURE_RESISTANCE | 0x009e | 1 | INT |
UNIT_FROST_RESISTANCE | 0x009f | 1 | INT |
UNIT_SHADOW_RESISTANCE | 0x00a0 | 1 | INT |
UNIT_ARCANE_RESISTANCE | 0x00a1 | 1 | INT |
UNIT_BASE_MANA | 0x00a2 | 1 | INT |
UNIT_BASE_HEALTH | 0x00a3 | 1 | INT |
UNIT_BYTES_2 | 0x00a4 | 1 | BYTES |
UNIT_ATTACK_POWER | 0x00a5 | 1 | INT |
UNIT_ATTACK_POWER_MODS | 0x00a6 | 1 | TWO_SHORT |
UNIT_ATTACK_POWER_MULTIPLIER | 0x00a7 | 1 | FLOAT |
UNIT_RANGED_ATTACK_POWER | 0x00a8 | 1 | INT |
UNIT_RANGED_ATTACK_POWER_MODS | 0x00a9 | 1 | TWO_SHORT |
UNIT_RANGED_ATTACK_POWER_MULTIPLIER | 0x00aa | 1 | FLOAT |
UNIT_MINRANGEDDAMAGE | 0x00ab | 1 | FLOAT |
UNIT_MAXRANGEDDAMAGE | 0x00ac | 1 | FLOAT |
UNIT_POWER_COST_MODIFIER | 0x00ad | 7 | INT |
UNIT_POWER_COST_MULTIPLIER | 0x00b4 | 7 | FLOAT |
Fields that all players have:
| Name | Offset | Size | Type |
|---|---|---|---|
PLAYER_DUEL_ARBITER | 0x00bc | 2 | GUID |
PLAYER_FLAGS | 0x00be | 1 | INT |
PLAYER_GUILDID | 0x00bf | 1 | INT |
PLAYER_GUILDRANK | 0x00c0 | 1 | INT |
PLAYER_FEATURES | 0x00c1 | 1 | BYTES |
PLAYER_BYTES_2 | 0x00c2 | 1 | BYTES |
PLAYER_BYTES_3 | 0x00c3 | 1 | BYTES |
PLAYER_DUEL_TEAM | 0x00c4 | 1 | INT |
PLAYER_GUILD_TIMESTAMP | 0x00c5 | 1 | INT |
PLAYER_QUEST_LOG_1_1 | 0x00c6 | 1 | INT |
PLAYER_QUEST_LOG_1_2 | 0x00c7 | 2 | INT |
PLAYER_QUEST_LOG_2_1 | 0x00c9 | 1 | INT |
PLAYER_QUEST_LOG_2_2 | 0x00ca | 2 | INT |
PLAYER_QUEST_LOG_3_1 | 0x00cc | 1 | INT |
PLAYER_QUEST_LOG_3_2 | 0x00cd | 2 | INT |
PLAYER_QUEST_LOG_4_1 | 0x00cf | 1 | INT |
PLAYER_QUEST_LOG_4_2 | 0x00d0 | 2 | INT |
PLAYER_QUEST_LOG_5_1 | 0x00d2 | 1 | INT |
PLAYER_QUEST_LOG_5_2 | 0x00d3 | 2 | INT |
PLAYER_QUEST_LOG_6_1 | 0x00d5 | 1 | INT |
PLAYER_QUEST_LOG_6_2 | 0x00d6 | 2 | INT |
PLAYER_QUEST_LOG_7_1 | 0x00d8 | 1 | INT |
PLAYER_QUEST_LOG_7_2 | 0x00d9 | 2 | INT |
PLAYER_QUEST_LOG_8_1 | 0x00db | 1 | INT |
PLAYER_QUEST_LOG_8_2 | 0x00dc | 2 | INT |
PLAYER_QUEST_LOG_9_1 | 0x00de | 1 | INT |
PLAYER_QUEST_LOG_9_2 | 0x00df | 2 | INT |
PLAYER_QUEST_LOG_10_1 | 0x00e1 | 1 | INT |
PLAYER_QUEST_LOG_10_2 | 0x00e2 | 2 | INT |
PLAYER_QUEST_LOG_11_1 | 0x00e4 | 1 | INT |
PLAYER_QUEST_LOG_11_2 | 0x00e5 | 2 | INT |
PLAYER_QUEST_LOG_12_1 | 0x00e7 | 1 | INT |
PLAYER_QUEST_LOG_12_2 | 0x00e8 | 2 | INT |
PLAYER_QUEST_LOG_13_1 | 0x00ea | 1 | INT |
PLAYER_QUEST_LOG_13_2 | 0x00eb | 2 | INT |
PLAYER_QUEST_LOG_14_1 | 0x00ed | 1 | INT |
PLAYER_QUEST_LOG_14_2 | 0x00ee | 2 | INT |
PLAYER_QUEST_LOG_15_1 | 0x00f0 | 1 | INT |
PLAYER_QUEST_LOG_15_2 | 0x00f1 | 2 | INT |
PLAYER_QUEST_LOG_16_1 | 0x00f3 | 1 | INT |
PLAYER_QUEST_LOG_16_2 | 0x00f4 | 2 | INT |
PLAYER_QUEST_LOG_17_1 | 0x00f6 | 1 | INT |
PLAYER_QUEST_LOG_17_2 | 0x00f7 | 2 | INT |
PLAYER_QUEST_LOG_18_1 | 0x00f9 | 1 | INT |
PLAYER_QUEST_LOG_18_2 | 0x00fa | 2 | INT |
PLAYER_QUEST_LOG_19_1 | 0x00fc | 1 | INT |
PLAYER_QUEST_LOG_19_2 | 0x00fd | 2 | INT |
PLAYER_QUEST_LOG_20_1 | 0x00ff | 1 | INT |
PLAYER_QUEST_LOG_20_2 | 0x0100 | 2 | INT |
PLAYER_VISIBLE_ITEM | 0x0102 | 228 | CUSTOM |
PLAYER_FIELD_INV | 0x01e6 | 226 | CUSTOM |
PLAYER_FARSIGHT | 0x02c8 | 2 | GUID |
PLAYER_FIELD_COMBO_TARGET | 0x02ca | 2 | GUID |
PLAYER_XP | 0x02cc | 1 | INT |
PLAYER_NEXT_LEVEL_XP | 0x02cd | 1 | INT |
PLAYER_SKILL_INFO | 0x02ce | 384 | CUSTOM |
PLAYER_CHARACTER_POINTS1 | 0x044e | 1 | INT |
PLAYER_CHARACTER_POINTS2 | 0x044f | 1 | INT |
PLAYER_TRACK_CREATURES | 0x0450 | 1 | INT |
PLAYER_TRACK_RESOURCES | 0x0451 | 1 | INT |
PLAYER_BLOCK_PERCENTAGE | 0x0452 | 1 | FLOAT |
PLAYER_DODGE_PERCENTAGE | 0x0453 | 1 | FLOAT |
PLAYER_PARRY_PERCENTAGE | 0x0454 | 1 | FLOAT |
PLAYER_CRIT_PERCENTAGE | 0x0455 | 1 | FLOAT |
PLAYER_RANGED_CRIT_PERCENTAGE | 0x0456 | 1 | FLOAT |
PLAYER_EXPLORED_ZONES_1 | 0x0457 | 64 | BYTES |
PLAYER_REST_STATE_EXPERIENCE | 0x0497 | 1 | INT |
PLAYER_FIELD_COINAGE | 0x0498 | 1 | INT |
PLAYER_FIELD_POSSTAT0 | 0x0499 | 1 | INT |
PLAYER_FIELD_POSSTAT1 | 0x049a | 1 | INT |
PLAYER_FIELD_POSSTAT2 | 0x049b | 1 | INT |
PLAYER_FIELD_POSSTAT3 | 0x049c | 1 | INT |
PLAYER_FIELD_POSSTAT4 | 0x049d | 1 | INT |
PLAYER_FIELD_NEGSTAT0 | 0x049e | 1 | INT |
PLAYER_FIELD_NEGSTAT1 | 0x049f | 1 | INT |
PLAYER_FIELD_NEGSTAT2 | 0x04a0 | 1 | INT |
PLAYER_FIELD_NEGSTAT3 | 0x04a1 | 1 | INT |
PLAYER_FIELD_NEGSTAT4 | 0x04a2 | 1 | INT |
PLAYER_FIELD_RESISTANCEBUFFMODSPOSITIVE | 0x04a3 | 7 | INT |
PLAYER_FIELD_RESISTANCEBUFFMODSNEGATIVE | 0x04aa | 7 | INT |
PLAYER_FIELD_MOD_DAMAGE_DONE_POS | 0x04b1 | 7 | INT |
PLAYER_FIELD_MOD_DAMAGE_DONE_NEG | 0x04b8 | 7 | INT |
PLAYER_FIELD_MOD_DAMAGE_DONE_PCT | 0x04bf | 7 | INT |
PLAYER_FIELD_BYTES | 0x04c6 | 1 | BYTES |
PLAYER_AMMO_ID | 0x04c7 | 1 | INT |
PLAYER_SELF_RES_SPELL | 0x04c8 | 1 | INT |
PLAYER_FIELD_PVP_MEDALS | 0x04c9 | 1 | INT |
PLAYER_FIELD_BUYBACK_PRICE_1 | 0x04ca | 12 | INT |
PLAYER_FIELD_BUYBACK_TIMESTAMP_1 | 0x04d6 | 12 | INT |
PLAYER_FIELD_SESSION_KILLS | 0x04e2 | 1 | TWO_SHORT |
PLAYER_FIELD_YESTERDAY_KILLS | 0x04e3 | 1 | TWO_SHORT |
PLAYER_FIELD_LAST_WEEK_KILLS | 0x04e4 | 1 | TWO_SHORT |
PLAYER_FIELD_THIS_WEEK_KILLS | 0x04e5 | 1 | TWO_SHORT |
PLAYER_FIELD_THIS_WEEK_CONTRIBUTION | 0x04e6 | 1 | INT |
PLAYER_FIELD_LIFETIME_HONORBALE_KILLS | 0x04e7 | 1 | INT |
PLAYER_FIELD_LIFETIME_DISHONORBALE_KILLS | 0x04e8 | 1 | INT |
PLAYER_FIELD_YESTERDAY_CONTRIBUTION | 0x04e9 | 1 | INT |
PLAYER_FIELD_LAST_WEEK_CONTRIBUTION | 0x04ea | 1 | INT |
PLAYER_FIELD_LAST_WEEK_RANK | 0x04eb | 1 | INT |
PLAYER_FIELD_BYTES2 | 0x04ec | 1 | BYTES |
PLAYER_FIELD_WATCHED_FACTION_INDEX | 0x04ed | 1 | INT |
PLAYER_FIELD_COMBAT_RATING_1 | 0x04ee | 20 | INT |
Fields that all gameobjects have:
| Name | Offset | Size | Type |
|---|---|---|---|
GAMEOBJECT_CREATED_BY | 0x0006 | 2 | GUID |
GAMEOBJECT_DISPLAYID | 0x0008 | 1 | INT |
GAMEOBJECT_FLAGS | 0x0009 | 1 | INT |
GAMEOBJECT_ROTATION | 0x000a | 4 | FLOAT |
GAMEOBJECT_STATE | 0x000e | 1 | INT |
GAMEOBJECT_POS_X | 0x000f | 1 | FLOAT |
GAMEOBJECT_POS_Y | 0x0010 | 1 | FLOAT |
GAMEOBJECT_POS_Z | 0x0011 | 1 | FLOAT |
GAMEOBJECT_FACING | 0x0012 | 1 | FLOAT |
GAMEOBJECT_DYN_FLAGS | 0x0013 | 1 | INT |
GAMEOBJECT_FACTION | 0x0014 | 1 | INT |
GAMEOBJECT_TYPE_ID | 0x0015 | 1 | INT |
GAMEOBJECT_LEVEL | 0x0016 | 1 | INT |
GAMEOBJECT_ARTKIT | 0x0017 | 1 | INT |
GAMEOBJECT_ANIMPROGRESS | 0x0018 | 1 | INT |
Fields that all dynamicobjects have:
| Name | Offset | Size | Type |
|---|---|---|---|
DYNAMICOBJECT_CASTER | 0x0006 | 2 | GUID |
DYNAMICOBJECT_BYTES | 0x0008 | 1 | BYTES |
DYNAMICOBJECT_SPELLID | 0x0009 | 1 | INT |
DYNAMICOBJECT_RADIUS | 0x000a | 1 | FLOAT |
DYNAMICOBJECT_POS_X | 0x000b | 1 | FLOAT |
DYNAMICOBJECT_POS_Y | 0x000c | 1 | FLOAT |
DYNAMICOBJECT_POS_Z | 0x000d | 1 | FLOAT |
DYNAMICOBJECT_FACING | 0x000e | 1 | FLOAT |
Fields that all corpses have:
| Name | Offset | Size | Type |
|---|---|---|---|
CORPSE_OWNER | 0x0006 | 2 | GUID |
CORPSE_FACING | 0x0008 | 1 | FLOAT |
CORPSE_POS_X | 0x0009 | 1 | FLOAT |
CORPSE_POS_Y | 0x000a | 1 | FLOAT |
CORPSE_POS_Z | 0x000b | 1 | FLOAT |
CORPSE_DISPLAY_ID | 0x000c | 1 | INT |
CORPSE_ITEM | 0x000d | 19 | INT |
CORPSE_BYTES_1 | 0x0020 | 1 | BYTES |
CORPSE_BYTES_2 | 0x0021 | 1 | BYTES |
CORPSE_GUILD | 0x0022 | 1 | INT |
CORPSE_FLAGS | 0x0023 | 1 | INT |
CORPSE_DYNAMIC_FLAGS | 0x0024 | 1 | INT |
Version 2.4.3
Taken from mangosone with some modifications.
Fields that all objects have:
| Name | Offset | Size | Type |
|---|---|---|---|
OBJECT_GUID | 0x0000 | 2 | GUID |
OBJECT_TYPE | 0x0002 | 1 | INT |
OBJECT_ENTRY | 0x0003 | 1 | INT |
OBJECT_SCALE_X | 0x0004 | 1 | FLOAT |
OBJECT_CREATED_BY | 0x0006 | 2 | GUID |
Fields that all items have:
| Name | Offset | Size | Type |
|---|---|---|---|
ITEM_OWNER | 0x0006 | 2 | GUID |
ITEM_CONTAINED | 0x0008 | 2 | GUID |
ITEM_CREATOR | 0x000a | 2 | GUID |
ITEM_GIFTCREATOR | 0x000c | 2 | GUID |
ITEM_STACK_COUNT | 0x000e | 1 | INT |
ITEM_DURATION | 0x000f | 1 | INT |
ITEM_SPELL_CHARGES | 0x0010 | 5 | INT |
ITEM_FLAGS | 0x0015 | 1 | INT |
ITEM_ENCHANTMENT_1_1 | 0x0016 | 33 | INT |
ITEM_PROPERTY_SEED | 0x0037 | 1 | INT |
ITEM_RANDOM_PROPERTIES_ID | 0x0038 | 1 | INT |
ITEM_ITEM_TEXT_ID | 0x0039 | 1 | INT |
ITEM_DURABILITY | 0x003a | 1 | INT |
ITEM_MAXDURABILITY | 0x003b | 1 | INT |
Fields that all containers have:
| Name | Offset | Size | Type |
|---|---|---|---|
CONTAINER_NUM_SLOTS | 0x003c | 1 | INT |
CONTAINER_SLOT_1 | 0x003e | 72 | GUID |
Fields that all units have:
| Name | Offset | Size | Type |
|---|---|---|---|
UNIT_CHARM | 0x0006 | 2 | GUID |
UNIT_SUMMON | 0x0008 | 2 | GUID |
UNIT_CHARMEDBY | 0x000a | 2 | GUID |
UNIT_SUMMONEDBY | 0x000c | 2 | GUID |
UNIT_CREATEDBY | 0x000e | 2 | GUID |
UNIT_TARGET | 0x0010 | 2 | GUID |
UNIT_PERSUADED | 0x0012 | 2 | GUID |
UNIT_CHANNEL_OBJECT | 0x0014 | 2 | GUID |
UNIT_HEALTH | 0x0016 | 1 | INT |
UNIT_POWER1 | 0x0017 | 1 | INT |
UNIT_POWER2 | 0x0018 | 1 | INT |
UNIT_POWER3 | 0x0019 | 1 | INT |
UNIT_POWER4 | 0x001a | 1 | INT |
UNIT_POWER5 | 0x001b | 1 | INT |
UNIT_MAXHEALTH | 0x001c | 1 | INT |
UNIT_MAXPOWER1 | 0x001d | 1 | INT |
UNIT_MAXPOWER2 | 0x001e | 1 | INT |
UNIT_MAXPOWER3 | 0x001f | 1 | INT |
UNIT_MAXPOWER4 | 0x0020 | 1 | INT |
UNIT_MAXPOWER5 | 0x0021 | 1 | INT |
UNIT_LEVEL | 0x0022 | 1 | INT |
UNIT_FACTIONTEMPLATE | 0x0023 | 1 | INT |
UNIT_BYTES_0 | 0x0024 | 1 | BYTES |
UNIT_VIRTUAL_ITEM_SLOT_DISPLAY | 0x0025 | 3 | INT |
UNIT_VIRTUAL_ITEM_INFO | 0x0028 | 6 | BYTES |
UNIT_FLAGS | 0x002e | 1 | INT |
UNIT_FLAGS_2 | 0x002f | 1 | INT |
UNIT_AURA | 0x0030 | 56 | INT |
UNIT_AURAFLAGS | 0x0068 | 14 | BYTES |
UNIT_AURALEVELS | 0x0076 | 14 | BYTES |
UNIT_AURAAPPLICATIONS | 0x0084 | 14 | BYTES |
UNIT_AURASTATE | 0x0092 | 1 | INT |
UNIT_BASEATTACKTIME | 0x0093 | 2 | INT |
UNIT_RANGEDATTACKTIME | 0x0095 | 1 | INT |
UNIT_BOUNDINGRADIUS | 0x0096 | 1 | FLOAT |
UNIT_COMBATREACH | 0x0097 | 1 | FLOAT |
UNIT_DISPLAYID | 0x0098 | 1 | INT |
UNIT_NATIVEDISPLAYID | 0x0099 | 1 | INT |
UNIT_MOUNTDISPLAYID | 0x009a | 1 | INT |
UNIT_MINDAMAGE | 0x009b | 1 | FLOAT |
UNIT_MAXDAMAGE | 0x009c | 1 | FLOAT |
UNIT_MINOFFHANDDAMAGE | 0x009d | 1 | FLOAT |
UNIT_MAXOFFHANDDAMAGE | 0x009e | 1 | FLOAT |
UNIT_BYTES_1 | 0x009f | 1 | BYTES |
UNIT_PETNUMBER | 0x00a0 | 1 | INT |
UNIT_PET_NAME_TIMESTAMP | 0x00a1 | 1 | INT |
UNIT_PETEXPERIENCE | 0x00a2 | 1 | INT |
UNIT_PETNEXTLEVELEXP | 0x00a3 | 1 | INT |
UNIT_DYNAMIC_FLAGS | 0x00a4 | 1 | INT |
UNIT_CHANNEL_SPELL | 0x00a5 | 1 | INT |
UNIT_MOD_CAST_SPEED | 0x00a6 | 1 | FLOAT |
UNIT_CREATED_BY_SPELL | 0x00a7 | 1 | INT |
UNIT_NPC_FLAGS | 0x00a8 | 1 | INT |
UNIT_NPC_EMOTESTATE | 0x00a9 | 1 | INT |
UNIT_TRAINING_POINTS | 0x00aa | 1 | TWO_SHORT |
UNIT_STRENGTH | 0x00ab | 1 | INT |
UNIT_AGILITY | 0x00ac | 1 | INT |
UNIT_STAMINA | 0x00ad | 1 | INT |
UNIT_INTELLECT | 0x00ae | 1 | INT |
UNIT_SPIRIT | 0x00af | 1 | INT |
UNIT_POSSTAT1 | 0x00b1 | 1 | INT |
UNIT_POSSTAT2 | 0x00b2 | 1 | INT |
UNIT_POSSTAT3 | 0x00b3 | 1 | INT |
UNIT_NEGSTAT1 | 0x00b6 | 1 | INT |
UNIT_NEGSTAT2 | 0x00b7 | 1 | INT |
UNIT_NEGSTAT3 | 0x00b8 | 1 | INT |
UNIT_RESISTANCES | 0x00ba | 7 | INT |
UNIT_BASE_MANA | 0x00cf | 1 | INT |
UNIT_BASE_HEALTH | 0x00d0 | 1 | INT |
UNIT_BYTES_2 | 0x00d1 | 1 | BYTES |
UNIT_ATTACK_POWER | 0x00d2 | 1 | INT |
UNIT_ATTACK_POWER_MODS | 0x00d3 | 1 | TWO_SHORT |
UNIT_ATTACK_POWER_MULTIPLIER | 0x00d4 | 1 | FLOAT |
UNIT_RANGED_ATTACK_POWER | 0x00d5 | 1 | INT |
UNIT_RANGED_ATTACK_POWER_MODS | 0x00d6 | 1 | TWO_SHORT |
UNIT_RANGED_ATTACK_POWER_MULTIPLIER | 0x00d7 | 1 | FLOAT |
UNIT_MINRANGEDDAMAGE | 0x00d8 | 1 | FLOAT |
UNIT_MAXRANGEDDAMAGE | 0x00d9 | 1 | FLOAT |
UNIT_POWER_COST_MODIFIER | 0x00da | 7 | INT |
UNIT_POWER_COST_MULTIPLIER | 0x00e1 | 7 | FLOAT |
UNIT_MAXHEALTHMODIFIER | 0x00e8 | 1 | FLOAT |
Fields that all players have:
| Name | Offset | Size | Type |
|---|---|---|---|
PLAYER_POSSTAT0 | 0x00b0 | 1 | INT |
PLAYER_POSSTAT4 | 0x00b4 | 1 | INT |
PLAYER_NEGSTAT0 | 0x00b5 | 1 | INT |
PLAYER_NEGSTAT4 | 0x00b9 | 1 | INT |
PLAYER_RESISTANCEBUFFMODSPOSITIVE | 0x00c1 | 7 | INT |
PLAYER_RESISTANCEBUFFMODSNEGATIVE | 0x00c8 | 7 | INT |
PLAYER_DUEL_ARBITER | 0x00ea | 2 | GUID |
PLAYER_FLAGS | 0x00ec | 1 | INT |
PLAYER_GUILDID | 0x00ed | 1 | INT |
PLAYER_GUILDRANK | 0x00ee | 1 | INT |
PLAYER_FIELD_BYTES | 0x00ef | 1 | BYTES |
PLAYER_BYTES_2 | 0x00f0 | 1 | BYTES |
PLAYER_BYTES_3 | 0x00f1 | 1 | BYTES |
PLAYER_DUEL_TEAM | 0x00f2 | 1 | INT |
PLAYER_GUILD_TIMESTAMP | 0x00f3 | 1 | INT |
PLAYER_QUEST_LOG_1_1 | 0x00f4 | 1 | INT |
PLAYER_QUEST_LOG_1_2 | 0x00f5 | 1 | INT |
PLAYER_QUEST_LOG_1_3 | 0x00f6 | 1 | BYTES |
PLAYER_QUEST_LOG_1_4 | 0x00f7 | 1 | INT |
PLAYER_QUEST_LOG_2_1 | 0x00f8 | 1 | INT |
PLAYER_QUEST_LOG_2_2 | 0x00f9 | 1 | INT |
PLAYER_QUEST_LOG_2_3 | 0x00fa | 1 | BYTES |
PLAYER_QUEST_LOG_2_4 | 0x00fb | 1 | INT |
PLAYER_QUEST_LOG_3_1 | 0x00fc | 1 | INT |
PLAYER_QUEST_LOG_3_2 | 0x00fd | 1 | INT |
PLAYER_QUEST_LOG_3_3 | 0x00fe | 1 | BYTES |
PLAYER_QUEST_LOG_3_4 | 0x00ff | 1 | INT |
PLAYER_QUEST_LOG_4_1 | 0x0100 | 1 | INT |
PLAYER_QUEST_LOG_4_2 | 0x0101 | 1 | INT |
PLAYER_QUEST_LOG_4_3 | 0x0102 | 1 | BYTES |
PLAYER_QUEST_LOG_4_4 | 0x0103 | 1 | INT |
PLAYER_QUEST_LOG_5_1 | 0x0104 | 1 | INT |
PLAYER_QUEST_LOG_5_2 | 0x0105 | 1 | INT |
PLAYER_QUEST_LOG_5_3 | 0x0106 | 1 | BYTES |
PLAYER_QUEST_LOG_5_4 | 0x0107 | 1 | INT |
PLAYER_QUEST_LOG_6_1 | 0x0108 | 1 | INT |
PLAYER_QUEST_LOG_6_2 | 0x0109 | 1 | INT |
PLAYER_QUEST_LOG_6_3 | 0x010a | 1 | BYTES |
PLAYER_QUEST_LOG_6_4 | 0x010b | 1 | INT |
PLAYER_QUEST_LOG_7_1 | 0x010c | 1 | INT |
PLAYER_QUEST_LOG_7_2 | 0x010d | 1 | INT |
PLAYER_QUEST_LOG_7_3 | 0x010e | 1 | BYTES |
PLAYER_QUEST_LOG_7_4 | 0x010f | 1 | INT |
PLAYER_QUEST_LOG_8_1 | 0x0110 | 1 | INT |
PLAYER_QUEST_LOG_8_2 | 0x0111 | 1 | INT |
PLAYER_QUEST_LOG_8_3 | 0x0112 | 1 | BYTES |
PLAYER_QUEST_LOG_8_4 | 0x0113 | 1 | INT |
PLAYER_QUEST_LOG_9_1 | 0x0114 | 1 | INT |
PLAYER_QUEST_LOG_9_2 | 0x0115 | 1 | INT |
PLAYER_QUEST_LOG_9_3 | 0x0116 | 1 | BYTES |
PLAYER_QUEST_LOG_9_4 | 0x0117 | 1 | INT |
PLAYER_QUEST_LOG_10_1 | 0x0118 | 1 | INT |
PLAYER_QUEST_LOG_10_2 | 0x0119 | 1 | INT |
PLAYER_QUEST_LOG_10_3 | 0x011a | 1 | BYTES |
PLAYER_QUEST_LOG_10_4 | 0x011b | 1 | INT |
PLAYER_QUEST_LOG_11_1 | 0x011c | 1 | INT |
PLAYER_QUEST_LOG_11_2 | 0x011d | 1 | INT |
PLAYER_QUEST_LOG_11_3 | 0x011e | 1 | BYTES |
PLAYER_QUEST_LOG_11_4 | 0x011f | 1 | INT |
PLAYER_QUEST_LOG_12_1 | 0x0120 | 1 | INT |
PLAYER_QUEST_LOG_12_2 | 0x0121 | 1 | INT |
PLAYER_QUEST_LOG_12_3 | 0x0122 | 1 | BYTES |
PLAYER_QUEST_LOG_12_4 | 0x0123 | 1 | INT |
PLAYER_QUEST_LOG_13_1 | 0x0124 | 1 | INT |
PLAYER_QUEST_LOG_13_2 | 0x0125 | 1 | INT |
PLAYER_QUEST_LOG_13_3 | 0x0126 | 1 | BYTES |
PLAYER_QUEST_LOG_13_4 | 0x0127 | 1 | INT |
PLAYER_QUEST_LOG_14_1 | 0x0128 | 1 | INT |
PLAYER_QUEST_LOG_14_2 | 0x0129 | 1 | INT |
PLAYER_QUEST_LOG_14_3 | 0x012a | 1 | BYTES |
PLAYER_QUEST_LOG_14_4 | 0x012b | 1 | INT |
PLAYER_QUEST_LOG_15_1 | 0x012c | 1 | INT |
PLAYER_QUEST_LOG_15_2 | 0x012d | 1 | INT |
PLAYER_QUEST_LOG_15_3 | 0x012e | 1 | BYTES |
PLAYER_QUEST_LOG_15_4 | 0x012f | 1 | INT |
PLAYER_QUEST_LOG_16_1 | 0x0130 | 1 | INT |
PLAYER_QUEST_LOG_16_2 | 0x0131 | 1 | INT |
PLAYER_QUEST_LOG_16_3 | 0x0132 | 1 | BYTES |
PLAYER_QUEST_LOG_16_4 | 0x0133 | 1 | INT |
PLAYER_QUEST_LOG_17_1 | 0x0134 | 1 | INT |
PLAYER_QUEST_LOG_17_2 | 0x0135 | 1 | INT |
PLAYER_QUEST_LOG_17_3 | 0x0136 | 1 | BYTES |
PLAYER_QUEST_LOG_17_4 | 0x0137 | 1 | INT |
PLAYER_QUEST_LOG_18_1 | 0x0138 | 1 | INT |
PLAYER_QUEST_LOG_18_2 | 0x0139 | 1 | INT |
PLAYER_QUEST_LOG_18_3 | 0x013a | 1 | BYTES |
PLAYER_QUEST_LOG_18_4 | 0x013b | 1 | INT |
PLAYER_QUEST_LOG_19_1 | 0x013c | 1 | INT |
PLAYER_QUEST_LOG_19_2 | 0x013d | 1 | INT |
PLAYER_QUEST_LOG_19_3 | 0x013e | 1 | BYTES |
PLAYER_QUEST_LOG_19_4 | 0x013f | 1 | INT |
PLAYER_QUEST_LOG_20_1 | 0x0140 | 1 | INT |
PLAYER_QUEST_LOG_20_2 | 0x0141 | 1 | INT |
PLAYER_QUEST_LOG_20_3 | 0x0142 | 1 | BYTES |
PLAYER_QUEST_LOG_20_4 | 0x0143 | 1 | INT |
PLAYER_QUEST_LOG_21_1 | 0x0144 | 1 | INT |
PLAYER_QUEST_LOG_21_2 | 0x0145 | 1 | INT |
PLAYER_QUEST_LOG_21_3 | 0x0146 | 1 | BYTES |
PLAYER_QUEST_LOG_21_4 | 0x0147 | 1 | INT |
PLAYER_QUEST_LOG_22_1 | 0x0148 | 1 | INT |
PLAYER_QUEST_LOG_22_2 | 0x0149 | 1 | INT |
PLAYER_QUEST_LOG_22_3 | 0x014a | 1 | BYTES |
PLAYER_QUEST_LOG_22_4 | 0x014b | 1 | INT |
PLAYER_QUEST_LOG_23_1 | 0x014c | 1 | INT |
PLAYER_QUEST_LOG_23_2 | 0x014d | 1 | INT |
PLAYER_QUEST_LOG_23_3 | 0x014e | 1 | BYTES |
PLAYER_QUEST_LOG_23_4 | 0x014f | 1 | INT |
PLAYER_QUEST_LOG_24_1 | 0x0150 | 1 | INT |
PLAYER_QUEST_LOG_24_2 | 0x0151 | 1 | INT |
PLAYER_QUEST_LOG_24_3 | 0x0152 | 1 | BYTES |
PLAYER_QUEST_LOG_24_4 | 0x0153 | 1 | INT |
PLAYER_QUEST_LOG_25_1 | 0x0154 | 1 | INT |
PLAYER_QUEST_LOG_25_2 | 0x0155 | 1 | INT |
PLAYER_QUEST_LOG_25_3 | 0x0156 | 1 | BYTES |
PLAYER_QUEST_LOG_25_4 | 0x0157 | 1 | INT |
PLAYER_VISIBLE_ITEM | 0x0158 | 228 | CUSTOM |
PLAYER_CHOSEN_TITLE | 0x0288 | 1 | INT |
PLAYER_FIELD_INV | 0x01e6 | 272 | CUSTOM |
PLAYER_FARSIGHT | 0x039a | 2 | GUID |
PLAYER_KNOWN_TITLES | 0x039c | 2 | GUID |
PLAYER_XP | 0x039e | 1 | INT |
PLAYER_NEXT_LEVEL_XP | 0x039f | 1 | INT |
PLAYER_SKILL_INFO | 0x03a0 | 384 | CUSTOM |
PLAYER_CHARACTER_POINTS1 | 0x0520 | 1 | INT |
PLAYER_CHARACTER_POINTS2 | 0x0521 | 1 | INT |
PLAYER_TRACK_CREATURES | 0x0522 | 1 | INT |
PLAYER_TRACK_RESOURCES | 0x0523 | 1 | INT |
PLAYER_BLOCK_PERCENTAGE | 0x0524 | 1 | FLOAT |
PLAYER_DODGE_PERCENTAGE | 0x0525 | 1 | FLOAT |
PLAYER_PARRY_PERCENTAGE | 0x0526 | 1 | FLOAT |
PLAYER_EXPERTISE | 0x0527 | 1 | INT |
PLAYER_OFFHAND_EXPERTISE | 0x0528 | 1 | INT |
PLAYER_CRIT_PERCENTAGE | 0x0529 | 1 | FLOAT |
PLAYER_RANGED_CRIT_PERCENTAGE | 0x052a | 1 | FLOAT |
PLAYER_OFFHAND_CRIT_PERCENTAGE | 0x052b | 1 | FLOAT |
PLAYER_SPELL_CRIT_PERCENTAGE1 | 0x052c | 7 | FLOAT |
PLAYER_SHIELD_BLOCK | 0x0533 | 1 | INT |
PLAYER_EXPLORED_ZONES_1 | 0x0534 | 128 | BYTES |
PLAYER_REST_STATE_EXPERIENCE | 0x05b4 | 1 | INT |
PLAYER_COINAGE | 0x05b5 | 1 | INT |
PLAYER_MOD_DAMAGE_DONE_POS | 0x05b6 | 7 | INT |
PLAYER_MOD_DAMAGE_DONE_NEG | 0x05bd | 7 | INT |
PLAYER_MOD_DAMAGE_DONE_PCT | 0x05c4 | 7 | INT |
PLAYER_MOD_HEALING_DONE_POS | 0x05cb | 1 | INT |
PLAYER_MOD_TARGET_RESISTANCE | 0x05cc | 1 | INT |
PLAYER_MOD_TARGET_PHYSICAL_RESISTANCE | 0x05cd | 1 | INT |
PLAYER_FEATURES | 0x05ce | 1 | BYTES |
PLAYER_AMMO_ID | 0x05cf | 1 | INT |
PLAYER_SELF_RES_SPELL | 0x05d0 | 1 | INT |
PLAYER_PVP_MEDALS | 0x05d1 | 1 | INT |
PLAYER_BUYBACK_PRICE_1 | 0x05d2 | 12 | INT |
PLAYER_BUYBACK_TIMESTAMP_1 | 0x05de | 12 | INT |
PLAYER_KILLS | 0x05ea | 1 | TWO_SHORT |
PLAYER_TODAY_CONTRIBUTION | 0x05eb | 1 | INT |
PLAYER_YESTERDAY_CONTRIBUTION | 0x05ec | 1 | INT |
PLAYER_LIFETIME_HONORABLE_KILLS | 0x05ed | 1 | INT |
PLAYER_BYTES2_GLOW | 0x05ee | 1 | BYTES |
PLAYER_WATCHED_FACTION_INDEX | 0x05ef | 1 | INT |
PLAYER_COMBAT_RATING_1 | 0x05f0 | 24 | INT |
PLAYER_ARENA_TEAM_INFO_1_1 | 0x0608 | 18 | INT |
PLAYER_HONOR_CURRENCY | 0x061a | 1 | INT |
PLAYER_ARENA_CURRENCY | 0x061b | 1 | INT |
PLAYER_MOD_MANA_REGEN | 0x061c | 1 | FLOAT |
PLAYER_MOD_MANA_REGEN_INTERRUPT | 0x061d | 1 | FLOAT |
PLAYER_MAX_LEVEL | 0x061e | 1 | INT |
PLAYER_DAILY_QUESTS_1 | 0x061f | 25 | INT |
Fields that all gameobjects have:
| Name | Offset | Size | Type |
|---|---|---|---|
GAMEOBJECT_DISPLAYID | 0x0008 | 1 | INT |
GAMEOBJECT_FLAGS | 0x0009 | 1 | INT |
GAMEOBJECT_ROTATION | 0x000a | 4 | FLOAT |
GAMEOBJECT_STATE | 0x000e | 1 | INT |
GAMEOBJECT_POS_X | 0x000f | 1 | FLOAT |
GAMEOBJECT_POS_Y | 0x0010 | 1 | FLOAT |
GAMEOBJECT_POS_Z | 0x0011 | 1 | FLOAT |
GAMEOBJECT_FACING | 0x0012 | 1 | FLOAT |
GAMEOBJECT_DYN_FLAGS | 0x0013 | 1 | INT |
GAMEOBJECT_FACTION | 0x0014 | 1 | INT |
GAMEOBJECT_TYPE_ID | 0x0015 | 1 | INT |
GAMEOBJECT_LEVEL | 0x0016 | 1 | INT |
GAMEOBJECT_ARTKIT | 0x0017 | 1 | INT |
GAMEOBJECT_ANIMPROGRESS | 0x0018 | 1 | INT |
Fields that all dynamicobjects have:
| Name | Offset | Size | Type |
|---|---|---|---|
DYNAMICOBJECT_CASTER | 0x0006 | 2 | GUID |
DYNAMICOBJECT_BYTES | 0x0008 | 1 | BYTES |
DYNAMICOBJECT_SPELLID | 0x0009 | 1 | INT |
DYNAMICOBJECT_RADIUS | 0x000a | 1 | FLOAT |
DYNAMICOBJECT_POS_X | 0x000b | 1 | FLOAT |
DYNAMICOBJECT_POS_Y | 0x000c | 1 | FLOAT |
DYNAMICOBJECT_POS_Z | 0x000d | 1 | FLOAT |
DYNAMICOBJECT_FACING | 0x000e | 1 | FLOAT |
DYNAMICOBJECT_CASTTIME | 0x000f | 1 | INT |
Fields that all corpses have:
| Name | Offset | Size | Type |
|---|---|---|---|
CORPSE_OWNER | 0x0006 | 2 | GUID |
CORPSE_PARTY | 0x0008 | 2 | GUID |
CORPSE_FACING | 0x000a | 1 | FLOAT |
CORPSE_POS_X | 0x000b | 1 | FLOAT |
CORPSE_POS_Y | 0x000c | 1 | FLOAT |
CORPSE_POS_Z | 0x000d | 1 | FLOAT |
CORPSE_DISPLAY_ID | 0x000e | 1 | INT |
CORPSE_ITEM | 0x000f | 19 | INT |
CORPSE_BYTES_1 | 0x0022 | 1 | BYTES |
CORPSE_BYTES_2 | 0x0023 | 1 | BYTES |
CORPSE_GUILD | 0x0024 | 1 | INT |
CORPSE_FLAGS | 0x0025 | 1 | INT |
CORPSE_DYNAMIC_FLAGS | 0x0026 | 1 | INT |
Version 3.3.5
Taken from ArcEmu with some modifications.
Fields that all objects have:
| Name | Offset | Size | Type |
|---|---|---|---|
OBJECT_GUID | 0x0000 | 2 | GUID |
OBJECT_TYPE | 0x0002 | 1 | INT |
OBJECT_ENTRY | 0x0003 | 1 | INT |
OBJECT_SCALE_X | 0x0004 | 1 | FLOAT |
OBJECT_CREATED_BY | 0x0006 | 2 | GUID |
Fields that all items have:
| Name | Offset | Size | Type |
|---|---|---|---|
ITEM_OWNER | 0x0006 | 2 | GUID |
ITEM_CONTAINED | 0x0008 | 2 | GUID |
ITEM_CREATOR | 0x000a | 2 | GUID |
ITEM_GIFTCREATOR | 0x000c | 2 | GUID |
ITEM_STACK_COUNT | 0x000e | 1 | INT |
ITEM_DURATION | 0x000f | 1 | INT |
ITEM_SPELL_CHARGES | 0x0010 | 5 | INT |
ITEM_FLAGS | 0x0015 | 1 | INT |
ITEM_ENCHANTMENT_1_1 | 0x0016 | 2 | INT |
ITEM_ENCHANTMENT_1_3 | 0x0018 | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_2_1 | 0x0019 | 2 | INT |
ITEM_ENCHANTMENT_2_3 | 0x001b | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_3_1 | 0x001c | 2 | INT |
ITEM_ENCHANTMENT_3_3 | 0x001e | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_4_1 | 0x001f | 2 | INT |
ITEM_ENCHANTMENT_4_3 | 0x0021 | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_5_1 | 0x0022 | 2 | INT |
ITEM_ENCHANTMENT_5_3 | 0x0024 | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_6_1 | 0x0025 | 2 | INT |
ITEM_ENCHANTMENT_6_3 | 0x0027 | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_7_1 | 0x0028 | 2 | INT |
ITEM_ENCHANTMENT_7_3 | 0x002a | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_8_1 | 0x002b | 2 | INT |
ITEM_ENCHANTMENT_8_3 | 0x002d | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_9_1 | 0x002e | 2 | INT |
ITEM_ENCHANTMENT_9_3 | 0x0030 | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_10_1 | 0x0031 | 2 | INT |
ITEM_ENCHANTMENT_10_3 | 0x0033 | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_11_1 | 0x0034 | 2 | INT |
ITEM_ENCHANTMENT_11_3 | 0x0036 | 1 | TWO_SHORT |
ITEM_ENCHANTMENT_12_1 | 0x0037 | 2 | INT |
ITEM_ENCHANTMENT_12_3 | 0x0039 | 1 | TWO_SHORT |
ITEM_PROPERTY_SEED | 0x003a | 1 | INT |
ITEM_RANDOM_PROPERTIES_ID | 0x003b | 1 | INT |
ITEM_DURABILITY | 0x003c | 1 | INT |
ITEM_MAXDURABILITY | 0x003d | 1 | INT |
ITEM_CREATE_PLAYED_TIME | 0x003e | 1 | INT |
Fields that all containers have:
| Name | Offset | Size | Type |
|---|---|---|---|
CONTAINER_NUM_SLOTS | 0x0040 | 1 | INT |
CONTAINER_SLOT_1 | 0x0042 | 72 | GUID |
Fields that all units have:
| Name | Offset | Size | Type |
|---|---|---|---|
UNIT_CHARM | 0x0006 | 2 | GUID |
UNIT_SUMMON | 0x0008 | 2 | GUID |
UNIT_CRITTER | 0x000a | 2 | GUID |
UNIT_CHARMEDBY | 0x000c | 2 | GUID |
UNIT_SUMMONEDBY | 0x000e | 2 | GUID |
UNIT_CREATEDBY | 0x0010 | 2 | GUID |
UNIT_TARGET | 0x0012 | 2 | GUID |
UNIT_CHANNEL_OBJECT | 0x0014 | 2 | GUID |
UNIT_CHANNEL_SPELL | 0x0016 | 1 | INT |
UNIT_BYTES_0 | 0x0017 | 1 | BYTES |
UNIT_HEALTH | 0x0018 | 1 | INT |
UNIT_POWER1 | 0x0019 | 1 | INT |
UNIT_POWER2 | 0x001a | 1 | INT |
UNIT_POWER3 | 0x001b | 1 | INT |
UNIT_POWER4 | 0x001c | 1 | INT |
UNIT_POWER5 | 0x001d | 1 | INT |
UNIT_POWER6 | 0x001e | 1 | INT |
UNIT_POWER7 | 0x001f | 1 | INT |
UNIT_MAXHEALTH | 0x0020 | 1 | INT |
UNIT_MAXPOWER1 | 0x0021 | 1 | INT |
UNIT_MAXPOWER2 | 0x0022 | 1 | INT |
UNIT_MAXPOWER3 | 0x0023 | 1 | INT |
UNIT_MAXPOWER4 | 0x0024 | 1 | INT |
UNIT_MAXPOWER5 | 0x0025 | 1 | INT |
UNIT_MAXPOWER6 | 0x0026 | 1 | INT |
UNIT_MAXPOWER7 | 0x0027 | 1 | INT |
UNIT_POWER_REGEN_FLAT_MODIFIER | 0x0028 | 7 | FLOAT |
UNIT_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER | 0x002f | 7 | FLOAT |
UNIT_LEVEL | 0x0036 | 1 | INT |
UNIT_FACTIONTEMPLATE | 0x0037 | 1 | INT |
UNIT_VIRTUAL_ITEM_SLOT_ID | 0x0038 | 3 | INT |
UNIT_FLAGS | 0x003b | 1 | INT |
UNIT_FLAGS_2 | 0x003c | 1 | INT |
UNIT_AURASTATE | 0x003d | 1 | INT |
UNIT_BASEATTACKTIME | 0x003e | 2 | INT |
UNIT_RANGEDATTACKTIME | 0x0040 | 1 | INT |
UNIT_BOUNDINGRADIUS | 0x0041 | 1 | FLOAT |
UNIT_COMBATREACH | 0x0042 | 1 | FLOAT |
UNIT_DISPLAYID | 0x0043 | 1 | INT |
UNIT_NATIVEDISPLAYID | 0x0044 | 1 | INT |
UNIT_MOUNTDISPLAYID | 0x0045 | 1 | INT |
UNIT_MINDAMAGE | 0x0046 | 1 | FLOAT |
UNIT_MAXDAMAGE | 0x0047 | 1 | FLOAT |
UNIT_MINOFFHANDDAMAGE | 0x0048 | 1 | FLOAT |
UNIT_MAXOFFHANDDAMAGE | 0x0049 | 1 | FLOAT |
UNIT_BYTES_1 | 0x004a | 1 | BYTES |
UNIT_PETNUMBER | 0x004b | 1 | INT |
UNIT_PET_NAME_TIMESTAMP | 0x004c | 1 | INT |
UNIT_PETEXPERIENCE | 0x004d | 1 | INT |
UNIT_PETNEXTLEVELEXP | 0x004e | 1 | INT |
UNIT_DYNAMIC_FLAGS | 0x004f | 1 | INT |
UNIT_MOD_CAST_SPEED | 0x0050 | 1 | FLOAT |
UNIT_CREATED_BY_SPELL | 0x0051 | 1 | INT |
UNIT_NPC_FLAGS | 0x0052 | 1 | INT |
UNIT_NPC_EMOTESTATE | 0x0053 | 1 | INT |
UNIT_STRENGTH | 0x0054 | 1 | INT |
UNIT_AGILITY | 0x0055 | 1 | INT |
UNIT_STAMINA | 0x0056 | 1 | INT |
UNIT_INTELLECT | 0x0057 | 1 | INT |
UNIT_SPIRIT | 0x0058 | 1 | INT |
UNIT_POSSTAT0 | 0x0059 | 1 | INT |
UNIT_POSSTAT1 | 0x005a | 1 | INT |
UNIT_POSSTAT2 | 0x005b | 1 | INT |
UNIT_POSSTAT3 | 0x005c | 1 | INT |
UNIT_POSSTAT4 | 0x005d | 1 | INT |
UNIT_NEGSTAT0 | 0x005e | 1 | INT |
UNIT_NEGSTAT1 | 0x005f | 1 | INT |
UNIT_NEGSTAT2 | 0x0060 | 1 | INT |
UNIT_NEGSTAT3 | 0x0061 | 1 | INT |
UNIT_NEGSTAT4 | 0x0062 | 1 | INT |
UNIT_RESISTANCES | 0x0063 | 7 | INT |
UNIT_RESISTANCEBUFFMODSPOSITIVE | 0x006a | 7 | INT |
UNIT_RESISTANCEBUFFMODSNEGATIVE | 0x0071 | 7 | INT |
UNIT_BASE_MANA | 0x0078 | 1 | INT |
UNIT_BASE_HEALTH | 0x0079 | 1 | INT |
UNIT_BYTES_2 | 0x007a | 1 | BYTES |
UNIT_ATTACK_POWER | 0x007b | 1 | INT |
UNIT_ATTACK_POWER_MODS | 0x007c | 1 | TWO_SHORT |
UNIT_ATTACK_POWER_MULTIPLIER | 0x007d | 1 | FLOAT |
UNIT_RANGED_ATTACK_POWER | 0x007e | 1 | INT |
UNIT_RANGED_ATTACK_POWER_MODS | 0x007f | 1 | TWO_SHORT |
UNIT_RANGED_ATTACK_POWER_MULTIPLIER | 0x0080 | 1 | FLOAT |
UNIT_MINRANGEDDAMAGE | 0x0081 | 1 | FLOAT |
UNIT_MAXRANGEDDAMAGE | 0x0082 | 1 | FLOAT |
UNIT_POWER_COST_MODIFIER | 0x0083 | 7 | INT |
UNIT_POWER_COST_MULTIPLIER | 0x008a | 7 | FLOAT |
UNIT_MAXHEALTHMODIFIER | 0x0091 | 1 | FLOAT |
UNIT_HOVERHEIGHT | 0x0092 | 1 | FLOAT |
Fields that all players have:
| Name | Offset | Size | Type |
|---|---|---|---|
PLAYER_DUEL_ARBITER | 0x0094 | 2 | GUID |
PLAYER_FLAGS | 0x0096 | 1 | INT |
PLAYER_GUILDID | 0x0097 | 1 | INT |
PLAYER_GUILDRANK | 0x0098 | 1 | INT |
PLAYER_FIELD_BYTES | 0x0099 | 1 | BYTES |
PLAYER_BYTES_2 | 0x009a | 1 | BYTES |
PLAYER_BYTES_3 | 0x009b | 1 | BYTES |
PLAYER_DUEL_TEAM | 0x009c | 1 | INT |
PLAYER_GUILD_TIMESTAMP | 0x009d | 1 | INT |
PLAYER_QUEST_LOG_1_1 | 0x009e | 1 | INT |
PLAYER_QUEST_LOG_1_2 | 0x009f | 1 | INT |
PLAYER_QUEST_LOG_1_3 | 0x00a0 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_1_4 | 0x00a2 | 1 | INT |
PLAYER_QUEST_LOG_2_1 | 0x00a3 | 1 | INT |
PLAYER_QUEST_LOG_2_2 | 0x00a4 | 1 | INT |
PLAYER_QUEST_LOG_2_3 | 0x00a5 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_2_5 | 0x00a7 | 1 | INT |
PLAYER_QUEST_LOG_3_1 | 0x00a8 | 1 | INT |
PLAYER_QUEST_LOG_3_2 | 0x00a9 | 1 | INT |
PLAYER_QUEST_LOG_3_3 | 0x00aa | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_3_5 | 0x00ac | 1 | INT |
PLAYER_QUEST_LOG_4_1 | 0x00ad | 1 | INT |
PLAYER_QUEST_LOG_4_2 | 0x00ae | 1 | INT |
PLAYER_QUEST_LOG_4_3 | 0x00af | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_4_5 | 0x00b1 | 1 | INT |
PLAYER_QUEST_LOG_5_1 | 0x00b2 | 1 | INT |
PLAYER_QUEST_LOG_5_2 | 0x00b3 | 1 | INT |
PLAYER_QUEST_LOG_5_3 | 0x00b4 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_5_5 | 0x00b6 | 1 | INT |
PLAYER_QUEST_LOG_6_1 | 0x00b7 | 1 | INT |
PLAYER_QUEST_LOG_6_2 | 0x00b8 | 1 | INT |
PLAYER_QUEST_LOG_6_3 | 0x00b9 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_6_5 | 0x00bb | 1 | INT |
PLAYER_QUEST_LOG_7_1 | 0x00bc | 1 | INT |
PLAYER_QUEST_LOG_7_2 | 0x00bd | 1 | INT |
PLAYER_QUEST_LOG_7_3 | 0x00be | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_7_5 | 0x00c0 | 1 | INT |
PLAYER_QUEST_LOG_8_1 | 0x00c1 | 1 | INT |
PLAYER_QUEST_LOG_8_2 | 0x00c2 | 1 | INT |
PLAYER_QUEST_LOG_8_3 | 0x00c3 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_8_5 | 0x00c5 | 1 | INT |
PLAYER_QUEST_LOG_9_1 | 0x00c6 | 1 | INT |
PLAYER_QUEST_LOG_9_2 | 0x00c7 | 1 | INT |
PLAYER_QUEST_LOG_9_3 | 0x00c8 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_9_5 | 0x00ca | 1 | INT |
PLAYER_QUEST_LOG_10_1 | 0x00cb | 1 | INT |
PLAYER_QUEST_LOG_10_2 | 0x00cc | 1 | INT |
PLAYER_QUEST_LOG_10_3 | 0x00cd | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_10_5 | 0x00cf | 1 | INT |
PLAYER_QUEST_LOG_11_1 | 0x00d0 | 1 | INT |
PLAYER_QUEST_LOG_11_2 | 0x00d1 | 1 | INT |
PLAYER_QUEST_LOG_11_3 | 0x00d2 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_11_5 | 0x00d4 | 1 | INT |
PLAYER_QUEST_LOG_12_1 | 0x00d5 | 1 | INT |
PLAYER_QUEST_LOG_12_2 | 0x00d6 | 1 | INT |
PLAYER_QUEST_LOG_12_3 | 0x00d7 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_12_5 | 0x00d9 | 1 | INT |
PLAYER_QUEST_LOG_13_1 | 0x00da | 1 | INT |
PLAYER_QUEST_LOG_13_2 | 0x00db | 1 | INT |
PLAYER_QUEST_LOG_13_3 | 0x00dc | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_13_5 | 0x00de | 1 | INT |
PLAYER_QUEST_LOG_14_1 | 0x00df | 1 | INT |
PLAYER_QUEST_LOG_14_2 | 0x00e0 | 1 | INT |
PLAYER_QUEST_LOG_14_3 | 0x00e1 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_14_5 | 0x00e3 | 1 | INT |
PLAYER_QUEST_LOG_15_1 | 0x00e4 | 1 | INT |
PLAYER_QUEST_LOG_15_2 | 0x00e5 | 1 | INT |
PLAYER_QUEST_LOG_15_3 | 0x00e6 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_15_5 | 0x00e8 | 1 | INT |
PLAYER_QUEST_LOG_16_1 | 0x00e9 | 1 | INT |
PLAYER_QUEST_LOG_16_2 | 0x00ea | 1 | INT |
PLAYER_QUEST_LOG_16_3 | 0x00eb | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_16_5 | 0x00ed | 1 | INT |
PLAYER_QUEST_LOG_17_1 | 0x00ee | 1 | INT |
PLAYER_QUEST_LOG_17_2 | 0x00ef | 1 | INT |
PLAYER_QUEST_LOG_17_3 | 0x00f0 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_17_5 | 0x00f2 | 1 | INT |
PLAYER_QUEST_LOG_18_1 | 0x00f3 | 1 | INT |
PLAYER_QUEST_LOG_18_2 | 0x00f4 | 1 | INT |
PLAYER_QUEST_LOG_18_3 | 0x00f5 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_18_5 | 0x00f7 | 1 | INT |
PLAYER_QUEST_LOG_19_1 | 0x00f8 | 1 | INT |
PLAYER_QUEST_LOG_19_2 | 0x00f9 | 1 | INT |
PLAYER_QUEST_LOG_19_3 | 0x00fa | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_19_5 | 0x00fc | 1 | INT |
PLAYER_QUEST_LOG_20_1 | 0x00fd | 1 | INT |
PLAYER_QUEST_LOG_20_2 | 0x00fe | 1 | INT |
PLAYER_QUEST_LOG_20_3 | 0x00ff | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_20_5 | 0x0101 | 1 | INT |
PLAYER_QUEST_LOG_21_1 | 0x0102 | 1 | INT |
PLAYER_QUEST_LOG_21_2 | 0x0103 | 1 | INT |
PLAYER_QUEST_LOG_21_3 | 0x0104 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_21_5 | 0x0106 | 1 | INT |
PLAYER_QUEST_LOG_22_1 | 0x0107 | 1 | INT |
PLAYER_QUEST_LOG_22_2 | 0x0108 | 1 | INT |
PLAYER_QUEST_LOG_22_3 | 0x0109 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_22_5 | 0x010b | 1 | INT |
PLAYER_QUEST_LOG_23_1 | 0x010c | 1 | INT |
PLAYER_QUEST_LOG_23_2 | 0x010d | 1 | INT |
PLAYER_QUEST_LOG_23_3 | 0x010e | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_23_5 | 0x0110 | 1 | INT |
PLAYER_QUEST_LOG_24_1 | 0x0111 | 1 | INT |
PLAYER_QUEST_LOG_24_2 | 0x0112 | 1 | INT |
PLAYER_QUEST_LOG_24_3 | 0x0113 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_24_5 | 0x0115 | 1 | INT |
PLAYER_QUEST_LOG_25_1 | 0x0116 | 1 | INT |
PLAYER_QUEST_LOG_25_2 | 0x0117 | 1 | INT |
PLAYER_QUEST_LOG_25_3 | 0x0118 | 2 | TWO_SHORT |
PLAYER_QUEST_LOG_25_5 | 0x011a | 1 | INT |
PLAYER_VISIBLE_ITEM | 0x011b | 38 | CUSTOM |
PLAYER_CHOSEN_TITLE | 0x0141 | 1 | INT |
PLAYER_FAKE_INEBRIATION | 0x0142 | 1 | INT |
PLAYER_FIELD_INV | 0x0144 | 300 | CUSTOM |
PLAYER_FARSIGHT | 0x0270 | 2 | GUID |
PLAYER_KNOWN_TITLES | 0x0272 | 2 | GUID |
PLAYER_KNOWN_TITLES1 | 0x0274 | 2 | GUID |
PLAYER_KNOWN_TITLES2 | 0x0276 | 2 | GUID |
PLAYER_KNOWN_CURRENCIES | 0x0278 | 2 | GUID |
PLAYER_XP | 0x027a | 1 | INT |
PLAYER_NEXT_LEVEL_XP | 0x027b | 1 | INT |
PLAYER_SKILL_INFO | 0x027c | 384 | CUSTOM |
PLAYER_CHARACTER_POINTS1 | 0x03fc | 1 | INT |
PLAYER_CHARACTER_POINTS2 | 0x03fd | 1 | INT |
PLAYER_TRACK_CREATURES | 0x03fe | 1 | INT |
PLAYER_TRACK_RESOURCES | 0x03ff | 1 | INT |
PLAYER_BLOCK_PERCENTAGE | 0x0400 | 1 | FLOAT |
PLAYER_DODGE_PERCENTAGE | 0x0401 | 1 | FLOAT |
PLAYER_PARRY_PERCENTAGE | 0x0402 | 1 | FLOAT |
PLAYER_EXPERTISE | 0x0403 | 1 | INT |
PLAYER_OFFHAND_EXPERTISE | 0x0404 | 1 | INT |
PLAYER_CRIT_PERCENTAGE | 0x0405 | 1 | FLOAT |
PLAYER_RANGED_CRIT_PERCENTAGE | 0x0406 | 1 | FLOAT |
PLAYER_OFFHAND_CRIT_PERCENTAGE | 0x0407 | 1 | FLOAT |
PLAYER_SPELL_CRIT_PERCENTAGE1 | 0x0408 | 7 | FLOAT |
PLAYER_SHIELD_BLOCK | 0x040f | 1 | INT |
PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE | 0x0410 | 1 | FLOAT |
PLAYER_EXPLORED_ZONES_1 | 0x0411 | 128 | BYTES |
PLAYER_REST_STATE_EXPERIENCE | 0x0491 | 1 | INT |
PLAYER_COINAGE | 0x0492 | 1 | INT |
PLAYER_MOD_DAMAGE_DONE_POS | 0x0493 | 7 | INT |
PLAYER_MOD_DAMAGE_DONE_NEG | 0x049a | 7 | INT |
PLAYER_MOD_DAMAGE_DONE_PCT | 0x04a1 | 7 | INT |
PLAYER_MOD_HEALING_DONE_POS | 0x04a8 | 1 | INT |
PLAYER_MOD_HEALING_PCT | 0x04a9 | 1 | FLOAT |
PLAYER_MOD_HEALING_DONE_PCT | 0x04aa | 1 | FLOAT |
PLAYER_MOD_TARGET_RESISTANCE | 0x04ab | 1 | INT |
PLAYER_MOD_TARGET_PHYSICAL_RESISTANCE | 0x04ac | 1 | INT |
PLAYER_FEATURES | 0x04ad | 1 | BYTES |
PLAYER_AMMO_ID | 0x04ae | 1 | INT |
PLAYER_SELF_RES_SPELL | 0x04af | 1 | INT |
PLAYER_PVP_MEDALS | 0x04b0 | 1 | INT |
PLAYER_BUYBACK_PRICE_1 | 0x04b1 | 12 | INT |
PLAYER_BUYBACK_TIMESTAMP_1 | 0x04bd | 12 | INT |
PLAYER_KILLS | 0x04c9 | 1 | TWO_SHORT |
PLAYER_TODAY_CONTRIBUTION | 0x04ca | 1 | INT |
PLAYER_YESTERDAY_CONTRIBUTION | 0x04cb | 1 | INT |
PLAYER_LIFETIME_HONORBALE_KILLS | 0x04cc | 1 | INT |
PLAYER_BYTES2_GLOW | 0x04cd | 1 | BYTES |
PLAYER_WATCHED_FACTION_INDEX | 0x04ce | 1 | INT |
PLAYER_COMBAT_RATING_1 | 0x04cf | 25 | INT |
PLAYER_ARENA_TEAM_INFO_1_1 | 0x04e8 | 21 | INT |
PLAYER_HONOR_CURRENCY | 0x04fd | 1 | INT |
PLAYER_ARENA_CURRENCY | 0x04fe | 1 | INT |
PLAYER_MAX_LEVEL | 0x04ff | 1 | INT |
PLAYER_DAILY_QUESTS_1 | 0x0500 | 25 | INT |
PLAYER_RUNE_REGEN_1 | 0x0519 | 4 | FLOAT |
PLAYER_NO_REAGENT_COST_1 | 0x051d | 3 | INT |
PLAYER_GLYPH_SLOTS_1 | 0x0520 | 6 | INT |
PLAYER_GLYPHS_1 | 0x0526 | 6 | INT |
PLAYER_GLYPHS_ENABLED | 0x052c | 1 | INT |
PLAYER_PET_SPELL_POWER | 0x052d | 1 | INT |
Fields that all gameobjects have:
| Name | Offset | Size | Type |
|---|---|---|---|
GAMEOBJECT_DISPLAYID | 0x0008 | 1 | INT |
GAMEOBJECT_FLAGS | 0x0009 | 1 | INT |
GAMEOBJECT_PARENTROTATION | 0x000a | 4 | FLOAT |
GAMEOBJECT_DYNAMIC | 0x000e | 1 | TWO_SHORT |
GAMEOBJECT_FACTION | 0x000f | 1 | INT |
GAMEOBJECT_LEVEL | 0x0010 | 1 | INT |
GAMEOBJECT_BYTES_1 | 0x0011 | 1 | BYTES |
Fields that all dynamicobjects have:
| Name | Offset | Size | Type |
|---|---|---|---|
DYNAMICOBJECT_CASTER | 0x0006 | 2 | GUID |
DYNAMICOBJECT_BYTES | 0x0008 | 1 | BYTES |
DYNAMICOBJECT_SPELLID | 0x0009 | 1 | INT |
DYNAMICOBJECT_RADIUS | 0x000a | 1 | FLOAT |
DYNAMICOBJECT_CASTTIME | 0x000b | 1 | INT |
Fields that all corpses have:
| Name | Offset | Size | Type |
|---|---|---|---|
CORPSE_OWNER | 0x0006 | 2 | GUID |
CORPSE_PARTY | 0x0008 | 2 | GUID |
CORPSE_DISPLAY_ID | 0x000a | 1 | INT |
CORPSE_ITEM | 0x000b | 19 | INT |
CORPSE_BYTES_1 | 0x001e | 1 | BYTES |
CORPSE_BYTES_2 | 0x001f | 1 | BYTES |
CORPSE_GUILD | 0x0020 | 1 | INT |
CORPSE_FLAGS | 0x0021 | 1 | INT |
CORPSE_DYNAMIC_FLAGS | 0x0022 | 1 | INT |
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:
| Type | Purpose | C Name |
|---|---|---|
u8 | Unsigned 8 bit integer. Min value 0, max value 256. | unsigned char |
u16 | Unsigned 16 bit integer. Min value 0, max value 65536. | unsigned short |
u32 | Unsigned 32 bit integer. Min value 0, max value 4294967296. | unsigned int |
u64 | Unsigned 64 bit integer. Min value 0, max value 18446744073709551616. | unsigned long long |
i32 | Unsigned 32 bit integer. Min value -2147483648, max value 4294967296. | signed int |
Bool | Unsigned 1 bit integer. 0 means false and all other values mean true. | unsigned char |
CString | UTF-8 string type that is terminated by a zero byte value. | char* |
String | UTF-8 string type of exactly length len. | unsigned char + char* |
Population | f32 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 |
IpAddress | Alias 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:
| Type | Purpose | C Name |
|---|---|---|
u8 | Unsigned 8 bit integer. Min value 0, max value 256. | unsigned char |
u16 | Unsigned 16 bit integer. Min value 0, max value 65536. | unsigned short |
u32 | Unsigned 32 bit integer. Min value 0, max value 4294967296. | unsigned int |
u64 | Unsigned 64 bit integer. Min value 0, max value 18446744073709551616. | unsigned long long |
i32 | Unsigned 32 bit integer. Min value -2147483648, max value 4294967296. | signed int |
Bool | Unsigned 1 bit integer. 0 means false and all other values mean true. | unsigned char |
Bool32 | Unsigned 4 bit integer. 0 means false and all other values mean true. | unsigned int |
PackedGuid | Guid sent in the “packed” format. See PackedGuid. | - |
Guid | Unsigned 8 bit integer. Can be replaced with a u64. | unsigned long long |
NamedGuid | A Guid (u64) followed by a CString if the value of the Guid is not 0. | - |
DateTime | u32 in a special format. See DateTime. | unsigned int |
f32 | Floating point value of 4 bytes. | f32 |
CString | UTF-8 string type that is terminated by a zero byte value. | char* |
SizedCString | A 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* |
UpdateMask | Update values sent in a relatively complex format. See UpdateMask. | - |
MonsterMoveSplines | Array of positions. See MonsterMoveSpline. | - |
AuraMask | Aura values sent using a mask. See Masks. | - |
AchievementDoneArray | Array that terminates on a sentinel value. See AchievementDoneArray | - |
AchievementInProgressArray | Array that terminates on a sentinel value. See AchievementInProgressArray | - |
EnchantMask | Enchant values sent using a mask. See EnchantMasks. | - |
InspectTalentGearMask | InspectTalentGear values sent using a mask. See Masks. | - |
Gold | Alias for u32. | unsigned int |
Level | Alias for u8. | unsigned char |
Level16 | Alias for u16. | unsigned short |
Level32 | Alias for u32. | unsigned int |
VariableItemRandomProperty | A u32 followed by another u32 if the first value is not equal to 0. | - |
AddonArray | Array of Addons for TBC and Wrath that rely on externally knowing the amount of array members. See AddonArray. | - |
Seconds | Alias for u32. | unsigned int |
Milliseconds | Alias for u32. | unsigned int |
Spell | Alias for u32 that represents a spell. | unsigned int |
Spell16 | Alias for u16 that represents a spell. | unsigned short |
Item | Alias for u32 that represents an item entry. | unsigned int |
CacheMask | Client 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
| Enumerator | Value | Comment |
|---|---|---|
SNOW | 1 (0x01) | |
UNK | 2 (0x02) | |
DEVELOPMENT | 4 (0x04) | |
UNK2 | 8 (0x08) | |
UNK3 | 16 (0x10) | |
CITY_SLAVE | 32 (0x20) | |
CITY_ALLOW_DUELS | 64 (0x40) | |
UNK4 | 128 (0x80) | |
CITY | 256 (0x100) | |
TEST | 512 (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
| Enumerator | Value | Comment |
|---|---|---|
CAPTAIN | 0 (0x00) | |
MEMBER | 1 (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
| Enumerator | Value | Comment |
|---|---|---|
MAIN_HAND | 0 (0x00) | |
OFF_HAND | 1 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
DISMISS_PET_FIRST | 1 (0x01) | |
USE_ALL_MANA | 2 (0x02) | |
IS_CHANNELED | 4 (0x04) | |
NO_REDIRECTION | 8 (0x08) | |
NO_SKILL_INCREASE | 16 (0x10) | |
ALLOW_WHILE_STEALTHED | 32 (0x20) | |
IS_SELF_CHANNELED | 64 (0x40) | |
NO_REFLECTION | 128 (0x80) | |
ONLY_PEACEFUL_TARGETS | 256 (0x100) | |
INITIATES_COMBAT_ENABLES_AUTO_ATTACK | 512 (0x200) | |
NO_THREAT | 1024 (0x400) | |
AURA_UNIQUE | 2048 (0x800) | |
FAILURE_BREAKS_STEALTH | 4096 (0x1000) | |
TOGGLE_FARSIGHT | 8192 (0x2000) | |
TRACK_TARGET_IN_CHANNEL | 16384 (0x4000) | |
IMMUNITY_PURGES_EFFECT | 32768 (0x8000) | |
IMMUNITY_TO_HOSTILE_AND_FRIENDLY_EFFECTS | 65536 (0x10000) | |
NO_AUTOCAST_AI | 131072 (0x20000) | |
PREVENTS_ANIM | 262144 (0x40000) | |
EXCLUDE_CASTER | 524288 (0x80000) | |
FINISHING_MOVE_DAMAGE | 1048576 (0x100000) | |
THREAT_ONLY_ON_MISS | 2097152 (0x200000) | |
FINISHING_MOVE_DURATION | 4194304 (0x400000) | |
UNK23 | 8388608 (0x800000) | |
SPECIAL_SKILLUP | 16777216 (0x1000000) | |
AURA_STAYS_AFTER_COMBAT | 33554432 (0x2000000) | |
REQUIRE_ALL_TARGETS | 67108864 (0x4000000) | |
DISCOUNT_POWER_ON_MISS | 134217728 (0x8000000) | |
NO_AURA_ICON | 268435456 (0x10000000) | |
NAME_IN_CHANNEL_BAR | 536870912 (0x20000000) | |
COMBO_ON_BLOCK | 1073741824 (0x40000000) | |
CAST_WHEN_LEARNED | 2147483648 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
ALLOW_DEAD_TARGET | 1 (0x01) | |
NO_SHAPESHIFT_UI | 2 (0x02) | |
IGNORE_LINE_OF_SIGHT | 4 (0x04) | |
ALLOW_LOW_LEVEL_BUFF | 8 (0x08) | |
USE_SHAPESHIFT_BAR | 16 (0x10) | |
AUTO_REPEAT | 32 (0x20) | |
CANNOT_CAST_ON_TAPPED | 64 (0x40) | |
DO_NOT_REPORT_SPELL_FAILURE | 128 (0x80) | |
INCLUDE_IN_ADVANCED_COMBAT_LOG | 256 (0x100) | |
ALWAYS_CAST_AS_UNIT | 512 (0x200) | |
SPECIAL_TAMING_FLAG | 1024 (0x400) | |
NO_TARGET_PER_SECOND_COSTS | 2048 (0x800) | |
CHAIN_FROM_CASTER | 4096 (0x1000) | |
ENCHANT_OWN_ITEM_ONLY | 8192 (0x2000) | |
ALLOW_WHILE_INVISIBLE | 16384 (0x4000) | |
UNK15 | 32768 (0x8000) | |
NO_ACTIVE_PETS | 65536 (0x10000) | |
DO_NOT_RESET_COMBAT_TIMERS | 131072 (0x20000) | |
REQ_DEAD_PET | 262144 (0x40000) | |
ALLOW_WHILE_NOT_SHAPESHIFTED | 524288 (0x80000) | |
INITIATE_COMBAT_POST_CAST | 1048576 (0x100000) | |
FAIL_ON_ALL_TARGETS_IMMUNE | 2097152 (0x200000) | |
NO_INITIAL_THREAT | 4194304 (0x400000) | |
PROC_COOLDOWN_ON_FAILURE | 8388608 (0x800000) | |
ITEM_CAST_WITH_OWNER_SKILL | 16777216 (0x1000000) | |
DONT_BLOCK_MANA_REGEN | 33554432 (0x2000000) | |
NO_SCHOOL_IMMUNITIES | 67108864 (0x4000000) | |
IGNORE_WEAPONSKILL | 134217728 (0x8000000) | |
NOT_AN_ACTION | 268435456 (0x10000000) | |
CANT_CRIT | 536870912 (0x20000000) | |
ACTIVE_THREAT | 1073741824 (0x40000000) | |
RETAIN_ITEM_CAST | 2147483648 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
PVP_ENABLING | 1 (0x01) | |
NO_PROC_EQUIP_REQUIREMENT | 2 (0x02) | |
NO_CASTING_BAR_TEXT | 4 (0x04) | |
COMPLETELY_BLOCKED | 8 (0x08) | |
NO_RES_TIMER | 16 (0x10) | |
NO_DURABILITY_LOSS | 32 (0x20) | |
NO_AVOIDANCE | 64 (0x40) | |
DOT_STACKING_RULE | 128 (0x80) | |
ONLY_ON_PLAYER | 256 (0x100) | |
NOT_A_PROC | 512 (0x200) | |
REQUIRES_MAIN_HAND_WEAPON | 1024 (0x400) | |
ONLY_BATTLEGROUNDS | 2048 (0x800) | |
ONLY_ON_GHOSTS | 4096 (0x1000) | |
HIDE_CHANNEL_BAR | 8192 (0x2000) | |
HIDE_IN_RAID_FILTER | 16384 (0x4000) | |
NORMAL_RANGED_ATTACK | 32768 (0x8000) | |
SUPPRESS_CASTER_PROCS | 65536 (0x10000) | |
SUPPRESS_TARGET_PROCS | 131072 (0x20000) | |
ALWAYS_HIT | 262144 (0x40000) | |
INSTANT_TARGET_PROCS | 524288 (0x80000) | |
ALLOW_AURA_WHILE_DEAD | 1048576 (0x100000) | |
ONLY_PROC_OUTDOORS | 2097152 (0x200000) | |
CASTING_CANCELS_AUTOREPEAT | 4194304 (0x400000) | |
NO_DAMAGE_HISTORY | 8388608 (0x800000) | |
REQUIRES_OFFHAND_WEAPON | 16777216 (0x1000000) | |
TREAT_AS_PERIODIC | 33554432 (0x2000000) | |
CAN_PROC_FROM_PROCS | 67108864 (0x4000000) | |
ONLY_PROC_ON_CASTER | 134217728 (0x8000000) | |
IGNORE_CASTER_AND_TARGET_RESTRICTIONS | 268435456 (0x10000000) | |
IGNORE_CASTER_MODIFIERS | 536870912 (0x20000000) | |
DO_NOT_DISPLAY_RANGE | 1073741824 (0x40000000) | |
NOT_ON_AOE_IMMUNE | 2147483648 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
NO_CAST_LOG | 1 (0x01) | |
CLASS_TRIGGER_ONLY_ON_TARGET | 2 (0x02) | |
AURA_EXPIRES_OFFLINE | 4 (0x04) | |
NO_HELPFUL_THREAT | 8 (0x08) | |
NO_HARMFUL_THREAT | 16 (0x10) | |
ALLOW_CLIENT_TARGETING | 32 (0x20) | |
CANNOT_BE_STOLEN | 64 (0x40) | |
ALLOW_CAST_WHILE_CASTING | 128 (0x80) | |
IGNORE_DAMAGE_TAKEN_MODIFIERS | 256 (0x100) | |
COMBAT_FEEDBACK_WHEN_USABLE | 512 (0x200) | |
WEAPON_SPEED_COST_SCALING | 1024 (0x400) | |
NO_PARTIAL_IMMUNITY | 2048 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
PROC_FAILURE_BURNS_CHARGE | 1 (0x01) | |
USES_RANGED_SLOT | 2 (0x02) | |
ON_NEXT_SWING_NO_DAMAGE | 4 (0x04) | |
NEED_EXOTIC_AMMO | 8 (0x08) | |
IS_ABILITY | 16 (0x10) | |
IS_TRADESKILL | 32 (0x20) | |
PASSIVE | 64 (0x40) | |
DO_NOT_DISPLAY | 128 (0x80) | |
DO_NOT_LOG | 256 (0x100) | |
HELD_ITEM_ONLY | 512 (0x200) | |
ON_NEXT_SWING | 1024 (0x400) | |
WEARER_CASTS_PROC_TRIGGER | 2048 (0x800) | |
DAYTIME_ONLY | 4096 (0x1000) | |
NIGHT_ONLY | 8192 (0x2000) | |
ONLY_INDOORS | 16384 (0x4000) | |
ONLY_OUTDOORS | 32768 (0x8000) | |
NOT_SHAPESHIFT | 65536 (0x10000) | |
ONLY_STEALTHED | 131072 (0x20000) | |
DO_NOT_SHEATH | 262144 (0x40000) | |
SCALES_WITH_CREATURE_LEVEL | 524288 (0x80000) | |
CANCELS_AUTO_ATTACK_COMBAT | 1048576 (0x100000) | |
NO_ACTIVE_DEFENSE | 2097152 (0x200000) | |
TRACK_TARGET_IN_CAST_PLAYER_ONLY | 4194304 (0x400000) | |
ALLOW_CAST_WHILE_DEAD | 8388608 (0x800000) | |
ALLOW_WHILE_MOUNTED | 16777216 (0x1000000) | |
COOLDOWN_ON_EVENT | 33554432 (0x2000000) | |
AURA_IS_DEBUFF | 67108864 (0x4000000) | |
ALLOW_WHILE_SITTING | 134217728 (0x8000000) | |
NOT_IN_COMBAT_ONLY_PEACEFUL | 268435456 (0x10000000) | |
NO_IMMUNITIES | 536870912 (0x20000000) | |
HEARTBEAT_RESIST | 1073741824 (0x40000000) | |
NO_AURA_CANCEL | 2147483648 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
BIND_SIGHT | 1 (0x01) | |
MOD_POSSESS | 2 (0x02) | |
PERIODIC_DAMAGE | 3 (0x03) | |
DUMMY | 4 (0x04) | |
MOD_CONFUSE | 5 (0x05) | |
MOD_CHARM | 6 (0x06) | |
MOD_FEAR | 7 (0x07) | |
PERIODIC_HEAL | 8 (0x08) | |
MOD_ATTACKSPEED | 9 (0x09) | |
MOD_THREAT | 10 (0x0A) | |
MOD_TAUNT | 11 (0x0B) | |
MOD_STUN | 12 (0x0C) | |
MOD_DAMAGE_DONE | 13 (0x0D) | |
MOD_DAMAGE_TAKEN | 14 (0x0E) | |
DAMAGE_SHIELD | 15 (0x0F) | |
MOD_STEALTH | 16 (0x10) | |
MOD_STEALTH_DETECT | 17 (0x11) | |
MOD_INVISIBILITY | 18 (0x12) | |
MOD_INVISIBILITY_DETECTION | 19 (0x13) | |
OBS_MOD_HEALTH | 20 (0x14) | |
OBS_MOD_MANA | 21 (0x15) | |
MOD_RESISTANCE | 22 (0x16) | |
PERIODIC_TRIGGER_SPELL | 23 (0x17) | |
PERIODIC_ENERGIZE | 24 (0x18) | |
MOD_PACIFY | 25 (0x19) | |
MOD_ROOT | 26 (0x1A) | |
MOD_SILENCE | 27 (0x1B) | |
REFLECT_SPELLS | 28 (0x1C) | |
MOD_STAT | 29 (0x1D) | |
MOD_SKILL | 30 (0x1E) | |
MOD_INCREASE_SPEED | 31 (0x1F) | |
MOD_INCREASE_MOUNTED_SPEED | 32 (0x20) | |
MOD_DECREASE_SPEED | 33 (0x21) | |
MOD_INCREASE_HEALTH | 34 (0x22) | |
MOD_INCREASE_ENERGY | 35 (0x23) | |
MOD_SHAPESHIFT | 36 (0x24) | |
EFFECT_IMMUNITY | 37 (0x25) | |
STATE_IMMUNITY | 38 (0x26) | |
SCHOOL_IMMUNITY | 39 (0x27) | |
DAMAGE_IMMUNITY | 40 (0x28) | |
DISPEL_IMMUNITY | 41 (0x29) | |
PROC_TRIGGER_SPELL | 42 (0x2A) | |
PROC_TRIGGER_DAMAGE | 43 (0x2B) | |
TRACK_CREATURES | 44 (0x2C) | |
TRACK_RESOURCES | 45 (0x2D) | |
MOD_PARRY_SKILL | 46 (0x2E) | |
MOD_PARRY_PERCENT | 47 (0x2F) | |
MOD_DODGE_SKILL | 48 (0x30) | |
MOD_DODGE_PERCENT | 49 (0x31) | |
MOD_BLOCK_SKILL | 50 (0x32) | |
MOD_BLOCK_PERCENT | 51 (0x33) | |
MOD_CRIT_PERCENT | 52 (0x34) | |
PERIODIC_LEECH | 53 (0x35) | |
MOD_HIT_CHANCE | 54 (0x36) | |
MOD_SPELL_HIT_CHANCE | 55 (0x37) | |
TRANSFORM | 56 (0x38) | |
MOD_SPELL_CRIT_CHANCE | 57 (0x39) | |
MOD_INCREASE_SWIM_SPEED | 58 (0x3A) | |
MOD_DAMAGE_DONE_CREATURE | 59 (0x3B) | |
MOD_PACIFY_SILENCE | 60 (0x3C) | |
MOD_SCALE | 61 (0x3D) | |
PERIODIC_HEALTH_FUNNEL | 62 (0x3E) | |
PERIODIC_MANA_FUNNEL | 63 (0x3F) | |
PERIODIC_MANA_LEECH | 64 (0x40) | |
MOD_CASTING_SPEED_NOT_STACK | 65 (0x41) | |
FEIGN_DEATH | 66 (0x42) | |
MOD_DISARM | 67 (0x43) | |
MOD_STALKED | 68 (0x44) | |
SCHOOL_ABSORB | 69 (0x45) | |
EXTRA_ATTACKS | 70 (0x46) | |
MOD_SPELL_CRIT_CHANCE_SCHOOL | 71 (0x47) | |
MOD_POWER_COST_SCHOOL_PCT | 72 (0x48) | |
MOD_POWER_COST_SCHOOL | 73 (0x49) | |
REFLECT_SPELLS_SCHOOL | 74 (0x4A) | |
MOD_LANGUAGE | 75 (0x4B) | |
FAR_SIGHT | 76 (0x4C) | |
MECHANIC_IMMUNITY | 77 (0x4D) | |
MOUNTED | 78 (0x4E) | |
MOD_DAMAGE_PERCENT_DONE | 79 (0x4F) | |
MOD_PERCENT_STAT | 80 (0x50) | |
SPLIT_DAMAGE_PCT | 81 (0x51) | |
WATER_BREATHING | 82 (0x52) | |
MOD_BASE_RESISTANCE | 83 (0x53) | |
MOD_REGEN | 84 (0x54) | |
MOD_POWER_REGEN | 85 (0x55) | |
CHANNEL_DEATH_ITEM | 86 (0x56) | |
MOD_DAMAGE_PERCENT_TAKEN | 87 (0x57) | |
MOD_HEALTH_REGEN_PERCENT | 88 (0x58) | |
PERIODIC_DAMAGE_PERCENT | 89 (0x59) | |
MOD_RESIST_CHANCE | 90 (0x5A) | |
MOD_DETECT_RANGE | 91 (0x5B) | |
PREVENTS_FLEEING | 92 (0x5C) | |
MOD_UNATTACKABLE | 93 (0x5D) | |
INTERRUPT_REGEN | 94 (0x5E) | |
GHOST | 95 (0x5F) | |
SPELL_MAGNET | 96 (0x60) | |
MANA_SHIELD | 97 (0x61) | |
MOD_SKILL_TALENT | 98 (0x62) | |
MOD_ATTACK_POWER | 99 (0x63) | |
AURAS_VISIBLE | 100 (0x64) | |
MOD_RESISTANCE_PCT | 101 (0x65) | |
MOD_MELEE_ATTACK_POWER_VERSUS | 102 (0x66) | |
MOD_TOTAL_THREAT | 103 (0x67) | |
WATER_WALK | 104 (0x68) | |
FEATHER_FALL | 105 (0x69) | |
HOVER | 106 (0x6A) | |
ADD_FLAT_MODIFIER | 107 (0x6B) | |
ADD_PCT_MODIFIER | 108 (0x6C) | |
ADD_TARGET_TRIGGER | 109 (0x6D) | |
MOD_POWER_REGEN_PERCENT | 110 (0x6E) | |
ADD_CASTER_HIT_TRIGGER | 111 (0x6F) | |
OVERRIDE_CLASS_SCRIPTS | 112 (0x70) | |
MOD_RANGED_DAMAGE_TAKEN | 113 (0x71) | |
MOD_RANGED_DAMAGE_TAKEN_PCT | 114 (0x72) | |
MOD_HEALING | 115 (0x73) | |
MOD_REGEN_DURING_COMBAT | 116 (0x74) | |
MOD_MECHANIC_RESISTANCE | 117 (0x75) | |
MOD_HEALING_PCT | 118 (0x76) | |
SHARE_PET_TRACKING | 119 (0x77) | |
UNTRACKABLE | 120 (0x78) | |
EMPATHY | 121 (0x79) | |
MOD_OFFHAND_DAMAGE_PCT | 122 (0x7A) | |
MOD_TARGET_RESISTANCE | 123 (0x7B) | |
MOD_RANGED_ATTACK_POWER | 124 (0x7C) | |
MOD_MELEE_DAMAGE_TAKEN | 125 (0x7D) | |
MOD_MELEE_DAMAGE_TAKEN_PCT | 126 (0x7E) | |
RANGED_ATTACK_POWER_ATTACKER_BONUS | 127 (0x7F) | |
MOD_POSSESS_PET | 128 (0x80) | |
MOD_SPEED_ALWAYS | 129 (0x81) | |
MOD_MOUNTED_SPEED_ALWAYS | 130 (0x82) | |
MOD_RANGED_ATTACK_POWER_VERSUS | 131 (0x83) | |
MOD_INCREASE_ENERGY_PERCENT | 132 (0x84) | |
MOD_INCREASE_HEALTH_PERCENT | 133 (0x85) | |
MOD_MANA_REGEN_INTERRUPT | 134 (0x86) | |
MOD_HEALING_DONE | 135 (0x87) | |
MOD_HEALING_DONE_PERCENT | 136 (0x88) | |
MOD_TOTAL_STAT_PERCENTAGE | 137 (0x89) | |
MOD_MELEE_HASTE | 138 (0x8A) | |
FORCE_REACTION | 139 (0x8B) | |
MOD_RANGED_HASTE | 140 (0x8C) | |
MOD_RANGED_AMMO_HASTE | 141 (0x8D) | |
MOD_BASE_RESISTANCE_PCT | 142 (0x8E) | |
MOD_RESISTANCE_EXCLUSIVE | 143 (0x8F) | |
SAFE_FALL | 144 (0x90) | |
CHARISMA | 145 (0x91) | |
PERSUADED | 146 (0x92) | |
MECHANIC_IMMUNITY_MASK | 147 (0x93) | |
RETAIN_COMBO_POINTS | 148 (0x94) | |
RESIST_PUSHBACK | 149 (0x95) | |
MOD_SHIELD_BLOCKVALUE_PCT | 150 (0x96) | |
TRACK_STEALTHED | 151 (0x97) | |
MOD_DETECTED_RANGE | 152 (0x98) | |
SPLIT_DAMAGE_FLAT | 153 (0x99) | |
MOD_STEALTH_LEVEL | 154 (0x9A) | |
MOD_WATER_BREATHING | 155 (0x9B) | |
MOD_REPUTATION_GAIN | 156 (0x9C) | |
PET_DAMAGE_MULTI | 157 (0x9D) | |
MOD_SHIELD_BLOCKVALUE | 158 (0x9E) | |
NO_PVP_CREDIT | 159 (0x9F) | |
MOD_AOE_AVOIDANCE | 160 (0xA0) | |
MOD_HEALTH_REGEN_IN_COMBAT | 161 (0xA1) | |
POWER_BURN_MANA | 162 (0xA2) | |
MOD_CRIT_DAMAGE_BONUS | 163 (0xA3) | |
UNKNOWN164 | 164 (0xA4) | |
MELEE_ATTACK_POWER_ATTACKER_BONUS | 165 (0xA5) | |
MOD_ATTACK_POWER_PCT | 166 (0xA6) | |
MOD_RANGED_ATTACK_POWER_PCT | 167 (0xA7) | |
MOD_DAMAGE_DONE_VERSUS | 168 (0xA8) | |
MOD_CRIT_PERCENT_VERSUS | 169 (0xA9) | |
DETECT_AMORE | 170 (0xAA) | |
MOD_SPEED_NOT_STACK | 171 (0xAB) | |
MOD_MOUNTED_SPEED_NOT_STACK | 172 (0xAC) | |
ALLOW_CHAMPION_SPELLS | 173 (0xAD) | |
MOD_SPELL_DAMAGE_OF_STAT_PERCENT | 174 (0xAE) | |
MOD_SPELL_HEALING_OF_STAT_PERCENT | 175 (0xAF) | |
SPIRIT_OF_REDEMPTION | 176 (0xB0) | |
AOE_CHARM | 177 (0xB1) | |
MOD_DEBUFF_RESISTANCE | 178 (0xB2) | |
MOD_ATTACKER_SPELL_CRIT_CHANCE | 179 (0xB3) | |
MOD_FLAT_SPELL_DAMAGE_VERSUS | 180 (0xB4) | |
MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS | 181 (0xB5) | |
MOD_RESISTANCE_OF_STAT_PERCENT | 182 (0xB6) | |
MOD_CRITICAL_THREAT | 183 (0xB7) | |
MOD_ATTACKER_MELEE_HIT_CHANCE | 184 (0xB8) | |
MOD_ATTACKER_RANGED_HIT_CHANCE | 185 (0xB9) | |
MOD_ATTACKER_SPELL_HIT_CHANCE | 186 (0xBA) | |
MOD_ATTACKER_MELEE_CRIT_CHANCE | 187 (0xBB) | |
MOD_ATTACKER_RANGED_CRIT_CHANCE | 188 (0xBC) | |
MOD_RATING | 189 (0xBD) | |
MOD_FACTION_REPUTATION_GAIN | 190 (0xBE) | |
USE_NORMAL_MOVEMENT_SPEED | 191 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
BIND_SIGHT | 1 (0x01) | |
MOD_POSSESS | 2 (0x02) | |
PERIODIC_DAMAGE | 3 (0x03) | |
DUMMY | 4 (0x04) | |
MOD_CONFUSE | 5 (0x05) | |
MOD_CHARM | 6 (0x06) | |
MOD_FEAR | 7 (0x07) | |
PERIODIC_HEAL | 8 (0x08) | |
MOD_ATTACKSPEED | 9 (0x09) | |
MOD_THREAT | 10 (0x0A) | |
MOD_TAUNT | 11 (0x0B) | |
MOD_STUN | 12 (0x0C) | |
MOD_DAMAGE_DONE | 13 (0x0D) | |
MOD_DAMAGE_TAKEN | 14 (0x0E) | |
DAMAGE_SHIELD | 15 (0x0F) | |
MOD_STEALTH | 16 (0x10) | |
MOD_STEALTH_DETECT | 17 (0x11) | |
MOD_INVISIBILITY | 18 (0x12) | |
MOD_INVISIBILITY_DETECTION | 19 (0x13) | |
OBS_MOD_HEALTH | 20 (0x14) | |
OBS_MOD_MANA | 21 (0x15) | |
MOD_RESISTANCE | 22 (0x16) | |
PERIODIC_TRIGGER_SPELL | 23 (0x17) | |
PERIODIC_ENERGIZE | 24 (0x18) | |
MOD_PACIFY | 25 (0x19) | |
MOD_ROOT | 26 (0x1A) | |
MOD_SILENCE | 27 (0x1B) | |
REFLECT_SPELLS | 28 (0x1C) | |
MOD_STAT | 29 (0x1D) | |
MOD_SKILL | 30 (0x1E) | |
MOD_INCREASE_SPEED | 31 (0x1F) | |
MOD_INCREASE_MOUNTED_SPEED | 32 (0x20) | |
MOD_DECREASE_SPEED | 33 (0x21) | |
MOD_INCREASE_HEALTH | 34 (0x22) | |
MOD_INCREASE_ENERGY | 35 (0x23) | |
MOD_SHAPESHIFT | 36 (0x24) | |
EFFECT_IMMUNITY | 37 (0x25) | |
STATE_IMMUNITY | 38 (0x26) | |
SCHOOL_IMMUNITY | 39 (0x27) | |
DAMAGE_IMMUNITY | 40 (0x28) | |
DISPEL_IMMUNITY | 41 (0x29) | |
PROC_TRIGGER_SPELL | 42 (0x2A) | |
PROC_TRIGGER_DAMAGE | 43 (0x2B) | |
TRACK_CREATURES | 44 (0x2C) | |
TRACK_RESOURCES | 45 (0x2D) | |
UNKNOWN46 | 46 (0x2E) | |
MOD_PARRY_PERCENT | 47 (0x2F) | |
UNKNOWN48 | 48 (0x30) | |
MOD_DODGE_PERCENT | 49 (0x31) | |
MOD_BLOCK_SKILL | 50 (0x32) | |
MOD_BLOCK_PERCENT | 51 (0x33) | |
MOD_CRIT_PERCENT | 52 (0x34) | |
PERIODIC_LEECH | 53 (0x35) | |
MOD_HIT_CHANCE | 54 (0x36) | |
MOD_SPELL_HIT_CHANCE | 55 (0x37) | |
TRANSFORM | 56 (0x38) | |
MOD_SPELL_CRIT_CHANCE | 57 (0x39) | |
MOD_INCREASE_SWIM_SPEED | 58 (0x3A) | |
MOD_DAMAGE_DONE_CREATURE | 59 (0x3B) | |
MOD_PACIFY_SILENCE | 60 (0x3C) | |
MOD_SCALE | 61 (0x3D) | |
PERIODIC_HEALTH_FUNNEL | 62 (0x3E) | |
PERIODIC_MANA_FUNNEL | 63 (0x3F) | |
PERIODIC_MANA_LEECH | 64 (0x40) | |
MOD_CASTING_SPEED_NOT_STACK | 65 (0x41) | |
FEIGN_DEATH | 66 (0x42) | |
MOD_DISARM | 67 (0x43) | |
MOD_STALKED | 68 (0x44) | |
SCHOOL_ABSORB | 69 (0x45) | |
EXTRA_ATTACKS | 70 (0x46) | |
MOD_SPELL_CRIT_CHANCE_SCHOOL | 71 (0x47) | |
MOD_POWER_COST_SCHOOL_PCT | 72 (0x48) | |
MOD_POWER_COST_SCHOOL | 73 (0x49) | |
REFLECT_SPELLS_SCHOOL | 74 (0x4A) | |
MOD_LANGUAGE | 75 (0x4B) | |
FAR_SIGHT | 76 (0x4C) | |
MECHANIC_IMMUNITY | 77 (0x4D) | |
MOUNTED | 78 (0x4E) | |
MOD_DAMAGE_PERCENT_DONE | 79 (0x4F) | |
MOD_PERCENT_STAT | 80 (0x50) | |
SPLIT_DAMAGE_PCT | 81 (0x51) | |
WATER_BREATHING | 82 (0x52) | |
MOD_BASE_RESISTANCE | 83 (0x53) | |
MOD_REGEN | 84 (0x54) | |
MOD_POWER_REGEN | 85 (0x55) | |
CHANNEL_DEATH_ITEM | 86 (0x56) | |
MOD_DAMAGE_PERCENT_TAKEN | 87 (0x57) | |
MOD_HEALTH_REGEN_PERCENT | 88 (0x58) | |
PERIODIC_DAMAGE_PERCENT | 89 (0x59) | |
MOD_RESIST_CHANCE | 90 (0x5A) | |
MOD_DETECT_RANGE | 91 (0x5B) | |
PREVENTS_FLEEING | 92 (0x5C) | |
MOD_UNATTACKABLE | 93 (0x5D) | |
INTERRUPT_REGEN | 94 (0x5E) | |
GHOST | 95 (0x5F) | |
SPELL_MAGNET | 96 (0x60) | |
MANA_SHIELD | 97 (0x61) | |
MOD_SKILL_TALENT | 98 (0x62) | |
MOD_ATTACK_POWER | 99 (0x63) | |
AURAS_VISIBLE | 100 (0x64) | |
MOD_RESISTANCE_PCT | 101 (0x65) | |
MOD_MELEE_ATTACK_POWER_VERSUS | 102 (0x66) | |
MOD_TOTAL_THREAT | 103 (0x67) | |
WATER_WALK | 104 (0x68) | |
FEATHER_FALL | 105 (0x69) | |
HOVER | 106 (0x6A) | |
ADD_FLAT_MODIFIER | 107 (0x6B) | |
ADD_PCT_MODIFIER | 108 (0x6C) | |
ADD_TARGET_TRIGGER | 109 (0x6D) | |
MOD_POWER_REGEN_PERCENT | 110 (0x6E) | |
ADD_CASTER_HIT_TRIGGER | 111 (0x6F) | |
OVERRIDE_CLASS_SCRIPTS | 112 (0x70) | |
MOD_RANGED_DAMAGE_TAKEN | 113 (0x71) | |
MOD_RANGED_DAMAGE_TAKEN_PCT | 114 (0x72) | |
MOD_HEALING | 115 (0x73) | |
MOD_REGEN_DURING_COMBAT | 116 (0x74) | |
MOD_MECHANIC_RESISTANCE | 117 (0x75) | |
MOD_HEALING_PCT | 118 (0x76) | |
SHARE_PET_TRACKING | 119 (0x77) | |
UNTRACKABLE | 120 (0x78) | |
EMPATHY | 121 (0x79) | |
MOD_OFFHAND_DAMAGE_PCT | 122 (0x7A) | |
MOD_TARGET_RESISTANCE | 123 (0x7B) | |
MOD_RANGED_ATTACK_POWER | 124 (0x7C) | |
MOD_MELEE_DAMAGE_TAKEN | 125 (0x7D) | |
MOD_MELEE_DAMAGE_TAKEN_PCT | 126 (0x7E) | |
RANGED_ATTACK_POWER_ATTACKER_BONUS | 127 (0x7F) | |
MOD_POSSESS_PET | 128 (0x80) | |
MOD_SPEED_ALWAYS | 129 (0x81) | |
MOD_MOUNTED_SPEED_ALWAYS | 130 (0x82) | |
MOD_RANGED_ATTACK_POWER_VERSUS | 131 (0x83) | |
MOD_INCREASE_ENERGY_PERCENT | 132 (0x84) | |
MOD_INCREASE_HEALTH_PERCENT | 133 (0x85) | |
MOD_MANA_REGEN_INTERRUPT | 134 (0x86) | |
MOD_HEALING_DONE | 135 (0x87) | |
MOD_HEALING_DONE_PERCENT | 136 (0x88) | |
MOD_TOTAL_STAT_PERCENTAGE | 137 (0x89) | |
MOD_MELEE_HASTE | 138 (0x8A) | |
FORCE_REACTION | 139 (0x8B) | |
MOD_RANGED_HASTE | 140 (0x8C) | |
MOD_RANGED_AMMO_HASTE | 141 (0x8D) | |
MOD_BASE_RESISTANCE_PCT | 142 (0x8E) | |
MOD_RESISTANCE_EXCLUSIVE | 143 (0x8F) | |
SAFE_FALL | 144 (0x90) | |
CHARISMA | 145 (0x91) | |
PERSUADED | 146 (0x92) | |
MECHANIC_IMMUNITY_MASK | 147 (0x93) | |
RETAIN_COMBO_POINTS | 148 (0x94) | |
RESIST_PUSHBACK | 149 (0x95) | |
MOD_SHIELD_BLOCKVALUE_PCT | 150 (0x96) | |
TRACK_STEALTHED | 151 (0x97) | |
MOD_DETECTED_RANGE | 152 (0x98) | |
SPLIT_DAMAGE_FLAT | 153 (0x99) | |
MOD_STEALTH_LEVEL | 154 (0x9A) | |
MOD_WATER_BREATHING | 155 (0x9B) | |
MOD_REPUTATION_GAIN | 156 (0x9C) | |
PET_DAMAGE_MULTI | 157 (0x9D) | |
MOD_SHIELD_BLOCKVALUE | 158 (0x9E) | |
NO_PVP_CREDIT | 159 (0x9F) | |
MOD_AOE_AVOIDANCE | 160 (0xA0) | |
MOD_HEALTH_REGEN_IN_COMBAT | 161 (0xA1) | |
POWER_BURN_MANA | 162 (0xA2) | |
MOD_CRIT_DAMAGE_BONUS | 163 (0xA3) | |
UNKNOWN164 | 164 (0xA4) | |
MELEE_ATTACK_POWER_ATTACKER_BONUS | 165 (0xA5) | |
MOD_ATTACK_POWER_PCT | 166 (0xA6) | |
MOD_RANGED_ATTACK_POWER_PCT | 167 (0xA7) | |
MOD_DAMAGE_DONE_VERSUS | 168 (0xA8) | |
MOD_CRIT_PERCENT_VERSUS | 169 (0xA9) | |
DETECT_AMORE | 170 (0xAA) | |
MOD_SPEED_NOT_STACK | 171 (0xAB) | |
MOD_MOUNTED_SPEED_NOT_STACK | 172 (0xAC) | |
ALLOW_CHAMPION_SPELLS | 173 (0xAD) | |
MOD_SPELL_DAMAGE_OF_STAT_PERCENT | 174 (0xAE) | |
MOD_SPELL_HEALING_OF_STAT_PERCENT | 175 (0xAF) | |
SPIRIT_OF_REDEMPTION | 176 (0xB0) | |
AOE_CHARM | 177 (0xB1) | |
MOD_DEBUFF_RESISTANCE | 178 (0xB2) | |
MOD_ATTACKER_SPELL_CRIT_CHANCE | 179 (0xB3) | |
MOD_FLAT_SPELL_DAMAGE_VERSUS | 180 (0xB4) | |
MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS | 181 (0xB5) | |
MOD_RESISTANCE_OF_STAT_PERCENT | 182 (0xB6) | |
MOD_CRITICAL_THREAT | 183 (0xB7) | |
MOD_ATTACKER_MELEE_HIT_CHANCE | 184 (0xB8) | |
MOD_ATTACKER_RANGED_HIT_CHANCE | 185 (0xB9) | |
MOD_ATTACKER_SPELL_HIT_CHANCE | 186 (0xBA) | |
MOD_ATTACKER_MELEE_CRIT_CHANCE | 187 (0xBB) | |
MOD_ATTACKER_RANGED_CRIT_CHANCE | 188 (0xBC) | |
MOD_RATING | 189 (0xBD) | |
MOD_FACTION_REPUTATION_GAIN | 190 (0xBE) | |
USE_NORMAL_MOVEMENT_SPEED | 191 (0xBF) | |
MOD_MELEE_RANGED_HASTE | 192 (0xC0) | |
HASTE_ALL | 193 (0xC1) | |
MOD_DEPRICATED_1 | 194 (0xC2) | |
MOD_DEPRICATED_2 | 195 (0xC3) | |
MOD_COOLDOWN | 196 (0xC4) | |
MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE | 197 (0xC5) | |
MOD_ALL_WEAPON_SKILLS | 198 (0xC6) | |
MOD_INCREASES_SPELL_PCT_TO_HIT | 199 (0xC7) | |
MOD_XP_PCT | 200 (0xC8) | |
FLY | 201 (0xC9) | |
IGNORE_COMBAT_RESULT | 202 (0xCA) | |
MOD_ATTACKER_MELEE_CRIT_DAMAGE | 203 (0xCB) | |
MOD_ATTACKER_RANGED_CRIT_DAMAGE | 204 (0xCC) | |
MOD_ATTACKER_SPELL_CRIT_DAMAGE | 205 (0xCD) | |
MOD_FLIGHT_SPEED | 206 (0xCE) | |
MOD_FLIGHT_SPEED_MOUNTED | 207 (0xCF) | |
MOD_FLIGHT_SPEED_STACKING | 208 (0xD0) | |
MOD_FLIGHT_SPEED_MOUNTED_STACKING | 209 (0xD1) | |
MOD_FLIGHT_SPEED_NOT_STACKING | 210 (0xD2) | |
MOD_FLIGHT_SPEED_MOUNTED_NOT_STACKING | 211 (0xD3) | |
MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT | 212 (0xD4) | |
MOD_RAGE_FROM_DAMAGE_DEALT | 213 (0xD5) | |
UNKNOWN214 | 214 (0xD6) | |
ARENA_PREPARATION | 215 (0xD7) | |
HASTE_SPELLS | 216 (0xD8) | |
UNKNOWN217 | 217 (0xD9) | |
HASTE_RANGED | 218 (0xDA) | |
MOD_MANA_REGEN_FROM_STAT | 219 (0xDB) | |
MOD_RATING_FROM_STAT | 220 (0xDC) | |
UNKNOWN221 | 221 (0xDD) | |
UNKNOWN222 | 222 (0xDE) | |
UNKNOWN223 | 223 (0xDF) | |
UNKNOWN224 | 224 (0xE0) | |
PRAYER_OF_MENDING | 225 (0xE1) | |
PERIODIC_DUMMY | 226 (0xE2) | |
PERIODIC_TRIGGER_SPELL_WITH_VALUE | 227 (0xE3) | |
DETECT_STEALTH | 228 (0xE4) | |
MOD_AOE_DAMAGE_AVOIDANCE | 229 (0xE5) | |
UNKNOWN230 | 230 (0xE6) | |
PROC_TRIGGER_SPELL_WITH_VALUE | 231 (0xE7) | |
MECHANIC_DURATION_MOD | 232 (0xE8) | |
UNKNOWN233 | 233 (0xE9) | |
MECHANIC_DURATION_MOD_NOT_STACK | 234 (0xEA) | |
MOD_DISPEL_RESIST | 235 (0xEB) | |
UNKNOWN236 | 236 (0xEC) | |
MOD_SPELL_DAMAGE_OF_ATTACK_POWER | 237 (0xED) | |
MOD_SPELL_HEALING_OF_ATTACK_POWER | 238 (0xEE) | |
MOD_SCALE_2 | 239 (0xEF) | |
MOD_EXPERTISE | 240 (0xF0) | |
FORCE_MOVE_FORWARD | 241 (0xF1) | |
UNKNOWN242 | 242 (0xF2) | |
UNKNOWN243 | 243 (0xF3) | |
COMPREHEND_LANGUAGE | 244 (0xF4) | |
UNKNOWN245 | 245 (0xF5) | |
UNKNOWN246 | 246 (0xF6) | |
MIRROR_IMAGE | 247 (0xF7) | |
MOD_COMBAT_RESULT_CHANCE | 248 (0xF8) | |
UNKNOWN249 | 249 (0xF9) | |
MOD_INCREASE_HEALTH_2 | 250 (0xFA) | |
MOD_ENEMY_DODGE | 251 (0xFB) | |
UNKNOWN252 | 252 (0xFC) | |
UNKNOWN253 | 253 (0xFD) | |
UNKNOWN254 | 254 (0xFE) | |
UNKNOWN255 | 255 (0xFF) | |
UNKNOWN256 | 256 (0x100) | |
UNKNOWN257 | 257 (0x101) | |
UNKNOWN258 | 258 (0x102) | |
UNKNOWN259 | 259 (0x103) | |
UNKNOWN260 | 260 (0x104) | |
UNKNOWN261 | 261 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
BIND_SIGHT | 1 (0x01) | |
MOD_POSSESS | 2 (0x02) | |
PERIODIC_DAMAGE | 3 (0x03) | |
DUMMY | 4 (0x04) | |
MOD_CONFUSE | 5 (0x05) | |
MOD_CHARM | 6 (0x06) | |
MOD_FEAR | 7 (0x07) | |
PERIODIC_HEAL | 8 (0x08) | |
MOD_ATTACKSPEED | 9 (0x09) | |
MOD_THREAT | 10 (0x0A) | |
MOD_TAUNT | 11 (0x0B) | |
MOD_STUN | 12 (0x0C) | |
MOD_DAMAGE_DONE | 13 (0x0D) | |
MOD_DAMAGE_TAKEN | 14 (0x0E) | |
DAMAGE_SHIELD | 15 (0x0F) | |
MOD_STEALTH | 16 (0x10) | |
MOD_STEALTH_DETECT | 17 (0x11) | |
MOD_INVISIBILITY | 18 (0x12) | |
MOD_INVISIBILITY_DETECT | 19 (0x13) | |
OBS_MOD_HEALTH | 20 (0x14) | |
OBS_MOD_POWER | 21 (0x15) | |
MOD_RESISTANCE | 22 (0x16) | |
PERIODIC_TRIGGER_SPELL | 23 (0x17) | |
PERIODIC_ENERGIZE | 24 (0x18) | |
MOD_PACIFY | 25 (0x19) | |
MOD_ROOT | 26 (0x1A) | |
MOD_SILENCE | 27 (0x1B) | |
REFLECT_SPELLS | 28 (0x1C) | |
MOD_STAT | 29 (0x1D) | |
MOD_SKILL | 30 (0x1E) | |
MOD_INCREASE_SPEED | 31 (0x1F) | |
MOD_INCREASE_MOUNTED_SPEED | 32 (0x20) | |
MOD_DECREASE_SPEED | 33 (0x21) | |
MOD_INCREASE_HEALTH | 34 (0x22) | |
MOD_INCREASE_ENERGY | 35 (0x23) | |
MOD_SHAPESHIFT | 36 (0x24) | |
EFFECT_IMMUNITY | 37 (0x25) | |
STATE_IMMUNITY | 38 (0x26) | |
SCHOOL_IMMUNITY | 39 (0x27) | |
DAMAGE_IMMUNITY | 40 (0x28) | |
DISPEL_IMMUNITY | 41 (0x29) | |
PROC_TRIGGER_SPELL | 42 (0x2A) | |
PROC_TRIGGER_DAMAGE | 43 (0x2B) | |
TRACK_CREATURES | 44 (0x2C) | |
TRACK_RESOURCES | 45 (0x2D) | |
UNKNOWN46 | 46 (0x2E) | |
MOD_PARRY_PERCENT | 47 (0x2F) | |
PERIODIC_TRIGGER_SPELL_FROM_CLIENT | 48 (0x30) | |
MOD_DODGE_PERCENT | 49 (0x31) | |
MOD_CRITICAL_HEALING_AMOUNT | 50 (0x32) | |
MOD_BLOCK_PERCENT | 51 (0x33) | |
MOD_WEAPON_CRIT_PERCENT | 52 (0x34) | |
PERIODIC_LEECH | 53 (0x35) | |
MOD_HIT_CHANCE | 54 (0x36) | |
MOD_SPELL_HIT_CHANCE | 55 (0x37) | |
TRANSFORM | 56 (0x38) | |
MOD_SPELL_CRIT_CHANCE | 57 (0x39) | |
MOD_INCREASE_SWIM_SPEED | 58 (0x3A) | |
MOD_DAMAGE_DONE_CREATURE | 59 (0x3B) | |
MOD_PACIFY_SILENCE | 60 (0x3C) | |
MOD_SCALE | 61 (0x3D) | |
PERIODIC_HEALTH_FUNNEL | 62 (0x3E) | |
UNKNOWN63 | 63 (0x3F) | |
PERIODIC_MANA_LEECH | 64 (0x40) | |
MOD_CASTING_SPEED_NOT_STACK | 65 (0x41) | |
FEIGN_DEATH | 66 (0x42) | |
MOD_DISARM | 67 (0x43) | |
MOD_STALKED | 68 (0x44) | |
SCHOOL_ABSORB | 69 (0x45) | |
EXTRA_ATTACKS | 70 (0x46) | |
MOD_SPELL_CRIT_CHANCE_SCHOOL | 71 (0x47) | |
MOD_POWER_COST_SCHOOL_PCT | 72 (0x48) | |
MOD_POWER_COST_SCHOOL | 73 (0x49) | |
REFLECT_SPELLS_SCHOOL | 74 (0x4A) | |
MOD_LANGUAGE | 75 (0x4B) | |
FAR_SIGHT | 76 (0x4C) | |
MECHANIC_IMMUNITY | 77 (0x4D) | |
MOUNTED | 78 (0x4E) | |
MOD_DAMAGE_PERCENT_DONE | 79 (0x4F) | |
MOD_PERCENT_STAT | 80 (0x50) | |
SPLIT_DAMAGE_PCT | 81 (0x51) | |
WATER_BREATHING | 82 (0x52) | |
MOD_BASE_RESISTANCE | 83 (0x53) | |
MOD_REGEN | 84 (0x54) | |
MOD_POWER_REGEN | 85 (0x55) | |
CHANNEL_DEATH_ITEM | 86 (0x56) | |
MOD_DAMAGE_PERCENT_TAKEN | 87 (0x57) | |
MOD_HEALTH_REGEN_PERCENT | 88 (0x58) | |
PERIODIC_DAMAGE_PERCENT | 89 (0x59) | |
UNKNOWN90 | 90 (0x5A) | |
MOD_DETECT_RANGE | 91 (0x5B) | |
PREVENTS_FLEEING | 92 (0x5C) | |
MOD_UNATTACKABLE | 93 (0x5D) | |
INTERRUPT_REGEN | 94 (0x5E) | |
GHOST | 95 (0x5F) | |
SPELL_MAGNET | 96 (0x60) | |
MANA_SHIELD | 97 (0x61) | |
MOD_SKILL_TALENT | 98 (0x62) | |
MOD_ATTACK_POWER | 99 (0x63) | |
AURAS_VISIBLE | 100 (0x64) | |
MOD_RESISTANCE_PCT | 101 (0x65) | |
MOD_MELEE_ATTACK_POWER_VERSUS | 102 (0x66) | |
MOD_TOTAL_THREAT | 103 (0x67) | |
WATER_WALK | 104 (0x68) | |
FEATHER_FALL | 105 (0x69) | |
HOVER | 106 (0x6A) | |
ADD_FLAT_MODIFIER | 107 (0x6B) | |
ADD_PCT_MODIFIER | 108 (0x6C) | |
ADD_TARGET_TRIGGER | 109 (0x6D) | |
MOD_POWER_REGEN_PERCENT | 110 (0x6E) | |
ADD_CASTER_HIT_TRIGGER | 111 (0x6F) | |
OVERRIDE_CLASS_SCRIPTS | 112 (0x70) | |
MOD_RANGED_DAMAGE_TAKEN | 113 (0x71) | |
MOD_RANGED_DAMAGE_TAKEN_PCT | 114 (0x72) | |
MOD_HEALING | 115 (0x73) | |
MOD_REGEN_DURING_COMBAT | 116 (0x74) | |
MOD_MECHANIC_RESISTANCE | 117 (0x75) | |
MOD_HEALING_PCT | 118 (0x76) | |
UNKNOWN119 | 119 (0x77) | |
UNTRACKABLE | 120 (0x78) | |
EMPATHY | 121 (0x79) | |
MOD_OFFHAND_DAMAGE_PCT | 122 (0x7A) | |
MOD_TARGET_RESISTANCE | 123 (0x7B) | |
MOD_RANGED_ATTACK_POWER | 124 (0x7C) | |
MOD_MELEE_DAMAGE_TAKEN | 125 (0x7D) | |
MOD_MELEE_DAMAGE_TAKEN_PCT | 126 (0x7E) | |
RANGED_ATTACK_POWER_ATTACKER_BONUS | 127 (0x7F) | |
MOD_POSSESS_PET | 128 (0x80) | |
MOD_SPEED_ALWAYS | 129 (0x81) | |
MOD_MOUNTED_SPEED_ALWAYS | 130 (0x82) | |
MOD_RANGED_ATTACK_POWER_VERSUS | 131 (0x83) | |
MOD_INCREASE_ENERGY_PERCENT | 132 (0x84) | |
MOD_INCREASE_HEALTH_PERCENT | 133 (0x85) | |
MOD_MANA_REGEN_INTERRUPT | 134 (0x86) | |
MOD_HEALING_DONE | 135 (0x87) | |
MOD_HEALING_DONE_PERCENT | 136 (0x88) | |
MOD_TOTAL_STAT_PERCENTAGE | 137 (0x89) | |
MOD_MELEE_HASTE | 138 (0x8A) | |
FORCE_REACTION | 139 (0x8B) | |
MOD_RANGED_HASTE | 140 (0x8C) | |
MOD_RANGED_AMMO_HASTE | 141 (0x8D) | |
MOD_BASE_RESISTANCE_PCT | 142 (0x8E) | |
MOD_RESISTANCE_EXCLUSIVE | 143 (0x8F) | |
SAFE_FALL | 144 (0x90) | |
MOD_PET_TALENT_POINTS | 145 (0x91) | |
ALLOW_TAME_PET_TYPE | 146 (0x92) | |
MECHANIC_IMMUNITY_MASK | 147 (0x93) | |
RETAIN_COMBO_POINTS | 148 (0x94) | |
REDUCE_PUSHBACK | 149 (0x95) | |
MOD_SHIELD_BLOCKVALUE_PCT | 150 (0x96) | |
TRACK_STEALTHED | 151 (0x97) | |
MOD_DETECTED_RANGE | 152 (0x98) | |
SPLIT_DAMAGE_FLAT | 153 (0x99) | |
MOD_STEALTH_LEVEL | 154 (0x9A) | |
MOD_WATER_BREATHING | 155 (0x9B) | |
MOD_REPUTATION_GAIN | 156 (0x9C) | |
PET_DAMAGE_MULTI | 157 (0x9D) | |
MOD_SHIELD_BLOCKVALUE | 158 (0x9E) | |
NO_PVP_CREDIT | 159 (0x9F) | |
MOD_AOE_AVOIDANCE | 160 (0xA0) | |
MOD_HEALTH_REGEN_IN_COMBAT | 161 (0xA1) | |
POWER_BURN | 162 (0xA2) | |
MOD_CRIT_DAMAGE_BONUS | 163 (0xA3) | |
UNKNOWN164 | 164 (0xA4) | |
MELEE_ATTACK_POWER_ATTACKER_BONUS | 165 (0xA5) | |
MOD_ATTACK_POWER_PCT | 166 (0xA6) | |
MOD_RANGED_ATTACK_POWER_PCT | 167 (0xA7) | |
MOD_DAMAGE_DONE_VERSUS | 168 (0xA8) | |
MOD_CRIT_PERCENT_VERSUS | 169 (0xA9) | |
DETECT_AMORE | 170 (0xAA) | |
MOD_SPEED_NOT_STACK | 171 (0xAB) | |
MOD_MOUNTED_SPEED_NOT_STACK | 172 (0xAC) | |
UNKNOWN173 | 173 (0xAD) | |
MOD_SPELL_DAMAGE_OF_STAT_PERCENT | 174 (0xAE) | |
MOD_SPELL_HEALING_OF_STAT_PERCENT | 175 (0xAF) | |
SPIRIT_OF_REDEMPTION | 176 (0xB0) | |
AOE_CHARM | 177 (0xB1) | |
MOD_DEBUFF_RESISTANCE | 178 (0xB2) | |
MOD_ATTACKER_SPELL_CRIT_CHANCE | 179 (0xB3) | |
MOD_FLAT_SPELL_DAMAGE_VERSUS | 180 (0xB4) | |
UNKNOWN181 | 181 (0xB5) | |
MOD_RESISTANCE_OF_STAT_PERCENT | 182 (0xB6) | |
MOD_CRITICAL_THREAT | 183 (0xB7) | |
MOD_ATTACKER_MELEE_HIT_CHANCE | 184 (0xB8) | |
MOD_ATTACKER_RANGED_HIT_CHANCE | 185 (0xB9) | |
MOD_ATTACKER_SPELL_HIT_CHANCE | 186 (0xBA) | |
MOD_ATTACKER_MELEE_CRIT_CHANCE | 187 (0xBB) | |
MOD_ATTACKER_RANGED_CRIT_CHANCE | 188 (0xBC) | |
MOD_RATING | 189 (0xBD) | |
MOD_FACTION_REPUTATION_GAIN | 190 (0xBE) | |
USE_NORMAL_MOVEMENT_SPEED | 191 (0xBF) | |
MOD_MELEE_RANGED_HASTE | 192 (0xC0) | |
MELEE_SLOW | 193 (0xC1) | |
MOD_TARGET_ABSORB_SCHOOL | 194 (0xC2) | |
MOD_TARGET_ABILITY_ABSORB_SCHOOL | 195 (0xC3) | |
MOD_COOLDOWN | 196 (0xC4) | |
MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE | 197 (0xC5) | |
UNKNOWN198 | 198 (0xC6) | |
MOD_INCREASES_SPELL_PCT_TO_HIT | 199 (0xC7) | |
MOD_XP_PCT | 200 (0xC8) | |
FLY | 201 (0xC9) | |
IGNORE_COMBAT_RESULT | 202 (0xCA) | |
MOD_ATTACKER_MELEE_CRIT_DAMAGE | 203 (0xCB) | |
MOD_ATTACKER_RANGED_CRIT_DAMAGE | 204 (0xCC) | |
MOD_SCHOOL_CRIT_DMG_TAKEN | 205 (0xCD) | |
MOD_INCREASE_VEHICLE_FLIGHT_SPEED | 206 (0xCE) | |
MOD_INCREASE_MOUNTED_FLIGHT_SPEED | 207 (0xCF) | |
MOD_INCREASE_FLIGHT_SPEED | 208 (0xD0) | |
MOD_MOUNTED_FLIGHT_SPEED_ALWAYS | 209 (0xD1) | |
MOD_VEHICLE_SPEED_ALWAYS | 210 (0xD2) | |
MOD_FLIGHT_SPEED_NOT_STACK | 211 (0xD3) | |
MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT | 212 (0xD4) | |
MOD_RAGE_FROM_DAMAGE_DEALT | 213 (0xD5) | |
UNKNOWN214 | 214 (0xD6) | |
ARENA_PREPARATION | 215 (0xD7) | |
HASTE_SPELLS | 216 (0xD8) | |
MOD_MELEE_HASTE_2 | 217 (0xD9) | |
HASTE_RANGED | 218 (0xDA) | |
MOD_MANA_REGEN_FROM_STAT | 219 (0xDB) | |
MOD_RATING_FROM_STAT | 220 (0xDC) | |
MOD_DETAUNT | 221 (0xDD) | |
UNKNOWN222 | 222 (0xDE) | |
RAID_PROC_FROM_CHARGE | 223 (0xDF) | |
UNKNOWN224 | 224 (0xE0) | |
RAID_PROC_FROM_CHARGE_WITH_VALUE | 225 (0xE1) | |
PERIODIC_DUMMY | 226 (0xE2) | |
PERIODIC_TRIGGER_SPELL_WITH_VALUE | 227 (0xE3) | |
DETECT_STEALTH | 228 (0xE4) | |
MOD_AOE_DAMAGE_AVOIDANCE | 229 (0xE5) | |
UNKNOWN230 | 230 (0xE6) | |
PROC_TRIGGER_SPELL_WITH_VALUE | 231 (0xE7) | |
MECHANIC_DURATION_MOD | 232 (0xE8) | |
CHANGE_MODEL_FOR_ALL_HUMANOIDS | 233 (0xE9) | |
MECHANIC_DURATION_MOD_NOT_STACK | 234 (0xEA) | |
MOD_DISPEL_RESIST | 235 (0xEB) | |
CONTROL_VEHICLE | 236 (0xEC) | |
MOD_SPELL_DAMAGE_OF_ATTACK_POWER | 237 (0xED) | |
MOD_SPELL_HEALING_OF_ATTACK_POWER | 238 (0xEE) | |
MOD_SCALE_2 | 239 (0xEF) | |
MOD_EXPERTISE | 240 (0xF0) | |
FORCE_MOVE_FORWARD | 241 (0xF1) | |
MOD_SPELL_DAMAGE_FROM_HEALING | 242 (0xF2) | |
MOD_FACTION | 243 (0xF3) | |
COMPREHEND_LANGUAGE | 244 (0xF4) | |
MOD_AURA_DURATION_BY_DISPEL | 245 (0xF5) | |
MOD_AURA_DURATION_BY_DISPEL_NOT_STACK | 246 (0xF6) | |
CLONE_CASTER | 247 (0xF7) | |
MOD_COMBAT_RESULT_CHANCE | 248 (0xF8) | |
CONVERT_RUNE | 249 (0xF9) | |
MOD_INCREASE_HEALTH_2 | 250 (0xFA) | |
MOD_ENEMY_DODGE | 251 (0xFB) | |
MOD_SPEED_SLOW_ALL | 252 (0xFC) | |
MOD_BLOCK_CRIT_CHANCE | 253 (0xFD) | |
MOD_DISARM_OFFHAND | 254 (0xFE) | |
MOD_MECHANIC_DAMAGE_TAKEN_PERCENT | 255 (0xFF) | |
NO_REAGENT_USE | 256 (0x100) | |
MOD_TARGET_RESIST_BY_SPELL_CLASS | 257 (0x101) | |
UNKNOWN258 | 258 (0x102) | |
MOD_HOT_PCT | 259 (0x103) | |
SCREEN_EFFECT | 260 (0x104) | |
PHASE | 261 (0x105) | |
ABILITY_IGNORE_AURASTATE | 262 (0x106) | |
ALLOW_ONLY_ABILITY | 263 (0x107) | |
UNKNOWN264 | 264 (0x108) | |
UNKNOWN265 | 265 (0x109) | |
UNKNOWN266 | 266 (0x10A) | |
MOD_IMMUNE_AURA_APPLY_SCHOOL | 267 (0x10B) | |
MOD_ATTACK_POWER_OF_STAT_PERCENT | 268 (0x10C) | |
MOD_IGNORE_TARGET_RESIST | 269 (0x10D) | |
MOD_ABILITY_IGNORE_TARGET_RESIST | 270 (0x10E) | |
MOD_DAMAGE_FROM_CASTER | 271 (0x10F) | |
IGNORE_MELEE_RESET | 272 (0x110) | |
X_RAY | 273 (0x111) | |
ABILITY_CONSUME_NO_AMMO | 274 (0x112) | |
MOD_IGNORE_SHAPESHIFT | 275 (0x113) | |
MOD_DAMAGE_DONE_FOR_MECHANIC | 276 (0x114) | |
MOD_MAX_AFFECTED_TARGETS | 277 (0x115) | |
MOD_DISARM_RANGED | 278 (0x116) | |
INITIALIZE_IMAGES | 279 (0x117) | |
MOD_ARMOR_PENETRATION_PCT | 280 (0x118) | |
MOD_HONOR_GAIN_PCT | 281 (0x119) | |
MOD_BASE_HEALTH_PCT | 282 (0x11A) | |
MOD_HEALING_RECEIVED | 283 (0x11B) | |
LINKED | 284 (0x11C) | |
MOD_ATTACK_POWER_OF_ARMOR | 285 (0x11D) | |
ABILITY_PERIODIC_CRIT | 286 (0x11E) | |
DEFLECT_SPELLS | 287 (0x11F) | |
IGNORE_HIT_DIRECTION | 288 (0x120) | |
PREVENT_DURABILITY_LOSS | 289 (0x121) | |
MOD_CRIT_PCT | 290 (0x122) | |
MOD_XP_QUEST_PCT | 291 (0x123) | |
OPEN_STABLE | 292 (0x124) | |
OVERRIDE_SPELLS | 293 (0x125) | |
PREVENT_REGENERATE_POWER | 294 (0x126) | |
UNKNOWN295 | 295 (0x127) | |
SET_VEHICLE_ID | 296 (0x128) | |
BLOCK_SPELL_FAMILY | 297 (0x129) | |
STRANGULATE | 298 (0x12A) | |
UNKNOWN299 | 299 (0x12B) | |
SHARE_DAMAGE_PCT | 300 (0x12C) | |
SCHOOL_HEAL_ABSORB | 301 (0x12D) | |
UNKNOWN302 | 302 (0x12E) | |
MOD_DAMAGE_DONE_VERSUS_AURASTATE | 303 (0x12F) | |
MOD_FAKE_INEBRIATE | 304 (0x130) | |
MOD_MINIMUM_SPEED | 305 (0x131) | |
UNKNOWN306 | 306 (0x132) | |
HEAL_ABSORB_TEST | 307 (0x133) | |
MOD_CRIT_CHANCE_FOR_CASTER | 308 (0x134) | |
UNKNOWN309 | 309 (0x135) | |
MOD_CREATURE_AOE_DAMAGE_AVOIDANCE | 310 (0x136) | |
UNKNOWN311 | 311 (0x137) | |
UNKNOWN312 | 312 (0x138) | |
UNKNOWN313 | 313 (0x139) | |
PREVENT_RESURRECTION | 314 (0x13A) | |
UNDERWATER_WALKING | 315 (0x13B) | |
PERIODIC_HASTE | 316 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
NOT_PLAYABLE | 1 (0x01) | |
BARE_FEET | 2 (0x02) | |
CAN_CURRENT_FORM_MOUNT | 4 (0x04) | |
UNKNOWN2 | 8 (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
| Enumerator | Value | Comment |
|---|---|---|
ENGLISH | 0 (0x00) | |
KOREAN | 1 (0x01) | |
FRENCH | 2 (0x02) | |
GERMAN | 3 (0x03) | |
CHINESE | 4 (0x04) | |
TAIWANESE | 5 (0x05) | |
SPANISH_SPAIN | 6 (0x06) | |
SPANISH_LATIN_AMERICA | 7 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
INITIAL | 1 (0x01) | |
ZONE_DEPENDENCY | 2 (0x02) | |
GLOBAL | 4 (0x04) | |
TRADE | 8 (0x08) | |
CITY_ONLY | 16 (0x10) | |
CITY_ONLY_2 | 32 (0x20) | |
DEFENCE | 65536 (0x10000) | |
UNSELECTED | 262144 (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
| Enumerator | Value | Comment |
|---|---|---|
TALK | 8 (0x08) | |
QUESTION | 16 (0x10) | |
EXCLAMATION | 32 (0x20) | |
SHOUT | 64 (0x40) | |
LAUGH | 128 (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
| Enumerator | Value | Comment |
|---|---|---|
NO_LOOP | 0 (0x00) | |
LOOP | 1 (0x01) | |
LOOP_WITH_SOUND | 2 (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
| Enumerator | Value | Comment |
|---|---|---|
STILL | 0 (0x00) | |
SLOW | 4 (0x04) | |
RAPID | 8 (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
| Enumerator | Value | Comment |
|---|---|---|
NORMAL | 0 (0x00) | |
GROUP_INSTANCE | 1 (0x01) | |
RAID_INSTANCE | 2 (0x02) | |
BATTLEGROUND | 3 (0x03) | |
WORLD_ZONE | 4 (0x04) | |
BATTLEGROUND2 | 5 (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
| Enumerator | Value | Comment |
|---|---|---|
SHIELD | 0 (0x00) | |
METAL_WEAPON | 1 (0x01) | |
WOOD_WEAPON | 2 (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
| Enumerator | Value | Comment |
|---|---|---|
ITEM | 0 (0x00) | |
WEAPON | 1 (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
| Enumerator | Value | Comment |
|---|---|---|
NEUTRAL | -1 (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) | |
HORDE | 0 (0x00) | |
ALLIANCE | 1 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | 0 (0x00) | |
ITEM_REQUIRED | 1 (0x01) | |
LOCKTYPE_REFERENCE | 2 (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
| Enumerator | Value | Comment |
|---|---|---|
FIRE | 0 (0x00) | |
SLIME | 2 (0x02) | |
WATER | 3 (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
| Enumerator | Value | Comment |
|---|---|---|
PVP_FLAGGED | 2048 (0x800) | |
ATTACK_PVPING_PLAYERS | 4096 (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
| Enumerator | Value | Comment |
|---|---|---|
HUMAN | 1 (0x01) | |
ORC | 2 (0x02) | |
DWARF | 3 (0x03) | |
NIGHT_ELF | 4 (0x04) | |
UNDEAD | 5 (0x05) | |
TAUREN | 6 (0x06) | |
GNOME | 7 (0x07) | |
TROLL | 8 (0x08) | |
GOBLIN | 9 (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
| Enumerator | Value | Comment |
|---|---|---|
HUMAN | 1 (0x01) | |
ORC | 2 (0x02) | |
DWARF | 3 (0x03) | |
NIGHT_ELF | 4 (0x04) | |
UNDEAD | 5 (0x05) | |
TAUREN | 6 (0x06) | |
GNOME | 7 (0x07) | |
TROLL | 8 (0x08) | |
GOBLIN | 9 (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
| Enumerator | Value | Comment |
|---|---|---|
HUMAN | 1 (0x01) | |
ORC | 2 (0x02) | |
DWARF | 3 (0x03) | |
NIGHT_ELF | 4 (0x04) | |
UNDEAD | 5 (0x05) | |
TAUREN | 6 (0x06) | |
GNOME | 7 (0x07) | |
TROLL | 8 (0x08) | |
GOBLIN | 9 (0x09) | |
BLOOD_ELF | 10 (0x0A) | |
DRAENEI | 11 (0x0B) | |
FEL_ORC | 12 (0x0C) | |
NAGA | 13 (0x0D) | |
BROKEN | 14 (0x0E) | |
SKELETON | 15 (0x0F) | |
VRYKUL | 16 (0x10) | |
TUSKARR | 17 (0x11) | |
FOREST_TROLL | 18 (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
| Enumerator | Value | Comment |
|---|---|---|
HUMAN | 1 (0x01) | |
ORC | 2 (0x02) | |
DWARF | 3 (0x03) | |
NIGHT_ELF | 4 (0x04) | |
UNDEAD | 5 (0x05) | |
TAUREN | 6 (0x06) | |
GNOME | 7 (0x07) | |
TROLL | 8 (0x08) | |
GOBLIN | 9 (0x09) | |
BLOOD_ELF | 10 (0x0A) | |
DRAENEI | 11 (0x0B) | |
FEL_ORC | 12 (0x0C) | |
NAGA | 13 (0x0D) | |
BROKEN | 14 (0x0E) | |
SKELETON | 15 (0x0F) | |
VRYKUL | 16 (0x10) | |
TUSKARR | 17 (0x11) | |
FOREST_TROLL | 18 (0x12) | |
TAUNKA | 19 (0x13) | |
NORTHREND_SKELETON | 20 (0x14) | |
ICE_TROLL | 21 (0x15) |
Used in:
- CMSG_CHAR_CREATE
- CMSG_CHAR_FACTION_CHANGE
- CMSG_CHAR_RACE_CHANGE
- Character
- LfgListPlayer
- SMSG_CHAR_FACTION_CHANGE
- SMSG_MIRRORIMAGE_DATA
- SMSG_NAME_QUERY_RESPONSE
- WhoPlayer
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
| Enumerator | Value | Comment |
|---|---|---|
VISIBLE_TO_CLIENT | 1 (0x01) | |
ENABLE_AT_WAR | 2 (0x02) | |
HIDE_IN_CLIENT | 4 (0x04) | |
FORCE_HIDE_IN_CLIENT | 8 (0x08) | |
FORCE_AT_PEACE | 16 (0x10) | |
FACTION_INACTIVE | 32 (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
| Enumerator | Value | Comment |
|---|---|---|
HAIR | 0 (0x00) | |
BALD | 1 (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
| Enumerator | Value | Comment |
|---|---|---|
BASE_SKIN | 0 (0x00) | |
FACE | 1 (0x01) | |
FACIAL_HAIR | 2 (0x02) | |
HAIR | 3 (0x03) | |
UNDERWEAR | 4 (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
| Enumerator | Value | Comment |
|---|---|---|
ONE | 1 (0x01) | |
TWO | 2 (0x02) | |
THREE | 3 (0x03) | |
FIVE | 5 (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
| Enumerator | Value | Comment |
|---|---|---|
UNITED_STATES | 1 (0x01) | |
KOREA | 2 (0x02) | |
EUROPE | 3 (0x03) | |
TAIWAN | 4 (0x04) | |
CHINA | 5 (0x05) | |
TEST_SERVER | 99 (0x63) | |
QA_SERVER | 101 (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
| Enumerator | Value | Comment |
|---|---|---|
NONE | -1 (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) | |
SMALL | 0 (0x00) | |
MEDIUM | 1 (0x01) | |
LARGE | 2 (0x02) | |
GIANT | 3 (0x03) | |
COLOSSAL | 4 (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
| Enumerator | Value | Comment |
|---|---|---|
ATTRIBUTE | 5 (0x05) | Not used for anything in Vanilla and TBC, only used for Pet - Exotic Spirit Beast in Wrath. |
WEAPON | 6 (0x06) | |
CLASS | 7 (0x07) | |
ARMOR | 8 (0x08) | |
SECONDARY_PROFESSION | 9 (0x09) | |
LANGUAGE | 10 (0x0A) | |
PRIMARY_PROFESSION | 11 (0x0B) | |
GENERIC | 12 (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
| Enumerator | Value | Comment |
|---|---|---|
UNUSED | 0 (0x00) | |
SPELLS | 1 (0x01) | |
UI | 2 (0x02) | |
FOOTSTEPS | 3 (0x03) | |
WEAPON_IMPACT | 4 (0x04) | |
WEAPON_MISS | 6 (0x06) | |
PICK_UP_PUT_DOWN | 9 (0x09) | |
NPC_COMBAT | 10 (0x0A) | |
ERRORS | 12 (0x0C) | |
OBJECTS | 14 (0x0E) | |
DEATH | 16 (0x10) | |
NPC_GREETINGS | 17 (0x11) | |
TEST | 18 (0x12) | |
ARMOUR_FOLEY | 19 (0x13) | |
FOOTSTEPS_2 | 20 (0x14) | |
WATER_CHARACTER | 21 (0x15) | |
WATER_LIQUID | 22 (0x16) | |
TRADESKILLS | 23 (0x17) | |
DOODADS | 25 (0x19) | |
SPELL_FIZZLE | 26 (0x1A) | |
NPC_LOOPS | 27 (0x1B) | |
ZONE_MUSIC | 28 (0x1C) | |
EMOTES | 29 (0x1D) | |
NARRATION_MUSIC | 30 (0x1E) | |
NARRATION | 31 (0x1F) | |
ZONE_AMBIENCE | 50 (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
| Enumerator | Value | Comment |
|---|---|---|
LIGHT | 0 (0x00) | |
MEDIUM | 1 (0x01) | |
HEAVY | 2 (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
| Enumerator | Value | Comment |
|---|---|---|
WEAPON_NOT_AFFECTED_BY_ANIMATION | 0 (0x00) | |
SHEATHE_WEAPONS_AUTOMATICALLY | 4 (0x04) | |
SHEATHE_WEAPONS_AUTOMATICALLY_2 | 16 (0x10) | |
UNSHEATHE_WEAPONS | 32 (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;
}
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | ProtocolVersion | protocol_version | Determines which version of messages are used for further communication. |
| 0x02 | 2 / Little | u16 | size | |
| 0x04 | 4 / Little | u32 | game_name | |
| 0x08 | 5 / - | Version | version | |
| 0x0D | 4 / - | Platform | platform | |
| 0x11 | 4 / - | Os | os | |
| 0x15 | 4 / - | Locale | locale | |
| 0x19 | 4 / Little | i32 | utc_timezone_offset | Offset in minutes from UTC time. 180 would be UTC+3 |
| 0x1D | 4 / Big | IpAddress | client_ip_address | |
| 0x21 | - / - | String | account_name | Real 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | u8 | protocol_version | Mangos statically sets this to 0. It is unknown exactly what it does. |
| 0x02 | 1 / - | LoginResult | result |
If result is equal to SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x03 | 32 / - | u8[32] | server_public_key | |
| 0x23 | 1 / - | u8 | generator_length | The 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 / - | u8 | large_safe_prime_length | Client can not handle arrays greater than 32. |
| - | ? / - | u8[large_safe_prime_length] | large_safe_prime | |
| - | 32 / - | u8[32] | salt | |
| - | 16 / - | u8[16] | crc_salt | Used 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 32 / - | u8[32] | client_public_key | |
| 0x21 | 20 / - | u8[20] | client_proof | |
| 0x35 | 20 / - | u8[20] | crc_hash | |
| 0x49 | 1 / - | u8 | number_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 32 / - | u8[32] | client_public_key | |
| 0x21 | 20 / - | u8[20] | client_proof | |
| 0x35 | 20 / - | u8[20] | crc_hash | |
| 0x49 | 1 / - | u8 | number_of_telemetry_keys | |
| 0x4A | ? / - | TelemetryKey[number_of_telemetry_keys] | telemetry_keys | |
| - | 1 / - | SecurityFlag | security_flag |
If security_flag is equal to PIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 32 / - | u8[32] | client_public_key | |
| 0x21 | 20 / - | u8[20] | client_proof | |
| 0x35 | 20 / - | u8[20] | crc_hash | |
| 0x49 | 1 / - | u8 | number_of_telemetry_keys | |
| 0x4A | ? / - | TelemetryKey[number_of_telemetry_keys] | telemetry_keys | |
| - | 1 / - | SecurityFlag | security_flag |
If security_flag contains PIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 16 / - | u8[16] | pin_salt | |
| - | 20 / - | u8[20] | pin_hash |
If security_flag contains MATRIX_CARD:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 20 / - | u8[20] | matrix_card_proof | Client 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 32 / - | u8[32] | client_public_key | |
| 0x21 | 20 / - | u8[20] | client_proof | |
| 0x35 | 20 / - | u8[20] | crc_hash | |
| 0x49 | 1 / - | u8 | number_of_telemetry_keys | |
| 0x4A | ? / - | TelemetryKey[number_of_telemetry_keys] | telemetry_keys | |
| - | 1 / - | SecurityFlag | security_flag |
If security_flag contains PIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 16 / - | u8[16] | pin_salt | |
| - | 20 / - | u8[20] | pin_hash |
If security_flag contains MATRIX_CARD:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 20 / - | u8[20] | matrix_card_proof | Client proof of matrix input. Implementation details at https://gist.github.com/barncastle/979c12a9c5e64d810a28ad1728e7e0f9. |
If security_flag contains AUTHENTICATOR:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | String | authenticator | String 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | LoginResult | result |
If result is equal to SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x02 | 20 / - | u8[20] | server_proof | |
| 0x16 | 4 / Little | u32 | hardware_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | LoginResult | result |
If result is equal to SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x02 | 20 / - | u8[20] | server_proof | |
| 0x16 | 4 / Little | u32 | hardware_survey_id | |
| 0x1A | 2 / Little | u16 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | LoginResult | result |
If result is equal to SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x02 | 20 / - | u8[20] | server_proof | |
| 0x16 | 4 / - | AccountFlag | account_flag | |
| 0x1A | 4 / Little | u32 | hardware_survey_id | |
| 0x1E | 2 / Little | u16 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | ProtocolVersion | protocol_version | Determines which version of messages are used for further communication. |
| 0x02 | 2 / Little | u16 | size | |
| 0x04 | 4 / Little | u32 | game_name | |
| 0x08 | 5 / - | Version | version | |
| 0x0D | 4 / - | Platform | platform | |
| 0x11 | 4 / - | Os | os | |
| 0x15 | 4 / - | Locale | locale | |
| 0x19 | 4 / Little | i32 | utc_timezone_offset | Offset in minutes from UTC time. 180 would be UTC+3 |
| 0x1D | 4 / Big | IpAddress | client_ip_address | |
| 0x21 | - / - | String | account_name | Real 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | LoginResult | result |
If result is equal to SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x02 | 16 / - | u8[16] | challenge_data | |
| 0x12 | 16 / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | LoginResult | result |
If result is equal to SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x02 | 16 / - | u8[16] | challenge_data | |
| 0x12 | 16 / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 16 / - | u8[16] | proof_data | |
| 0x11 | 20 / - | u8[20] | client_proof | |
| 0x25 | 20 / - | u8[20] | client_checksum | |
| 0x39 | 1 / - | u8 | key_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | LoginResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | LoginResult | result | |
| 0x02 | 2 / Little | u16 | padding |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 1 / - | LoginResult | result | |
| 0x02 | 2 / Little | u16 | padding |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 4 / Little | u32 | padding |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 2 / Little | u16 | size | |
| 0x03 | 4 / Little | u32 | header_padding | |
| 0x07 | 1 / - | u8 | number_of_realms | |
| 0x08 | ? / - | Realm[number_of_realms] | realms | |
| - | 2 / Little | u16 | footer_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 2 / Little | u16 | size | |
| 0x03 | 4 / Little | u32 | header_padding | |
| 0x07 | 1 / - | u8 | number_of_realms | |
| 0x08 | ? / - | Realm[number_of_realms] | realms | |
| - | 2 / Little | u16 | footer_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 2 / Little | u16 | size | |
| 0x03 | 4 / Little | u32 | header_padding | |
| 0x07 | 2 / Little | u16 | number_of_realms | |
| 0x09 | ? / - | Realm[number_of_realms] | realms | |
| - | 2 / Little | u16 | footer_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 2 / Little | u16 | size | |
| 0x03 | 4 / Little | u32 | header_padding | |
| 0x07 | 2 / Little | u16 | number_of_realms | |
| 0x09 | ? / - | Realm[number_of_realms] | realms | |
| - | 2 / Little | u16 | footer_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 4 / Little | u32 | survey_id | |
| 0x05 | 1 / - | u8 | error | |
| 0x06 | 2 / Little | u16 | compressed_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 2 / Little | u16 | size | |
| 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | - / - | String | filename | |
| - | 8 / Little | u64 | file_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 1 / - | uint8 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | 8 / Little | u64 | offset |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | RealmType | realm_type | |
| 0x04 | 1 / - | RealmFlag | flag | |
| 0x05 | - / - | CString | name | |
| - | - / - | CString | address | |
| - | 4 / Little | Population | population | |
| - | 1 / - | u8 | number_of_characters_on_realm | |
| - | 1 / - | RealmCategory | category | |
| - | 1 / - | u8 | realm_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | RealmType | realm_type | |
| 0x01 | 1 / - | Bool | locked | |
| 0x02 | 1 / - | RealmFlag | flag | |
| 0x03 | - / - | CString | name | |
| - | - / - | CString | address | |
| - | 4 / Little | Population | population | |
| - | 1 / - | u8 | number_of_characters_on_realm | |
| - | 1 / - | RealmCategory | category | |
| - | 1 / - | u8 | realm_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | RealmType | realm_type | vmangos: this is the second column in Cfg_Configs.dbc |
| 0x01 | 1 / - | Bool | locked | |
| 0x02 | 1 / - | RealmFlag | flag | |
| 0x03 | - / - | CString | name | |
| - | - / - | CString | address | |
| - | 4 / Little | Population | population | |
| - | 1 / - | u8 | number_of_characters_on_realm | |
| - | 1 / - | RealmCategory | category | |
| - | 1 / - | u8 | realm_id |
If flag contains SPECIFY_BUILD:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 5 / - | Version | version |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / Little | u16 | unknown1 | |
| 0x02 | 4 / Little | u32 | unknown2 | |
| 0x06 | 4 / - | u8[4] | unknown3 | |
| 0x0A | 20 / - | u8[20] | cd_key_proof | SHA1 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | major | |
| 0x01 | 1 / - | u8 | minor | |
| 0x02 | 1 / - | u8 | patch | |
| 0x03 | 2 / Little | u16 | build |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | achievement | |
| 0x04 | 4 / Little | DateTime | time |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | achievement | |
| 0x04 | - / - | PackedGuid | counter | |
| - | - / - | PackedGuid | player | |
| - | 4 / Little | Bool32 | timed_criteria_failed | |
| - | 4 / Little | DateTime | progress_date | |
| - | 4 / Little | u32 | time_since_progress | |
| - | 4 / Little | u32 | time_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / Little | u16 | action | |
| 0x02 | 1 / - | u8 | action_type | |
| 0x03 | 1 / - | u8 | misc |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | CString | addon_name | |
| - | 1 / - | u8 | addon_has_signature | |
| - | 4 / Little | u32 | addon_crc | |
| - | 4 / Little | u32 | addon_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | addon_type | Other emus hardcode this to 2. More research is required |
| 0x01 | 1 / - | u8 | uses_crc | Other emus hardcode this to 1. |
| 0x02 | 1 / - | Bool | uses_diffent_public_key | |
| 0x03 | 4 / Little | u32 | unknown1 | Other emus hardcode this to 0 |
| 0x07 | 1 / - | u8 | unknown2 | Other 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | 1 / - | Bool | online | |
| 0x09 | - / - | CString | name | |
| - | 1 / - | Level | level | |
| - | 1 / - | Class | class | |
| - | 4 / Little | u32 | games_played_this_week | |
| - | 4 / Little | u32 | wins_this_week | |
| - | 4 / Little | u32 | games_played_this_season | |
| - | 4 / Little | u32 | wins_this_season | |
| - | 4 / Little | u32 | personal_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | 1 / - | Bool | online | |
| 0x09 | - / - | CString | name | |
| - | 1 / - | Level | level | |
| - | 1 / - | Class | class | |
| - | 4 / Little | u32 | games_played_this_week | |
| - | 4 / Little | u32 | wins_this_week | |
| - | 4 / Little | u32 | games_played_this_season | |
| - | 4 / Little | u32 | wins_this_season | |
| - | 4 / Little | u32 | personal_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | enchant_id | |
| 0x04 | 4 / Little | u32 | enchant_duration | |
| 0x08 | 4 / Little | u32 | enchant_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | id | |
| 0x04 | 4 / Little | Item | item | |
| 0x08 | 4 / Little | u32 | item_enchantment | |
| 0x0C | 4 / Little | u32 | item_random_property_id | |
| 0x10 | 4 / Little | u32 | item_suffix_factor | |
| 0x14 | 4 / Little | u32 | item_count | |
| 0x18 | 4 / Little | u32 | item_charges | |
| 0x1C | 8 / Little | Guid | item_owner | |
| 0x24 | 4 / Little | u32 | start_bid | |
| 0x28 | 4 / Little | u32 | minimum_bid | |
| 0x2C | 4 / Little | u32 | buyout_amount | |
| 0x30 | 4 / Little | Milliseconds | time_left | |
| 0x34 | 8 / Little | Guid | highest_bidder | |
| 0x3C | 4 / Little | u32 | highest_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | id | |
| 0x04 | 4 / Little | Item | item | |
| 0x08 | 72 / - | AuctionEnchantment[6] | enchantments | |
| 0x50 | 4 / Little | u32 | item_random_property_id | |
| 0x54 | 4 / Little | u32 | item_suffix_factor | |
| 0x58 | 4 / Little | u32 | item_count | |
| 0x5C | 4 / Little | u32 | item_charges | |
| 0x60 | 4 / Little | u32 | item_flags | mangosone: item flags (dynamic?) (0x04 no lockId?) |
| 0x64 | 8 / Little | Guid | item_owner | |
| 0x6C | 4 / Little | u32 | start_bid | |
| 0x70 | 4 / Little | u32 | minimum_bid | |
| 0x74 | 4 / Little | u32 | buyout_amount | |
| 0x78 | 4 / Little | Milliseconds | time_left | |
| 0x7C | 8 / Little | Guid | highest_bidder | |
| 0x84 | 4 / Little | u32 | highest_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | id | |
| 0x04 | 4 / Little | Item | item | |
| 0x08 | 84 / - | AuctionEnchantment[7] | enchantments | |
| 0x5C | 4 / Little | u32 | item_random_property_id | |
| 0x60 | 4 / Little | u32 | item_suffix_factor | |
| 0x64 | 4 / Little | u32 | item_count | |
| 0x68 | 4 / Little | u32 | item_charges | |
| 0x6C | 4 / Little | u32 | item_flags | mangosone: item flags (dynamic?) (0x04 no lockId?) |
| 0x70 | 8 / Little | Guid | item_owner | |
| 0x78 | 4 / Little | u32 | start_bid | |
| 0x7C | 4 / Little | u32 | minimum_bid | |
| 0x80 | 4 / Little | u32 | buyout_amount | |
| 0x84 | 4 / Little | Milliseconds | time_left | |
| 0x88 | 8 / Little | Guid | highest_bidder | |
| 0x90 | 4 / Little | u32 | highest_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | column | |
| 0x01 | 1 / - | u8 | reversed |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | AuraType | aura_type |
If aura_type is equal to PERIODIC_DAMAGE or
is equal to PERIODIC_DAMAGE_PERCENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | damage1 | |
| 0x08 | 1 / - | SpellSchool | school | |
| 0x09 | 4 / Little | u32 | absorbed | |
| 0x0D | 4 / Little | u32 | resisted | vmangos: Sent as int32 |
Else If aura_type is equal to PERIODIC_HEAL or
is equal to OBS_MOD_HEALTH:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x11 | 4 / Little | u32 | damage2 |
Else If aura_type is equal to OBS_MOD_MANA or
is equal to PERIODIC_ENERGIZE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x15 | 4 / Little | u32 | misc_value1 | vmangos: 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 |
| 0x19 | 4 / Little | u32 | damage3 |
Else If aura_type is equal to PERIODIC_MANA_LEECH:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x1D | 4 / Little | u32 | misc_value2 | vmangos: 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 |
| 0x21 | 4 / Little | u32 | damage | |
| 0x25 | 4 / Little | f32 | gain_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | AuraType | aura_type |
If aura_type is equal to PERIODIC_DAMAGE or
is equal to PERIODIC_DAMAGE_PERCENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | damage1 | |
| 0x08 | 1 / - | SpellSchool | school | |
| 0x09 | 4 / Little | u32 | absorbed | |
| 0x0D | 4 / Little | u32 | resisted | vmangos: Sent as int32 |
Else If aura_type is equal to PERIODIC_HEAL or
is equal to OBS_MOD_HEALTH:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x11 | 4 / Little | u32 | damage2 |
Else If aura_type is equal to OBS_MOD_MANA or
is equal to PERIODIC_ENERGIZE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x15 | 4 / Little | u32 | misc_value1 | vmangos: 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 |
| 0x19 | 4 / Little | u32 | damage3 |
Else If aura_type is equal to PERIODIC_MANA_LEECH:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x1D | 4 / Little | u32 | misc_value2 | vmangos: 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 |
| 0x21 | 4 / Little | u32 | damage | |
| 0x25 | 4 / Little | f32 | gain_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | AuraType | aura_type |
If aura_type is equal to PERIODIC_DAMAGE or
is equal to PERIODIC_DAMAGE_PERCENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | damage1 | |
| 0x08 | 4 / Little | u32 | overkill_damage | |
| 0x0C | 1 / - | SpellSchool | school | |
| 0x0D | 4 / Little | u32 | absorb1 | |
| 0x11 | 4 / Little | u32 | resisted | vmangos: Sent as int32 |
| 0x15 | 1 / - | Bool | critical1 | new 3.1.2 critical tick |
Else If aura_type is equal to PERIODIC_HEAL or
is equal to OBS_MOD_HEALTH:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x16 | 4 / Little | u32 | damage2 | |
| 0x1A | 4 / Little | u32 | over_damage | |
| 0x1E | 4 / Little | u32 | absorb2 | |
| 0x22 | 1 / - | Bool | critical2 | new 3.1.2 critical tick |
Else If aura_type is equal to OBS_MOD_POWER or
is equal to PERIODIC_ENERGIZE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x23 | 4 / Little | u32 | misc_value1 | vmangos: 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 |
| 0x27 | 4 / Little | u32 | damage3 |
Else If aura_type is equal to PERIODIC_MANA_LEECH:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x2B | 4 / Little | u32 | misc_value2 | vmangos: 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 |
| 0x2F | 4 / Little | u32 | damage4 | |
| 0x33 | 4 / Little | f32 | gain_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | visual_slot | |
| 0x01 | 4 / Little | Spell | spell | |
| 0x05 | 1 / - | AuraFlag | flags | |
| 0x06 | 1 / - | Level | level | |
| 0x07 | 1 / - | u8 | aura_stack_count |
If flags contains NOT_CASTER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | - / - | PackedGuid | caster |
If flags contains DURATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | duration | |
| - | 4 / Little | u32 | time_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / Little | u16 | aura | |
| 0x02 | 1 / - | u8 | unknown |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | aura | |
| 0x04 | 1 / - | u8 | unknown |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | flags | |
| 0x04 | 4 / Little | u32 | stacks_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | player | |
| 0x08 | 4 / Little | f32 | position_x | |
| 0x0C | 4 / Little | f32 | position_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | player | |
| 0x08 | 4 / - | PvpRank | rank | |
| 0x0C | 4 / Little | u32 | killing_blows | |
| 0x10 | 4 / Little | u32 | honorable_kills | |
| 0x14 | 4 / Little | u32 | deaths | |
| 0x18 | 4 / Little | u32 | bonus_honor | |
| 0x1C | 4 / Little | u32 | amount_of_extra_fields | |
| 0x20 | ? / - | u32[amount_of_extra_fields] | fields | This 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | unknown1 | Skipped 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | total_cost | vmangos/mangosone: Never used. |
| 0x12 | 4 / Little | u32 | node_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | node_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | source_node | |
| 0x12 | 4 / Little | u32 | destination_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name | |
| - | - / - | CString | note |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | hair | |
| 0x0A | 4 / Little | u32 | hair_color | |
| 0x0E | 4 / Little | u32 | facial_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | trigger_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | arena_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | arena_team | |
| 0x0A | - / - | CString | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | arena_team | |
| 0x0A | - / - | CString | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | arena_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | arena_team | |
| 0x0A | - / - | CString | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | arena_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer | |
| 0x0E | 4 / Little | u32 | start_from_page | |
| 0x12 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer | |
| 0x0E | 4 / Little | u32 | list_start_item | |
| 0x12 | - / - | CString | searched_name | |
| - | 1 / - | u8 | minimum_level | |
| - | 1 / - | u8 | maximum_level | |
| - | 4 / Little | u32 | auction_slot_id | |
| - | 4 / Little | u32 | auction_main_category | |
| - | 4 / Little | u32 | auction_sub_category | |
| - | 4 / - | ItemQuality | auction_quality | |
| - | 1 / - | u8 | usable |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer | |
| 0x0E | 4 / Little | u32 | list_start_item | |
| 0x12 | - / - | CString | searched_name | |
| - | 1 / - | u8 | minimum_level | |
| - | 1 / - | u8 | maximum_level | |
| - | 4 / Little | u32 | auction_slot_id | |
| - | 4 / Little | u32 | auction_main_category | |
| - | 4 / Little | u32 | auction_sub_category | |
| - | 4 / - | ItemQuality | auction_quality | |
| - | 1 / - | u8 | usable | |
| - | 1 / - | u8 | is_full | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer | |
| 0x0E | 4 / Little | u32 | list_start_item | |
| 0x12 | - / - | CString | searched_name | |
| - | 1 / - | u8 | minimum_level | |
| - | 1 / - | u8 | maximum_level | |
| - | 4 / Little | u32 | auction_slot_id | |
| - | 4 / Little | u32 | auction_main_category | |
| - | 4 / Little | u32 | auction_sub_category | |
| - | 4 / - | ItemQuality | auction_quality | |
| - | 1 / - | u8 | usable | |
| - | 1 / - | u8 | is_full | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer | |
| 0x0E | 4 / Little | u32 | list_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer | |
| 0x0E | 4 / Little | u32 | auction_id | |
| 0x12 | 4 / Little | Gold | price |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer | |
| 0x0E | 4 / Little | u32 | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer | |
| 0x0E | 8 / Little | Guid | item | |
| 0x16 | 4 / Little | u32 | starting_bid | |
| 0x1A | 4 / Little | u32 | buyout | |
| 0x1E | 4 / Little | u32 | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer | |
| 0x0E | 4 / Little | u32 | unknown1 | |
| 0x12 | 8 / Little | Guid | item | |
| 0x1A | 4 / Little | u32 | unknown2 | |
| 0x1E | 4 / Little | u32 | starting_bid | |
| 0x22 | 4 / Little | u32 | buyout | |
| 0x26 | 4 / Little | u32 | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | build | |
| 0x0A | 4 / Little | u32 | server_id | This is sent to the client in CMD_REALM_LIST_Server. |
| 0x0E | - / - | CString | username | |
| - | 4 / Little | u32 | client_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | client_build | |
| 0x0A | 4 / Little | u32 | login_server_id | |
| 0x0E | - / - | CString | username | |
| - | 4 / Little | u32 | login_server_type | |
| - | 4 / Little | u32 | client_seed | |
| - | 4 / Little | u32 | region_id | |
| - | 4 / Little | u32 | battleground_id | |
| - | 4 / Little | u32 | realm_id | |
| - | 8 / Little | u64 | dos_response | Purpose 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | bag_index | |
| 0x07 | 1 / - | u8 | slot_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | source_bag | |
| 0x07 | 1 / - | u8 | source_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 1 / - | u8 | destination_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | source_bag | |
| 0x07 | 1 / - | u8 | source_slot | |
| 0x08 | 1 / - | u8 | destination_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | bag_index | |
| 0x07 | 1 / - | u8 | slot_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | BattlegroundType | battleground_type | |
| 0x0A | 1 / - | BattlefieldListLocation | location | |
| 0x0B | 1 / - | Bool | can_gain_exp | azerothcore: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | battle_id | |
| 0x0A | 1 / - | Bool | accepted |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | battle_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | battle_id | |
| 0x0A | 1 / - | Bool | accepted |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | BattlefieldPortAction | action |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Map | map | |
| 0x0A | 1 / - | BattlefieldPortAction | action |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | arena_type | mangosone/mangos-tbc/azerothcore: arenatype if arena |
| 0x07 | 1 / - | u8 | unknown1 | mangosone/mangos-tbc/azerothcore: unk, can be 0x0 (may be if was invited?) and 0x1 |
| 0x08 | 4 / Little | u32 | bg_type_id | mangosone/mangos-tbc/azerothcore: type id from dbc |
| 0x0C | 2 / Little | u16 | unknown2 | mangosone/mangos-tbc/azerothcore: 0x1F90 constant? |
| 0x0E | 1 / - | BattlefieldPortAction | action |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | vmangos: battlemaster guid, or player guid if joining queue from BG portal |
| 0x0E | 4 / - | Map | map | |
| 0x12 | 4 / Little | u32 | instance_id | vmangos: 0 if First Available selected |
| 0x16 | 1 / - | Bool | join_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | vmangos: battlemaster guid, or player guid if joining queue from BG portal |
| 0x0E | 4 / - | Map | map | |
| 0x12 | 4 / Little | u32 | instance_id | vmangos: 0 if First Available selected |
| 0x16 | 1 / - | Bool | join_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | vmangos: battlemaster guid, or player guid if joining queue from BG portal |
| 0x0E | 4 / - | Map | map | |
| 0x12 | 4 / Little | u32 | instance_id | vmangos: 0 if First Available selected |
| 0x16 | 1 / - | Bool | join_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | battlemaster | |
| 0x0E | 1 / - | JoinArenaType | arena_type | |
| 0x0F | 1 / - | Bool | as_group | |
| 0x10 | 1 / - | Bool | rated |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | suggestion | cmangos/vmangos/mangoszero: If 0 received bug report, else received suggestion |
| 0x0A | - / - | SizedCString | content | |
| - | - / - | SizedCString | bug_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / - | BuybackSlot | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | vendor | |
| 0x0E | 4 / Little | Item | item | |
| 0x12 | 1 / - | u8 | amount | |
| 0x13 | 1 / - | u8 | unknown1 | cmangos 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | vendor | |
| 0x0E | 4 / Little | Item | item | |
| 0x12 | 4 / Little | u32 | slot | |
| 0x16 | 1 / - | u8 | amount |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | vendor | |
| 0x0E | 4 / Little | Item | item | |
| 0x12 | 8 / Little | Guid | bag | |
| 0x1A | 1 / - | u8 | bag_slot | |
| 0x1B | 1 / - | u8 | amount |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | vendor | |
| 0x0E | 4 / Little | Item | item | |
| 0x12 | 4 / Little | u32 | vendor_slot | arcemu: VLack: 3.1.2 This is the slot’s number on the vendor’s panel, starts from 1 |
| 0x16 | 8 / Little | Guid | bag | |
| 0x1E | 1 / - | u8 | bag_slot | |
| 0x1F | 1 / - | u8 | amount |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | npc |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | title | |
| - | - / - | CString | description | |
| - | 1 / - | u8 | event_type | |
| - | 1 / - | Bool | repeatable | |
| - | 4 / Little | u32 | maximum_invites | |
| - | 4 / Little | u32 | dungeon_id | |
| - | 4 / Little | DateTime | event_time | |
| - | 4 / Little | DateTime | time_zone_time | |
| - | 4 / Little | u32 | flags | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | arena_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | responsible_player | |
| 0x0E | 8 / Little | Guid | event | |
| 0x16 | 8 / Little | Guid | invite_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | event | |
| 0x0E | 8 / Little | Guid | invite_id | |
| 0x16 | 4 / Little | DateTime | time |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | event | |
| 0x0E | 8 / Little | Guid | invite_id | |
| 0x16 | - / - | CString | name | |
| - | 1 / - | Bool | pre_event | |
| - | 1 / - | Bool | guild_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | event | |
| 0x0E | 8 / Little | Guid | invite_id | |
| 0x16 | 8 / Little | Guid | sender_invite_id | |
| 0x1E | 1 / - | CalendarModeratorRank | rank |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | event | |
| 0x0E | 8 / Little | Guid | sender_invite_id | |
| 0x16 | 8 / Little | Guid | invite_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | event | |
| 0x0E | 8 / Little | Guid | invite_id | |
| 0x16 | 4 / - | CalendarStatus | status |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | event_id | |
| 0x0E | 1 / - | Bool | tentative |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | event | |
| 0x0E | 8 / Little | Guid | invite_id | |
| 0x16 | 8 / Little | Guid | sender_invite_id | |
| 0x1E | 1 / - | CalendarStatus | status |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | event |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Level32 | minimum_level | |
| 0x0A | 4 / Little | Level32 | maximum_level | |
| 0x0E | 4 / Little | u32 | minimum_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | event | |
| 0x0E | 8 / Little | Guid | invite_id | |
| 0x16 | 4 / Little | u32 | flags |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | event | |
| 0x0E | 8 / Little | Guid | invite_id | |
| 0x16 | - / - | CString | title | |
| - | - / - | CString | description | |
| - | 1 / - | u8 | event_type | |
| - | 1 / - | Bool | repeatable | |
| - | 4 / Little | u32 | maximum_invites | |
| - | 4 / Little | u32 | dungeon_id | |
| - | 4 / Little | DateTime | event_time | |
| - | 4 / Little | DateTime | time_zone_time | |
| - | 4 / Little | u32 | flags |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Spell | spell | |
| 0x0A | - / - | SpellCastTargets | targets |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Spell | spell | |
| 0x0A | - / - | SpellCastTargets | targets |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | vehicle | |
| - | - / - | MovementInfo | info | |
| - | - / - | PackedGuid | accessory | |
| - | 1 / - | u8 | seat |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | channel_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name | |
| - | 1 / - | Race | race | |
| - | 1 / - | Class | class | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin_color | |
| - | 1 / - | u8 | face | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | facial_hair | |
| - | 1 / - | u8 | outfit_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name | |
| - | 1 / - | Race | race | |
| - | 1 / - | Class | class | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin_color | |
| - | 1 / - | u8 | face | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | facial_hair | |
| - | 1 / - | u8 | outfit_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name | |
| - | 1 / - | Race | race | |
| - | 1 / - | Class | class | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin_color | |
| - | 1 / - | u8 | face | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | facial_hair | |
| - | 1 / - | u8 | outfit_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | - / - | CString | new_name | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin_color | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | facial_hair | |
| - | 1 / - | u8 | face |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | - / - | CString | name | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin_color | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | facial_hair | |
| - | 1 / - | u8 | face | |
| - | 1 / - | Race | race |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | - / - | CString | name | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin_color | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | facial_hair | |
| - | 1 / - | u8 | face | |
| - | 1 / - | Race | race |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | character | |
| 0x0E | - / - | CString | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 1 / - | u8 | unknown | mangosone/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | trade_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | CommentatorEnableOption | option |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | CommentatorEnableOption | option |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
If complaint_type is equal to MAIL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0F | 4 / Little | u32 | unknown1 | |
| 0x13 | 4 / Little | u32 | mail_id | |
| 0x17 | 4 / Little | u32 | unknown2 |
Else If complaint_type is equal to CHAT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x1B | 4 / Little | u32 | language | |
| 0x1F | 4 / Little | u32 | message_type | |
| 0x23 | 4 / Little | u32 | channel_id | |
| 0x27 | 4 / Little | u32 | time | |
| 0x2B | - / - | CString | description |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
If complaint_type is equal to MAIL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0F | 4 / Little | u32 | unknown1 | |
| 0x13 | 4 / Little | u32 | mail_id | |
| 0x17 | 4 / Little | u32 | unknown2 |
Else If complaint_type is equal to CHAT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x1B | 4 / Little | u32 | language | |
| 0x1F | 4 / Little | u32 | message_type | |
| 0x23 | 4 / Little | u32 | channel_id | |
| 0x27 | 4 / Little | u32 | time | |
| 0x2B | - / - | CString | description |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | flags | Sent 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | creature | |
| 0x0A | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | query |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | set |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | bag | |
| 0x07 | 1 / - | u8 | slot | |
| 0x08 | 1 / - | u8 | amount | |
| 0x09 | 1 / - | u8 | unknown1 | |
| 0x0A | 1 / - | u8 | unknown2 | |
| 0x0B | 1 / - | u8 | unknown3 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | critter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Emote | emote |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Emote | emote |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Emote | emote |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | index | |
| - | - / - | CString | name | |
| - | - / - | CString | icon_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 190 / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | FarSightOperation | operation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | movement_counter | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | movement_counter | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | movement_counter | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | entry_id | |
| 0x0A | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | survey_id | cmangos: Survey ID: found in GMSurveySurveys.dbc |
| 0x0A | ? / - | GmSurveyQuestion[10] | questions | |
| - | - / - | CString | answer_comment | cmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | GmTicketType | category | |
| 0x07 | 4 / - | Map | map | |
| 0x0B | 12 / - | Vector3d | position | |
| 0x17 | - / - | CString | message | |
| - | - / - | CString | reserved_for_future_use | cmangos/vmangos/mangoszero: Pre-TBC: ‘Reserved for future use’ cmangos/vmangos/mangoszero: Unused |
If category is equal to BEHAVIOR_HARASSMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | chat_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | GmTicketType | category | |
| 0x07 | 4 / - | Map | map | |
| 0x0B | 12 / - | Vector3d | position | |
| 0x17 | - / - | CString | message | |
| - | - / - | CString | reserved_for_future_use | cmangos/vmangos/mangoszero: Pre-TBC: ‘Reserved for future use’ cmangos/vmangos/mangoszero: Unused |
If category is equal to BEHAVIOR_HARASSMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | chat_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Map | map | |
| 0x0A | 12 / - | Vector3d | position | |
| 0x16 | - / - | CString | message | |
| - | 1 / - | Bool | needs_response | |
| - | 1 / - | Bool | needs_more_help | |
| - | 4 / Little | u32 | num_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | GmTicketType | ticket_type | cmangos does not have this field, vmangos does. |
| 0x07 | - / - | CString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | lag_type | |
| 0x0A | 4 / - | Map | map | |
| 0x0E | 12 / - | Vector3d | position |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | gossip_list_id |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x12 | - / - | CString | code | vmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | menu_id | |
| 0x12 | 4 / Little | u32 | gossip_list_id |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x16 | - / - | CString | code | vmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 1 / - | Bool | set_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name | |
| - | 1 / - | u8 | group_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name | |
| - | 4 / Little | u32 | unknown1 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name | |
| - | - / - | CString | swap_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | - / - | CString | reason |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | rank_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | bank | |
| 0x0E | 1 / - | Bool | full_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | bank | |
| 0x0E | 1 / - | Bool | full_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | banker | |
| 0x0E | 1 / - | u8 | tab |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | banker | |
| 0x0E | 1 / - | u8 | tab |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | bank | |
| 0x0E | 4 / Little | Gold | money |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | bank | |
| 0x0E | 4 / Little | Gold | money |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | bank | |
| 0x0E | 1 / - | u8 | tab | |
| 0x0F | 1 / - | Bool | full_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | bank | |
| 0x0E | 1 / - | u8 | tab | |
| 0x0F | 1 / - | Bool | full_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | bank | |
| 0x0E | 1 / - | u8 | tab | |
| 0x0F | - / - | CString | name | |
| - | - / - | CString | icon |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | bank | |
| 0x0E | 1 / - | u8 | tab | |
| 0x0F | - / - | CString | name | |
| - | - / - | CString | icon |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | bank | |
| 0x0E | 4 / Little | Gold | money |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | bank | |
| 0x0E | 4 / Little | Gold | money |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | guild_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | guild_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | invited_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | message_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | guild_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | rank_id | |
| 0x0A | 4 / Little | u32 | rights | |
| 0x0E | - / - | CString | rank_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | rank_id | |
| 0x0A | 4 / Little | u32 | rights | |
| 0x0E | - / - | CString | rank_name | |
| - | 4 / Little | Gold | money_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | player_name | |
| - | - / - | CString | note | vmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | player_name | |
| - | - / - | CString | note |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | Bool | accept |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Item | item | |
| 0x0A | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Item | item | |
| 0x0A | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Item | item |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | item |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | item |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | item_text_id | |
| 0x0A | 4 / Little | u32 | mail_id | vmangos/cmangos/mangoszero: this value can be item id in bag, but it is also mail id |
| 0x0E | 4 / Little | u32 | unknown1 | vmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | item |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_name | |
| - | - / - | CString | channel_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | channel_id | |
| 0x0A | 1 / - | u8 | unknown1 | |
| 0x0B | 1 / - | u8 | unknown2 | |
| 0x0C | - / - | CString | channel_name | |
| - | - / - | CString | channel_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | pet | |
| 0x0E | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Talent | talent | |
| 0x0A | 4 / Little | u32 | requested_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Talent | talent | |
| 0x0A | 4 / Little | u32 | requested_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Talent | talent | |
| 0x0A | 4 / Little | u32 | requested_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | unknown1 | |
| 0x07 | 1 / - | u8 | unknown2 | |
| 0x08 | 4 / - | Map | map | |
| 0x0C | 2 / Little | u16 | unknown3 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | unknown1 | |
| 0x07 | 1 / - | u8 | unknown2 | |
| 0x08 | 4 / - | Map | map | |
| 0x0C | 2 / Little | u16 | unknown3 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | channel_id | |
| 0x0A | - / - | CString | channel_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | roles | |
| 0x0A | 1 / - | Bool | no_partial_clear | |
| 0x0B | 1 / - | Bool | achievements | |
| 0x0C | 1 / - | u8 | amount_of_slots | |
| 0x0D | ? / - | u32[amount_of_slots] | slots | |
| - | 1 / - | u8 | amount_of_needs | |
| - | ? / - | u8[amount_of_needs] | needs | |
| - | - / - | CString | comment |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | proposal_id | |
| 0x0A | 1 / - | Bool | accept_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | Bool | agree_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | roles |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | LfgTeleportLocation | location |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | loot | |
| 0x0E | 1 / - | u8 | slot_id | |
| 0x0F | 8 / Little | Guid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | GroupLootSetting | loot_setting | |
| 0x0A | 8 / Little | Guid | loot_master | |
| 0x12 | 4 / - | ItemQuality | loot_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | GroupLootSetting | loot_setting | |
| 0x0A | 8 / Little | Guid | loot_master | |
| 0x12 | 4 / - | ItemQuality | loot_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | GroupLootSetting | loot_setting | |
| 0x0A | 8 / Little | Guid | loot_master | |
| 0x12 | 4 / - | ItemQuality | loot_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | item | |
| 0x0E | 4 / Little | u32 | item_slot | |
| 0x12 | 1 / - | RollVote | vote |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | item | |
| 0x0E | 4 / Little | u32 | item_slot | |
| 0x12 | 1 / - | RollVote | vote |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox | |
| 0x0E | 4 / Little | u32 | mail_id | |
| 0x12 | 4 / Little | u32 | mail_template_id | mangoszero/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox | |
| 0x0E | 4 / Little | u32 | mail_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox_id | |
| 0x0E | 4 / Little | u32 | mail_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox_id | |
| 0x0E | 4 / Little | u32 | mail_id | |
| 0x12 | 4 / Little | u32 | mail_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox | |
| 0x0E | 4 / Little | u32 | mail_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox_id | |
| 0x0E | 4 / Little | u32 | mail_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox | |
| 0x0E | 4 / Little | u32 | mail_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox | |
| 0x0E | 4 / Little | u32 | mail_id | |
| 0x12 | 4 / Little | Item | item |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox | |
| 0x0E | 4 / Little | u32 | mail_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
If chat_type is equal to WHISPER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0E | - / - | CString | target_player |
Else If chat_type is equal to CHANNEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | channel | |
| - | - / - | CString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
If chat_type is equal to WHISPER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0E | - / - | CString | target_player |
Else If chat_type is equal to CHANNEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | channel | |
| - | - / - | CString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
If chat_type is equal to WHISPER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0E | - / - | CString | target_player |
Else If chat_type is equal to CHANNEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | channel | |
| - | - / - | CString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | apply |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | apply |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | apply |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | unknown | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | unknown | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | is_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | is_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | is_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | old_mover | |
| 0x0E | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | old_mover | |
| 0x0E | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | old_mover | |
| 0x0E | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | Bool32 | applied |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | 4 / Little | u32 | counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | Bool32 | applied |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | unknown1 | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | unknown2 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | player | |
| - | 4 / Little | u32 | movement_counter | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 12 / - | Vector3d | position | |
| 0x12 | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | movement_counter | |
| - | 4 / Little | u32 | unknown1 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | movement_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | movement_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | lag |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | lag |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | apply |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | apply |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | movement_counter | |
| 0x12 | - / - | MovementInfo | info | |
| - | 4 / Little | u32 | apply |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | text_id | |
| 0x0A | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | unknown0 | |
| 0x0A | 8 / Little | Guid | petition | |
| 0x12 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | bag_index | |
| 0x07 | 1 / - | u8 | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Bool32 | pass_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Bool32 | pass_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | page_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | page_id | |
| 0x0A | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | npc | |
| 0x0E | 4 / Little | u32 | unknown1 | |
| 0x12 | 8 / Little | Guid | unknown2 | |
| 0x1A | - / - | CString | name | |
| - | 4 / Little | u32 | unknown3 | |
| - | 4 / Little | u32 | unknown4 | |
| - | 4 / Little | u32 | unknown5 | |
| - | 4 / Little | u32 | unknown6 | |
| - | 4 / Little | u32 | unknown7 | |
| - | 4 / Little | u32 | unknown8 | |
| - | 4 / Little | u32 | unknown9 | |
| - | 4 / Little | u32 | unknown10 | |
| - | 4 / Little | u32 | unknown11 | |
| - | 4 / Little | u32 | unknown12 | |
| - | 2 / Little | u16 | unknown13 | |
| - | 1 / - | u8 | unknown14 | |
| - | 4 / Little | u32 | index | cmangos/vmangos/mangoszero: Named but never used |
| - | 4 / Little | u32 | unknown15 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | npc | |
| 0x0E | 4 / Little | u32 | unknown1 | |
| 0x12 | 8 / Little | Guid | unknown2 | |
| 0x1A | - / - | CString | name | |
| - | - / - | CString | unknown3 | |
| - | 4 / Little | u32 | unknown4 | |
| - | 4 / Little | u32 | unknown5 | |
| - | 4 / Little | u32 | unknown6 | |
| - | 4 / Little | u32 | unknown7 | |
| - | 4 / Little | u32 | unknown8 | |
| - | 4 / Little | u32 | unknown9 | |
| - | 4 / Little | u32 | unknown10 | |
| - | 2 / Little | u16 | unknown11 | |
| - | 4 / Little | u32 | unknown12 | |
| - | 4 / Little | u32 | unknown13 | |
| - | 4 / Little | u32 | unknown14 | |
| - | ? / - | CString[10] | unknown15 | |
| - | 4 / Little | u32 | index | |
| - | 4 / Little | u32 | unknown16 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | guild_id | |
| 0x0A | 8 / Little | Guid | petition |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | item |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | petition | |
| 0x0E | 1 / - | u8 | unknown1 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | pet |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | pet | |
| 0x0E | 4 / Little | u32 | data | |
| 0x12 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | Spell | id | |
| 0x12 | - / - | SpellCastTargets | targets |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | Spell | id | |
| 0x12 | - / - | SpellCastTargets | targets |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | pet | |
| 0x0E | 4 / Little | u32 | talent | |
| 0x12 | 4 / Little | u32 | rank |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | pet_number | |
| 0x0A | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | pet | |
| 0x0E | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | pet | |
| 0x0E | - / - | CString | name | |
| - | 1 / - | Bool | declined |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | position1 | |
| 0x12 | 4 / Little | u32 | data1 |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x16 | 4 / Little | u32 | position2 | |
| 0x1A | 4 / Little | u32 | data2 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | Spell | id | |
| 0x12 | 1 / - | Bool | autocast_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | pet |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | pet |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | sequence_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | sequence_id | |
| 0x0A | 4 / Little | u32 | round_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | Bool | show_on_ui | Whether 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | vehicle |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | quest_id | |
| 0x12 | 4 / Little | u32 | reward |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | quest_id | |
| 0x12 | 1 / - | u8 | unknown1 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | slot1 | |
| 0x07 | 1 / - | u8 | slot2 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | bag_index | |
| 0x07 | 1 / - | u8 | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | realm_id | Realm 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | glyph |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | npc | |
| 0x0E | 8 / Little | Guid | item | |
| 0x16 | 1 / - | Bool | from_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | data_type | The 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | vehicle | |
| 0x0E | 1 / - | u8 | seat |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 1 / - | u8 | status |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | dungeon_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | dungeon_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | vendor | |
| 0x0E | 8 / Little | Guid | item | |
| 0x16 | 1 / - | u8 | amount |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox | |
| 0x0E | - / - | CString | receiver | |
| - | - / - | CString | subject | |
| - | - / - | CString | body | |
| - | 4 / Little | u32 | unknown1 | cmangos: stationery? |
| - | 4 / Little | u32 | unknown2 | cmangos: 0x00000000 |
| - | 8 / Little | Guid | item | |
| - | 4 / Little | Gold | money | |
| - | 4 / Little | u32 | cash_on_delivery_amount | |
| - | 4 / Little | u32 | unknown3 | cmangos: const 0 |
| - | 4 / Little | u32 | unknown4 | cmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | mailbox | |
| 0x0E | - / - | CString | receiver | |
| - | - / - | CString | subject | |
| - | - / - | CString | body | |
| - | 4 / Little | u32 | unknown1 | cmangos: stationery? |
| - | 4 / Little | u32 | unknown2 | cmangos: 0x00000000 |
| - | 1 / - | u8 | amount_of_items | |
| - | ? / - | MailItem[amount_of_items] | items | |
| - | 4 / Little | Gold | money | |
| - | 4 / Little | u32 | cash_on_delivery_amount | |
| - | 4 / Little | u32 | unknown3 | mangosone: const 0 |
| - | 4 / Little | u32 | unknown4 | mangosone: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | SheathState | sheathed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | action_bar | Emulators 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | button | |
| 0x07 | 2 / Little | u16 | action | |
| 0x09 | 1 / - | u8 | misc | |
| 0x0A | 1 / - | u8 | action_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | unknown1 | |
| 0x0A | - / - | CString | unknown2 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | unknown1 | |
| 0x0A | - / - | CString | unknown2 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Item | item |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | channel |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | - / - | CString | note |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 2 / - | Faction | faction | |
| 0x08 | 1 / - | FactionFlag | flags |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 2 / - | Faction | faction | |
| 0x08 | 1 / - | FactionFlag | flags |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 2 / - | Faction | faction | |
| 0x08 | 1 / - | FactionFlag | flags |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 2 / - | Faction | faction | |
| 0x08 | 1 / - | Bool | inactive |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 2 / - | Faction | faction | |
| 0x08 | 1 / - | Bool | inactive |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 2 / - | Faction | faction | |
| 0x08 | 1 / - | Bool | inactive |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | tab | |
| 0x07 | - / - | CString | text |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | tab | |
| 0x07 | - / - | CString | text |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | comment |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | slot | |
| 0x0A | 4 / - | LfgData | data |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | LfgData | data |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | - / - | CString | name | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player | |
| 0x0E | - / - | CString | name | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Map | map | |
| 0x0A | 1 / - | RaidDifficulty | difficulty | |
| 0x0B | 1 / - | Bool | toggle_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | mode |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | title |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Gold | gold |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | trade_slot | |
| 0x07 | 1 / - | u8 | bag | |
| 0x08 | 1 / - | u8 | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | reputation_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 2 / - | Faction | faction |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 2 / - | Faction | faction |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 2 / - | Faction | faction |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | source_bag | |
| 0x07 | 1 / - | u8 | source_slot | |
| 0x08 | 1 / - | u8 | destination_bag | |
| 0x09 | 1 / - | u8 | destination_slot | |
| 0x0A | 1 / - | u8 | amount |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | source_bag | |
| 0x07 | 1 / - | u8 | source_slot | |
| 0x08 | 1 / - | u8 | destination_bag | |
| 0x09 | 1 / - | u8 | destination_slot | |
| 0x0A | 4 / Little | u32 | amount |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | stable_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | npc | |
| 0x0E | 4 / Little | u32 | pet_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | UnitStandState | animation_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | summoner |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | summoner | |
| 0x0E | 1 / - | Bool | agree |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | ItemSlot | source_slot | |
| 0x07 | 1 / - | ItemSlot | destination_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | ItemSlot | source_slot | |
| 0x07 | 1 / - | ItemSlot | destination_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | ItemSlot | source_slot | |
| 0x07 | 1 / - | ItemSlot | destination_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | destination_bag | |
| 0x07 | 1 / - | u8 | destionation_slot | |
| 0x08 | 1 / - | u8 | source_bag | |
| 0x09 | 1 / - | u8 | source_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | TextEmote | text_emote | |
| 0x0A | 4 / Little | u32 | emote | |
| 0x0E | 8 / Little | Guid | target | Guid 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | TextEmote | text_emote | |
| 0x0A | 4 / Little | u32 | emote | |
| 0x0E | 8 / Little | Guid | target | Guid 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | TextEmote | text_emote | |
| 0x0A | 4 / Little | u32 | emote | |
| 0x0E | 8 / Little | Guid | target | Guid 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | time_sync | Can 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. |
| 0x0A | 4 / Little | u32 | client_ticks | You 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | Bool | enable_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | petition |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | tutorial_flag | arcemu 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Skill | skill |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Skill | skill |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Skill | skill |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | stable_master | |
| 0x0E | 4 / Little | u32 | pet_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | AccountDataType | data_type | Exact 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | data_type | You can check this against the CacheMask to find out if this is character-specific data or account-wide data |
| 0x0A | 4 / Little | u32 | unix_time | Seconds since unix epoch. The client wants this number back when it requests the ACCOUNT_DATA_TIMES |
| 0x0E | ? / - | u8[-] | compressed_data | Compressed 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid | |
| 0x0E | 4 / Little | Spell | spell | |
| 0x12 | 4 / Little | f32 | elevation | |
| 0x16 | 4 / Little | f32 | speed | |
| 0x1A | 12 / - | Vector3d | position | |
| 0x26 | 12 / - | Vector3d | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | caster | |
| 0x0E | 4 / Little | Spell | spell | |
| 0x12 | 1 / - | u8 | cast_count | |
| 0x13 | 12 / - | Vector3d | position |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | bag_index | |
| 0x07 | 1 / - | u8 | bag_slot | |
| 0x08 | 1 / - | u8 | spell_index | |
| 0x09 | - / - | SpellCastTargets | targets |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | bag_index | |
| 0x07 | 1 / - | u8 | bag_slot | |
| 0x08 | 1 / - | u8 | spell_index | |
| 0x09 | 1 / - | u8 | cast_count | mangosone: next cast if exists (single or not) |
| 0x0A | 8 / Little | Guid | item | |
| 0x12 | - / - | SpellCastTargets | targets |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | Bool | voice_enabled | |
| 0x07 | 1 / - | Bool | microphone_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | CString | character |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Level32 | minimum_level | |
| 0x0A | 4 / Little | Level32 | maximum_level | |
| 0x0E | - / - | CString | player_name | |
| - | - / - | CString | guild_name | |
| - | 4 / Little | u32 | race_mask | |
| - | 4 / Little | u32 | class_mask | |
| - | 4 / Little | u32 | amount_of_zones | |
| - | ? / - | u32[amount_of_zones] | zones | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Milliseconds | time | |
| 0x0A | 4 / - | Map | map | |
| 0x0E | 12 / - | Vector3d | position | |
| 0x1A | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Milliseconds | time | |
| 0x0A | 4 / - | Map | map | |
| 0x0E | 12 / - | Vector3d | position | |
| 0x1A | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | Milliseconds | time | |
| 0x0A | 4 / - | Map | map | |
| 0x0E | 8 / Little | u64 | unknown | |
| 0x16 | 12 / - | Vector3d | position | |
| 0x22 | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | gift_bag_index | |
| 0x07 | 1 / - | u8 | gift_slot | |
| 0x08 | 1 / - | u8 | item_bag_index | |
| 0x09 | 1 / - | u8 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Area | area |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Area | area |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | Area | area |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | 1 / - | u8 | status | |
| - | 1 / - | u8 | rank |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | member | |
| - | 1 / - | Level | level |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | invitee | |
| - | 1 / - | Level | level | |
| - | 1 / - | u8 | status | |
| - | 1 / - | u8 | rank | |
| - | 1 / - | u8 | guild_member | |
| - | 8 / Little | Guid | invite_id | |
| - | 4 / Little | DateTime | status_time | |
| - | - / - | CString | text |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | 1 / - | ChannelMemberFlags | member_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | equipment_display_id | |
| 0x04 | 1 / - | InventoryType | inventory_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | equipment_display_id | |
| 0x04 | 1 / - | InventoryType | inventory_type | |
| 0x05 | 4 / Little | u32 | enchantment |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | equipment_display_id | |
| 0x04 | 1 / - | InventoryType | inventory_type | |
| 0x05 | 4 / Little | u32 | enchantment |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | - / - | CString | name | |
| - | 1 / - | Race | race | |
| - | 1 / - | Class | class | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin | |
| - | 1 / - | u8 | face | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | facial_hair | |
| - | 1 / - | Level | level | |
| - | 4 / - | Area | area | |
| - | 4 / - | Map | map | |
| - | 12 / - | Vector3d | position | |
| - | 4 / Little | u32 | guild_id | |
| - | 4 / - | CharacterFlags | flags | |
| - | 1 / - | Bool | first_login | |
| - | 4 / Little | u32 | pet_display_id | |
| - | 4 / Little | Level32 | pet_level | |
| - | 4 / - | CreatureFamily | pet_family | |
| - | 95 / - | CharacterGear[19] | equipment | |
| - | 4 / Little | u32 | first_bag_display_id | |
| - | 1 / - | u8 | first_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | - / - | CString | name | |
| - | 1 / - | Race | race | |
| - | 1 / - | Class | class | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin | |
| - | 1 / - | u8 | face | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | facial_hair | |
| - | 1 / - | Level | level | |
| - | 4 / - | Area | area | |
| - | 4 / - | Map | map | |
| - | 12 / - | Vector3d | position | |
| - | 4 / Little | u32 | guild_id | |
| - | 4 / Little | u32 | flags | |
| - | 1 / - | Bool | first_login | |
| - | 4 / Little | u32 | pet_display_id | |
| - | 4 / Little | Level32 | pet_level | |
| - | 4 / - | CreatureFamily | pet_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | - / - | CString | name | |
| - | 1 / - | Race | race | |
| - | 1 / - | Class | class | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin | |
| - | 1 / - | u8 | face | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | facial_hair | |
| - | 1 / - | Level | level | |
| - | 4 / - | Area | area | |
| - | 4 / - | Map | map | |
| - | 12 / - | Vector3d | position | |
| - | 4 / Little | u32 | guild_id | |
| - | 4 / Little | u32 | flags | |
| - | 4 / Little | u32 | recustomization_flags | |
| - | 1 / - | Bool | first_login | |
| - | 4 / Little | u32 | pet_display_id | |
| - | 4 / Little | Level32 | pet_level | |
| - | 4 / - | CreatureFamily | pet_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | size | |
| 0x01 | 2 / - | CompressedMoveOpcode | opcode | |
| 0x03 | - / - | PackedGuid | guid |
If opcode is equal to SMSG_SPLINE_SET_RUN_SPEED:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | speed |
Else If opcode is equal to SMSG_MONSTER_MOVE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | MonsterMove | monster_move |
Else If opcode is equal to SMSG_MONSTER_MOVE_TRANSPORT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | transport | |
| - | - / - | MonsterMove | monster_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / Little | u16 | spell_id | |
| 0x02 | 2 / Little | u16 | item_id | cmangos/mangoszero: cast item id |
| 0x04 | 2 / Little | u16 | spell_category | |
| 0x06 | 4 / Little | Milliseconds | cooldown | |
| 0x0A | 4 / Little | Milliseconds | category_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | spell_school_mask | |
| 0x04 | 4 / Little | f32 | damage_float | vmangos sends the same data in damage_uint. |
| 0x08 | 4 / Little | u32 | damage_uint | vmangos sends the same data in damage_float. |
| 0x0C | 4 / Little | u32 | absorb | |
| 0x10 | 4 / Little | u32 | resist |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | spell_school_mask | |
| 0x04 | 4 / Little | f32 | damage_float | arcemu sends the same data in damage_uint. |
| 0x08 | 4 / Little | u32 | damage_uint | arcemu 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Spell | spell | |
| 0x04 | 1 / - | DispelMethod | method |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | - / - | CString | name | |
| - | - / - | CString | icon_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | item | |
| 0x08 | 1 / - | u8 | source_bag | |
| 0x09 | 1 / - | u8 | source_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | FactionFlag | flag | |
| 0x01 | 4 / Little | u32 | standing |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | FactionFlag | flag | |
| 0x01 | 4 / Little | u32 | standing |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / - | Faction | faction | |
| 0x02 | 4 / Little | u32 | standing |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / - | Faction | faction | |
| 0x02 | 4 / Little | u32 | standing |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / - | Faction | faction | |
| 0x02 | 4 / Little | u32 | standing |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / - | Faction | faction | |
| 0x02 | 4 / Little | u32 | reputation_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / - | Faction | faction | |
| 0x02 | 4 / Little | u32 | reputation_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / - | Faction | faction | |
| 0x02 | 4 / Little | u32 | reputation_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | 1 / - | FriendStatus | status |
If status is not equal to OFFLINE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x09 | 4 / - | Area | area | |
| 0x0D | 4 / Little | Level32 | level | |
| 0x11 | 4 / - | Class | class |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | question_id | cmangos: questions found in GMSurveyQuestions.dbc ref to i’th GMSurveySurveys.dbc field (all fields in that dbc point to fields in GMSurveyQuestions.dbc) |
| 0x04 | 1 / - | u8 | answer | Rating: hardcoded limit of 0-5 in pre-Wrath, ranges defined in GMSurveyAnswers.dbc Wrath+ |
| 0x05 | - / - | CString | comment | Usage: 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | id | vmangos: sets to loop index |
| 0x04 | 1 / - | u8 | item_icon | |
| 0x05 | 1 / - | Bool | coded | vmangos: makes pop up box password |
| 0x06 | - / - | CString | message |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | id | vmangos: sets to loop index |
| 0x04 | 1 / - | u8 | item_icon | |
| 0x05 | 1 / - | Bool | coded | vmangos: makes pop up box password |
| 0x06 | 4 / Little | Gold | money_required | mangosone: 2.0.3 |
| 0x0A | - / - | CString | message | |
| - | - / - | CString | accept_text | mangosone: 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | CString | name | |
| - | 8 / Little | Guid | guid | |
| - | 1 / - | Bool | is_online | |
| - | 1 / - | u8 | flags | mangoszero/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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | CString | name | |
| - | 8 / Little | Guid | guid | |
| - | 1 / - | Bool | is_online | |
| - | 1 / - | u8 | group_id | |
| - | 1 / - | u8 | flags | mangosone: 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | CString | name | |
| - | 8 / Little | Guid | guid | |
| - | 1 / - | Bool | is_online | |
| - | 1 / - | u8 | group_id | |
| - | 1 / - | u8 | flags | mangosone: 0x2 main assist, 0x4 main tank |
| - | 1 / - | u8 | lfg_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | rights | |
| 0x04 | 4 / Little | u32 | slots_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | slot | |
| 0x01 | 4 / Little | Item | item | |
| 0x05 | - / - | VariableItemRandomProperty | item_random_property_id | |
| - | 1 / - | u8 | amount_of_items | |
| - | 4 / Little | u32 | enchant | |
| - | 1 / - | u8 | charges | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | slot | |
| 0x01 | 4 / Little | Item | item | |
| 0x05 | 4 / Little | u32 | unknown1 | 3.3.0 (0x8000, 0x8020) |
| 0x09 | - / - | VariableItemRandomProperty | item_random_property_id | |
| - | 4 / Little | u32 | amount_of_items | |
| - | 4 / Little | u32 | unknown2 | |
| - | 1 / - | u8 | unknown3 | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | socket_index | |
| 0x01 | 4 / Little | u32 | gem |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | CString | tab_name | |
| - | - / - | CString | tab_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | GuildEvent | event | |
| 0x01 | 8 / Little | Guid | player1 |
If event is equal to JOINED or
is equal to LEFT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x09 | 8 / Little | Guid | player2 |
Else If event is equal to PROMOTION or
is equal to DEMOTION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x11 | 1 / - | u8 | new_rank | |
| 0x12 | 4 / Little | u32 | unix_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | 1 / - | GuildMemberStatus | status | |
| 0x09 | - / - | CString | name | |
| - | 4 / Little | u32 | rank | |
| - | 1 / - | Level | level | |
| - | 1 / - | Class | class | |
| - | 4 / - | Area | area |
If status is equal to OFFLINE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | time_offline | |
| - | - / - | CString | public_note | |
| - | - / - | CString | officer_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | 1 / - | GuildMemberStatus | status | |
| 0x09 | - / - | CString | name | |
| - | 4 / Little | u32 | rank | |
| - | 1 / - | Level | level | |
| - | 1 / - | Class | class | |
| - | 1 / - | u8 | unknown1 | mangosone: new 2.4.0 Possibly gender |
| - | 4 / - | Area | area |
If status is equal to OFFLINE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | time_offline | |
| - | - / - | CString | public_note | |
| - | - / - | CString | officer_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | 4 / Little | u32 | unknown | arcemu: high guid |
| 0x0C | 1 / - | GuildMemberStatus | status | |
| 0x0D | - / - | CString | name | |
| - | 4 / Little | u32 | rank | |
| - | 1 / - | Level | level | |
| - | 1 / - | Class | class | |
| - | 1 / - | Gender | gender | |
| - | 4 / - | Area | area |
If status is equal to OFFLINE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | time_offline | |
| - | - / - | CString | public_note | |
| - | - / - | CString | officer_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | rights | |
| 0x04 | 4 / Little | Gold | money_per_day | |
| 0x08 | 48 / - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / Little | u16 | spell_id | cmangos/mangoszero: only send ‘first’ part of spell |
| 0x02 | 2 / Little | u16 | unknown1 | cmangos/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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | spell_id | cmangos/mangoszero: only send ‘first’ part of spell |
| 0x04 | 2 / Little | u16 | unknown1 | cmangos/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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Item | item | |
| 0x04 | - / - | EnchantMask | enchant_mask | |
| - | 2 / Little | u16 | unknown1 | |
| - | - / - | PackedGuid | creator | |
| - | 4 / Little | u32 | unknown2 |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | Talent | talent | |
| 0x04 | 1 / - | u8 | max_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | f32 | damage_minimum | |
| 0x04 | 4 / Little | f32 | damage_maximum | |
| 0x08 | 4 / - | SpellSchool | school |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Item | item | |
| 0x04 | 4 / Little | u32 | amount |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | color | |
| 0x04 | 4 / Little | u32 | content |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Spell | spell | |
| 0x04 | 4 / - | SpellTriggerType | spell_trigger | |
| 0x08 | 4 / Little | i32 | spell_charges | let the database control the sign here. negative means that the item should be consumed once the charges are consumed. |
| 0x0C | 4 / Little | i32 | spell_cooldown | |
| 0x10 | 4 / Little | u32 | spell_category | |
| 0x14 | 4 / Little | i32 | spell_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Spell | spell | |
| 0x04 | 4 / - | SpellTriggerType | spell_trigger | |
| 0x08 | 4 / Little | i32 | spell_charges | let the database control the sign here. negative means that the item should be consumed once the charges are consumed. |
| 0x0C | 4 / Little | i32 | spell_cooldown | |
| 0x10 | 4 / Little | u32 | spell_category | |
| 0x14 | 4 / Little | i32 | spell_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | ItemStatType | stat_type | |
| 0x04 | 4 / Little | i32 | value |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | stat_type | |
| 0x04 | 4 / Little | i32 | value |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | dungeon_entry | |
| 0x04 | 1 / - | Bool | done | |
| 0x05 | 4 / Little | u32 | quest_reward | |
| 0x09 | 4 / Little | u32 | xp_reward | |
| 0x0D | 4 / Little | u32 | unknown1 | |
| 0x11 | 4 / Little | u32 | unknown2 | |
| 0x15 | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / Little | u16 | entry | |
| 0x02 | 2 / - | LfgType | lfg_type |
Used in:
- CMSG_SET_LOOKING_FOR_GROUP
- CMSG_SET_LOOKING_FOR_MORE
- SMSG_LFG_UPDATE
- SMSG_LFG_UPDATE_LFG
- SMSG_LFG_UPDATE_LFM
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | dungeon_entry | |
| 0x04 | 4 / Little | u32 | reason |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | player | |
| 0x08 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | group | |
| 0x08 | 4 / - | LfgUpdateFlag | flags |
If flags contains COMMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0C | - / - | CString | comment |
If flags contains ROLES:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 3 / - | u8[3] | roles | Emu just sets all to 0. |
| - | 8 / Little | Guid | instance | |
| - | 4 / Little | u32 | encounter_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | player | |
| 0x08 | 4 / - | LfgUpdateFlag | flags |
If flags contains CHARACTER_INFO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0C | 1 / - | Level | level | |
| 0x0D | 1 / - | Class | class | |
| 0x0E | 1 / - | Race | race | |
| 0x0F | 1 / - | u8 | talents0 | |
| 0x10 | 1 / - | u8 | talents1 | |
| 0x11 | 1 / - | u8 | talents2 | |
| 0x12 | 4 / Little | u32 | armor | |
| 0x16 | 4 / Little | u32 | spell_damage | |
| 0x1A | 4 / Little | u32 | spell_heal | |
| 0x1E | 4 / Little | u32 | crit_rating_melee | |
| 0x22 | 4 / Little | u32 | crit_rating_ranged | |
| 0x26 | 4 / Little | u32 | crit_rating_spell | |
| 0x2A | 4 / Little | f32 | mana_per_5_seconds | |
| 0x2E | 4 / Little | f32 | mana_per_5_seconds_combat | |
| 0x32 | 4 / Little | u32 | attack_power | |
| 0x36 | 4 / Little | u32 | agility | |
| 0x3A | 4 / Little | u32 | health | |
| 0x3E | 4 / Little | u32 | mana | |
| 0x42 | 4 / Little | Bool32 | online | azerothcore: talentpoints, used as online/offline marker :D |
| 0x46 | 4 / Little | u32 | average_item_level | |
| 0x4A | 4 / Little | u32 | defense_skill | |
| 0x4E | 4 / Little | u32 | dodge_rating | |
| 0x52 | 4 / Little | u32 | block_rating | |
| 0x56 | 4 / Little | u32 | parry_rating | |
| 0x5A | 4 / Little | u32 | haste_rating | |
| 0x5E | 4 / Little | u32 | expertise_rating |
If flags contains COMMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x62 | - / - | CString | comment |
If flags contains GROUP_LEADER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Bool | is_looking_for_more | emu sets to true. |
If flags contains GROUP_GUID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | group |
If flags contains ROLES:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | roles |
If flags contains AREA:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Area | area |
If flags contains STATUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | unknown1 | Emus set to 0. |
| - | 8 / Little | Guid | instance | |
| - | 4 / Little | u32 | encounter_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | player | |
| 0x08 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | 4 / Little | Level32 | level |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | 4 / Little | Level32 | level | |
| - | 4 / - | Area | area | |
| - | 1 / - | LfgMode | lfg_mode | |
| - | 12 / - | u32[3] | lfg_slots | |
| - | - / - | CString | comment | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | role_mask | |
| 0x04 | 1 / - | u8 | is_current_player | |
| 0x05 | 1 / - | u8 | in_dungeon | |
| 0x06 | 1 / - | u8 | in_same_group | |
| 0x07 | 1 / - | u8 | has_answered | |
| 0x08 | 1 / - | u8 | has_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Item | item | |
| 0x04 | 4 / Little | u32 | display_id | |
| 0x08 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | 1 / - | Bool | ready | |
| 0x09 | 4 / Little | u32 | roles | |
| 0x0D | 1 / - | Level | level |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | item_stack_count | |
| 0x04 | 4 / Little | Item | item | |
| 0x08 | 4 / Little | u32 | item_display_id | |
| 0x0C | 4 / Little | u32 | max_items | cmangos: 0 for infinity item amount, although they send 0xFFFFFFFF in that case |
| 0x10 | 4 / Little | Gold | price | |
| 0x14 | 4 / Little | u32 | max_durability | |
| 0x18 | 4 / Little | u32 | durability |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | item_stack_count | |
| 0x04 | 4 / Little | Item | item | |
| 0x08 | 4 / Little | u32 | item_display_id | |
| 0x0C | 4 / Little | u32 | max_items | cmangos: 0 for infinity item amount, although they send 0xFFFFFFFF in that case |
| 0x10 | 4 / Little | Gold | price | |
| 0x14 | 4 / Little | u32 | max_durability | |
| 0x18 | 4 / Little | u32 | durability | |
| 0x1C | 4 / Little | u32 | extended_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | index | |
| 0x01 | 4 / Little | Item | item | |
| 0x05 | 1 / - | LootSlotType | ty |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | auctioneer |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | auctioneer | |
| 0x0C | 4 / Little | u32 | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | auctioneer | |
| 0x0C | 4 / - | AuctionHouse | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | auctioneer | |
| 0x0C | 4 / - | AuctionHouse | auction_house | |
| 0x10 | 1 / - | Bool | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_of_teammates | |
| - | ? / - | BattlegroundPlayerPosition[amount_of_teammates] | teammates | |
| - | 1 / - | u8 | amount_of_carriers | vmangos 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | spell | |
| 0x08 | 4 / Little | u32 | duration |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | duration |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | time |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | u32 | time |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | CorpseQueryResult | result |
If result is equal to FOUND:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 4 / - | Map | map | |
| 0x09 | 12 / - | Vector3d | position | |
| 0x15 | 4 / - | Map | corpse_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | CorpseQueryResult | result |
If result is equal to FOUND:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 4 / - | Map | map | |
| 0x09 | 12 / - | Vector3d | position | |
| 0x15 | 4 / - | Map | corpse_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | CorpseQueryResult | result |
If result is equal to FOUND:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Map | map | |
| - | 12 / - | Vector3d | position | |
| - | 4 / - | Map | corpse_map | |
| - | 4 / Little | u32 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unix_time | |
| 0x08 | 1 / - | u8 | slot | |
| 0x09 | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unix_time | |
| - | 1 / - | u8 | slot | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | remaining_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | remaining_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | id | |
| 0x08 | 4 / Little | u32 | rights | |
| 0x0C | 4 / Little | Gold | gold_limit_per_day | |
| 0x10 | 1 / - | u8 | purchased_bank_tabs | |
| 0x11 | 48 / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | id | |
| 0x08 | 4 / Little | u32 | rights | |
| 0x0C | 4 / Little | Gold | gold_limit_per_day | |
| 0x10 | 1 / - | u8 | purchased_bank_tabs | |
| 0x11 | 48 / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | player | |
| 0x0C | 1 / - | u8 | slot | |
| 0x0D | 4 / Little | u32 | arena_team | |
| 0x11 | 4 / Little | u32 | rating | |
| 0x15 | 4 / Little | u32 | games_played_this_season | |
| 0x19 | 4 / Little | u32 | wins_this_season | |
| 0x1D | 4 / Little | u32 | total_games_played | |
| 0x21 | 4 / Little | u32 | personal_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 1 / - | PvpRank | highest_rank | |
| 0x0D | 4 / Little | u32 | today_honorable_and_dishonorable | |
| 0x11 | 2 / Little | u16 | yesterday_honorable | |
| 0x13 | 2 / Little | u16 | unknown1 | vmangos: Unknown (deprecated, yesterday dishonourable?) |
| 0x15 | 2 / Little | u16 | last_week_honorable | |
| 0x17 | 2 / Little | u16 | unknown2 | vmangos: Unknown (deprecated, last week dishonourable?) |
| 0x19 | 2 / Little | u16 | this_week_honorable | |
| 0x1B | 2 / Little | u16 | unknown3 | vmangos: Unknown (deprecated, this week dishonourable?) |
| 0x1D | 4 / Little | u32 | lifetime_honorable | |
| 0x21 | 4 / Little | u32 | lifetime_dishonorable | |
| 0x25 | 4 / Little | u32 | yesterday_honor | |
| 0x29 | 4 / Little | u32 | last_week_honor | |
| 0x2D | 4 / Little | u32 | this_week_honor | |
| 0x31 | 4 / - | PvpRank | last_week_standing | |
| 0x35 | 1 / - | u8 | rank_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 1 / - | u8 | amount_of_honor | |
| 0x0D | 4 / Little | u32 | kills | |
| 0x11 | 4 / Little | u32 | honor_today | |
| 0x15 | 4 / Little | u32 | honor_yesterday | |
| 0x19 | 4 / Little | u32 | lifetime_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | npc |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | npc | |
| - | 1 / - | u8 | amount_of_pets | |
| - | 1 / - | u8 | stable_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | LfgType | lfg_type | |
| 0x0A | 4 / Little | u32 | entry | entry from LfgDunggeons.dbc |
| 0x0E | 4 / Little | u32 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unknown1 | vmangos 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | LfgType | lfg_type | |
| 0x08 | 4 / Little | u32 | entry | entry from LfgDunggeons.dbc |
| 0x0C | 4 / Little | u32 | amount_of_players_displayed | |
| 0x10 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | f32 | position_x | |
| 0x0A | 4 / Little | f32 | position_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | f32 | position_x | |
| 0x10 | 4 / Little | f32 | position_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | sin_angle | |
| - | 4 / Little | f32 | cos_angle | |
| - | 4 / Little | f32 | x_y_speed | |
| - | 4 / Little | f32 | velocity |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | sin_angle | |
| - | 4 / Little | f32 | cos_angle | |
| - | 4 / Little | f32 | x_y_speed | |
| - | 4 / Little | f32 | velocity |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info | |
| - | 4 / Little | f32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | movement_counter | |
| - | 4 / Little | Milliseconds | time |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | movement_counter | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | movement_counter | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | movement_counter | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 12 / - | Vector3d | position | |
| 0x10 | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | 4 / Little | u32 | time_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | player | |
| - | - / - | MovementInfo | info |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | PartyRole | role | |
| 0x07 | 1 / - | Bool | apply | |
| 0x08 | 8 / Little | Guid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | petition |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | petition | |
| 0x08 | - / - | CString | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | BattlegroundEndStatus | status |
If status is equal to ENDED:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 1 / - | BattlegroundWinner | winner | |
| 0x06 | 4 / Little | u32 | amount_of_players | vmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | tab |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | tab |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | tab | |
| 0x05 | - / - | CString | text |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | tab | |
| - | - / - | CString | text |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | f32 | unread_mails | mangoszero 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | float | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | 1 / - | QuestPartyMessage | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid | |
| 0x08 | 1 / - | QuestPartyMessage | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | state |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | player | |
| 0x0C | 1 / - | u8 | state |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | u8 | state |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode 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.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | guid | |
| - | 1 / - | u8 | state |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 1 / - | RaidTargetIndex | target_index |
If target_index is not equal to REQUEST_ICONS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x07 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | RaidTargetUpdateType | update_type |
If update_type is equal to FULL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 72 / - | RaidTargetUpdate[8] | raid_targets |
Else If update_type is equal to PARTIAL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 9 / - | RaidTargetUpdate | raid_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / Little | u32 | minimum | |
| 0x0A | 4 / Little | u32 | maximum |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | minimum | |
| 0x08 | 4 / Little | u32 | maximum | |
| 0x0C | 4 / Little | u32 | actual_roll | |
| 0x10 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | vendor | |
| 0x0E | 4 / Little | u32 | emblem_style | |
| 0x12 | 4 / Little | u32 | emblem_color | |
| 0x16 | 4 / Little | u32 | border_style | |
| 0x1A | 4 / Little | u32 | border_color | |
| 0x1E | 4 / Little | u32 | background_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GuildEmblemResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GuildEmblemResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GuildEmblemResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | DungeonDifficulty | difficulty |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | DungeonDifficulty | difficulty | |
| 0x08 | 4 / Little | u32 | unknown1 | ArcEmu hardcodes this to 1 |
| 0x0C | 4 / Little | Bool32 | is_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 4 / - | RaidDifficulty | difficulty |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | RaidDifficulty | difficulty | |
| 0x08 | 4 / Little | u32 | unknown1 | Emus set to 1. |
| 0x0C | 4 / Little | Bool32 | in_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
SMSG Header
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 4 / Little | uint32 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x06 | 8 / Little | Guid | wiping_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | wiping_npc | |
| 0x0C | 4 / Little | u32 | cost_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | item | |
| 0x08 | 1 / - | u8 | slot |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | charges | |
| 0x04 | 4 / Little | u32 | duration | |
| 0x08 | 4 / Little | u32 | enchant_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | item_index | |
| 0x01 | 4 / Little | u32 | low_guid | |
| 0x05 | 4 / Little | Item | item | |
| 0x09 | 72 / - | MailListItemEnchant[6] | enchants | |
| 0x51 | 4 / Little | u32 | item_random_property_id | |
| 0x55 | 4 / Little | u32 | item_suffix_factor | |
| 0x59 | 1 / - | u8 | item_amount | |
| 0x5A | 4 / Little | u32 | charges | |
| 0x5E | 4 / Little | u32 | max_durability | |
| 0x62 | 4 / Little | u32 | durability |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | item_index | |
| 0x01 | 4 / Little | u32 | low_guid | |
| 0x05 | 4 / Little | Item | item | |
| 0x09 | 84 / - | MailListItemEnchant[7] | enchants | |
| 0x5D | 4 / Little | u32 | item_random_property_id | |
| 0x61 | 4 / Little | u32 | item_suffix_factor | |
| 0x65 | 1 / - | u8 | item_amount | |
| 0x66 | 4 / Little | u32 | charges | |
| 0x6A | 4 / Little | u32 | max_durability | |
| 0x6E | 4 / Little | u32 | durability | |
| 0x72 | 1 / - | u8 | unknown |
Used in:
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | message_id | |
| 0x04 | 1 / - | MailType | message_type |
If message_type is equal to NORMAL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 8 / Little | Guid | sender |
Else If message_type is equal to CREATURE or
is equal to GAMEOBJECT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0D | 4 / Little | u32 | sender_id |
Else If message_type is equal to AUCTION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x11 | 4 / Little | u32 | auction_id | |
| 0x15 | - / - | CString | subject | |
| - | 4 / Little | u32 | item_text_id | |
| - | 4 / Little | u32 | unknown1 | cmangos/vmangos/mangoszero: set to 0 |
| - | 4 / Little | u32 | stationery | cmangos/vmangos/mangoszero: stationery (Stationery.dbc) |
| - | 4 / Little | Item | item | |
| - | 4 / Little | u32 | item_enchant_id | |
| - | 4 / Little | u32 | item_random_property_id | |
| - | 4 / Little | u32 | item_suffix_factor | |
| - | 1 / - | u8 | item_stack_size | |
| - | 4 / Little | u32 | item_spell_charges | |
| - | 4 / Little | u32 | max_durability | |
| - | 4 / Little | u32 | durability | |
| - | 4 / Little | Gold | money | |
| - | 4 / Little | u32 | cash_on_delivery_amount | |
| - | 4 / Little | u32 | checked_timestamp | cmangos/vmangos/mangoszero: All have a comment with ‘flags’ but send the timestamp from the item. |
| - | 4 / Little | f32 | expiration_time | |
| - | 4 / Little | u32 | mail_template_id | cmangos/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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / Little | u16 | size | |
| 0x02 | 4 / Little | u32 | message_id | |
| 0x06 | 1 / - | MailType | message_type |
If message_type is equal to NORMAL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x07 | 8 / Little | Guid | sender |
Else If message_type is equal to CREATURE or
is equal to GAMEOBJECT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0F | 4 / Little | u32 | sender_id |
Else If message_type is equal to AUCTION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x13 | 4 / Little | u32 | auction_id |
Else If message_type is equal to ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x17 | 4 / Little | Item | item | |
| 0x1B | 4 / Little | Gold | cash_on_delivery | |
| 0x1F | 4 / Little | u32 | item_text_id | |
| 0x23 | 4 / Little | u32 | unknown | |
| 0x27 | 4 / Little | u32 | stationery | |
| 0x2B | 4 / Little | Gold | money | |
| 0x2F | 4 / Little | u32 | flags | |
| 0x33 | 4 / Little | f32 | expiration_time | |
| 0x37 | 4 / Little | u32 | mail_template_id | cmangos/vmangos/mangoszero: mail template (MailTemplate.dbc) |
| 0x3B | - / - | CString | subject | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / Little | u16 | size | |
| 0x02 | 4 / Little | u32 | message_id | |
| 0x06 | 1 / - | MailType | message_type |
If message_type is equal to NORMAL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x07 | 8 / Little | Guid | sender |
Else If message_type is equal to CREATURE or
is equal to GAMEOBJECT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0F | 4 / Little | u32 | sender_id |
Else If message_type is equal to AUCTION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x13 | 4 / Little | u32 | auction_id |
Else If message_type is equal to ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x17 | 4 / Little | Item | item | |
| 0x1B | 4 / Little | Gold | cash_on_delivery | |
| 0x1F | 4 / Little | u32 | unknown | |
| 0x23 | 4 / Little | u32 | stationery | |
| 0x27 | 4 / Little | Gold | money | |
| 0x2B | 4 / Little | u32 | flags | |
| 0x2F | 4 / Little | f32 | expiration_time | |
| 0x33 | 4 / Little | u32 | mail_template_id | cmangos/vmangos/mangoszero: mail template (MailTemplate.dbc) |
| 0x37 | - / - | CString | subject | |
| - | - / - | CString | message | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | size | |
| 0x01 | 2 / - | MiniMoveOpcode | opcode | |
| 0x03 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | movement_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | action | |
| 0x01 | 8 / Little | Guid | player | |
| 0x09 | 4 / Little | u32 | entry | |
| 0x0D | 4 / Little | u32 | timestamp |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 12 / - | Vector3d | spline_point | |
| 0x0C | 4 / Little | u32 | spline_id | |
| 0x10 | 1 / - | MonsterMoveType | move_type |
If move_type is equal to FACING_TARGET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x11 | 8 / Little | Guid | target |
Else If move_type is equal to FACING_ANGLE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x19 | 4 / Little | f32 | angle |
Else If move_type is equal to FACING_SPOT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x1D | 12 / - | Vector3d | position |
If move_type is not equal to STOP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x29 | 4 / - | SplineFlag | spline_flags | |
| 0x2D | 4 / Little | u32 | duration | |
| 0x31 | - / - | MonsterMoveSpline | splines |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | MovementFlags | flags | |
| 0x04 | 4 / Little | u32 | timestamp | |
| 0x08 | 12 / - | Vector3d | position | |
| 0x14 | 4 / Little | f32 | orientation |
If flags contains ON_TRANSPORT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x18 | - / - | TransportInfo | transport |
If flags contains SWIMMING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | pitch | |
| - | 4 / Little | f32 | fall_time |
If flags contains JUMPING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | z_speed | |
| - | 4 / Little | f32 | cos_angle | |
| - | 4 / Little | f32 | sin_angle | |
| - | 4 / Little | f32 | xy_speed |
If flags contains SPLINE_ELEVATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | spline_elevation |
Used in:
- CMSG_FORCE_MOVE_ROOT_ACK
- CMSG_FORCE_MOVE_UNROOT_ACK
- CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK
- CMSG_FORCE_RUN_SPEED_CHANGE_ACK
- CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK
- CMSG_FORCE_SWIM_SPEED_CHANGE_ACK
- CMSG_FORCE_TURN_RATE_CHANGE_ACK
- CMSG_FORCE_WALK_SPEED_CHANGE_ACK
- CMSG_MOVE_FALL_RESET
- CMSG_MOVE_FEATHER_FALL_ACK
- CMSG_MOVE_HOVER_ACK
- CMSG_MOVE_KNOCK_BACK_ACK
- CMSG_MOVE_NOT_ACTIVE_MOVER
- CMSG_MOVE_SPLINE_DONE
- CMSG_MOVE_WATER_WALK_ACK
- MSG_MOVE_FALL_LAND_Client
- MSG_MOVE_FALL_LAND_Server
- MSG_MOVE_FEATHER_FALL_Server
- MSG_MOVE_HEARTBEAT_Client
- MSG_MOVE_HEARTBEAT_Server
- MSG_MOVE_JUMP_Client
- MSG_MOVE_JUMP_Server
- MSG_MOVE_SET_FACING_Client
- MSG_MOVE_SET_FACING_Server
- MSG_MOVE_SET_PITCH_Client
- MSG_MOVE_SET_PITCH_Server
- MSG_MOVE_SET_RUN_MODE_Client
- MSG_MOVE_SET_RUN_MODE_Server
- MSG_MOVE_SET_WALK_MODE_Client
- MSG_MOVE_SET_WALK_MODE_Server
- MSG_MOVE_START_BACKWARD_Client
- MSG_MOVE_START_BACKWARD_Server
- MSG_MOVE_START_FORWARD_Client
- MSG_MOVE_START_FORWARD_Server
- MSG_MOVE_START_PITCH_DOWN_Client
- MSG_MOVE_START_PITCH_DOWN_Server
- MSG_MOVE_START_PITCH_UP_Client
- MSG_MOVE_START_PITCH_UP_Server
- MSG_MOVE_START_STRAFE_LEFT_Client
- MSG_MOVE_START_STRAFE_LEFT_Server
- MSG_MOVE_START_STRAFE_RIGHT_Client
- MSG_MOVE_START_STRAFE_RIGHT_Server
- MSG_MOVE_START_SWIM_Client
- MSG_MOVE_START_SWIM_Server
- MSG_MOVE_START_TURN_LEFT_Client
- MSG_MOVE_START_TURN_LEFT_Server
- MSG_MOVE_START_TURN_RIGHT_Client
- MSG_MOVE_START_TURN_RIGHT_Server
- MSG_MOVE_STOP_Client
- MSG_MOVE_STOP_PITCH_Client
- MSG_MOVE_STOP_PITCH_Server
- MSG_MOVE_STOP_STRAFE_Client
- MSG_MOVE_STOP_STRAFE_Server
- MSG_MOVE_STOP_SWIM_Client
- MSG_MOVE_STOP_SWIM_Server
- MSG_MOVE_STOP_Server
- MSG_MOVE_STOP_TURN_Client
- MSG_MOVE_STOP_TURN_Server
- MSG_MOVE_TELEPORT_ACK_Server
- MSG_MOVE_WATER_WALK
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | MovementFlags | flags | |
| 0x04 | 1 / - | u8 | extra_flags | |
| 0x05 | 4 / Little | u32 | timestamp | |
| 0x09 | 12 / - | Vector3d | position | |
| 0x15 | 4 / Little | f32 | orientation |
If flags contains ON_TRANSPORT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x19 | - / - | TransportInfo | transport |
If flags contains SWIMMING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | pitch1 |
Else If flags contains ONTRANSPORT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | pitch2 | |
| - | 4 / Little | f32 | fall_time |
If flags contains JUMPING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | z_speed | |
| - | 4 / Little | f32 | cos_angle | |
| - | 4 / Little | f32 | sin_angle | |
| - | 4 / Little | f32 | xy_speed |
If flags contains SPLINE_ELEVATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | spline_elevation |
Used in:
- CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK
- CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK
- CMSG_FORCE_MOVE_ROOT_ACK
- CMSG_FORCE_MOVE_UNROOT_ACK
- CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK
- CMSG_FORCE_RUN_SPEED_CHANGE_ACK
- CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK
- CMSG_FORCE_SWIM_SPEED_CHANGE_ACK
- CMSG_FORCE_TURN_RATE_CHANGE_ACK
- CMSG_FORCE_WALK_SPEED_CHANGE_ACK
- CMSG_MOVE_CHNG_TRANSPORT
- CMSG_MOVE_FALL_RESET
- CMSG_MOVE_FEATHER_FALL_ACK
- CMSG_MOVE_HOVER_ACK
- CMSG_MOVE_KNOCK_BACK_ACK
- CMSG_MOVE_NOT_ACTIVE_MOVER
- CMSG_MOVE_SET_CAN_FLY_ACK
- CMSG_MOVE_SET_FLY
- CMSG_MOVE_SPLINE_DONE
- CMSG_MOVE_WATER_WALK_ACK
- MSG_MOVE_FALL_LAND_Client
- MSG_MOVE_FALL_LAND_Server
- MSG_MOVE_FEATHER_FALL_Server
- MSG_MOVE_HEARTBEAT_Client
- MSG_MOVE_HEARTBEAT_Server
- MSG_MOVE_HOVER
- MSG_MOVE_JUMP_Client
- MSG_MOVE_JUMP_Server
- MSG_MOVE_KNOCK_BACK_Server
- MSG_MOVE_ROOT_Server
- MSG_MOVE_SET_FACING_Client
- MSG_MOVE_SET_FACING_Server
- MSG_MOVE_SET_FLIGHT_BACK_SPEED
- MSG_MOVE_SET_FLIGHT_SPEED_Server
- MSG_MOVE_SET_PITCH_Client
- MSG_MOVE_SET_PITCH_Server
- MSG_MOVE_SET_RUN_MODE_Client
- MSG_MOVE_SET_RUN_MODE_Server
- MSG_MOVE_SET_WALK_MODE_Client
- MSG_MOVE_SET_WALK_MODE_Server
- MSG_MOVE_START_ASCEND_Client
- MSG_MOVE_START_ASCEND_Server
- MSG_MOVE_START_BACKWARD_Client
- MSG_MOVE_START_BACKWARD_Server
- MSG_MOVE_START_DESCEND_Client
- MSG_MOVE_START_DESCEND_Server
- MSG_MOVE_START_FORWARD_Client
- MSG_MOVE_START_FORWARD_Server
- MSG_MOVE_START_PITCH_DOWN_Client
- MSG_MOVE_START_PITCH_DOWN_Server
- MSG_MOVE_START_PITCH_UP_Client
- MSG_MOVE_START_PITCH_UP_Server
- MSG_MOVE_START_STRAFE_LEFT_Client
- MSG_MOVE_START_STRAFE_LEFT_Server
- MSG_MOVE_START_STRAFE_RIGHT_Client
- MSG_MOVE_START_STRAFE_RIGHT_Server
- MSG_MOVE_START_SWIM_Client
- MSG_MOVE_START_SWIM_Server
- MSG_MOVE_START_TURN_LEFT_Client
- MSG_MOVE_START_TURN_LEFT_Server
- MSG_MOVE_START_TURN_RIGHT_Client
- MSG_MOVE_START_TURN_RIGHT_Server
- MSG_MOVE_STOP_ASCEND_Client
- MSG_MOVE_STOP_ASCEND_Server
- MSG_MOVE_STOP_Client
- MSG_MOVE_STOP_PITCH_Client
- MSG_MOVE_STOP_PITCH_Server
- MSG_MOVE_STOP_STRAFE_Client
- MSG_MOVE_STOP_STRAFE_Server
- MSG_MOVE_STOP_SWIM_Client
- MSG_MOVE_STOP_SWIM_Server
- MSG_MOVE_STOP_Server
- MSG_MOVE_STOP_TURN_Client
- MSG_MOVE_STOP_TURN_Server
- MSG_MOVE_TELEPORT_ACK_Server
- MSG_MOVE_TELEPORT_Server
- MSG_MOVE_UNROOT_Server
- MSG_MOVE_UPDATE_CAN_FLY_Server
- MSG_MOVE_WATER_WALK
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 6 / - | MovementFlags | flags | |
| 0x06 | 4 / Little | u32 | timestamp | |
| 0x0A | 12 / - | Vector3d | position | |
| 0x16 | 4 / Little | f32 | orientation |
If flags contains ON_TRANSPORT_AND_INTERPOLATED_MOVEMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x1A | - / - | TransportInfo | transport_info | |
| - | 4 / Little | u32 | transport_time |
Else If flags contains ON_TRANSPORT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | TransportInfo | transport |
If flags contains SWIMMING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | pitch1 |
Else If flags contains FLYING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | pitch2 |
Else If flags contains ALWAYS_ALLOW_PITCHING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | pitch3 | |
| - | 4 / Little | f32 | fall_time |
If flags contains FALLING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | z_speed | |
| - | 4 / Little | f32 | cos_angle | |
| - | 4 / Little | f32 | sin_angle | |
| - | 4 / Little | f32 | xy_speed |
If flags contains SPLINE_ELEVATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | spline_elevation |
Used in:
- CMSG_CAST_SPELL
- CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE
- CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK
- CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK
- CMSG_FORCE_MOVE_ROOT_ACK
- CMSG_FORCE_MOVE_UNROOT_ACK
- CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK
- CMSG_FORCE_RUN_SPEED_CHANGE_ACK
- CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK
- CMSG_FORCE_SWIM_SPEED_CHANGE_ACK
- CMSG_FORCE_TURN_RATE_CHANGE_ACK
- CMSG_FORCE_WALK_SPEED_CHANGE_ACK
- CMSG_MOVE_CHNG_TRANSPORT
- CMSG_MOVE_FALL_RESET
- CMSG_MOVE_FEATHER_FALL_ACK
- CMSG_MOVE_GRAVITY_DISABLE_ACK
- CMSG_MOVE_GRAVITY_ENABLE_ACK
- CMSG_MOVE_HOVER_ACK
- CMSG_MOVE_KNOCK_BACK_ACK
- CMSG_MOVE_NOT_ACTIVE_MOVER
- CMSG_MOVE_SET_CAN_FLY_ACK
- CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK
- CMSG_MOVE_SET_COLLISION_HGT_ACK
- CMSG_MOVE_SET_FLY
- CMSG_MOVE_SPLINE_DONE
- CMSG_MOVE_WATER_WALK_ACK
- CMSG_PET_CAST_SPELL
- CMSG_USE_ITEM
- MSG_MOVE_FALL_LAND
- MSG_MOVE_FEATHER_FALL_Server
- MSG_MOVE_GRAVITY_CHNG_Server
- MSG_MOVE_HEARTBEAT
- MSG_MOVE_HOVER
- MSG_MOVE_JUMP
- MSG_MOVE_KNOCK_BACK_Server
- MSG_MOVE_ROOT_Server
- MSG_MOVE_SET_FACING
- MSG_MOVE_SET_FLIGHT_BACK_SPEED
- MSG_MOVE_SET_FLIGHT_SPEED_Server
- MSG_MOVE_SET_PITCH
- MSG_MOVE_SET_PITCH_RATE_Server
- MSG_MOVE_SET_RUN_MODE
- MSG_MOVE_SET_WALK_MODE
- MSG_MOVE_START_ASCEND
- MSG_MOVE_START_BACKWARD
- MSG_MOVE_START_DESCEND
- MSG_MOVE_START_FORWARD
- MSG_MOVE_START_PITCH_DOWN
- MSG_MOVE_START_PITCH_UP
- MSG_MOVE_START_STRAFE_LEFT
- MSG_MOVE_START_STRAFE_RIGHT
- MSG_MOVE_START_SWIM
- MSG_MOVE_START_TURN_LEFT
- MSG_MOVE_START_TURN_RIGHT
- MSG_MOVE_STOP
- MSG_MOVE_STOP_ASCEND
- MSG_MOVE_STOP_PITCH
- MSG_MOVE_STOP_STRAFE
- MSG_MOVE_STOP_SWIM
- MSG_MOVE_STOP_TURN
- MSG_MOVE_TELEPORT_ACK_Server
- MSG_MOVE_TELEPORT_Server
- MSG_MOVE_UNROOT_Server
- MSG_MOVE_UPDATE_CAN_FLY_Server
- MSG_MOVE_WATER_WALK
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | delay | |
| 0x04 | 4 / Little | u32 | emote |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | f32 | probability | |
| 0x04 | ? / - | CString[2] | texts | |
| - | 4 / - | Language | language | |
| - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | f32 | probability | |
| 0x04 | ? / - | CString[2] | texts | |
| - | 1 / - | Language | language | |
| - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | f32 | probability | |
| 0x04 | ? / - | CString[2] | texts | |
| - | 1 / - | Language | language | |
| - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | UpdateType | update_type |
If update_type is equal to VALUES:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | - / - | PackedGuid | guid1 | |
| - | - / - | UpdateMask | mask1 |
Else If update_type is equal to MOVEMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid2 | |
| - | - / - | MovementBlock | movement1 |
Else If update_type is equal to CREATE_OBJECT or
is equal to CREATE_OBJECT2:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid3 | |
| - | 1 / - | ObjectType | object_type | |
| - | - / - | MovementBlock | movement2 | |
| - | - / - | UpdateMask | mask2 |
Else If update_type is equal to OUT_OF_RANGE_OBJECTS or
is equal to NEAR_OBJECTS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | count | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | UpdateType | update_type |
If update_type is equal to VALUES:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | - / - | PackedGuid | guid1 | |
| - | - / - | UpdateMask | mask1 |
Else If update_type is equal to MOVEMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid2 | |
| - | - / - | MovementBlock | movement1 |
Else If update_type is equal to CREATE_OBJECT or
is equal to CREATE_OBJECT2:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid3 | |
| - | 1 / - | ObjectType | object_type | |
| - | - / - | MovementBlock | movement2 | |
| - | - / - | UpdateMask | mask2 |
Else If update_type is equal to OUT_OF_RANGE_OBJECTS or
is equal to NEAR_OBJECTS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | count | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | UpdateType | update_type |
If update_type is equal to VALUES:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x01 | - / - | PackedGuid | guid1 | |
| - | - / - | UpdateMask | mask1 |
Else If update_type is equal to MOVEMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid2 | |
| - | - / - | MovementBlock | movement1 |
Else If update_type is equal to CREATE_OBJECT or
is equal to CREATE_OBJECT2:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid3 | |
| - | 1 / - | ObjectType | object_type | |
| - | - / - | MovementBlock | movement2 | |
| - | - / - | UpdateMask | mask2 |
Else If update_type is equal to OUT_OF_RANGE_OBJECTS or
is equal to NEAR_OBJECTS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | count | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | CString | string1 | mangostwo: string ‘%d:%d:%d:%d:%d’ -> itemId, ItemRandomPropertyId, 2, auctionId, unk1 (stack size?, unused) |
| - | - / - | CString | string2 | mangostwo: string ‘%16I64X:%d:%d:%d:%d’ -> bidderGuid, bid, buyout, deposit, auctionCut |
| - | 4 / Little | u32 | unknown1 | mangostwo sets to 97250. |
| - | 4 / Little | u32 | unknown2 | mangostwo sets to 68. |
| - | 4 / Little | f32 | time_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / Little | Spell16 | spell | |
| 0x02 | 2 / Little | u16 | spell_category | mangoszero: sets to 0 |
| 0x04 | 4 / Little | Milliseconds | cooldown | |
| 0x08 | 4 / Little | Milliseconds | category_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Spell | spell | |
| 0x04 | 2 / Little | u16 | spell_category | mangoszero: sets to 0 |
| 0x06 | 4 / Little | Milliseconds | cooldown | |
| 0x0A | 4 / Little | Milliseconds | category_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | index | |
| 0x04 | 4 / Little | u32 | charter_entry | cmangos/vmangos/mangoszero: statically sets to guild charter item id (5863) and arena charter ids. |
| 0x08 | 4 / Little | u32 | charter_display_id | cmangos/vmangos/mangoszero: statically sets to guild charter display id (16161) and arena charter ids. |
| 0x0C | 4 / Little | u32 | guild_charter_cost | cmangos/vmangos/mangoszero: statically set to 1000 (10 silver) for guild charters and the cost of arena charters for that. |
| 0x10 | 4 / Little | u32 | unknown1 | cmangos/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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | index | |
| 0x04 | 4 / Little | u32 | charter_entry | cmangos/vmangos/mangoszero: statically sets to guild charter item id (5863). |
| 0x08 | 4 / Little | u32 | charter_display_id | cmangos/vmangos/mangoszero: statically sets to guild charter display id (16161). |
| 0x0C | 4 / Little | u32 | guild_charter_cost | cmangos/vmangos/mangoszero: statically set to 1000 (10 silver). |
| 0x10 | 4 / Little | u32 | unknown1 | cmangos/vmangos/mangoszero: statically set to 1 arcemu: charter type? seems to be 0x0 for guilds and 0x1 for arena charters |
| 0x14 | 4 / Little | u32 | signatures_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | signer | |
| 0x08 | 4 / Little | u32 | unknown1 |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | Talent | talent | |
| 0x04 | 4 / Little | u32 | rank |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | emote | |
| 0x04 | 4 / Little | Milliseconds | emote_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Item | item | |
| 0x04 | 4 / Little | u32 | item_count | |
| 0x08 | 4 / Little | u32 | display_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | npc | |
| 0x08 | 1 / - | QuestGiverStatus | dialog_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | npc | |
| 0x08 | 1 / - | QuestGiverStatus | dialog_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Item | item | |
| 0x04 | 4 / Little | u32 | item_count | |
| 0x08 | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Item | item | |
| 0x04 | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | quest_id | |
| 0x04 | 4 / Little | u32 | quest_icon | |
| 0x08 | 4 / Little | Level32 | level | |
| 0x0C | - / - | CString | title | vmangos/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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | quest_id | |
| 0x04 | 4 / Little | u32 | quest_icon | |
| 0x08 | 4 / Little | Level32 | level | |
| 0x0C | 4 / Little | u32 | flags | |
| 0x10 | 1 / - | Bool | repeatable | |
| 0x11 | - / - | CString | title | vmangos/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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | creature_id | cmangos: client expected gameobject template id in form (id |
| 0x04 | 4 / Little | u32 | kill_count | |
| 0x08 | 4 / Little | u32 | required_item_id | |
| 0x0C | 4 / Little | u32 | required_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | quest_id | |
| 0x04 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | id | |
| 0x04 | 4 / Little | u32 | objective_id | |
| 0x08 | 4 / - | Map | map | |
| 0x0C | 4 / - | Area | area | |
| 0x10 | 4 / Little | u32 | floor_id | |
| 0x14 | 4 / Little | u32 | unknown1 | |
| 0x18 | 4 / Little | u32 | unknown2 | |
| 0x1C | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | Map | map | |
| 0x04 | 4 / Little | u32 | reset_time | |
| 0x08 | 4 / Little | u32 | instance_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | Map | map | |
| 0x04 | 4 / Little | u32 | reset_time | |
| 0x08 | 4 / Little | u32 | instance_id | |
| 0x0C | 4 / Little | u32 | index | Neither 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | Map | map | |
| 0x04 | 4 / - | DungeonDifficulty | difficulty | |
| 0x08 | 8 / Little | u64 | instance_id | |
| 0x10 | 1 / - | Bool | expired | |
| 0x11 | 1 / - | Bool | extended | |
| 0x12 | 4 / Little | u32 | time_until_reset | Seems 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | RaidTargetIndex | index | |
| 0x01 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | sender | |
| 0x08 | 4 / - | AuctionHouse | auction_house | |
| 0x0C | 4 / - | MailMessageType | message_type | |
| 0x10 | 4 / Little | u32 | stationery | |
| 0x14 | 4 / Little | f32 | time | mangosone sets to 0xC6000000mangosone: 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | current_rune | |
| 0x01 | 1 / - | u8 | rune_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 128 / - | u32[32] | data | cmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unix_time | Seconds since Unix Epoch |
| - | 1 / - | u8 | unknown1 | Both mangostwo and arcemu hardcode this to 1 |
| - | - / - | CacheMask | mask |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | achievement |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | 4 / Little | u32 | achievement | |
| - | 4 / Little | DateTime | earn_time | |
| - | 4 / Little | u32 | unknown | All 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 480 / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 528 / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | ActionBarBehavior | behavior |
If behavior is not equal to CLEAR:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | ActivateTaxiReply | reply |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | AddonArray | addons | |
| - | 4 / Little | u32 | number_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AddonArray | addons | |
| - | 4 / Little | u32 | number_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | rune | Emus 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / - | AiReaction | reaction |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AchievementDoneArray | done | |
| - | - / - | AchievementInProgressArray | in_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | next_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | SizedCString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unknown | |
| 0x08 | 1 / - | ArenaType | arena_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | ArenaTeamCommand | command | |
| - | - / - | CString | team | |
| - | - / - | CString | player | |
| - | 4 / - | ArenaTeamCommandError | error |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | ArenaTeamEvent | event |
If event is equal to JOIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | joiner_name | |
| - | - / - | CString | arena_team_name1 | |
| - | 8 / Little | Guid | joiner |
Else If event is equal to LEAVE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | leaver_name | |
| - | 8 / Little | Guid | leaver |
Else If event is equal to REMOVE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | kicked_player_name | |
| - | - / - | CString | arena_team_name2 | |
| - | - / - | CString | kicker_name |
Else If event is equal to LEADER_IS or
is equal to DISBANDED:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | leader_name | |
| - | - / - | CString | arena_team_name3 |
Else If event is equal to LEADER_CHANGED:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | old_leader | |
| - | - / - | CString | new_leader | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | player_name | |
| - | - / - | CString | team_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | arena_team | |
| - | - / - | CString | team_name | |
| - | 1 / - | ArenaType | team_type | |
| - | 4 / Little | u32 | background_color | |
| - | 4 / Little | u32 | emblem_style | |
| - | 4 / Little | u32 | emblem_color | |
| - | 4 / Little | u32 | border_style | |
| - | 4 / Little | u32 | border_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | arena_team | |
| 0x08 | 4 / Little | u32 | amount_of_members | |
| 0x0C | 1 / - | ArenaType | arena_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | arena_team | |
| - | 1 / - | u8 | unknown | arcemu: new 3.0.8. arcemu sets to 0. |
| - | 4 / Little | u32 | amount_of_members | |
| - | 1 / - | ArenaType | arena_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | arena_team | |
| 0x08 | 4 / Little | u32 | rating | |
| 0x0C | 4 / Little | u32 | games_played_this_week | |
| 0x10 | 4 / Little | u32 | games_won_this_week | |
| 0x14 | 4 / Little | u32 | games_played_this_season | |
| 0x18 | 4 / Little | u32 | games_won_this_season | |
| 0x1C | 4 / Little | u32 | ranking |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | unit |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | HitInfo | hit_info | |
| 0x08 | - / - | PackedGuid | attacker | |
| - | - / - | PackedGuid | target | |
| - | 4 / Little | u32 | total_damage | |
| - | 1 / - | u8 | amount_of_damages | |
| - | ? / - | DamageInfo[amount_of_damages] | damages | |
| - | 4 / Little | u32 | damage_state | |
| - | 4 / Little | u32 | unknown1 | |
| - | 4 / Little | u32 | spell_id | vmangos: spell id, seen with heroic strike and disarm as examples |
| - | 4 / Little | u32 | blocked_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | HitInfo | hit_info | |
| 0x08 | - / - | PackedGuid | attacker | |
| - | - / - | PackedGuid | target | |
| - | 4 / Little | u32 | total_damage | |
| - | 1 / - | u8 | amount_of_damages | |
| - | ? / - | DamageInfo[amount_of_damages] | damages | |
| - | 4 / Little | u32 | damage_state | |
| - | 4 / Little | u32 | unknown1 | |
| - | 4 / Little | u32 | spell_id | vmangos: spell id, seen with heroic strike and disarm as examples |
| - | 4 / Little | u32 | blocked_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | HitInfo | hit_info | |
| - | - / - | PackedGuid | attacker | |
| - | - / - | PackedGuid | target | |
| - | 4 / Little | u32 | total_damage | |
| - | 4 / Little | u32 | overkill | |
| - | 1 / - | u8 | amount_of_damages | |
| - | ? / - | DamageInfo[amount_of_damages] | damage_infos |
If hit_info contains ALL_ABSORB:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | absorb |
If hit_info contains ALL_RESIST:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | resist | |
| - | 1 / - | VictimState | victim_state | |
| - | 4 / Little | u32 | unknown1 | arcemu: can be 0,1000 or -1 |
| - | 4 / Little | u32 | unknown2 |
If hit_info contains BLOCK:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | blocked_amount |
If hit_info contains UNK19:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unknown3 |
If hit_info contains UNK1:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unknown4 | |
| - | 4 / Little | f32 | unknown5 | |
| - | 4 / Little | f32 | unknown6 | |
| - | 4 / Little | f32 | unknown7 | |
| - | 4 / Little | f32 | unknown8 | |
| - | 4 / Little | f32 | unknown9 | |
| - | 4 / Little | f32 | unknown10 | |
| - | 4 / Little | f32 | unknown11 | |
| - | 4 / Little | f32 | unknown12 | |
| - | 4 / Little | f32 | unknown13 | |
| - | 4 / Little | f32 | unknown14 | |
| - | 4 / Little | u32 | unknown15 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | player | |
| 0x0C | 8 / Little | Guid | enemy | |
| 0x14 | 4 / Little | u32 | unknown1 | vmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | - / - | PackedGuid | enemy | |
| - | 4 / Little | u32 | unknown1 | cmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | count | |
| 0x08 | ? / - | AuctionListItem[count] | auctions | |
| - | 4 / Little | u32 | total_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | count | |
| 0x08 | ? / - | AuctionListItem[count] | auctions | |
| - | 4 / Little | u32 | total_amount_of_auctions | |
| - | 4 / Little | Milliseconds | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | count | |
| - | ? / - | AuctionListItem[count] | auctions | |
| - | 4 / Little | u32 | total_amount_of_auctions | |
| - | 4 / Little | Milliseconds | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | auction_house_id | |
| 0x08 | 4 / Little | u32 | auction_id | |
| 0x0C | 8 / Little | Guid | bidder | |
| 0x14 | 4 / Little | u32 | won | vmangos/cmangos: if 0, client shows ERR_AUCTION_WON_S, else ERR_AUCTION_OUTBID_S |
| 0x18 | 4 / Little | u32 | out_bid | |
| 0x1C | 4 / Little | u32 | item_template | |
| 0x20 | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | AuctionHouse | auction_house | |
| 0x08 | 4 / Little | u32 | auction_id | |
| 0x0C | 8 / Little | Guid | bidder | |
| 0x14 | 4 / Little | u32 | won | vmangos/cmangos: if 0, client shows ERR_AUCTION_WON_S, else ERR_AUCTION_OUTBID_S |
| 0x18 | 4 / Little | u32 | out_bid | |
| 0x1C | 4 / Little | u32 | item_template | |
| 0x20 | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | AuctionHouse | auction_house | |
| 0x08 | 4 / Little | u32 | auction_id | |
| 0x0C | 8 / Little | Guid | bidder | |
| 0x14 | 4 / Little | u32 | bid_sum | |
| 0x18 | 4 / Little | u32 | new_highest_bid | |
| 0x1C | 4 / Little | u32 | out_bid_amount | |
| 0x20 | 4 / Little | u32 | item_template | |
| 0x24 | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | auction_id | |
| - | 4 / - | AuctionCommandAction | action | |
| - | 4 / - | AuctionCommandResult | result |
If result is equal to ERR_INVENTORY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | InventoryResult | inventory_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | count | |
| 0x08 | ? / - | AuctionListItem[count] | auctions | |
| - | 4 / Little | u32 | total_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | count | |
| 0x08 | ? / - | AuctionListItem[count] | auctions | |
| - | 4 / Little | u32 | total_amount_of_auctions | |
| - | 4 / Little | Milliseconds | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | count | |
| - | ? / - | AuctionListItem[count] | auctions | |
| - | 4 / Little | u32 | total_amount_of_auctions | |
| - | 4 / Little | Milliseconds | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | count | |
| 0x08 | ? / - | AuctionListItem[count] | auctions | |
| - | 4 / Little | u32 | total_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | count | |
| 0x08 | ? / - | AuctionListItem[count] | auctions | |
| - | 4 / Little | u32 | total_amount_of_auctions | |
| - | 4 / Little | Milliseconds | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | count | |
| - | ? / - | AuctionListItem[count] | auctions | |
| - | 4 / Little | u32 | total_amount_of_auctions | |
| - | 4 / Little | Milliseconds | auction_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | auction_id | |
| 0x08 | 4 / Little | u32 | bid | vmangos/cmangos/mangoszero: if 0, client shows ERR_AUCTION_EXPIRED_S, else ERR_AUCTION_SOLD_S (works only when guid==0) |
| 0x0C | 4 / Little | u32 | auction_out_bid | |
| 0x10 | 8 / Little | Guid | bidder | |
| 0x18 | 4 / Little | Item | item | |
| 0x1C | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | auction_id | |
| 0x08 | 4 / Little | u32 | bid | vmangos/cmangos/mangoszero: if 0, client shows ERR_AUCTION_EXPIRED_S, else ERR_AUCTION_SOLD_S (works only when guid==0) |
| 0x0C | 4 / Little | u32 | auction_out_bid | |
| 0x10 | 8 / Little | Guid | bidder | |
| 0x18 | 4 / Little | Item | item | |
| 0x1C | 4 / Little | u32 | item_random_property_id | |
| 0x20 | 4 / Little | f32 | time_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Item | item | |
| 0x08 | 4 / Little | u32 | item_template | |
| 0x0C | 4 / Little | u32 | random_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit | |
| - | - / - | AuraUpdate | aura_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | server_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unknown1 | TrinityCore/ArcEmu/mangostwo always set to 1. TrinityCore/mangostwo: 1…31 |
| 0x08 | 4 / Little | u32 | server_seed | |
| 0x0C | 32 / - | u8[32] | seed | Randomized 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
If result is equal to AUTH_OK:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 4 / Little | u32 | billing_time | |
| 0x09 | 1 / - | u8 | billing_flags | |
| 0x0A | 4 / Little | u32 | billing_rested |
Else If result is equal to AUTH_WAIT_QUEUE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0E | 4 / Little | u32 | queue_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
If result is equal to AUTH_OK:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 4 / Little | u32 | billing_time | |
| 0x09 | 1 / - | BillingPlanFlags | billing_flags | |
| 0x0A | 4 / Little | u32 | billing_rested | |
| 0x0E | 1 / - | Expansion | expansion |
Else If result is equal to AUTH_WAIT_QUEUE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0F | 4 / Little | u32 | queue_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | WorldResult | result |
If result is equal to AUTH_OK:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | billing_time | |
| - | 1 / - | BillingPlanFlags | billing_flags | |
| - | 4 / Little | u32 | billing_rested | |
| - | 1 / - | Expansion | expansion |
Else If result is equal to AUTH_WAIT_QUEUE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | queue_position | |
| - | 1 / - | Bool | realm_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | BarberShopResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | battlemaster | |
| 0x0C | 4 / - | Map | map | |
| 0x10 | 1 / - | BattlegroundBracket | bracket | |
| 0x11 | 4 / Little | u32 | number_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | battlemaster | |
| 0x0C | 4 / - | BattlegroundType | battleground_type | |
| 0x10 | 4 / Little | u32 | number_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | battlemaster | |
| - | 4 / - | BattlegroundType | battleground_type | |
| - | 1 / - | u8 | unknown1 | |
| - | 1 / - | u8 | unknown2 | |
| - | 1 / - | u8 | has_win | |
| - | 4 / Little | u32 | win_honor | |
| - | 4 / Little | u32 | win_arena | |
| - | 4 / Little | u32 | loss_honor | |
| - | 1 / - | RandomBg | random |
If random is equal to RANDOM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | win_random | |
| - | 4 / Little | u32 | reward_honor | |
| - | 4 / Little | u32 | reward_arena | |
| - | 4 / Little | u32 | honor_lost | |
| - | 4 / Little | u32 | number_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | battle_id | |
| 0x08 | 1 / - | u8 | reason | |
| 0x09 | 1 / - | u8 | battle_status | |
| 0x0A | 1 / - | u8 | relocated |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | battle_id | |
| 0x08 | 1 / - | u8 | unknown1 | |
| 0x09 | 1 / - | u8 | unknown2 | |
| 0x0A | 1 / - | Bool | clear_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | battle_id | |
| 0x08 | 4 / - | Area | area | |
| 0x0C | 4 / Little | Seconds | accept_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | battle_id | |
| 0x08 | 1 / - | u8 | warmup | Possibly 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | battle_id | |
| 0x08 | 4 / - | Area | area | |
| 0x0C | 1 / - | Bool | queued | |
| 0x0D | 1 / - | Bool | full | |
| 0x0E | 1 / - | Bool | warmup |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unknown1 | |
| 0x08 | 4 / Little | u32 | unknown2 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | queue_slot | vmangos: players can be in 3 queues at the same time (0..2) |
| 0x08 | 1 / - | ArenaType | arena_type | |
| 0x09 | 1 / - | u8 | unknown1 | mangosone sets to 0x0D. |
| 0x0A | 4 / - | BattlegroundType | battleground_type | |
| 0x0E | 2 / Little | u16 | unknown2 | mangosone sets to 0x1F90 |
| 0x10 | 4 / Little | u32 | client_instance_id | |
| 0x14 | 1 / - | Bool | rated | |
| 0x15 | 1 / - | StatusId | status_id |
If status_id is equal to WAIT_QUEUE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x16 | 4 / Little | u32 | average_wait_time_in_ms | |
| 0x1A | 4 / Little | u32 | time_in_queue_in_ms |
Else If status_id is equal to WAIT_JOIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x1E | 4 / Little | u32 | time_to_remove_in_queue_in_ms |
Else If status_id is equal to IN_PROGRESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x22 | 4 / Little | u32 | time_to_bg_autoleave_in_ms | |
| 0x26 | 4 / Little | u32 | time_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | queue_slot | vmangos: players can be in 3 queues at the same time (0..2) |
| - | 1 / - | ArenaType | arena_type | |
| - | 1 / - | u8 | is_arena | azerothcore sets to 0x0E if it is arena, 0 otherwise. |
| - | 4 / - | BattlegroundType | battleground_type | |
| - | 2 / Little | u16 | unknown1 | azerothcore sets to 0x1F90 |
| - | 1 / - | u8 | minimum_level | |
| - | 1 / - | u8 | maximum_level | |
| - | 4 / Little | u32 | client_instance_id | |
| - | 1 / - | Bool | rated | |
| - | 1 / - | StatusId | status_id |
If status_id is equal to WAIT_QUEUE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | average_wait_time_in_ms | |
| - | 4 / Little | u32 | time_in_queue_in_ms |
Else If status_id is equal to WAIT_JOIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Map | map1 | |
| - | 8 / Little | u64 | unknown2 | azerothcore: 3.3.5 unknown |
| - | 4 / Little | u32 | time_to_remove_in_queue_in_ms |
Else If status_id is equal to IN_PROGRESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Map | map2 | |
| - | 8 / Little | u64 | unknown3 | azerothcore: 3.3.5 unknown |
| - | 4 / Little | u32 | time_to_bg_autoleave_in_ms | |
| - | 4 / Little | u32 | time_to_bg_start_in_ms | |
| - | 1 / - | ArenaFaction | faction |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / - | Area | area | arcemu 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | BuyBankSlotResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | Item | item | |
| 0x10 | 1 / - | BuyResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | vendor_slot | Starts at index 1. arcemu has this field as milliseconds since something instead. |
| 0x10 | 4 / Little | u32 | amount_for_sale | |
| 0x14 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unknown1 | All emus set to 0. |
| - | 1 / - | u8 | unknown2 | All emus set to 0. |
| - | - / - | CString | name | |
| - | 4 / Little | u32 | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | invitee | |
| - | 8 / Little | Guid | event_id | |
| - | 8 / Little | Guid | invite_id | |
| - | 1 / - | Level | level | |
| - | 1 / - | u8 | invite_status | |
| - | 1 / - | CalendarStatusTime | time |
If time is equal to PRESENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | DateTime | status_time | |
| - | 1 / - | Bool | is_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | event_id | |
| - | - / - | CString | title | |
| - | 4 / Little | DateTime | event_time | |
| - | 4 / Little | u32 | flags | |
| - | 4 / Little | u32 | event_type | |
| - | 4 / Little | u32 | dungeon_id | |
| - | 8 / Little | Guid | invite_id | |
| - | 1 / - | u8 | status | |
| - | 1 / - | u8 | rank | |
| - | - / - | PackedGuid | event_creator | |
| - | - / - | PackedGuid | invite_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | invitee | |
| - | 8 / Little | Guid | invite_id | |
| - | - / - | CString | text | |
| - | 1 / - | Bool | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | invite_id | |
| - | - / - | CString | text |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | invitee | |
| - | 8 / Little | Guid | event_id | |
| - | 4 / Little | u32 | flags | |
| - | 1 / - | Bool | show_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | event_id | |
| 0x0C | 4 / Little | DateTime | event_time | |
| 0x10 | 4 / Little | u32 | flags | |
| 0x14 | 1 / - | u8 | status |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | invitee | |
| - | 8 / Little | Guid | event_id | |
| - | 1 / - | u8 | rank | |
| - | 1 / - | Bool | show_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | Bool | show_alert | |
| 0x05 | 8 / Little | Guid | event_id | |
| 0x0D | 4 / Little | DateTime | event_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | invitee | |
| - | 8 / Little | Guid | event_id | |
| - | 4 / Little | DateTime | event_time | |
| - | 4 / Little | u32 | flags | |
| - | 1 / - | u8 | status | |
| - | 1 / - | u8 | rank | |
| - | 4 / Little | DateTime | status_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Bool | show_alert | |
| - | 8 / Little | Guid | event_id | |
| - | 4 / Little | DateTime | old_event_time | |
| - | 4 / Little | u32 | flags | |
| - | 4 / Little | DateTime | new_event_time | |
| - | 1 / - | u8 | event_type | |
| - | 4 / Little | u32 | dungeon_id | |
| - | - / - | CString | title | |
| - | - / - | CString | description | |
| - | 1 / - | u8 | repeatable | |
| - | 4 / Little | u32 | max_invitees | |
| - | 4 / Little | DateTime | unknown_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | DateTime | time | |
| 0x08 | 4 / - | Map | map | |
| 0x0C | 4 / Little | u32 | difficulty | |
| 0x10 | 4 / Little | u32 | remaining_time | |
| 0x14 | 8 / Little | Guid | instance_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 4 / Little | u32 | difficulty | |
| 0x0C | 4 / Little | u32 | remaining_time | |
| 0x10 | 8 / Little | Guid | instance_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | DateTime | current_time | |
| 0x08 | 4 / - | Map | map | |
| 0x0C | 4 / Little | u32 | difficulty | |
| 0x10 | 4 / Little | Seconds | old_time_to_update | |
| 0x14 | 4 / Little | Seconds | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_of_invites | |
| - | ? / - | SendCalendarInvite[amount_of_invites] | invites | |
| - | 4 / Little | u32 | amount_of_events | |
| - | ? / - | SendCalendarEvent[amount_of_events] | events | |
| - | 4 / Little | u32 | current_time | |
| - | 4 / Little | DateTime | zone_time | |
| - | 4 / Little | u32 | amount_of_instances | |
| - | ? / - | SendCalendarInstance[amount_of_instances] | instances | |
| - | 4 / Little | u32 | relative_time | |
| - | 4 / Little | u32 | amount_of_reset_times | |
| - | ? / - | SendCalendarResetTime[amount_of_reset_times] | reset_times | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | send_type | |
| - | - / - | PackedGuid | creator | |
| - | 8 / Little | Guid | event_id | |
| - | - / - | CString | title | |
| - | - / - | CString | description | |
| - | 1 / - | u8 | event_type | |
| - | 1 / - | u8 | repeatable | |
| - | 4 / Little | u32 | max_invitees | |
| - | 4 / Little | u32 | dungeon_id | |
| - | 4 / Little | u32 | flags | |
| - | 4 / Little | DateTime | event_time | |
| - | 4 / Little | DateTime | time_zone_time | |
| - | 4 / Little | u32 | guild_id | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | pending_events | Number 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | camera_shake_id | SpellEffectCameraShakes.dbc |
| 0x08 | 4 / Little | u32 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | id | |
| 0x08 | 1 / - | SpellCastResult | result | |
| 0x09 | 1 / - | Bool | multiple_casts |
If result is equal to REQUIRES_SPELL_FOCUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0A | 4 / Little | u32 | spell_focus |
Else If result is equal to REQUIRES_AREA:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0E | 4 / - | Area | area |
Else If result is equal to TOTEMS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x12 | 8 / - | u32[2] | totems |
Else If result is equal to TOTEM_CATEGORY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x1A | 8 / - | u32[2] | totem_categories |
Else If result is equal to EQUIPPED_ITEM_CLASS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x22 | 4 / Little | u32 | item_class | |
| 0x26 | 4 / Little | u32 | item_sub_class | |
| 0x2A | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | cast_count | |
| - | 4 / Little | Spell | id | |
| - | 1 / - | SpellCastResult | result | |
| - | 1 / - | Bool | multiple_casts |
If result is equal to REQUIRES_SPELL_FOCUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | spell_focus |
Else If result is equal to REQUIRES_AREA:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Area | area |
Else If result is equal to TOTEMS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / - | u32[2] | totems |
Else If result is equal to TOTEM_CATEGORY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | item_class | |
| - | 4 / Little | u32 | item_sub_class |
Else If result is equal to TOO_MANY_OF_ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | item_limit_category |
Else If result is equal to CUSTOM_ERROR:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | custom_error |
Else If result is equal to REAGENTS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | missing_item |
Else If result is equal to PREVENTED_BY_MECHANIC:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | mechanic |
Else If result is equal to NEED_EXOTIC_AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | equipped_item_sub_class |
Else If result is equal to NEED_MORE_ITEMS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | Item | item | |
| - | 4 / Little | u32 | count |
Else If result is equal to MIN_SKILL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Skill | skill | |
| - | 4 / Little | u32 | skill_required |
Else If result is equal to FISHING_TOO_LOW:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | fishing_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | channel_name | |
| - | 1 / - | ChannelFlags | channel_flags | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | CString | channel | |
| - | 1 / - | u8 | flags | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | channel | |
| - | 1 / - | u8 | flags | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | ChatNotify | notify_type | |
| 0x05 | - / - | CString | channel_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | ChatNotify | notify_type | |
| - | - / - | CString | channel_name |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unknown2 | |
| - | 4 / Little | u32 | unkwown3 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | WorldResult | result |
If result is equal to RESPONSE_SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | guid | |
| - | - / - | CString | name | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin_color | |
| - | 1 / - | u8 | face | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | facial_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | amount_of_characters | Client 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | WorldResult | result |
If result is equal to RESPONSE_SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | guid | |
| - | - / - | CString | name | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | u8 | skin_color | |
| - | 1 / - | u8 | face | |
| - | 1 / - | u8 | hair_style | |
| - | 1 / - | u8 | hair_color | |
| - | 1 / - | u8 | facial_hair | |
| - | 1 / - | Race | race |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
If result is equal to RESPONSE_SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 8 / Little | Guid | character | |
| 0x0D | - / - | CString | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | WorldResult | result |
If result is equal to RESPONSE_SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 8 / Little | Guid | character | |
| 0x0D | - / - | CString | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | WorldResult | result |
If result is equal to RESPONSE_SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | character | |
| - | - / - | CString | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | ChatRestrictionType | restriction |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | ChatRestrictionType | restriction |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | id | |
| 0x08 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | unit | |
| - | 4 / Little | Spell | spell |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | target |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | version |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 1 / - | Bool | allow_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | unknown | All emulators set to 0. |
| 0x05 | 1 / - | ComplainResultWindow | window_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | unknown | All emulators set to 0. |
| 0x05 | 1 / - | ComplainResultWindow | window_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | size | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_of_objects | |
| 0x08 | 1 / - | u8 | has_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_of_objects | |
| 0x08 | 1 / - | u8 | has_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | RelationType | list_mask | Indicates which kinds of relations are being sent in this list |
| 0x08 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | RelationType | list_mask | Indicates which kinds of relations are being sent in this list |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | index | |
| 0x05 | 1 / - | u8 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | id | |
| 0x08 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | f32 | unknown1 | |
| 0x08 | 4 / Little | f32 | unknown2 | |
| 0x0C | 4 / Little | f32 | unknown3 | |
| 0x10 | 4 / Little | f32 | unknown4 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Seconds | delay |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | creature_entry | When 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.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | - / - | CString | name1 | |
| - | - / - | CString | name2 | |
| - | - / - | CString | name3 | |
| - | - / - | CString | name4 | |
| - | - / - | CString | sub_name | |
| - | 4 / Little | u32 | type_flags | |
| - | 4 / Little | u32 | creature_type | cmangos: CreatureType.dbc wdbFeild8 |
| - | 4 / - | CreatureFamily | creature_family | |
| - | 4 / Little | u32 | creature_rank | cmangos: Creature Rank (elite, boss, etc) |
| - | 4 / Little | u32 | unknown0 | cmangos: wdbFeild11 |
| - | 4 / Little | u32 | spell_data_id | cmangos: Id from CreatureSpellData.dbc wdbField12 |
| - | 4 / Little | u32 | display_id | cmangos: DisplayID wdbFeild13 and workaround, way to manage models must be fixed |
| - | 1 / - | u8 | civilian | cmangos: wdbFeild14 |
| - | 1 / - | u8 | racial_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | creature_entry | When 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.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | - / - | CString | name1 | |
| - | - / - | CString | name2 | |
| - | - / - | CString | name3 | |
| - | - / - | CString | name4 | |
| - | - / - | CString | sub_name | |
| - | - / - | CString | description | mangosone: ‘Directions’ for guard, string for Icons 2.3.0 |
| - | 4 / Little | u32 | type_flags | |
| - | 4 / Little | u32 | creature_type | mangosone: CreatureType.dbc wdbFeild8 |
| - | 4 / - | CreatureFamily | creature_family | |
| - | 4 / Little | u32 | creature_rank | mangosone: Creature Rank (elite, boss, etc) |
| - | 4 / Little | u32 | unknown0 | mangosone: wdbFeild11 |
| - | 4 / Little | u32 | spell_data_id | mangosone: Id from CreatureSpellData.dbc wdbField12 |
| - | 16 / - | u32[4] | display_ids | |
| - | 4 / Little | f32 | health_multiplier | |
| - | 4 / Little | f32 | mana_multiplier | |
| - | 1 / - | u8 | racial_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | creature_entry | When 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.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | name1 | |
| - | - / - | CString | name2 | |
| - | - / - | CString | name3 | |
| - | - / - | CString | name4 | |
| - | - / - | CString | sub_name | |
| - | - / - | CString | description | mangosone: ‘Directions’ for guard, string for Icons 2.3.0 |
| - | 4 / Little | u32 | type_flags | |
| - | 4 / Little | u32 | creature_type | mangosone: CreatureType.dbc wdbFeild8 |
| - | 4 / - | CreatureFamily | creature_family | |
| - | 4 / Little | u32 | creature_rank | mangosone: Creature Rank (elite, boss, etc) |
| - | 4 / Little | u32 | kill_credit1 | mangosone: new in 3.1 |
| - | 4 / Little | u32 | kill_credit2 | mangosone: new in 3.1 |
| - | 16 / - | u32[4] | display_ids | |
| - | 4 / Little | f32 | health_multiplier | |
| - | 4 / Little | f32 | mana_multiplier | |
| - | 1 / - | u8 | racial_leader | |
| - | 24 / - | u32[6] | quest_items | |
| - | 4 / Little | u32 | movement_id | mangosone: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | criteria_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | achievement | |
| - | - / - | PackedGuid | progress_counter | trinitycore/azerothcore: This is a u32 passed to the appendPackGUID function which promotes it to u64. |
| - | - / - | PackedGuid | player | |
| - | 4 / Little | u32 | flags | trinitycore: this are some flags, 1 is for keeping the counter at 0 in client |
| - | 4 / Little | DateTime | time | |
| - | 4 / Little | Seconds | time_elapsed | |
| - | 4 / Little | u32 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | player | |
| 0x0C | 4 / Little | u32 | state | |
| 0x10 | 4 / Little | Item | item |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | player | |
| 0x0C | 4 / Little | u32 | state | |
| 0x10 | 4 / Little | Item | item |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Area | area | |
| 0x08 | - / - | SizedCString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Area | area | |
| 0x08 | - / - | SizedCString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Area | area | |
| - | - / - | SizedCString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 1 / - | Bool | target_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | DismountResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | caster | |
| - | 8 / Little | Guid | target | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | Bool | ended_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Seconds | time |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | DuelWinnerReason | reason | |
| - | - / - | CString | opponent_name | |
| - | - / - | CString | initiator_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | target | |
| 0x0C | 8 / Little | Guid | caster | vmangos: message says enchant has faded if empty |
| 0x14 | 4 / Little | Item | item | |
| 0x18 | 4 / Little | Spell | spell | |
| 0x1C | 1 / - | Bool | show_affiliation | vmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target | |
| - | - / - | PackedGuid | caster | vmangos: message says enchant has faded if empty |
| - | 4 / Little | Item | item | |
| - | 4 / Little | Spell | spell | |
| - | 1 / - | Bool | show_affiliation | vmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 1 / - | EnvironmentalDamageType | damage_type | |
| 0x0D | 4 / Little | u32 | damage | |
| 0x11 | 4 / Little | u32 | absorb | |
| 0x15 | 4 / Little | u32 | resist |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Area | area | |
| 0x08 | 4 / Little | u32 | experience |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Area | area | |
| 0x08 | 4 / Little | u32 | experience |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Area | area | |
| 0x08 | 4 / Little | u32 | experience |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | ComplaintStatus | complaint_status | |
| 0x05 | 1 / - | Bool | voice_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | ComplaintStatus | complaint_status | |
| 0x05 | 1 / - | Bool | voice_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | f32 | elapsed_value | |
| 0x08 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | elapsed_value | |
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | move_event | cmangos/mangoszero/vmangos: set to 0 cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39 |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | move_event | cmangos/mangoszero/vmangos: set to 0 cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39 |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | move_event | cmangos/mangoszero/vmangos: set to 0 cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39 |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | move_event | cmangos/mangoszero/vmangos: set to 0 cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39 |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | move_event | cmangos/mangoszero/vmangos: set to 0 cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39 |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | move_event | cmangos/mangoszero/vmangos: set to 0 cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39 |
| - | 1 / - | u8 | unknown | mangosone sets to 0 mangosone: new 2.1.0 |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | move_event | cmangos/mangoszero/vmangos: set to 0 cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39 |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | move_event | cmangos/mangoszero/vmangos: set to 0 cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39 |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | move_event | cmangos/mangoszero/vmangos: set to 0 cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39 |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | move_event | cmangos/mangoszero/vmangos: set to 0 cmangos/mangoszero/vmangos: moveEvent, NUM_PMOVE_EVTS = 0x39 |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | FriendResult | result | |
| 0x05 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | FriendResult | result | |
| 0x05 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | animation_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | entry_id | When 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.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | 4 / Little | u32 | info_type | |
| 0x0C | 4 / Little | u32 | display_id | |
| 0x10 | - / - | CString | name1 | |
| - | - / - | CString | name2 | |
| - | - / - | CString | name3 | |
| - | - / - | CString | name4 | |
| - | - / - | CString | name5 | |
| - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | entry_id | When 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.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | 4 / Little | u32 | info_type | |
| 0x0C | 4 / Little | u32 | display_id | |
| 0x10 | - / - | CString | name1 | |
| - | - / - | CString | name2 | |
| - | - / - | CString | name3 | |
| - | - / - | CString | name4 | |
| - | - / - | CString | icon_name | |
| - | - / - | CString | cast_bar_caption | |
| - | - / - | CString | unknown | |
| - | 24 / - | u32[6] | raw_data | |
| - | 4 / Little | f32 | gameobject_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | entry_id | When 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.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | info_type | |
| - | 4 / Little | u32 | display_id | |
| - | - / - | CString | name1 | |
| - | - / - | CString | name2 | |
| - | - / - | CString | name3 | |
| - | - / - | CString | name4 | |
| - | - / - | CString | icon_name | |
| - | - / - | CString | cast_bar_caption | |
| - | - / - | CString | unknown | |
| - | 24 / - | u32[6] | raw_data | |
| - | 4 / Little | f32 | gameobject_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | response_id | |
| - | 4 / Little | u32 | ticket_id | |
| - | - / - | CString | message | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | Bool | show_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GmTicketResponse | response |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GmTicketResponse | response |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GmTicketStatus | status |
If status is equal to HAS_TEXT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | - / - | CString | text | cmangos: Ticket text: data, should never exceed 1999 bytes |
| - | 1 / - | GmTicketType | ticket_type | |
| - | 4 / Little | f32 | days_since_ticket_creation | |
| - | 4 / Little | f32 | days_since_oldest_ticket_creation | |
| - | 4 / Little | f32 | days_since_last_updated | |
| - | 1 / - | GmTicketEscalationStatus | escalation_status | |
| - | 1 / - | Bool | read_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GmTicketStatus | status |
If status is equal to HAS_TEXT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | - / - | CString | text | cmangos: Ticket text: data, should never exceed 1999 bytes |
| - | 1 / - | GmTicketType | ticket_type | |
| - | 4 / Little | f32 | days_since_ticket_creation | |
| - | 4 / Little | f32 | days_since_oldest_ticket_creation | |
| - | 4 / Little | f32 | days_since_last_updated | |
| - | 1 / - | GmTicketEscalationStatus | escalation_status | |
| - | 1 / - | Bool | read_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | GmTicketStatus | status |
If status is equal to HAS_TEXT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | id | |
| - | - / - | CString | text | cmangos: Ticket text: data, should never exceed 1999 bytes |
| - | 1 / - | Bool | need_more_help | |
| - | 4 / Little | f32 | days_since_ticket_creation | |
| - | 4 / Little | f32 | days_since_oldest_ticket_creation | |
| - | 4 / Little | f32 | days_since_last_updated | |
| - | 1 / - | GmTicketEscalationStatus | escalation_status | |
| - | 1 / - | Bool | read_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GmTicketQueueStatus | will_accept_tickets | vmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GmTicketResponse | response |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x09 | - / - | SizedCString | sender | |
| - | - / - | NamedGuid | target1 | |
| - | - / - | SizedCString | message1 | |
| - | 1 / - | PlayerChatTag | chat_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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | NamedGuid | target2 | |
| - | - / - | SizedCString | message2 | |
| - | 1 / - | PlayerChatTag | chat_tag2 |
Else If chat_type is equal to CHANNEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | channel_name | |
| - | 8 / Little | Guid | target4 | |
| - | - / - | SizedCString | message3 | |
| - | 1 / - | PlayerChatTag | chat_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | ChatType | chat_type | |
| - | 4 / - | Language | language | |
| - | 8 / Little | Guid | sender | |
| - | 4 / Little | u32 | flags | azerothcore 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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | SizedCString | sender1 | |
| - | - / - | NamedGuid | target1 |
Else If chat_type is equal to WHISPER_FOREIGN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | SizedCString | sender2 | |
| - | 8 / Little | Guid | target2 |
Else If chat_type is equal to BG_SYSTEM_NEUTRAL or
is equal to BG_SYSTEM_ALLIANCE or
is equal to BG_SYSTEM_HORDE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | NamedGuid | target3 |
Else If chat_type is equal to ACHIEVEMENT or
is equal to GUILD_ACHIEVEMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | target4 |
Else If chat_type is equal to CHANNEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | channel_name | |
| - | 8 / Little | Guid | target5 |
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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | achievement_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GmTicketStatusResponse | response |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | title_text_id | |
| 0x10 | 4 / Little | u32 | amount_of_gossip_items | |
| 0x14 | ? / - | GossipItem[amount_of_gossip_items] | gossips | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | menu_id | mangosone: new 2.4.0 |
| 0x10 | 4 / Little | u32 | title_text_id | |
| 0x14 | 4 / Little | u32 | amount_of_gossip_items | |
| 0x18 | ? / - | GossipItem[amount_of_gossip_items] | gossips | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | guid | |
| - | 4 / Little | u32 | menu_id | mangosone: new 2.4.0 |
| - | 4 / Little | u32 | title_text_id | |
| - | 4 / Little | u32 | amount_of_gossip_items | |
| - | ? / - | GossipItem[amount_of_gossip_items] | gossips | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | flags | |
| - | 8 / - | Vector2d | position | |
| - | 4 / Little | u32 | icon | |
| - | 4 / Little | u32 | data | |
| - | - / - | CString | location_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | PlayerInviteStatus | status | |
| - | - / - | CString | name |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unknown1 | All emulators set entire optional to 0. |
| - | 1 / - | u8 | count | All emulators set entire optional to 0. |
| - | 4 / Little | u32 | unknown2 | All 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | BgTypeId | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | BgTypeId | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | BgTypeId | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | GroupType | group_type | |
| 0x05 | 1 / - | u8 | flags | mangoszero/cmangos/vmangos: own flags (groupid |
| 0x06 | 4 / Little | u32 | amount_of_members | |
| 0x0A | ? / - | GroupListMember[amount_of_members] | members | |
| - | 8 / Little | Guid | leader |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | GroupLootSetting | loot_setting | |
| - | 8 / Little | Guid | master_loot | Zero if loot_setting is not MASTER_LOOT |
| - | 1 / - | ItemQuality | loot_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | GroupType | group_type | |
| 0x05 | 1 / - | Bool | battleground_group | |
| 0x06 | 1 / - | u8 | group_id | |
| 0x07 | 1 / - | u8 | flags | mangoszero/cmangos/vmangos: own flags (groupid |
| 0x08 | 8 / Little | Guid | group | |
| 0x10 | 4 / Little | u32 | amount_of_members | |
| 0x14 | ? / - | GroupListMember[amount_of_members] | members | |
| - | 8 / Little | Guid | leader |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | GroupLootSetting | loot_setting | |
| - | 8 / Little | Guid | master_loot | Zero if loot_setting is not MASTER_LOOT |
| - | 1 / - | ItemQuality | loot_threshold | |
| - | 1 / - | DungeonDifficulty | difficulty |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | group_type | |
| - | 1 / - | u8 | group_id | |
| - | 1 / - | u8 | flags | mangoszero/cmangos/vmangos: own flags (groupid |
| - | 1 / - | u8 | roles | |
| - | 8 / Little | Guid | group | |
| - | 4 / Little | u32 | counter | azerothcore: 3.3, value increases every time this packet gets sent |
| - | 4 / Little | u32 | amount_of_members | |
| - | ? / - | GroupListMember[amount_of_members] | members | |
| - | 8 / Little | Guid | leader |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | GroupLootSetting | loot_setting | |
| - | 8 / Little | Guid | master_loot | Zero if loot_setting is not MASTER_LOOT |
| - | 1 / - | ItemQuality | loot_threshold | |
| - | 1 / - | DungeonDifficulty | difficulty | |
| - | 1 / - | RaidDifficulty | raid_difficulty | |
| - | 1 / - | Bool | heroic |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | u64 | bank_balance | |
| 0x0C | 1 / - | u8 | tab_id | |
| 0x0D | 4 / Little | u32 | amount_of_allowed_item_withdraws | |
| 0x11 | 1 / - | GuildBankTabResult | tab_result |
If tab_result is equal to PRESENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x12 | 1 / - | u8 | amount_of_bank_tabs | |
| 0x13 | ? / - | GuildBankTab[amount_of_bank_tabs] | tabs | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | u64 | bank_balance | |
| - | 1 / - | u8 | tab_id | |
| - | 4 / Little | u32 | amount_of_allowed_item_withdraws | |
| - | 1 / - | GuildBankTabResult | tab_result |
If tab_result is equal to PRESENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | amount_of_bank_tabs | |
| - | ? / - | GuildBankTab[amount_of_bank_tabs] | tabs | |
| - | 1 / - | GuildBankContentResult | content_result |
If content_result is equal to PRESENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GuildCommand | command | |
| 0x08 | - / - | CString | string | |
| - | 4 / - | GuildCommandResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | GuildCommand | command | |
| 0x08 | - / - | CString | string | |
| - | 4 / - | GuildCommandResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | GuildCommand | command | |
| - | - / - | CString | string | |
| - | 4 / - | GuildCommandResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | GuildEvent | event | |
| 0x05 | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | GuildEvent | event | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | CString | guild_name | |
| - | 4 / Little | u32 | created_day | |
| - | 4 / Little | u32 | created_month | |
| - | 4 / Little | u32 | created_year | |
| - | 4 / Little | u32 | amount_of_characters_in_guild | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | guild_name | |
| - | 4 / Little | DateTime | created | |
| - | 4 / Little | u32 | amount_of_characters_in_guild | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | player_name | |
| - | - / - | CString | guild_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | id | |
| - | - / - | CString | name | |
| - | ? / - | CString[10] | rank_names | |
| - | 4 / Little | u32 | emblem_style | |
| - | 4 / Little | u32 | emblem_color | |
| - | 4 / Little | u32 | border_style | |
| - | 4 / Little | u32 | border_color | |
| - | 4 / Little | u32 | background_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_of_members | |
| 0x08 | - / - | CString | motd | |
| - | - / - | CString | guild_info | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_of_members | |
| 0x08 | - / - | CString | motd | |
| - | - / - | CString | guild_info | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_of_members | |
| - | - / - | CString | motd | |
| - | - / - | CString | guild_info | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit | |
| - | - / - | PackedGuid | new_victim | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_of_factions | vmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_of_factions | vmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | unknown1 | cmangos/mangoszero: sets to 0 |
| 0x05 | 2 / Little | u16 | spell_count | |
| 0x07 | ? / - | InitialSpell[spell_count] | initial_spells | |
| - | 2 / Little | u16 | cooldown_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | unknown1 | cmangos/mangoszero: sets to 0 |
| - | 2 / Little | u16 | spell_count | |
| - | ? / - | InitialSpell[spell_count] | initial_spells | |
| - | 2 / Little | u16 | cooldown_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 4 / - | Area | area | |
| 0x0C | 2 / Little | u16 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 4 / - | Area | area | |
| 0x0C | 2 / Little | u16 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Map | map | |
| - | 4 / - | Area | area | |
| - | 4 / - | Area | sub_area | |
| - | 2 / Little | u16 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | player | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | 4 / Little | u32 | unspent_talent_points | |
| - | 1 / - | u8 | amount_of_specs | |
| - | 1 / - | u8 | active_spec | |
| - | ? / - | InspectTalentSpec[amount_of_specs] | specs | |
| - | 1 / - | u8 | amount_of_glyphs | |
| - | ? / - | u16[amount_of_glyphs] | glyphs | |
| - | - / - | InspectTalentGearMask | talent_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | difficulty | |
| 0x08 | 4 / Little | Bool32 | dynamic_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Milliseconds | time | |
| 0x08 | 4 / Little | u32 | encounter_mask | |
| 0x0C | 1 / - | u8 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | InstanceResetFailedReason | reason | |
| 0x08 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | InstanceResetFailedReason | reason | |
| 0x08 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | InstanceResetFailedReason | reason | |
| 0x08 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unknown | All 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | InventoryResult | result |
If result is equal to CANT_EQUIP_LEVEL_I:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 4 / Little | Level32 | required_level |
If result is not equal to OK:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x09 | 8 / Little | Guid | item1 | |
| 0x11 | 8 / Little | Guid | item2 | |
| 0x19 | 1 / - | u8 | bag_type_subclass | cmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | InventoryResult | result |
If result is not equal to OK:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 8 / Little | Guid | item1 | |
| 0x0D | 8 / Little | Guid | item2 | |
| 0x15 | 1 / - | u8 | bag_type_subclass | cmangos: 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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x16 | 4 / Little | Level32 | required_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | InventoryResult | result |
If result is not equal to OK:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | item1 | |
| - | 8 / Little | Guid | item2 | |
| - | 1 / - | u8 | bag_type_subclass | cmangos: 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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | Level32 | required_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | item | |
| 0x0C | 4 / Little | u32 | slot | Possibly used with EnchantmentSlot enum. |
| 0x10 | 4 / Little | u32 | duration | |
| 0x14 | 8 / Little | Guid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Item | item | |
| 0x08 | - / - | CString | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | Item | item | |
| - | - / - | CString | item_name | |
| - | 1 / - | InventoryType | inventory_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / - | NewItemSource | source | |
| 0x10 | 4 / - | NewItemCreationType | creation_type | |
| 0x14 | 4 / - | NewItemChatAlert | alert_chat | |
| 0x18 | 1 / - | u8 | bag_slot | |
| 0x19 | 4 / Little | u32 | item_slot | mangoszero: item slot, but when added to stack: 0xFFFFFFFF |
| 0x1D | 4 / Little | Item | item | |
| 0x21 | 4 / Little | u32 | item_suffix_factor | mangoszero: SuffixFactor |
| 0x25 | 4 / Little | u32 | item_random_property_id | mangoszero: random item property id |
| 0x29 | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / - | NewItemSource | source | |
| 0x10 | 4 / - | NewItemCreationType | creation_type | |
| 0x14 | 4 / - | NewItemChatAlert | alert_chat | |
| 0x18 | 1 / - | u8 | bag_slot | |
| 0x19 | 4 / Little | u32 | item_slot | mangoszero: item slot, but when added to stack: 0xFFFFFFFF |
| 0x1D | 4 / Little | Item | item | |
| 0x21 | 4 / Little | u32 | item_suffix_factor | mangoszero: SuffixFactor |
| 0x25 | 4 / Little | u32 | item_random_property_id | mangoszero: random item property id |
| 0x29 | 4 / Little | u32 | item_count | |
| 0x2D | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Item | item |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | 8 / - | ItemClassAndSubClass | class_and_sub_class | |
| 0x10 | - / - | CString | name1 | |
| - | - / - | CString | name2 | |
| - | - / - | CString | name3 | |
| - | - / - | CString | name4 | |
| - | 4 / Little | u32 | display_id | id from ItemDisplayInfo.dbc |
| - | 4 / - | ItemQuality | quality | |
| - | 4 / - | ItemFlag | flags | |
| - | 4 / Little | Gold | buy_price | |
| - | 4 / Little | Gold | sell_price | |
| - | 4 / - | InventoryType | inventory_type | |
| - | 4 / - | AllowedClass | allowed_class | |
| - | 4 / - | AllowedRace | allowed_race | |
| - | 4 / Little | Level32 | item_level | |
| - | 4 / Little | Level32 | required_level | |
| - | 4 / - | Skill | required_skill | |
| - | 4 / Little | u32 | required_skill_rank | |
| - | 4 / Little | Spell | required_spell | |
| - | 4 / Little | u32 | required_honor_rank | |
| - | 4 / Little | u32 | required_city_rank | |
| - | 4 / - | Faction | required_faction | |
| - | 4 / Little | u32 | required_faction_rank | cmangos/vmangos/mangoszero: send value only if reputation faction id setted ( needed for some items) |
| - | 4 / Little | u32 | max_count | |
| - | 4 / Little | u32 | stackable | |
| - | 4 / Little | u32 | container_slots | |
| - | 80 / - | ItemStat[10] | stats | |
| - | 60 / - | ItemDamageType[5] | damages | |
| - | 4 / Little | i32 | armor | |
| - | 4 / Little | i32 | holy_resistance | |
| - | 4 / Little | i32 | fire_resistance | |
| - | 4 / Little | i32 | nature_resistance | |
| - | 4 / Little | i32 | frost_resistance | |
| - | 4 / Little | i32 | shadow_resistance | |
| - | 4 / Little | i32 | arcane_resistance | |
| - | 4 / Little | u32 | delay | |
| - | 4 / Little | u32 | ammo_type | |
| - | 4 / Little | f32 | ranged_range_modification | |
| - | 120 / - | ItemSpells[5] | spells | |
| - | 4 / - | Bonding | bonding | |
| - | - / - | CString | description | |
| - | 4 / Little | u32 | page_text | |
| - | 4 / - | Language | language | |
| - | 4 / - | PageTextMaterial | page_text_material | |
| - | 4 / Little | u32 | start_quest | cmangos/vmangos/mangoszero: id from QuestCache.wdb |
| - | 4 / Little | u32 | lock_id | |
| - | 4 / Little | u32 | material | cmangos/vmangos/mangoszero: id from Material.dbc |
| - | 4 / - | SheatheType | sheathe_type | |
| - | 4 / Little | u32 | random_property | cmangos/vmangos/mangoszero: id from ItemRandomProperties.dbc |
| - | 4 / Little | u32 | block | |
| - | 4 / - | ItemSet | item_set | |
| - | 4 / Little | u32 | max_durability | |
| - | 4 / - | Area | area | |
| - | 4 / - | Map | map | |
| - | 4 / - | BagFamily | bag_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Item | item |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | 8 / - | ItemClassAndSubClass | class_and_sub_class | |
| 0x10 | 4 / Little | u32 | sound_override_sub_class | mangosone: 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 | - / - | CString | name1 | |
| - | - / - | CString | name2 | |
| - | - / - | CString | name3 | |
| - | - / - | CString | name4 | |
| - | 4 / Little | u32 | display_id | id from ItemDisplayInfo.dbc |
| - | 4 / - | ItemQuality | quality | |
| - | 4 / - | ItemFlag | flags | |
| - | 4 / Little | Gold | buy_price | |
| - | 4 / Little | Gold | sell_price | |
| - | 4 / - | InventoryType | inventory_type | |
| - | 4 / - | AllowedClass | allowed_class | |
| - | 4 / - | AllowedRace | allowed_race | |
| - | 4 / Little | u32 | item_level | |
| - | 4 / Little | Level32 | required_level | |
| - | 4 / - | Skill | required_skill | |
| - | 4 / Little | u32 | required_skill_rank | |
| - | 4 / Little | Spell | required_spell | |
| - | 4 / Little | u32 | required_honor_rank | |
| - | 4 / Little | u32 | required_city_rank | |
| - | 4 / - | Faction | required_faction | |
| - | 4 / Little | u32 | required_faction_rank | cmangos/vmangos/mangoszero: send value only if reputation faction id setted ( needed for some items) |
| - | 4 / Little | u32 | max_count | |
| - | 4 / Little | u32 | stackable | |
| - | 4 / Little | u32 | container_slots | |
| - | 80 / - | ItemStat[10] | stats | |
| - | 60 / - | ItemDamageType[5] | damages | |
| - | 4 / Little | i32 | armor | |
| - | 4 / Little | i32 | holy_resistance | |
| - | 4 / Little | i32 | fire_resistance | |
| - | 4 / Little | i32 | nature_resistance | |
| - | 4 / Little | i32 | frost_resistance | |
| - | 4 / Little | i32 | shadow_resistance | |
| - | 4 / Little | i32 | arcane_resistance | |
| - | 4 / Little | u32 | delay | |
| - | 4 / Little | u32 | ammo_type | |
| - | 4 / Little | f32 | ranged_range_modification | |
| - | 120 / - | ItemSpells[5] | spells | |
| - | 4 / - | Bonding | bonding | |
| - | - / - | CString | description | |
| - | 4 / Little | u32 | page_text | |
| - | 4 / - | Language | language | |
| - | 4 / - | PageTextMaterial | page_text_material | |
| - | 4 / Little | u32 | start_quest | cmangos/vmangos/mangoszero: id from QuestCache.wdb |
| - | 4 / Little | u32 | lock_id | |
| - | 4 / Little | u32 | material | cmangos/vmangos/mangoszero: id from Material.dbc |
| - | 4 / - | SheatheType | sheathe_type | |
| - | 4 / Little | u32 | random_property | cmangos/vmangos/mangoszero: id from ItemRandomProperties.dbc |
| - | 4 / Little | u32 | block | |
| - | 4 / - | ItemSet | item_set | |
| - | 4 / Little | u32 | max_durability | |
| - | 4 / - | Area | area | |
| - | 4 / - | Map | map | |
| - | 4 / - | BagFamily | bag_family | |
| - | 4 / Little | u32 | totem_category | mangosone: id from TotemCategory.dbc |
| - | 24 / - | ItemSocket[3] | sockets | |
| - | 4 / Little | u32 | socket_bonus | |
| - | 4 / Little | u32 | gem_properties | |
| - | 4 / Little | u32 | required_disenchant_skill | |
| - | 4 / Little | f32 | armor_damage_modifier | |
| - | 4 / Little | Seconds | duration | mangosone: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | Item | item |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / - | ItemClassAndSubClass | class_and_sub_class | |
| - | 4 / Little | u32 | sound_override_sub_class | mangosone: 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 |
| - | - / - | CString | name1 | |
| - | - / - | CString | name2 | |
| - | - / - | CString | name3 | |
| - | - / - | CString | name4 | |
| - | 4 / Little | u32 | display_id | id from ItemDisplayInfo.dbc |
| - | 4 / - | ItemQuality | quality | |
| - | 4 / - | ItemFlag | flags | |
| - | 4 / - | ItemFlag2 | flags2 | |
| - | 4 / Little | Gold | buy_price | |
| - | 4 / Little | Gold | sell_price | |
| - | 4 / - | InventoryType | inventory_type | |
| - | 4 / - | AllowedClass | allowed_class | |
| - | 4 / - | AllowedRace | allowed_race | |
| - | 4 / Little | u32 | item_level | |
| - | 4 / Little | Level32 | required_level | |
| - | 4 / - | Skill | required_skill | |
| - | 4 / Little | u32 | required_skill_rank | |
| - | 4 / Little | Spell | required_spell | |
| - | 4 / Little | u32 | required_honor_rank | |
| - | 4 / Little | u32 | required_city_rank | |
| - | 4 / - | Faction | required_faction | |
| - | 4 / Little | u32 | required_faction_rank | cmangos/vmangos/mangoszero: send value only if reputation faction id setted ( needed for some items) |
| - | 4 / Little | u32 | max_count | |
| - | 4 / Little | u32 | stackable | |
| - | 4 / Little | u32 | container_slots | |
| - | 4 / Little | u32 | amount_of_stats | |
| - | ? / - | ItemStat[amount_of_stats] | stats | |
| - | 4 / Little | u32 | scaling_stats_entry | |
| - | 4 / Little | u32 | scaling_stats_flag | |
| - | 24 / - | ItemDamageType[2] | damages | |
| - | 4 / Little | i32 | armor | |
| - | 4 / Little | i32 | holy_resistance | |
| - | 4 / Little | i32 | fire_resistance | |
| - | 4 / Little | i32 | nature_resistance | |
| - | 4 / Little | i32 | frost_resistance | |
| - | 4 / Little | i32 | shadow_resistance | |
| - | 4 / Little | i32 | arcane_resistance | |
| - | 4 / Little | u32 | delay | |
| - | 4 / Little | u32 | ammo_type | |
| - | 4 / Little | f32 | ranged_range_modification | |
| - | 120 / - | ItemSpells[5] | spells | |
| - | 4 / - | Bonding | bonding | |
| - | - / - | CString | description | |
| - | 4 / Little | u32 | page_text | |
| - | 4 / - | Language | language | |
| - | 4 / - | PageTextMaterial | page_text_material | |
| - | 4 / Little | u32 | start_quest | cmangos/vmangos/mangoszero: id from QuestCache.wdb |
| - | 4 / Little | u32 | lock_id | |
| - | 4 / Little | u32 | material | cmangos/vmangos/mangoszero: id from Material.dbc |
| - | 4 / - | SheatheType | sheathe_type | |
| - | 4 / Little | u32 | random_property | cmangos/vmangos/mangoszero: id from ItemRandomProperties.dbc |
| - | 4 / Little | u32 | random_suffix | |
| - | 4 / Little | u32 | block | |
| - | 4 / - | ItemSet | item_set | |
| - | 4 / Little | u32 | max_durability | |
| - | 4 / - | Area | area | |
| - | 4 / - | Map | map | |
| - | 4 / - | BagFamily | bag_family | |
| - | 4 / Little | u32 | totem_category | mangosone: id from TotemCategory.dbc |
| - | 24 / - | ItemSocket[3] | sockets | |
| - | 4 / Little | u32 | socket_bonus | |
| - | 4 / Little | u32 | gem_properties | |
| - | 4 / Little | u32 | required_disenchant_skill | |
| - | 4 / Little | f32 | armor_damage_modifier | |
| - | 4 / Little | Seconds | duration | mangosone: added in 2.4.2.8209, duration (seconds) |
| - | 4 / Little | u32 | item_limit_category | |
| - | 4 / Little | u32 | holiday_id | mangosone: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | item | |
| 0x0C | 4 / Little | Gold | money_cost | |
| 0x10 | 4 / Little | u32 | honor_point_cost | |
| 0x14 | 4 / Little | u32 | arena_point_cost | |
| 0x18 | 40 / - | ItemRefundExtra[5] | extra_items | |
| 0x40 | 4 / Little | u32 | unknown1 | Emus set to 0. |
| 0x44 | 4 / Little | u32 | time_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | item | |
| - | 1 / - | ItemRefundResult | result |
If result is equal to SUCCESS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | Gold | cost | |
| - | 4 / Little | u32 | honor_point_cost | |
| - | 4 / Little | u32 | arena_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | item_text_id | |
| 0x08 | - / - | CString | text | mangoszero: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | ItemTextQuery | query |
If query is equal to HAS_TEXT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | item | |
| - | - / - | CString | text |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | duration |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | reason | |
| 0x05 | - / - | CString | text |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | reason | |
| - | - / - | CString | text |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | id | |
| 0x08 | 2 / Little | u16 | unknown | mangostwo: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Level32 | new_level | |
| 0x08 | 4 / Little | u32 | health | |
| 0x0C | 4 / Little | u32 | mana | |
| 0x10 | 4 / Little | u32 | rage | |
| 0x14 | 4 / Little | u32 | focus | |
| 0x18 | 4 / Little | u32 | energy | |
| 0x1C | 4 / Little | u32 | happiness | |
| 0x20 | 4 / Little | u32 | strength | |
| 0x24 | 4 / Little | u32 | agility | |
| 0x28 | 4 / Little | u32 | stamina | |
| 0x2C | 4 / Little | u32 | intellect | |
| 0x30 | 4 / Little | u32 | spirit |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Level32 | new_level | |
| 0x08 | 4 / Little | u32 | health | |
| 0x0C | 4 / Little | u32 | mana | |
| 0x10 | 4 / Little | u32 | rage | |
| 0x14 | 4 / Little | u32 | focus | |
| 0x18 | 4 / Little | u32 | energy | |
| 0x1C | 4 / Little | u32 | happiness | |
| 0x20 | 4 / Little | u32 | rune | |
| 0x24 | 4 / Little | u32 | runic_power | |
| 0x28 | 4 / Little | u32 | strength | |
| 0x2C | 4 / Little | u32 | agility | |
| 0x30 | 4 / Little | u32 | stamina | |
| 0x34 | 4 / Little | u32 | intellect | |
| 0x38 | 4 / Little | u32 | spirit |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Bool | vote_in_progress | |
| - | 1 / - | Bool | did_vote | |
| - | 1 / - | Bool | agreed_with_kick | |
| - | 8 / Little | Guid | victim | |
| - | 4 / Little | u32 | total_votes | |
| - | 4 / Little | u32 | votes_agree | |
| - | 4 / Little | Seconds | time_left | |
| - | 4 / Little | u32 | votes_needed | |
| - | - / - | CString | reason |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | result | |
| - | 4 / Little | u32 | state | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | dungeon_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | amount_of_available_dungeons | |
| - | ? / - | LfgAvailableDungeon[amount_of_available_dungeons] | available_dungeons | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | random_dungeon_entry | |
| - | 4 / Little | u32 | dungeon_finished_entry | |
| - | 1 / - | Bool | done | |
| - | 4 / Little | u32 | unknown1 | emus set to 1. |
| - | 4 / Little | Gold | money_reward | |
| - | 4 / Little | u32 | experience_reward | |
| - | 4 / Little | u32 | unknown2 | emus set to 0. |
| - | 4 / Little | u32 | unknown3 | emus set to 0. |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | dungeon_id | |
| - | 1 / - | u8 | proposal_state | |
| - | 4 / Little | u32 | proposal_id | |
| - | 4 / Little | u32 | encounters_finished_mask | |
| - | 1 / - | u8 | silent | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | dungeon | |
| 0x08 | 4 / Little | i32 | average_wait_time | |
| 0x0C | 4 / Little | i32 | wait_time | |
| 0x10 | 4 / Little | i32 | wait_time_tank | |
| 0x14 | 4 / Little | i32 | wait_time_healer | |
| 0x18 | 4 / Little | i32 | wait_time_dps | |
| 0x1C | 1 / - | u8 | tanks_needed | |
| 0x1D | 1 / - | u8 | healers_needed | |
| 0x1E | 1 / - | u8 | dps_needed | |
| 0x1F | 4 / Little | u32 | queue_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | rolecheck_state | |
| - | 1 / - | u8 | rolecheck_initializing | |
| - | 1 / - | u8 | amount_of_dungeon_entries | |
| - | ? / - | u32[amount_of_dungeon_entries] | dungeon_entries | |
| - | 1 / - | u8 | amount_of_roles | |
| - | ? / - | LfgRole[amount_of_roles] | roles | azerothcore: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 1 / - | Bool | ready | |
| 0x0D | 4 / Little | u32 | roles |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | LfgTeleportError | error |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | Bool | queued | |
| 0x05 | 1 / - | Bool | is_looking_for_group | |
| 0x06 | 1 / - | LfgUpdateLookingForMore | looking_for_more |
If looking_for_more is equal to LOOKING_FOR_MORE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x07 | 4 / - | LfgData | data |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 12 / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | LfgUpdateLookingForMore | looking_for_more |
If looking_for_more is equal to LOOKING_FOR_MORE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x05 | 4 / - | LfgData | data |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | LfgUpdateType | update_type | |
| - | 1 / - | LfgJoinStatus | join_status |
If join_status is equal to JOINED:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | joined | |
| - | 1 / - | u8 | queued | |
| - | 1 / - | u8 | no_partial_clear | |
| - | 1 / - | u8 | achievements | |
| - | 1 / - | u8 | amount_of_dungeons | |
| - | ? / - | u32[amount_of_dungeons] | dungeons | |
| - | - / - | CString | comment |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | LfgUpdateType | update_type | |
| - | 1 / - | LfgJoinStatus | join_status |
If join_status is equal to JOINED:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | queued | |
| - | 1 / - | u8 | no_partial_clear | |
| - | 1 / - | u8 | achievements | |
| - | 1 / - | u8 | amount_of_dungeons | |
| - | ? / - | u32[amount_of_dungeons] | dungeons | |
| - | - / - | CString | comment |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | Bool | queued |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | Bool | in_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | vendor | |
| 0x0C | 1 / - | u8 | amount_of_items | cmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | vendor | |
| - | 1 / - | u8 | amount_of_items | cmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | DateTime | datetime | Current 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. |
| 0x08 | 4 / Little | f32 | timescale | How 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | DateTime | datetime | Current 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. |
| 0x08 | 4 / Little | f32 | timescale | How 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. |
| 0x0C | 4 / Little | u32 | unknown1 | arcemu/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 12 / - | Vector3d | position | |
| 0x14 | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 12 / - | Vector3d | position | |
| 0x14 | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 12 / - | Vector3d | position | |
| 0x14 | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | LogoutResult | result | |
| 0x08 | 1 / - | LogoutSpeed | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | target | |
| 0x0C | 4 / Little | u32 | total_exp | |
| 0x10 | 1 / - | ExperienceAwardType | exp_type |
If exp_type is equal to NON_KILL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x11 | 4 / Little | u32 | experience_without_rested | |
| 0x15 | 4 / Little | f32 | exp_group_bonus | mangoszero 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | target | |
| - | 4 / Little | u32 | total_exp | |
| - | 1 / - | ExperienceAwardType | exp_type |
If exp_type is equal to NON_KILL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | experience_without_rested | |
| - | 4 / Little | f32 | exp_group_bonus | mangoszero sets to 1 and comments: 1 - none 0 - 100% group bonus output |
| - | 1 / - | Bool | exp_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | looted_target | |
| 0x0C | 4 / Little | u32 | loot_slot | |
| 0x10 | 4 / Little | Item | item | |
| 0x14 | 4 / Little | u32 | item_random_property_id | |
| 0x18 | 4 / Little | u32 | item_random_suffix_id | vmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | creature | |
| 0x0C | - / - | PackedGuid | master_looter | |
| - | - / - | PackedGuid | group_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | creature | |
| - | - / - | PackedGuid | master_looter | |
| - | - / - | PackedGuid | group_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount | |
| 0x08 | 1 / - | Bool | alone | Controls 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 1 / - | u8 | unknown1 | Set 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | slot |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | guid | |
| - | 1 / - | LootMethod | loot_method |
If loot_method is equal to ERROR:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | LootMethodError | loot_error | |
| - | 4 / Little | Gold | gold | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | creature | |
| 0x0C | 4 / Little | u32 | loot_slot | |
| 0x10 | 8 / Little | Guid | player | |
| 0x18 | 4 / Little | Item | item | |
| 0x1C | 4 / Little | u32 | item_random_suffix | vmangos/mangoszero: not used ? |
| 0x20 | 4 / Little | u32 | item_random_property_id | |
| 0x24 | 1 / - | u8 | roll_number | vmangos/cmangos/mangoszero: 0: Need for: item_name > 127: you passed on: item_name Roll number |
| 0x25 | 1 / - | RollVote | vote |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | creature | |
| 0x0C | 4 / Little | u32 | loot_slot | |
| 0x10 | 8 / Little | Guid | player | |
| 0x18 | 4 / Little | Item | item | |
| 0x1C | 4 / Little | u32 | item_random_suffix | vmangos/mangoszero: not used ? |
| 0x20 | 4 / Little | u32 | item_random_property_id | |
| 0x24 | 1 / - | u8 | roll_number | vmangos/cmangos/mangoszero: 0: Need for: item_name > 127: you passed on: item_name Roll number |
| 0x25 | 1 / - | RollVote | vote | |
| 0x26 | 1 / - | u8 | auto_pass | mangosone/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | looted_target | |
| 0x0C | 4 / Little | u32 | loot_slot | |
| 0x10 | 4 / Little | Item | item | |
| 0x14 | 4 / Little | u32 | item_random_suffix | vmangos/mangoszero: not used ? |
| 0x18 | 4 / Little | u32 | item_random_property_id | |
| 0x1C | 8 / Little | Guid | winning_player | |
| 0x24 | 1 / - | u8 | winning_roll | rollnumber related to SMSG_LOOT_ROLL |
| 0x25 | 1 / - | RollVote | vote | Rolltype 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | looted_target | |
| 0x0C | 4 / Little | u32 | loot_slot | |
| 0x10 | 4 / Little | Item | item | |
| 0x14 | 4 / Little | u32 | item_random_suffix | vmangos/mangoszero: not used ? |
| 0x18 | 4 / Little | u32 | item_random_property_id | |
| 0x1C | 8 / Little | Guid | winning_player | |
| 0x24 | 1 / - | u8 | winning_roll | rollnumber related to SMSG_LOOT_ROLL |
| 0x25 | 1 / - | RollVote | vote | Rolltype 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | creature | |
| 0x0C | 4 / Little | u32 | loot_slot | |
| 0x10 | 4 / Little | Item | item | |
| 0x14 | 4 / Little | u32 | item_random_suffix | vmangos/mangoszero: not used ? |
| 0x18 | 4 / Little | u32 | item_random_property_id | |
| 0x1C | 4 / Little | Milliseconds | countdown_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | creature | |
| 0x0C | 4 / - | Map | map | |
| 0x10 | 4 / Little | u32 | loot_slot | |
| 0x14 | 4 / Little | Item | item | |
| 0x18 | 4 / Little | u32 | item_random_suffix | vmangos/mangoszero: not used ? |
| 0x1C | 4 / Little | u32 | item_random_property_id | |
| 0x20 | 4 / Little | Milliseconds | countdown_time | |
| 0x24 | 1 / - | RollFlags | flags |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | real_mail_amount | azerothcore: this will display warning about undelivered mail to player if realCount > mailsCount |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | MeetingStoneFailure | reason |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Area | area | |
| 0x08 | 1 / - | MeetingStoneStatus | status |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Area | area | |
| 0x08 | 1 / - | MeetingStoneStatus | status |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
If chat_type is equal to MONSTER_WHISPER or
is equal to RAID_BOSS_EMOTE or
is equal to MONSTER_EMOTE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x09 | - / - | SizedCString | monster_name | |
| - | 8 / Little | Guid | monster |
Else If chat_type is equal to SAY or
is equal to PARTY or
is equal to YELL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | speech_bubble_credit | This 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 / Little | Guid | chat_credit | This 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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | sender1 | |
| - | - / - | SizedCString | sender_name | |
| - | 8 / Little | Guid | target |
Else If chat_type is equal to CHANNEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | channel_name | |
| - | 4 / Little | u32 | player_rank | |
| - | 8 / Little | Guid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x09 | - / - | SizedCString | sender | |
| - | - / - | NamedGuid | target1 |
Else If chat_type is equal to BG_SYSTEM_NEUTRAL or
is equal to BG_SYSTEM_ALLIANCE or
is equal to BG_SYSTEM_HORDE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | NamedGuid | target2 |
Else If chat_type is equal to CHANNEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | channel_name | |
| - | 8 / Little | Guid | target4 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | ChatType | chat_type | |
| - | 4 / - | Language | language | |
| - | 8 / Little | Guid | sender | |
| - | 4 / Little | u32 | flags | azerothcore 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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | SizedCString | sender1 | |
| - | - / - | NamedGuid | target1 |
Else If chat_type is equal to WHISPER_FOREIGN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | SizedCString | sender2 | |
| - | 8 / Little | Guid | target2 |
Else If chat_type is equal to BG_SYSTEM_NEUTRAL or
is equal to BG_SYSTEM_ALLIANCE or
is equal to BG_SYSTEM_HORDE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | NamedGuid | target3 |
Else If chat_type is equal to ACHIEVEMENT or
is equal to GUILD_ACHIEVEMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | target4 |
Else If chat_type is equal to CHANNEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | channel_name | |
| - | 8 / Little | Guid | target5 |
Else: | - | 8 / Little | Guid | target6 | | | - | - / - | SizedCString | message | | | - | 1 / - | PlayerChatTag | tag | |
If chat_type is equal to ACHIEVEMENT or
is equal to GUILD_ACHIEVEMENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | achievement_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | display_id | |
| 0x10 | 1 / - | Race | race | |
| 0x11 | 1 / - | Gender | gender | |
| 0x12 | 1 / - | u8 | skin_color | |
| 0x13 | 1 / - | u8 | face | |
| 0x14 | 1 / - | u8 | hair_style | |
| 0x15 | 1 / - | u8 | hair_color | |
| 0x16 | 1 / - | u8 | facial_hair | |
| 0x17 | 4 / Little | u32 | guild_id | |
| 0x1B | 44 / - | u32[11] | display_ids | This 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | display_id | |
| 0x10 | 1 / - | Race | race | |
| 0x11 | 1 / - | Gender | gender | |
| 0x12 | 1 / - | Class | class | |
| 0x13 | 1 / - | u8 | skin_color | |
| 0x14 | 1 / - | u8 | face | |
| 0x15 | 1 / - | u8 | hair_style | |
| 0x16 | 1 / - | u8 | hair_color | |
| 0x17 | 1 / - | u8 | facial_hair | |
| 0x18 | 4 / Little | u32 | guild_id | |
| 0x1C | 44 / - | u32[11] | display_ids | This 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | spell | |
| 0x08 | 8 / Little | Guid | player | |
| 0x10 | 4 / Little | Milliseconds | cooldown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | 12 / - | Vector3d | spline_point | |
| - | 4 / Little | u32 | spline_id | |
| - | 1 / - | MonsterMoveType | move_type |
If move_type is equal to FACING_TARGET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | target |
Else If move_type is equal to FACING_ANGLE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | angle |
Else If move_type is equal to FACING_SPOT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 12 / - | Vector3d | position | |
| - | 4 / - | SplineFlag | spline_flags | |
| - | 4 / Little | u32 | duration | |
| - | - / - | MonsterMoveSpline | splines |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 1 / - | u8 | unknown | cmangos-wotlk sets to 0 |
| - | 12 / - | Vector3d | spline_point | |
| - | 4 / Little | u32 | spline_id | |
| - | 1 / - | MonsterMoveType | move_type |
If move_type is equal to FACING_TARGET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | target |
Else If move_type is equal to FACING_ANGLE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | angle |
Else If move_type is equal to FACING_SPOT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 12 / - | Vector3d | position | |
| - | 4 / - | SplineFlag | spline_flags |
If spline_flags contains ENTER_CYCLE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | animation_id | |
| - | 4 / Little | u32 | animation_start_time | |
| - | 4 / Little | u32 | duration |
If spline_flags contains PARABOLIC:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | vertical_acceleration | |
| - | 4 / Little | u32 | effect_start_time | |
| - | - / - | MonsterMoveSpline | splines |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | PackedGuid | transport | |
| - | 12 / - | Vector3d | spline_point | |
| - | 4 / Little | u32 | spline_id | |
| - | 1 / - | MonsterMoveType | move_type |
If move_type is equal to FACING_TARGET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | target |
Else If move_type is equal to FACING_ANGLE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | angle |
Else If move_type is equal to FACING_SPOT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 12 / - | Vector3d | position | |
| - | 4 / - | SplineFlag | spline_flags | |
| - | 4 / Little | u32 | duration | |
| - | - / - | MonsterMoveSpline | splines |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | - / - | PackedGuid | transport | |
| - | 1 / - | u8 | unknown | cmangos-wotlk sets to 0 |
| - | 12 / - | Vector3d | spline_point | |
| - | 4 / Little | u32 | spline_id | |
| - | 1 / - | MonsterMoveType | move_type |
If move_type is equal to FACING_TARGET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | target |
Else If move_type is equal to FACING_ANGLE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | angle |
Else If move_type is equal to FACING_SPOT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 12 / - | Vector3d | position | |
| - | 4 / - | SplineFlag | spline_flags |
If spline_flags contains ENTER_CYCLE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | animation_id | |
| - | 4 / Little | u32 | animation_start_time | |
| - | 4 / Little | u32 | duration |
If spline_flags contains PARABOLIC:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | vertical_acceleration | |
| - | 4 / Little | u32 | effect_start_time | |
| - | - / - | MonsterMoveSpline | splines |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | MountResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit | |
| - | 4 / Little | u32 | movement_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit | |
| - | 4 / Little | u32 | movement_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | movement_counter | mangoszero: Sequence mangoszero sets to 0 |
| - | 4 / Little | f32 | v_cos | cmangos/mangoszero/vmangos: x direction |
| - | 4 / Little | f32 | v_sin | cmangos/mangoszero/vmangos: y direction |
| - | 4 / Little | f32 | horizontal_speed | cmangos/mangoszero/vmangos: Horizontal speed |
| - | 4 / Little | f32 | vertical_speed | cmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit | |
| - | 4 / Little | u32 | packet_counter | |
| - | 4 / Little | f32 | collision_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | u32 | counter |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | size | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | - / - | CString | character_name | |
| - | - / - | CString | realm_name | Used for showing cross realm realm names. If this is an empty string it is shown like a regular player on the same realm. |
| - | 4 / - | Race | race | |
| - | 4 / - | Gender | gender | |
| - | 4 / - | Class | class |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | - / - | CString | character_name | |
| - | - / - | CString | realm_name | Used for showing cross realm realm names. If this is an empty string it is shown like a regular player on the same realm. |
| - | 4 / - | Race | race | |
| - | 4 / - | Gender | gender | |
| - | 4 / - | Class | class | |
| - | 1 / - | DeclinedNames | has_declined_names |
If has_declined_names is equal to YES:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 1 / - | u8 | early_terminate | Added 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 |
| - | - / - | CString | character_name | |
| - | - / - | CString | realm_name | Used for showing cross realm realm names. If this is an empty string it is shown like a regular player on the same realm. |
| - | 1 / - | Race | race | |
| - | 1 / - | Gender | gender | |
| - | 1 / - | Class | class | |
| - | 1 / - | DeclinedNames | has_declined_names |
If has_declined_names is equal to YES:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 12 / - | Vector3d | position | |
| 0x14 | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 12 / - | Vector3d | position | |
| 0x14 | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 12 / - | Vector3d | position | |
| 0x14 | 4 / Little | f32 | orientation |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | notification |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | text_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | text_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | text_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | default_id | |
| 0x08 | 4 / Little | u32 | id_override | |
| 0x0C | 4 / Little | Seconds | fade_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | default_id | |
| 0x08 | 4 / Little | u32 | id_override | |
| 0x0C | 4 / Little | Seconds | fade_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | page_id | |
| - | - / - | CString | text | |
| - | 4 / Little | u32 | next_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | player_with_killing_blow | |
| 0x0C | 8 / Little | Guid | victim |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | PartyOperation | operation | |
| 0x08 | - / - | CString | member | |
| - | 4 / - | PartyResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | PartyOperation | operation | |
| 0x08 | - / - | CString | member | |
| - | 4 / - | PartyResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | PartyOperation | operation | |
| - | - / - | CString | member | |
| - | 4 / - | PartyResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | 4 / - | GroupUpdateFlags | mask |
If mask contains STATUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | GroupMemberOnlineStatus | status |
If mask contains CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | current_health |
If mask contains MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | max_health |
If mask contains POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | power |
If mask contains CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | current_power |
If mask contains MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | max_power |
If mask contains LEVEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | Level16 | level |
If mask contains ZONE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Area | area |
If mask contains POSITION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | position_x | cmangos: float cast to u16 |
| - | 2 / Little | u16 | position_y | cmangos: float cast to u16 |
If mask contains AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | auras | cmangos: In all checked pre-2.x data of packets included only positive auras |
If mask contains AURAS_2:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | negative_auras |
If mask contains PET_GUID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | pet |
If mask contains PET_NAME:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | pet_name |
If mask contains PET_MODEL_ID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_display_id |
If mask contains PET_CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_current_health |
If mask contains PET_MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_max_health |
If mask contains PET_POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | pet_power_type |
If mask contains PET_CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_current_power |
If mask contains PET_MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_max_power |
If mask contains PET_AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | pet_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | 4 / - | GroupUpdateFlags | mask |
If mask contains STATUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | GroupMemberOnlineStatus | status |
If mask contains CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | current_health |
If mask contains MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | max_health |
If mask contains POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | power |
If mask contains CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | current_power |
If mask contains MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | max_power |
If mask contains LEVEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | Level16 | level |
If mask contains ZONE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Area | area |
If mask contains POSITION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | position_x | cmangos: float cast to u16 |
| - | 2 / Little | u16 | position_y | cmangos: float cast to u16 |
If mask contains AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | auras | cmangos: In all checked pre-2.x data of packets included only positive auras |
If mask contains PET_GUID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | pet |
If mask contains PET_NAME:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | pet_name |
If mask contains PET_MODEL_ID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_display_id |
If mask contains PET_CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_current_health |
If mask contains PET_MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_max_health |
If mask contains PET_POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | pet_power_type |
If mask contains PET_CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_current_power |
If mask contains PET_MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_max_power |
If mask contains PET_AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | pet_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / - | GroupUpdateFlags | mask |
If mask contains STATUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | GroupMemberOnlineStatus | status |
If mask contains CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | current_health |
If mask contains MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | max_health |
If mask contains POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | power |
If mask contains CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | current_power |
If mask contains MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | max_power |
If mask contains LEVEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | Level16 | level |
If mask contains ZONE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Area | area |
If mask contains POSITION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | position_x | cmangos: float cast to u16 |
| - | 2 / Little | u16 | position_y | cmangos: float cast to u16 |
If mask contains AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | auras | cmangos: In all checked pre-2.x data of packets included only positive auras |
If mask contains PET_GUID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | pet |
If mask contains PET_NAME:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | pet_name |
If mask contains PET_MODEL_ID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_display_id |
If mask contains PET_CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | pet_current_health |
If mask contains PET_MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | pet_max_health |
If mask contains PET_POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | pet_power_type |
If mask contains PET_CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_current_power |
If mask contains PET_MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_max_power |
If mask contains PET_AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | pet_auras |
If mask contains VEHICLE_SEAT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | transport |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | player | |
| - | 4 / - | GroupUpdateFlags | mask |
If mask contains STATUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | GroupMemberOnlineStatus | status |
If mask contains CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | current_health |
If mask contains MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | max_health |
If mask contains POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | power |
If mask contains CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | current_power |
If mask contains MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | max_power |
If mask contains LEVEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | Level16 | level |
If mask contains ZONE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Area | area |
If mask contains POSITION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | position_x | cmangos: float cast to u16 |
| - | 2 / Little | u16 | position_y | cmangos: float cast to u16 |
If mask contains AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | auras | cmangos: In all checked pre-2.x data of packets included only positive auras |
If mask contains PET_GUID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | pet |
If mask contains PET_NAME:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | pet_name |
If mask contains PET_MODEL_ID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_display_id |
If mask contains PET_CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_current_health |
If mask contains PET_MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_max_health |
If mask contains PET_POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | pet_power_type |
If mask contains PET_CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_current_power |
If mask contains PET_MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_max_power |
If mask contains PET_AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | pet_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid | |
| - | 4 / - | GroupUpdateFlags | mask |
If mask contains STATUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | GroupMemberOnlineStatus | status |
If mask contains CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | current_health |
If mask contains MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | max_health |
If mask contains POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | power |
If mask contains CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | current_power |
If mask contains MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | max_power |
If mask contains LEVEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | Level16 | level |
If mask contains ZONE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Area | area |
If mask contains POSITION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | position_x | cmangos: float cast to u16 |
| - | 2 / Little | u16 | position_y | cmangos: float cast to u16 |
If mask contains AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | auras | cmangos: In all checked pre-2.x data of packets included only positive auras |
If mask contains PET_GUID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | pet |
If mask contains PET_NAME:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | pet_name |
If mask contains PET_MODEL_ID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_display_id |
If mask contains PET_CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_current_health |
If mask contains PET_MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_max_health |
If mask contains PET_POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | pet_power_type |
If mask contains PET_CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_current_power |
If mask contains PET_MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_max_power |
If mask contains PET_AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | pet_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / - | GroupUpdateFlags | mask |
If mask contains STATUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | GroupMemberOnlineStatus | status |
If mask contains CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | current_health |
If mask contains MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | max_health |
If mask contains POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | power |
If mask contains CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | current_power |
If mask contains MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | max_power |
If mask contains LEVEL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | Level16 | level |
If mask contains ZONE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Area | area |
If mask contains POSITION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | position_x | cmangos: float cast to u16 |
| - | 2 / Little | u16 | position_y | cmangos: float cast to u16 |
If mask contains AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | auras | cmangos: In all checked pre-2.x data of packets included only positive auras |
If mask contains PET_GUID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | pet |
If mask contains PET_NAME:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | pet_name |
If mask contains PET_MODEL_ID:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_display_id |
If mask contains PET_CUR_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | pet_current_health |
If mask contains PET_MAX_HP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | pet_max_health |
If mask contains PET_POWER_TYPE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | Power | pet_power_type |
If mask contains PET_CUR_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_current_power |
If mask contains PET_MAX_POWER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / Little | u16 | pet_max_power |
If mask contains PET_AURAS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | AuraMask | pet_auras |
If mask contains VEHICLE_SEAT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | transport |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | TimerType | timer | |
| 0x08 | 1 / - | Bool | is_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | target | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | target | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | petition_id | |
| 0x08 | 8 / Little | Guid | charter_owner | |
| 0x10 | - / - | CString | guild_name | |
| - | - / - | CString | body_text | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 4 / Little | u32 | unknown_flags | cmangos/vmangos/mangoszero: Set to 1, only info is comment from vmangos |
| - | 4 / Little | u32 | minimum_signatures | cmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos |
| - | 4 / Little | u32 | maximum_signatures | cmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos |
| - | 4 / Little | u32 | deadline | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 4 / Little | u32 | issue_date | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 4 / Little | u32 | allowed_guild_id | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 4 / - | AllowedClass | allowed_class | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 4 / - | AllowedRace | allowed_race | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 2 / Little | u16 | allowed_genders | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 4 / Little | Level32 | allowed_minimum_level | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 4 / Little | Level32 | allowed_maximum_level | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 4 / Little | u32 | todo_amount_of_signers | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos vmangos: char m_choicetext1064 |
| - | 4 / Little | u32 | number_of_choices | cmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | petition_id | |
| 0x08 | 8 / Little | Guid | charter_owner | |
| 0x10 | - / - | CString | guild_name | |
| - | - / - | CString | body_text | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 4 / Little | u32 | minimum_signatures | cmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos |
| - | 4 / Little | u32 | maximum_signatures | cmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos |
| - | 4 / Little | u32 | unknown1 | mangosone: bypass client - side limitation, a different value is needed here for each petition |
| - | 4 / Little | u32 | unknown2 | |
| - | 4 / Little | u32 | unknown3 | |
| - | 4 / Little | u32 | unknown4 | |
| - | 4 / Little | u32 | unknown5 | |
| - | 2 / Little | u16 | unknown6 | |
| - | 4 / Little | u32 | unknown7 | |
| - | 4 / Little | u32 | unknown8 | |
| - | 4 / Little | u32 | unknown9 | |
| - | 4 / Little | u32 | unknown10 | |
| - | 4 / - | CharterType | charter_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | petition_id | |
| - | 8 / Little | Guid | charter_owner | |
| - | - / - | CString | guild_name | |
| - | - / - | CString | body_text | cmangos/vmangos/mangoszero: Set to 0, only info is comment from vmangos |
| - | 4 / Little | u32 | minimum_signatures | cmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos |
| - | 4 / Little | u32 | maximum_signatures | cmangos/vmangos/mangoszero: Set to 9, only info is comment from vmangos |
| - | 4 / Little | u32 | unknown1 | mangosone: bypass client - side limitation, a different value is needed here for each petition |
| - | 4 / Little | u32 | unknown2 | |
| - | 4 / Little | u32 | unknown3 | |
| - | 4 / Little | u32 | unknown4 | |
| - | 4 / Little | u32 | unknown5 | |
| - | 2 / Little | u16 | unknown6 | |
| - | 4 / Little | u32 | unknown7 | |
| - | 4 / Little | u32 | unknown8 | |
| - | 4 / Little | u32 | unknown9 | |
| - | 10 / - | u8[10] | unknown10 | |
| - | 4 / Little | u32 | unknown11 | |
| - | 4 / - | CharterType | charter_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | npc | |
| 0x0C | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | npc | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | item | |
| - | 8 / Little | Guid | owner | |
| - | 4 / Little | u32 | petition | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | petition | |
| 0x0C | 8 / Little | Guid | owner | |
| 0x14 | 4 / - | PetitionResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | petition | |
| 0x0C | 8 / Little | Guid | owner | |
| 0x14 | 4 / - | PetitionResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | PetFeedback | feedback |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / - | PetTalkReason | reason |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | id | |
| 0x08 | 1 / - | u8 | unknown1 | vmangos sets to 2 and cmangos sets to 0. |
| 0x09 | 1 / - | SpellCastResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | id | |
| 0x08 | 1 / - | SpellCastResult | result | |
| 0x09 | 1 / - | Bool | multiple_casts |
If result is equal to REQUIRES_SPELL_FOCUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0A | 4 / Little | u32 | spell_focus |
Else If result is equal to REQUIRES_AREA:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0E | 4 / - | Area | area |
Else If result is equal to TOTEMS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x12 | 8 / - | u32[2] | totems |
Else If result is equal to TOTEM_CATEGORY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x1A | 8 / - | u32[2] | totem_categories |
Else If result is equal to EQUIPPED_ITEM_CLASS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x22 | 4 / Little | u32 | item_class | |
| 0x26 | 4 / Little | u32 | item_sub_class | |
| 0x2A | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | cast_count | |
| - | 4 / Little | Spell | id | |
| - | 1 / - | SpellCastResult | result | |
| - | 1 / - | Bool | multiple_casts |
If result is equal to REQUIRES_SPELL_FOCUS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | spell_focus |
Else If result is equal to REQUIRES_AREA:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Area | area |
Else If result is equal to TOTEMS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / - | u32[2] | totems |
Else If result is equal to TOTEM_CATEGORY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | item_class | |
| - | 4 / Little | u32 | item_sub_class |
Else If result is equal to TOO_MANY_OF_ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | item_limit_category |
Else If result is equal to CUSTOM_ERROR:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | custom_error |
Else If result is equal to REAGENTS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | missing_item |
Else If result is equal to PREVENTED_BY_MECHANIC:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | mechanic |
Else If result is equal to NEED_EXOTIC_AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | equipped_item_sub_class |
Else If result is equal to NEED_MORE_ITEMS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | Item | item | |
| - | 4 / Little | u32 | count |
Else If result is equal to MIN_SKILL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Skill | skill | |
| - | 4 / Little | u32 | skill_required |
Else If result is equal to FISHING_TOO_LOW:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | fishing_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | sound_id | |
| 0x08 | 12 / - | Vector3d | position |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | spell |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 1 / - | PetReactState | react_state | |
| 0x0D | 1 / - | PetCommandState | command_state | |
| 0x0E | 1 / - | u8 | unknown1 | vmangos sets to 0. |
| 0x0F | 1 / - | PetEnabled | pet_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | PetNameInvalidReason | reason | |
| - | - / - | CString | name | |
| - | 1 / - | DeclinedPetNameIncluded | included |
If included is equal to INCLUDED:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | pet_number | |
| 0x08 | - / - | CString | name | |
| - | 4 / Little | u32 | pet_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | pet_number | |
| - | - / - | CString | name | |
| - | 4 / Little | u32 | pet_name_timestamp | |
| - | 1 / - | PetQueryDisabledNames | names |
If names is equal to PRESENT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | pet |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0C | 4 / Little | u32 | duration | |
| 0x10 | 1 / - | PetReactState | react | |
| 0x11 | 1 / - | PetCommandState | command | |
| 0x12 | 1 / - | u8 | unknown | mangoszero: set to 0 |
| 0x13 | 1 / - | PetEnabled | pet_enabled | |
| 0x14 | 40 / - | u32[10] | action_bars | |
| 0x3C | 1 / - | u8 | amount_of_spells | |
| 0x3D | ? / - | u32[amount_of_spells] | spells | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | pet |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / - | CreatureFamily | family | |
| - | 4 / Little | u32 | duration | |
| - | 1 / - | PetReactState | react | |
| - | 1 / - | PetCommandState | command | |
| - | 1 / - | u8 | unknown | mangoszero: set to 0 |
| - | 1 / - | PetEnabled | pet_enabled | |
| - | 40 / - | u32[10] | action_bars | |
| - | 1 / - | u8 | amount_of_spells | |
| - | ? / - | u32[amount_of_spells] | spells | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | PetTameFailureReason | reason |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | PetTameFailureReason | reason |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | spell |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | pet | |
| 0x0C | 4 / Little | u32 | talent_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit | |
| - | - / - | PackedGuid | target | |
| - | 1 / - | u8 | combo_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | total_played_time | |
| 0x08 | 4 / Little | u32 | level_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | total_played_time | Time played in total (seconds) |
| 0x08 | 4 / Little | u32 | level_played_time | Time played on this level (seconds) |
| 0x0C | 1 / - | Bool | show_on_ui | Whether 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | Bool | spirit_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target | |
| - | 4 / Little | u32 | vehicle_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | sound_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | sound_id | |
| 0x08 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | sound_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | spell_visual_kit | mangoszero/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | spell_art_kit | mangoszero/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | sequence_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit | |
| - | 1 / - | Power | power | |
| - | 4 / Little | u32 | amount |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | caster | |
| 0x0C | 8 / Little | Guid | target | |
| 0x14 | 4 / Little | Spell | id | |
| 0x18 | 1 / - | LogFormat | log_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | honor_points | |
| 0x08 | 8 / Little | Guid | victim | |
| 0x10 | 4 / - | PvpRank | rank |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | time | Seconds 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | time | Seconds since 1970, 1st of January (Unix Time). |
| 0x08 | 4 / Little | u32 | time_until_daily_quest_reset | Units 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | npc | |
| 0x0C | 4 / Little | u32 | quest_id | |
| 0x10 | - / - | CString | title | |
| - | - / - | CString | offer_reward_text | |
| - | 4 / Little | Bool32 | auto_finish | |
| - | 4 / Little | u32 | amount_of_emotes | |
| - | ? / - | NpcTextUpdateEmote[amount_of_emotes] | emotes | |
| - | 4 / Little | u32 | amount_of_choice_item_rewards | |
| - | ? / - | QuestItemRequirement[amount_of_choice_item_rewards] | choice_item_rewards | |
| - | 4 / Little | u32 | amount_of_item_rewards | |
| - | ? / - | QuestItemRequirement[amount_of_item_rewards] | item_rewards | |
| - | 4 / Little | Gold | money_reward | |
| - | 4 / Little | Spell | reward_spell | |
| - | 4 / Little | Spell | reward_spell_cast | mangoszero 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | npc | |
| 0x0C | 4 / Little | u32 | quest_id | |
| 0x10 | - / - | CString | title | |
| - | - / - | CString | offer_reward_text | |
| - | 4 / Little | Bool32 | auto_finish | |
| - | 4 / Little | u32 | suggested_players | |
| - | 4 / Little | u32 | amount_of_emotes | |
| - | ? / - | NpcTextUpdateEmote[amount_of_emotes] | emotes | |
| - | 4 / Little | u32 | amount_of_choice_item_rewards | |
| - | ? / - | QuestItemRequirement[amount_of_choice_item_rewards] | choice_item_rewards | |
| - | 4 / Little | u32 | amount_of_item_rewards | |
| - | ? / - | QuestItemRequirement[amount_of_item_rewards] | item_rewards | |
| - | 4 / Little | Gold | money_reward | |
| - | 4 / Little | u32 | honor_reward | |
| - | 4 / Little | u32 | unknown1 | mangostwo: unused by client? mangostwo sets to 0x08. |
| - | 4 / Little | Spell | reward_spell | |
| - | 4 / Little | Spell | reward_spell_cast | mangoszero 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 / Little | u32 | title_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | npc | |
| - | 4 / Little | u32 | quest_id | |
| - | - / - | CString | title | |
| - | - / - | CString | offer_reward_text | |
| - | 4 / Little | Bool32 | auto_finish | |
| - | 4 / Little | u32 | flags1 | |
| - | 4 / Little | u32 | suggested_players | |
| - | 4 / Little | u32 | amount_of_emotes | |
| - | ? / - | NpcTextUpdateEmote[amount_of_emotes] | emotes | |
| - | 4 / Little | u32 | amount_of_choice_item_rewards | |
| - | ? / - | QuestItemRequirement[amount_of_choice_item_rewards] | choice_item_rewards | |
| - | 4 / Little | u32 | amount_of_item_rewards | |
| - | ? / - | QuestItemRequirement[amount_of_item_rewards] | item_rewards | |
| - | 4 / Little | Gold | money_reward | |
| - | 4 / Little | u32 | experience_reward | |
| - | 4 / Little | u32 | honor_reward | |
| - | 4 / Little | f32 | honor_reward_multiplier | |
| - | 4 / Little | u32 | unknown1 | mangostwo: unused by client? mangostwo sets to 0x08. |
| - | 4 / Little | Spell | reward_spell | |
| - | 4 / Little | Spell | reward_spell_cast | mangoszero 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 / Little | u32 | title_reward | |
| - | 4 / Little | u32 | reward_talents | |
| - | 4 / Little | u32 | reward_arena_points | |
| - | 4 / Little | u32 | reward_reputation_mask | |
| - | 20 / - | u32[5] | reward_factions | |
| - | 20 / - | u32[5] | reward_reputations | mangostwo: columnid in QuestFactionReward.dbc (if negative, from second row) |
| - | 20 / - | u32[5] | reward_reputations_override | mangostwo: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_id | |
| 0x08 | 4 / Little | u32 | unknown | cmangos/vmangos/mangoszero: set to 0x03 |
| 0x0C | 4 / Little | u32 | experience_reward | |
| 0x10 | 4 / Little | Gold | money_reward | |
| 0x14 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_id | |
| 0x08 | 4 / Little | u32 | unknown | cmangos/vmangos/mangoszero: set to 0x03 |
| 0x0C | 4 / Little | u32 | experience_reward | |
| 0x10 | 4 / Little | Gold | money_reward | |
| 0x14 | 4 / Little | u32 | honor_reward | |
| 0x18 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | quest_id | |
| - | 4 / Little | u32 | unknown | cmangos/vmangos/mangoszero: set to 0x03 |
| - | 4 / Little | u32 | experience_reward | |
| - | 4 / Little | Gold | money_reward | |
| - | 4 / Little | u32 | honor_reward | |
| - | 4 / Little | u32 | talent_reward | |
| - | 4 / Little | u32 | arena_point_reward | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | quest_id | |
| 0x10 | - / - | CString | title | |
| - | - / - | CString | details | |
| - | - / - | CString | objectives | |
| - | 4 / Little | Bool32 | auto_finish | |
| - | 4 / Little | u32 | amount_of_choice_item_rewards | |
| - | ? / - | QuestItemReward[amount_of_choice_item_rewards] | choice_item_rewards | |
| - | 4 / Little | u32 | amount_of_item_rewards | |
| - | ? / - | QuestItemReward[amount_of_item_rewards] | item_rewards | |
| - | 4 / Little | Gold | money_reward | |
| - | 4 / Little | Spell | reward_spell | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | quest_id | |
| 0x10 | - / - | CString | title | |
| - | - / - | CString | details | |
| - | - / - | CString | objectives | |
| - | 4 / Little | Bool32 | auto_finish | |
| - | 4 / Little | u32 | suggested_players | |
| - | 4 / Little | u32 | amount_of_choice_item_rewards | |
| - | ? / - | QuestItemReward[amount_of_choice_item_rewards] | choice_item_rewards | |
| - | 4 / Little | u32 | amount_of_item_rewards | |
| - | ? / - | QuestItemReward[amount_of_item_rewards] | item_rewards | |
| - | 4 / Little | Gold | money_reward | |
| - | 4 / Little | u32 | honor_reward | |
| - | 4 / Little | Spell | reward_spell | mangosone: reward spell, this spell will display (icon) (casted if RewSpellCast==0) |
| - | 4 / Little | Spell | casted_spell | |
| - | 4 / Little | u32 | title_reward | mangosone: CharTitle, new 2.4.0, player gets this title (bit index from CharTitles) |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | guid | |
| - | 8 / Little | Guid | guid2 | arcemu also sends guid2 if guid is a player. Otherwise sends 0. |
| - | 4 / Little | u32 | quest_id | |
| - | - / - | CString | title | |
| - | - / - | CString | details | |
| - | - / - | CString | objectives | |
| - | 1 / - | Bool | auto_finish | |
| - | 4 / Little | u32 | quest_flags | |
| - | 4 / Little | u32 | suggested_players | |
| - | 1 / - | u8 | is_finished | arcemu: MANGOS: IsFinished? value is sent back to server in quest accept packet |
| - | 4 / Little | u32 | amount_of_choice_item_rewards | |
| - | ? / - | QuestGiverReward[amount_of_choice_item_rewards] | choice_item_rewards | |
| - | 4 / Little | u32 | amount_of_item_rewards | |
| - | ? / - | QuestGiverReward[amount_of_item_rewards] | item_rewards | |
| - | 4 / Little | Gold | money_reward | |
| - | 4 / Little | u32 | experience_reward | arcemu: 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 / Little | u32 | honor_reward | |
| - | 4 / Little | f32 | honor_reward_multiplier | arcemu: new 3.3 |
| - | 4 / Little | Spell | reward_spell | mangosone: reward spell, this spell will display (icon) (casted if RewSpellCast==0) |
| - | 4 / Little | Spell | casted_spell | |
| - | 4 / Little | u32 | title_reward | mangosone: CharTitle, new 2.4.0, player gets this title (bit index from CharTitles) |
| - | 4 / Little | u32 | talent_reward | |
| - | 4 / Little | u32 | arena_point_reward | |
| - | 4 / Little | u32 | unknown2 | arcemu: new 3.3.0 |
| - | 20 / - | u32[5] | reward_factions | |
| - | 20 / - | u32[5] | reward_reputations | mangostwo: columnid in QuestFactionReward.dbc (if negative, from second row) |
| - | 20 / - | u32[5] | reward_reputations_override | mangostwo: reward reputation override. No diplomacy bonus is expected given, reward also does not display in chat window |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_id | |
| 0x08 | 4 / - | QuestFailedReason | reason |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_id | |
| 0x08 | 4 / - | QuestFailedReason | reason |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_id | |
| 0x08 | 4 / - | QuestFailedReason | reason |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | QuestFailedReason | msg |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | QuestFailedReason | msg |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | QuestFailedReason | msg |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | npc | |
| 0x0C | - / - | CString | title | |
| - | 4 / Little | u32 | emote_delay | mangoszero: player emote |
| - | 4 / Little | u32 | emote | mangoszero: NPC emote |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | npc | |
| - | - / - | CString | title | |
| - | 4 / Little | u32 | emote_delay | mangoszero: player emote |
| - | 4 / Little | u32 | emote | mangoszero: NPC emote |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | npc | |
| 0x0C | 4 / Little | u32 | quest_id | |
| 0x10 | - / - | CString | title | |
| - | - / - | CString | request_items_text | |
| - | 4 / Little | u32 | emote_delay | |
| - | 4 / Little | u32 | emote | |
| - | 4 / Little | Bool32 | auto_finish | |
| - | 4 / Little | Gold | required_money | |
| - | 4 / Little | u32 | amount_of_required_items | |
| - | ? / - | QuestItemRequirement[amount_of_required_items] | required_items | |
| - | 4 / Little | u32 | unknown1 | cmangos/vmangos/mangoszero: All emulators set to 0x02 |
| - | 4 / - | QuestCompletable | completable | |
| - | 4 / Little | u32 | flags2 | cmangos/vmangos/mangoszero: set to 0x04 |
| - | 4 / Little | u32 | flags3 | cmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | npc | |
| 0x0C | 4 / Little | u32 | quest_id | |
| 0x10 | - / - | CString | title | |
| - | - / - | CString | request_items_text | |
| - | 4 / Little | u32 | emote_delay | |
| - | 4 / Little | u32 | emote | |
| - | 4 / Little | Bool32 | auto_finish | |
| - | 4 / Little | u32 | suggested_players | |
| - | 4 / Little | Gold | required_money | |
| - | 4 / Little | u32 | amount_of_required_items | |
| - | ? / - | QuestItemRequirement[amount_of_required_items] | required_items | |
| - | 4 / - | QuestCompletable | completable | |
| - | 4 / Little | u32 | flags1 | cmangos/vmangos/mangoszero: set to 0x04 |
| - | 4 / Little | u32 | flags2 | cmangos/vmangos/mangoszero: set to 0x08 |
| - | 4 / Little | u32 | flags3 | cmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | npc | |
| - | 4 / Little | u32 | quest_id | |
| - | - / - | CString | title | |
| - | - / - | CString | request_items_text | |
| - | 4 / Little | u32 | emote_delay | |
| - | 4 / Little | u32 | emote | |
| - | 4 / Little | Bool32 | auto_finish | |
| - | 4 / Little | u32 | flags1 | mangostwo: 3.3.3 questFlags |
| - | 4 / Little | u32 | suggested_players | |
| - | 4 / Little | Gold | required_money | |
| - | 4 / Little | u32 | amount_of_required_items | |
| - | ? / - | QuestItemRequirement[amount_of_required_items] | required_items | |
| - | 4 / - | QuestCompletable | completable | |
| - | 4 / Little | u32 | flags2 | mangostwo: set to 0x04 |
| - | 4 / Little | u32 | flags3 | mangostwo: set to 0x08 |
| - | 4 / Little | u32 | flags4 | mangostwo: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / - | QuestGiverStatus | status |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / - | QuestGiverStatus | status |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / - | QuestGiverStatus | status |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | required_item_id | |
| 0x08 | 4 / Little | u32 | items_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_id | |
| 0x08 | 4 / Little | u32 | creature_id | Unsure of name |
| 0x0C | 4 / Little | u32 | kill_count | |
| 0x10 | 4 / Little | u32 | required_kill_count | |
| 0x14 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_id | |
| 0x08 | 4 / Little | u32 | count | |
| 0x0C | 4 / Little | u32 | players_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | quest_id | |
| - | - / - | CString | quest_title | |
| - | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_id | |
| 0x08 | 4 / Little | u32 | quest_method | Accepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details) |
| 0x0C | 4 / Little | Level32 | quest_level | |
| 0x10 | 4 / Little | u32 | zone_or_sort | |
| 0x14 | 4 / Little | u32 | quest_type | |
| 0x18 | 2 / - | Faction | reputation_objective_faction | cmangos: shown in quest log as part of quest objective |
| 0x1A | 4 / Little | u32 | reputation_objective_value | cmangos: shown in quest log as part of quest objective |
| 0x1E | 2 / - | Faction | required_opposite_faction | cmangos: RequiredOpositeRepFaction, required faction value with another (oposite) faction (objective). cmangos sets to 0 |
| 0x20 | 4 / Little | u32 | required_opposite_reputation_value | cmangos: RequiredOpositeRepValue, required faction value with another (oposite) faction (objective). cmangos sets to 0 |
| 0x24 | 4 / Little | u32 | next_quest_in_chain | |
| 0x28 | 4 / Little | Gold | money_reward | |
| 0x2C | 4 / Little | Gold | max_level_money_reward | cmangos: used in XP calculation at client |
| 0x30 | 4 / Little | u32 | reward_spell | cmangos: reward spell, this spell will display (icon) (casted if RewSpellCast==0) |
| 0x34 | 4 / Little | u32 | source_item_id | |
| 0x38 | 4 / Little | u32 | quest_flags | |
| 0x3C | 32 / - | QuestItemReward[4] | rewards | |
| 0x5C | 48 / - | QuestItemReward[6] | choice_rewards | |
| 0x8C | 4 / Little | u32 | point_map_id | |
| 0x90 | 8 / - | Vector2d | position | |
| 0x98 | 4 / Little | u32 | point_opt | |
| 0x9C | - / - | CString | title | |
| - | - / - | CString | objective_text | |
| - | - / - | CString | details | |
| - | - / - | CString | end_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | quest_id | |
| 0x08 | 4 / Little | u32 | quest_method | Accepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details) |
| 0x0C | 4 / Little | Level32 | quest_level | |
| 0x10 | 4 / Little | u32 | zone_or_sort | |
| 0x14 | 4 / Little | u32 | quest_type | |
| 0x18 | 4 / Little | u32 | suggest_player_amount | |
| 0x1C | 2 / - | Faction | reputation_objective_faction | cmangos: shown in quest log as part of quest objective |
| 0x1E | 4 / Little | u32 | reputation_objective_value | cmangos: shown in quest log as part of quest objective |
| 0x22 | 2 / - | Faction | required_opposite_faction | cmangos: RequiredOpositeRepFaction, required faction value with another (oposite) faction (objective). cmangos sets to 0 |
| 0x24 | 4 / Little | u32 | required_opposite_reputation_value | cmangos: RequiredOpositeRepValue, required faction value with another (oposite) faction (objective). cmangos sets to 0 |
| 0x28 | 4 / Little | u32 | next_quest_in_chain | |
| 0x2C | 4 / Little | Gold | money_reward | |
| 0x30 | 4 / Little | Gold | max_level_money_reward | cmangos: used in XP calculation at client |
| 0x34 | 4 / Little | u32 | reward_spell | cmangos: reward spell, this spell will display (icon) (casted if RewSpellCast==0) |
| 0x38 | 4 / Little | u32 | casted_reward_spell | mangosone: casted spell |
| 0x3C | 4 / Little | u32 | honor_reward | |
| 0x40 | 4 / Little | u32 | source_item_id | |
| 0x44 | 4 / Little | u32 | quest_flags | |
| 0x48 | 4 / Little | u32 | title_reward | CharTitleId, new 2.4.0, player gets this title (id from CharTitles) |
| 0x4C | 32 / - | QuestItemReward[4] | rewards | |
| 0x6C | 48 / - | QuestItemReward[6] | choice_rewards | |
| 0x9C | 4 / Little | u32 | point_map_id | |
| 0xA0 | 8 / - | Vector2d | position | |
| 0xA8 | 4 / Little | u32 | point_opt | |
| 0xAC | - / - | CString | title | |
| - | - / - | CString | objective_text | |
| - | - / - | CString | details | |
| - | - / - | CString | end_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | quest_id | |
| - | 4 / Little | u32 | quest_method | Accepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details) |
| - | 4 / Little | Level32 | quest_level | |
| - | 4 / Little | Level32 | minimum_quest_level | min 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 / Little | u32 | zone_or_sort | |
| - | 4 / Little | u32 | quest_type | |
| - | 4 / Little | u32 | suggest_player_amount | |
| - | 2 / - | Faction | reputation_objective_faction | cmangos: shown in quest log as part of quest objective |
| - | 4 / Little | u32 | reputation_objective_value | cmangos: shown in quest log as part of quest objective |
| - | 2 / - | Faction | required_opposite_faction | cmangos: RequiredOpositeRepFaction, required faction value with another (oposite) faction (objective). cmangos sets to 0 |
| - | 4 / Little | u32 | required_opposite_reputation_value | cmangos: RequiredOpositeRepValue, required faction value with another (oposite) faction (objective). cmangos sets to 0 |
| - | 4 / Little | u32 | next_quest_in_chain | |
| - | 4 / Little | Gold | money_reward | |
| - | 4 / Little | Gold | max_level_money_reward | cmangos: used in XP calculation at client |
| - | 4 / Little | u32 | reward_spell | cmangos: reward spell, this spell will display (icon) (casted if RewSpellCast==0) |
| - | 4 / Little | u32 | casted_reward_spell | mangosone: casted spell |
| - | 4 / Little | u32 | honor_reward | |
| - | 4 / Little | f32 | honor_reward_multiplier | new reward honor (multiplied by around 62 at client side) |
| - | 4 / Little | u32 | source_item_id | |
| - | 4 / Little | u32 | quest_flags | |
| - | 4 / Little | u32 | title_reward | CharTitleId, new 2.4.0, player gets this title (id from CharTitles) |
| - | 4 / Little | u32 | players_slain | |
| - | 4 / Little | u32 | bonus_talents | |
| - | 4 / Little | u32 | bonus_arena_points | |
| - | 4 / Little | u32 | unknown1 | |
| - | 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 / Little | u32 | point_map_id | |
| - | 8 / - | Vector2d | position | |
| - | 4 / Little | u32 | point_opt | |
| - | - / - | CString | title | |
| - | - / - | CString | objective_text | |
| - | - / - | CString | details | |
| - | - / - | CString | end_text | |
| - | - / - | CString | completed_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | homebind_timer | |
| 0x08 | 4 / - | RaidGroupError | error |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | RaidInstanceMessage | message_type | |
| 0x08 | 4 / - | Map | map | |
| 0x0C | 4 / Little | u32 | time_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | RaidInstanceMessage | message_type | |
| 0x08 | 4 / - | Map | map | |
| 0x0C | 4 / Little | u32 | time_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | RaidInstanceMessage | message_type | |
| 0x08 | 4 / - | Map | map | |
| 0x0C | 4 / - | RaidDifficulty | difficulty | |
| 0x10 | 4 / Little | u32 | time_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | realm_id | ArcEmu/TrinityCore/mangosthree send realm_id from CMSG_REALM_SPLIT back. |
| - | 4 / - | RealmSplitState | state | |
| - | - / - | CString | split_date | Seems 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unknown1 | cmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | ip_address | |
| 0x08 | 2 / Little | u16 | port | |
| 0x0A | 4 / Little | u32 | unknown | |
| 0x0E | 20 / - | u8[20] | hash | azerothcore: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | ReferAFriendError | error |
If error is equal to NOT_IN_GROUP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | - / - | CString | target_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | ReferAFriendError | error |
If error is equal to NOT_IN_GROUP:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | target_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 2 / Little | Spell16 | spell |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | spell |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid1 | |
| 0x0C | 8 / Little | Guid | guid2 | |
| 0x14 | 4 / Little | u32 | unknown1 | |
| 0x18 | 4 / Little | f32 | unknown2 | |
| 0x1C | 4 / Little | f32 | unknown3 | |
| 0x20 | 4 / Little | u32 | unknown4 | |
| 0x24 | 4 / Little | u32 | unknown5 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | player | |
| - | - / - | AchievementDoneArray | done | |
| - | - / - | AchievementInProgressArray | in_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unknown | arcemu 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | guid | |
| - | - / - | SizedCString | name | |
| - | 1 / - | Bool | player |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 8 / Little | Guid | item | |
| 0x14 | 1 / - | SellItemResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 8 / Little | Guid | item | |
| 0x14 | 1 / - | SellItemResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | name | |
| - | 8 / Little | Guid | player | |
| - | 4 / Little | u32 | achievement | |
| - | 1 / - | AchievementNameLinkType | link_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | ServerMessageType | message_type | |
| 0x08 | - / - | CString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | ServerMessageType | message_type | |
| - | - / - | CString | message |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | unit |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | slot | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | max_duration | |
| - | 4 / Little | u32 | remaining_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | unit | |
| - | 1 / - | u8 | slot | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | max_duration | |
| - | 4 / Little | u32 | remaining_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | f32 | refer_a_friend_bonus | All emus set to 0. |
| 0x08 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | refer_a_friend_bonus | All emus set to 0. |
| - | 1 / - | Bool | any_rank_increased | mangostwo: display visual effect |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 2 / - | Faction | faction |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 2 / - | Faction | faction |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 2 / - | Faction | faction |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | eff | |
| 0x05 | 1 / - | u8 | op | |
| 0x06 | 4 / Little | u32 | value |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | eff | |
| 0x05 | 1 / - | u8 | op | |
| 0x06 | 4 / Little | u32 | value |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | new_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | result | |
| 0x08 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | result | |
| 0x08 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | ItemClass | class | |
| 0x05 | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | ItemClass | class | |
| 0x05 | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | ItemClass | class | |
| 0x05 | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | caster | |
| 0x0C | 1 / - | u8 | amount_of_casts | |
| 0x0D | 12 / - | Vector3d | position |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | unknown1 | cmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unknown1 | Set to 1 in mangoszero |
| - | 8 / Little | Guid | guid | |
| - | 4 / Little | u32 | nearest_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | item | |
| 0x0C | 12 / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | victim | |
| 0x0C | 8 / Little | Guid | caster | |
| 0x14 | 4 / Little | u32 | damage | |
| 0x18 | 4 / - | SpellSchool | school |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | victim | |
| 0x0C | 8 / Little | Guid | caster | |
| 0x14 | 4 / Little | Spell | spell | |
| 0x18 | 4 / Little | u32 | damage | |
| 0x1C | 4 / - | SpellSchool | school |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | victim | |
| 0x0C | 8 / Little | Guid | caster | |
| 0x14 | 4 / Little | Spell | spell | |
| 0x18 | 4 / Little | u32 | damage | |
| 0x1C | 4 / Little | u32 | overkill | |
| 0x20 | 4 / - | SpellSchool | school |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | victim | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | victim | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | dispell_spell | |
| - | 1 / - | u8 | unknown | mangosone: unused |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | victim | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 4 / - | Power | power | |
| - | 4 / Little | u32 | damage |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | victim | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 4 / - | Power | power | |
| - | 4 / Little | u32 | damage |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | victim | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | id | |
| - | 4 / Little | u32 | damage | |
| - | 1 / - | Bool | critical |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | victim | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | id | |
| - | 4 / Little | u32 | damage | |
| - | 1 / - | Bool | critical | |
| - | 1 / - | u8 | unknown | mangosone: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | victim | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | id | |
| - | 4 / Little | u32 | damage | |
| - | 4 / Little | u32 | overheal | |
| - | 4 / Little | u32 | absorb | |
| - | 1 / - | Bool | critical | |
| - | 1 / - | u8 | unknown | mangostwo: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | target | |
| 0x0C | 4 / Little | Spell | spell |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | caster | |
| 0x0C | 8 / Little | Guid | target | |
| 0x14 | 4 / Little | Spell | spell |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | Spell | id | |
| - | 8 / Little | Guid | caster | |
| - | 1 / - | u8 | unknown1 | cmangos/mangoszero: can be 0 or 1 |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | target | |
| - | - / - | PackedGuid | attacker | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | damage | |
| - | 1 / - | SpellSchool | school | |
| - | 4 / Little | u32 | absorbed_damage | |
| - | 4 / Little | u32 | resisted | cmangos/mangoszero/vmangos: sent as int32 |
| - | 1 / - | Bool | periodic_log | cmangos/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 / - | u8 | unused | |
| - | 4 / Little | u32 | blocked | |
| - | 4 / - | HitInfo | hit_info | |
| - | 1 / - | u8 | extend_flag | cmangos 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | target | |
| - | - / - | PackedGuid | attacker | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | damage | |
| - | 1 / - | SpellSchool | school | |
| - | 4 / Little | u32 | absorbed_damage | |
| - | 4 / Little | u32 | resisted | cmangos/mangoszero/vmangos: sent as int32 |
| - | 1 / - | Bool | periodic_log | cmangos/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 / - | u8 | unused | |
| - | 4 / Little | u32 | blocked | |
| - | 4 / - | HitInfo | hit_info | |
| - | 1 / - | u8 | extend_flag | cmangos 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target | |
| - | - / - | PackedGuid | attacker | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | damage | |
| - | 4 / Little | u32 | overkill | |
| - | 1 / - | SpellSchool | school | |
| - | 4 / Little | u32 | absorbed_damage | |
| - | 4 / Little | u32 | resisted | cmangos/mangoszero/vmangos: sent as int32 |
| - | 1 / - | Bool | periodic_log | cmangos/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 / - | u8 | unused | |
| - | 4 / Little | u32 | blocked | |
| - | 4 / - | HitInfo | hit_info | |
| - | 1 / - | u8 | extend_flag | cmangos 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | caster | |
| 0x0C | 8 / Little | Guid | target | |
| 0x14 | 4 / Little | Spell | id | |
| 0x18 | 1 / - | Bool | debug_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | victim | |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 1 / - | u8 | unknown | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | guid | |
| - | 1 / - | u8 | flags | |
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | delay_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | caster | |
| 0x0C | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | Spell | spell | |
| 0x10 | 1 / - | SpellCastResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | Spell | spell | |
| 0x10 | 1 / - | SpellCastResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 1 / - | u8 | extra_casts | |
| 0x0D | 4 / Little | Spell | spell | |
| 0x11 | 1 / - | SpellCastResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | cast_item | cmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster. |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 2 / - | CastFlags | flags | |
| - | 1 / - | u8 | amount_of_hits | |
| - | ? / - | Guid[amount_of_hits] | hits | |
| - | 1 / - | u8 | amount_of_misses | |
| - | ? / - | SpellMiss[amount_of_misses] | misses | |
| - | - / - | SpellCastTargets | targets |
If flags contains AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | ammo_display_id | |
| - | 4 / Little | u32 | ammo_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | cast_item | cmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster. |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 2 / - | CastFlags | flags | |
| - | 4 / Little | u32 | timestamp | |
| - | 1 / - | u8 | amount_of_hits | |
| - | ? / - | Guid[amount_of_hits] | hits | |
| - | 1 / - | u8 | amount_of_misses | |
| - | ? / - | SpellMiss[amount_of_misses] | misses | |
| - | - / - | SpellCastTargets | targets |
If flags contains AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | ammo_display_id | |
| - | 4 / Little | u32 | ammo_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | cast_item | cmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster. |
| - | - / - | PackedGuid | caster | |
| - | 1 / - | u8 | extra_casts | |
| - | 4 / Little | Spell | spell | |
| - | 4 / - | GameobjectCastFlags | flags | |
| - | 4 / Little | u32 | timestamp | |
| - | 1 / - | u8 | amount_of_hits | |
| - | ? / - | Guid[amount_of_hits] | hits | |
| - | 1 / - | u8 | amount_of_misses | |
| - | ? / - | SpellMiss[amount_of_misses] | misses | |
| - | - / - | SpellCastTargets | targets |
If flags contains POWER_UPDATE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Power | power |
If flags contains RUNE_UPDATE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | rune_mask_initial | |
| - | 1 / - | u8 | rune_mask_after_cast | |
| - | 6 / - | u8[6] | rune_cooldowns |
If flags contains ADJUST_MISSILE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | elevation | |
| - | 4 / Little | u32 | delay_trajectory |
If flags contains AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | ammo_display_id | |
| - | 4 / Little | u32 | ammo_inventory_type |
If flags contains VISUAL_CHAIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unknown1 | |
| - | 4 / Little | u32 | unknown2 |
If flags contains DEST_LOCATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | unknown3 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | cast_item | cmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster. |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 2 / - | CastFlags | flags | |
| - | 4 / Little | u32 | timer | |
| - | - / - | SpellCastTargets | targets |
If flags contains AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | ammo_display_id | |
| - | 4 / Little | u32 | ammo_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | cast_item | cmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster. |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 1 / - | u8 | cast_count | |
| - | 2 / - | CastFlags | flags | |
| - | 4 / Little | u32 | timer | |
| - | - / - | SpellCastTargets | targets |
If flags contains AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | ammo_display_id | |
| - | 4 / Little | u32 | ammo_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | cast_item | cmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster. |
| - | - / - | PackedGuid | caster | |
| - | 1 / - | u8 | cast_count | |
| - | 4 / Little | Spell | spell | |
| - | 4 / - | CastFlags | flags | |
| - | 4 / Little | u32 | timer | |
| - | - / - | SpellCastTargets | targets |
If flags contains POWER_LEFT_SELF:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Power | power |
If flags contains AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | ammo_display_id | |
| - | 4 / Little | u32 | ammo_inventory_type |
If flags contains UNKNOWN_23:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unknown1 | |
| - | 4 / Little | u32 | unknown2 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 4 / Little | f32 | speed |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | StableResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | StableResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | UnitStandState | state |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | TimerType | timer | |
| 0x08 | 4 / Little | u32 | time_remaining | |
| 0x0C | 4 / Little | u32 | duration | |
| 0x10 | 4 / Little | u32 | scale | |
| 0x14 | 1 / - | Bool | is_frozen | |
| 0x15 | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | TimerType | timer |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | summoner | |
| 0x0C | 4 / - | Area | area | |
| 0x10 | 4 / Little | Milliseconds | auto_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | summoner | |
| 0x0C | 4 / - | Area | area | |
| 0x10 | 4 / Little | Milliseconds | auto_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | summoner | |
| 0x0C | 4 / - | Area | area | |
| 0x10 | 4 / Little | Milliseconds | auto_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 2 / Little | u16 | new_spell_id | |
| 0x06 | 2 / Little | u16 | old_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Spell | new | |
| 0x08 | 4 / Little | Spell | old |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | TalentInfoType | talent_type | |
| - | 4 / Little | u32 | points_left |
If talent_type is equal to PET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | amount_of_talents | |
| - | ? / - | InspectTalent[amount_of_talents] | talents |
Else If talent_type is equal to PLAYER:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | amount_of_specs | |
| - | 1 / - | u8 | active_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | unknown |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 1 / - | Bool | taxi_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / - | TextEmote | text_emote | |
| 0x10 | 4 / Little | u32 | emote | |
| 0x14 | - / - | SizedCString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / - | TextEmote | text_emote | |
| 0x10 | 4 / Little | u32 | emote | |
| 0x14 | - / - | SizedCString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | guid | |
| - | 4 / - | TextEmote | text_emote | |
| - | 4 / Little | u32 | emote | |
| - | - / - | SizedCString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit | |
| - | - / - | PackedGuid | victim |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit | |
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | time_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | title | |
| 0x08 | 4 / - | TitleEarnStatus | status |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | slot | |
| 0x05 | 8 / Little | Guid | totem | |
| 0x0D | 4 / Little | u32 | duration | |
| 0x11 | 4 / Little | Spell | spell |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | slot | |
| 0x05 | 8 / Little | Guid | totem | |
| 0x0D | 4 / Little | u32 | duration | |
| 0x11 | 4 / Little | Spell | spell |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | TradeStatus | status |
If status is equal to BEGIN_TRADE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | 8 / Little | Guid | unknown1 | Set to 0 in vmangos. |
Else If status is equal to CLOSE_WINDOW:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x10 | 4 / - | InventoryResult | inventory_result | |
| 0x14 | 1 / - | Bool | target_error | used for: EQUIP_ERR_BAG_FULL, EQUIP_ERR_CANT_CARRY_MORE_OF_THIS, EQUIP_ERR_MISSING_REAGENT, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED |
| 0x15 | 4 / Little | u32 | item_limit_category_id | ItemLimitCategory.dbc entry |
Else If status is equal to ONLY_CONJURED or
is equal to NOT_ON_TAPLIST:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x19 | 1 / - | u8 | slot | Trade 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | TradeStatus | status |
If status is equal to BEGIN_TRADE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | 8 / Little | Guid | unknown1 | Set to 0 in vmangos. |
Else If status is equal to CLOSE_WINDOW:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x10 | 4 / - | InventoryResult | inventory_result | |
| 0x14 | 1 / - | Bool | target_error | used for: EQUIP_ERR_BAG_FULL, EQUIP_ERR_CANT_CARRY_MORE_OF_THIS, EQUIP_ERR_MISSING_REAGENT, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED |
| 0x15 | 4 / Little | u32 | item_limit_category_id | ItemLimitCategory.dbc entry |
Else If status is equal to ONLY_CONJURED or
is equal to NOT_ON_TAPLIST:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x19 | 1 / - | u8 | slot | Trade 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | TradeStatus | status |
If status is equal to BEGIN_TRADE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | unknown1 | Set to 0 in vmangos. |
Else If status is equal to CLOSE_WINDOW:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | InventoryResult | inventory_result | |
| - | 1 / - | Bool | target_error | used 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 / Little | u32 | item_limit_category_id | ItemLimitCategory.dbc entry |
Else If status is equal to ONLY_CONJURED or
is equal to NOT_ON_TAPLIST:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | slot | Trade 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | Bool | self_player | cmangos/vmangos/mangoszero: send trader or own trade windows state (last need for proper show spell apply to non-trade slot) |
| 0x05 | 4 / Little | u32 | trade_slot_count1 | cmangos/vmangos/mangoszero: sets to 7 cmangos/vmangos/mangoszero: trade slots count/number?, = next field in most cases |
| 0x09 | 4 / Little | u32 | trade_slot_count2 | cmangos/vmangos/mangoszero: sets to 7 cmangos/vmangos/mangoszero: trade slots count/number?, = prev field in most cases |
| 0x0D | 4 / Little | Gold | money_in_trade | |
| 0x11 | 4 / Little | Spell | spell_on_lowest_slot | |
| 0x15 | 427 / - | TradeSlot[7] | trade_slots | vmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | Bool | self_player | cmangos/vmangos/mangoszero: send trader or own trade windows state (last need for proper show spell apply to non-trade slot) |
| 0x05 | 4 / Little | u32 | trade_id | added 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?) |
| 0x09 | 4 / Little | u32 | trade_slot_count1 | cmangos/vmangos/mangoszero: sets to 7 cmangos/vmangos/mangoszero: trade slots count/number?, = next field in most cases |
| 0x0D | 4 / Little | u32 | trade_slot_count2 | cmangos/vmangos/mangoszero: sets to 7 cmangos/vmangos/mangoszero: trade slots count/number?, = prev field in most cases |
| 0x11 | 4 / Little | Gold | money_in_trade | |
| 0x15 | 4 / Little | Spell | spell_on_lowest_slot | |
| 0x19 | 511 / - | TradeSlot[7] | trade_slots | vmangos/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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | Spell | id | |
| 0x10 | 4 / - | TrainingFailureReason | error |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | Spell | id |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | trainer_type | |
| 0x10 | 4 / Little | u32 | amount_of_spells | |
| 0x14 | ? / - | TrainerSpell[amount_of_spells] | spells | |
| - | - / - | CString | greeting |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | guid | |
| 0x0C | 4 / Little | u32 | trainer_type | |
| 0x10 | 4 / Little | u32 | amount_of_spells | |
| 0x14 | ? / - | TrainerSpell[amount_of_spells] | spells | |
| - | - / - | CString | greeting |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | guid | |
| - | 4 / Little | u32 | trainer_type | |
| - | 4 / Little | u32 | amount_of_spells | |
| - | ? / - | TrainerSpell[amount_of_spells] | spells | |
| - | - / - | CString | greeting |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 1 / - | TransferAbortReason | reason | |
| 0x09 | 1 / - | u8 | argument | Possibly 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map | |
| 0x08 | 1 / - | TransferAbortReason | reason |
If reason is equal to INSUFFICIENT_EXPANSION_LEVEL or
is equal to DIFFICULTY_NOT_AVAILABLE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x09 | 1 / - | DungeonDifficulty | difficulty |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Map | map | |
| - | 1 / - | TransferAbortReason | reason |
If reason is equal to INSUFFICIENT_EXPANSION_LEVEL or
is equal to DIFFICULTY_NOT_AVAILABLE or
is equal to UNIQUE_MESSAGE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | DungeonDifficulty | difficulty |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | 4 / Little | u32 | transport | |
| 0x0C | 4 / - | Map | transport_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | 4 / Little | u32 | transport | |
| 0x0C | 4 / - | Map | transport_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Map | map |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | transport | |
| - | 4 / - | Map | transport_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | CinematicSequenceId | cinematic_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | CinematicSequenceId | cinematic_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | CinematicSequenceId | cinematic_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | movie_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | PetitionResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | PetitionResult | result |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 32 / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | data_type | |
| - | 4 / Little | u32 | decompressed_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | data_type | |
| 0x08 | 4 / Little | u32 | unknown1 | mangostwo 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 1 / - | u8 | aura_slot | |
| 0x05 | 4 / Little | u32 | aura_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target | |
| - | 1 / - | u8 | combo_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | EncounterFrame | frame |
If frame is equal to ENGAGE or
is equal to DISENGAGE or
is equal to UPDATE_PRIORITY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | guid | |
| - | 1 / - | u8 | parameter1 |
Else If frame is equal to ADD_TIMER or
is equal to ENABLE_OBJECTIVE or
is equal to DISABLE_OBJECTIVE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | parameter2 |
Else If frame is equal to UPDATE_OBJECTIVE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | parameter3 | |
| - | 1 / - | u8 | parameter4 |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | Bool32 | player_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Map | map |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | LfgType | lfg_type | |
| - | 4 / Little | u32 | dungeon_id | |
| - | 1 / - | LfgListUpdateType | update_type |
If update_type is equal to PARTIAL:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_of_deleted_guids | |
| - | ? / - | Guid[amount_of_deleted_guids] | deleted_guids | |
| - | 4 / Little | u32 | amount_of_groups | |
| - | 4 / Little | u32 | unknown1 | emus set to 0. |
| - | ? / - | LfgListGroup[amount_of_groups] | groups | |
| - | 4 / Little | u32 | amount_of_players | |
| - | 4 / Little | u32 | unknown2 | emus 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_of_objects | |
| 0x08 | 1 / - | u8 | has_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | amount_of_objects | |
| 0x08 | 1 / - | u8 | has_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | amount_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / - | WorldState | state |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | player | |
| 0x0C | 1 / - | u8 | player_flags | |
| 0x0D | 1 / - | u8 | flags | |
| 0x0E | 4 / Little | u32 | amount_of_players | |
| 0x12 | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | player | |
| - | 1 / - | u8 | player_flags | |
| - | 1 / - | u8 | flags | |
| - | 4 / Little | u32 | amount_of_players | |
| - | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | player | |
| 0x0C | 1 / - | u8 | flags | |
| 0x0D | 4 / Little | u32 | amount_of_players | |
| 0x11 | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | player | |
| - | 1 / - | u8 | flags | |
| - | 4 / Little | u32 | amount_of_players | |
| - | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 8 / Little | Guid | player | |
| 0x0C | 1 / - | u8 | player_flags | |
| 0x0D | 1 / - | u8 | flags | |
| 0x0E | 4 / Little | u32 | amount_of_players | |
| 0x12 | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 8 / Little | Guid | player | |
| - | 1 / - | u8 | player_flags | |
| - | 1 / - | u8 | flags | |
| - | 4 / Little | u32 | amount_of_players | |
| - | - / - | CString | name |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | ? / - | 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | WeatherType | weather_type | |
| 0x08 | 4 / Little | f32 | grade | |
| 0x0C | 4 / Little | u32 | sound_id | |
| 0x10 | 1 / - | WeatherChangeType | change |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | WeatherType | weather_type | |
| 0x08 | 4 / Little | f32 | grade | |
| 0x0C | 1 / - | WeatherChangeType | change |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | WeatherType | weather_type | |
| 0x08 | 4 / Little | f32 | grade | |
| 0x0C | 1 / - | WeatherChangeType | change |
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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | message | vmangos: 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | listed_players | |
| 0x08 | 4 / Little | u32 | online_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | listed_players | |
| 0x08 | 4 / Little | u32 | online_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
| - | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | listed_players | |
| - | 4 / Little | u32 | online_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / Little | u32 | time | Seconds 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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Area | zone_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Area | zone_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
| Offset | Size / Endianness | Type | Name | Description |
|---|---|---|---|---|
| 0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
| 0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | 4 / - | Area | zone_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | event_id | |
| 0x08 | - / - | CString | title | |
| - | 4 / Little | u32 | event_type | |
| - | 4 / Little | DateTime | event_time | |
| - | 4 / Little | u32 | flags | |
| - | 4 / Little | u32 | dungeon_id | |
| - | - / - | PackedGuid | creator |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | holiday_id | |
| 0x04 | 4 / Little | u32 | region | |
| 0x08 | 4 / Little | u32 | looping | |
| 0x0C | 4 / Little | u32 | priority | |
| 0x10 | 4 / Little | u32 | calendar_filter_type | |
| 0x14 | 104 / - | u32[26] | holiday_days | |
| 0x7C | 40 / - | u32[10] | durations | |
| 0xA4 | 40 / - | u32[10] | flags | |
| 0xCC | - / - | CString | texture_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | Map | map | |
| 0x04 | 4 / Little | u32 | difficulty | |
| 0x08 | 4 / Little | u32 | reset_time | |
| 0x0C | 8 / Little | Guid | instance_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | event_id | |
| 0x08 | 8 / Little | Guid | invite_id | |
| 0x10 | 1 / - | u8 | status | |
| 0x11 | 1 / - | u8 | rank | |
| 0x12 | 1 / - | Bool | is_guild_event | |
| 0x13 | - / - | PackedGuid | creator |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | Map | map | |
| 0x04 | 4 / Little | u32 | period | |
| 0x08 | 4 / Little | u32 | time_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / - | Skill | skill | |
| 0x02 | 2 / Little | u16 | skill_step | |
| 0x04 | 2 / Little | u16 | minimum | |
| 0x06 | 2 / Little | u16 | maximum | |
| 0x08 | 2 / Little | u16 | permanent_bonus | |
| 0x0A | 2 / Little | u16 | temporary_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / - | Skill | skill | |
| 0x02 | 2 / Little | u16 | skill_step | |
| 0x04 | 2 / Little | u16 | minimum | |
| 0x06 | 2 / Little | u16 | maximum | |
| 0x08 | 2 / Little | u16 | permanent_bonus | |
| 0x0A | 2 / Little | u16 | temporary_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / - | Skill | skill | |
| 0x02 | 2 / Little | u16 | skill_step | |
| 0x04 | 2 / Little | u16 | minimum | |
| 0x06 | 2 / Little | u16 | maximum | |
| 0x08 | 2 / Little | u16 | permanent_bonus | |
| 0x0A | 2 / Little | u16 | temporary_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 2 / - | SpellCastTargetFlags | target_flags |
If target_flags contains UNIT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x02 | - / - | PackedGuid | unit_target |
If target_flags contains GAMEOBJECT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | gameobject |
Else If target_flags contains OBJECT_UNK:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | object_unk |
If target_flags contains ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | item |
Else If target_flags contains TRADE_ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | trade_item |
If target_flags contains SOURCE_LOCATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 12 / - | Vector3d | source |
If target_flags contains DEST_LOCATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 12 / - | Vector3d | destination |
If target_flags contains STRING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | target_string |
If target_flags contains CORPSE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | corpse |
Else If target_flags contains PVP_CORPSE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | pvp_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | SpellCastTargetFlags | target_flags |
If target_flags contains UNIT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | unit_target |
Else If target_flags contains UNIT_MINIPET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit_minipet |
Else If target_flags contains UNIT_ENEMY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | unit_enemy |
If target_flags contains GAMEOBJECT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | gameobject |
Else If target_flags contains LOCKED:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | locked |
If target_flags contains ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | item |
Else If target_flags contains TRADE_ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | trade_item |
If target_flags contains SOURCE_LOCATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 12 / - | Vector3d | source |
If target_flags contains DEST_LOCATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 12 / - | Vector3d | destination |
If target_flags contains STRING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | target_string |
If target_flags contains CORPSE_ALLY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | corpse_ally |
Else If target_flags contains CORPSE_ENEMY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | corpse_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | SpellCastTargetFlags | target_flags |
If target_flags contains UNIT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x04 | - / - | PackedGuid | unit_target |
Else If target_flags contains UNIT_MINIPET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | minipet_target |
Else If target_flags contains GAMEOBJECT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | gameobject_target |
Else If target_flags contains CORPSE_ENEMY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | enemy_corpse_target |
Else If target_flags contains CORPSE_ALLY:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | ally_corpse_target |
If target_flags contains ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | item_target |
Else If target_flags contains TRADE_ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | trade_item_target |
If target_flags contains SOURCE_LOCATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 12 / - | Vector3d | source |
If target_flags contains DEST_LOCATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 12 / - | Vector3d | destination |
If target_flags contains STRING:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | CString | target_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Spell | id | |
| 0x04 | 4 / Little | Milliseconds | cooldown_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | target | |
| 0x08 | 1 / - | SpellMissInfo | miss_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | SpellEffect | effect | |
| 0x04 | 4 / Little | u32 | amount_of_logs | vmangos/cmangos/mangoszero: Can be variable but all use constant 1 |
If effect is equal to POWER_DRAIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | 8 / Little | Guid | target1 | |
| 0x10 | 4 / Little | u32 | amount | |
| 0x14 | 4 / - | Power | power | |
| 0x18 | 4 / Little | f32 | multiplier |
Else If effect is equal to HEAL or
is equal to HEAL_MAX_HEALTH:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x1C | 8 / Little | Guid | target2 | |
| 0x24 | 4 / Little | u32 | heal_amount | |
| 0x28 | 4 / Little | u32 | heal_critical |
Else If effect is equal to ENERGIZE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x2C | 8 / Little | Guid | target3 | |
| 0x34 | 4 / Little | u32 | energize_amount | |
| 0x38 | 4 / Little | u32 | energize_power |
Else If effect is equal to ADD_EXTRA_ATTACKS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x3C | 8 / Little | Guid | target4 | |
| 0x44 | 4 / Little | u32 | extra_attacks |
Else If effect is equal to CREATE_ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x48 | 4 / Little | Item | item |
Else If effect is equal to INTERRUPT_CAST:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x4C | 8 / Little | Guid | target5 | |
| 0x54 | 4 / Little | Spell | interrupted_spell |
Else If effect is equal to DURABILITY_DAMAGE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x58 | 8 / Little | Guid | target6 | |
| 0x60 | 4 / Little | Item | item_to_damage | |
| 0x64 | 4 / Little | u32 | unknown5 |
Else If effect is equal to FEED_PET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x68 | 4 / Little | Item | feed_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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x6C | 8 / Little | Guid | target7 |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | SpellEffect | effect | |
| 0x04 | 4 / Little | u32 | amount_of_logs | vmangos/cmangos/mangoszero: Can be variable but all use constant 1 |
If effect is equal to POWER_DRAIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | - / - | PackedGuid | target1 | |
| - | 4 / Little | u32 | amount | |
| - | 4 / - | Power | power | |
| - | 4 / Little | f32 | multiplier |
Else If effect is equal to ADD_EXTRA_ATTACKS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target4 | |
| - | 4 / Little | u32 | extra_attacks |
Else If effect is equal to INTERRUPT_CAST:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target5 | |
| - | 4 / Little | Spell | interrupted_spell |
Else If effect is equal to DURABILITY_DAMAGE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target6 | |
| - | 4 / Little | Item | item_to_damage | |
| - | 4 / Little | u32 | unknown5 |
Else If effect is equal to OPEN_LOCK or
is equal to OPEN_LOCK_ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | lock_target |
Else If effect is equal to CREATE_ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | Item | item |
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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | summon_target |
Else If effect is equal to FEED_PET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | pet_feed_guid |
Else If effect is equal to DISMISS_PET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | pet_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / - | SpellEffect | effect | |
| 0x04 | 4 / Little | u32 | amount_of_logs | vmangos/cmangos/mangoszero: Can be variable but all use constant 1 |
If effect is equal to POWER_DRAIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x08 | - / - | PackedGuid | target1 | |
| - | 4 / Little | u32 | amount | |
| - | 4 / - | Power | power | |
| - | 4 / Little | f32 | multiplier |
Else If effect is equal to ADD_EXTRA_ATTACKS:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target4 | |
| - | 4 / Little | u32 | extra_attacks |
Else If effect is equal to INTERRUPT_CAST:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target5 | |
| - | 4 / Little | Spell | interrupted_spell |
Else If effect is equal to DURABILITY_DAMAGE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | target6 | |
| - | 4 / Little | Item | item_to_damage | |
| - | 4 / Little | u32 | unknown5 |
Else If effect is equal to OPEN_LOCK or
is equal to OPEN_LOCK_ITEM:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | lock_target |
Else If effect is equal to CREATE_ITEM or
is equal to CREATE_ITEM2:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | Item | item |
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:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | summon_target |
Else If effect is equal to FEED_PET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | pet_feed_guid |
Else If effect is equal to DISMISS_PET:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | pet_dismiss_guid |
Else If effect is equal to RESURRECT or
is equal to RESURRECT_NEW:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | - / - | PackedGuid | resurrect_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | target | |
| 0x08 | 1 / - | SpellMissInfo | miss_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | target | |
| 0x08 | 1 / - | SpellMissInfo | miss_info |
If miss_info is equal to REFLECT:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x09 | 1 / - | u8 | reflect_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Spell | spell | |
| 0x04 | 1 / - | SpellStealAction | action |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | pet_number | |
| 0x04 | 4 / Little | u32 | entry | |
| 0x08 | 4 / Little | Level32 | level | |
| 0x0C | - / - | CString | name | |
| - | 4 / Little | u32 | loyalty | |
| - | 1 / - | u8 | slot | vmangos/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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | amount_of_talents | |
| 0x01 | ? / - | InspectTalent[amount_of_talents] | talents | |
| - | 1 / - | u8 | amount_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | unit | |
| - | 4 / Little | u32 | threat |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | trade_slot_number | cmangos/vmangos/mangoszero: sets to index of array |
| 0x01 | 4 / Little | Item | item | |
| 0x05 | 4 / Little | u32 | display_id | |
| 0x09 | 4 / Little | u32 | stack_count | |
| 0x0D | 4 / Little | Bool32 | wrapped | |
| 0x11 | 8 / Little | Guid | gift_wrapper | |
| 0x19 | 4 / Little | u32 | enchantment | |
| 0x1D | 8 / Little | Guid | item_creator | |
| 0x25 | 4 / Little | u32 | spell_charges | |
| 0x29 | 4 / Little | u32 | item_suffix_factor | |
| 0x2D | 4 / Little | u32 | item_random_properties_id | |
| 0x31 | 4 / Little | u32 | lock_id | |
| 0x35 | 4 / Little | u32 | max_durability | |
| 0x39 | 4 / Little | u32 | durability |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 1 / - | u8 | trade_slot_number | cmangos/vmangos/mangoszero: sets to index of array |
| 0x01 | 4 / Little | Item | item | |
| 0x05 | 4 / Little | u32 | display_id | |
| 0x09 | 4 / Little | u32 | stack_count | |
| 0x0D | 4 / Little | Bool32 | wrapped | |
| 0x11 | 8 / Little | Guid | gift_wrapper | |
| 0x19 | 4 / Little | u32 | enchantment | |
| 0x1D | 12 / - | u32[3] | enchantments_slots | |
| 0x29 | 8 / Little | Guid | item_creator | |
| 0x31 | 4 / Little | u32 | spell_charges | |
| 0x35 | 4 / Little | u32 | item_suffix_factor | |
| 0x39 | 4 / Little | u32 | item_random_properties_id | |
| 0x3D | 4 / Little | u32 | lock_id | |
| 0x41 | 4 / Little | u32 | max_durability | |
| 0x45 | 4 / Little | u32 | durability |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Spell | spell | cmangos: learned spell (or cast-spell in profession case) |
| 0x04 | 1 / - | TrainerSpellState | state | |
| 0x05 | 4 / Little | u32 | spell_cost | |
| 0x09 | 4 / Little | u32 | talent_point_cost | cmangos: spells don’t cost talent points cmangos: set to 0 |
| 0x0D | 4 / Little | u32 | first_rank | cmangos: must be equal prev. field to have learn button in enabled state cmangos: 1 for true 0 for false |
| 0x11 | 1 / - | u8 | required_level | |
| 0x12 | 4 / - | Skill | required_skill | |
| 0x16 | 4 / Little | u32 | required_skill_value | |
| 0x1A | 12 / - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Spell | spell | cmangos: learned spell (or cast-spell in profession case) |
| 0x04 | 1 / - | TrainerSpellState | state | |
| 0x05 | 4 / Little | u32 | spell_cost | |
| 0x09 | 4 / Little | u32 | talent_point_cost | cmangos: spells don’t cost talent points cmangos: set to 0 |
| 0x0D | 4 / Little | u32 | first_rank | cmangos: must be equal prev. field to have learn button in enabled state cmangos: 1 for true 0 for false |
| 0x11 | 1 / - | u8 | required_level | |
| 0x12 | 4 / - | Skill | required_skill | |
| 0x16 | 4 / Little | u32 | required_skill_value | |
| 0x1A | 12 / - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Spell | spell | cmangos: learned spell (or cast-spell in profession case) |
| 0x04 | 1 / - | TrainerSpellState | state | |
| 0x05 | 4 / Little | u32 | spell_cost | |
| 0x09 | 4 / Little | u32 | talent_point_cost | cmangos: spells don’t cost talent points cmangos: set to 0 |
| 0x0D | 4 / Little | u32 | first_rank | cmangos: must be equal prev. field to have learn button in enabled state cmangos: 1 for true 0 for false |
| 0x11 | 1 / - | u8 | required_level | |
| 0x12 | 4 / - | Skill | required_skill | |
| 0x16 | 4 / Little | u32 | required_skill_value | |
| 0x1A | 12 / - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | 12 / - | Vector3d | position | |
| - | 4 / Little | f32 | orientation | |
| - | 4 / Little | u32 | timestamp |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | PackedGuid | guid | |
| - | 12 / - | Vector3d | position | |
| - | 4 / Little | f32 | orientation | |
| - | 4 / Little | u32 | timestamp | |
| - | 1 / - | u8 | seat |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | x | |
| 0x04 | 4 / Little | u32 | y |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | f32 | x | |
| 0x04 | 4 / Little | f32 | y |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | f32 | x | |
| 0x04 | 4 / Little | f32 | y | |
| 0x08 | 4 / Little | f32 | z |
Used in:
- CMSG_GMTICKET_CREATE
- CMSG_GM_REPORT_LAG
- CMSG_MOVE_SET_RAW_POSITION
- CMSG_UPDATE_MISSILE_TRAJECTORY
- CMSG_UPDATE_PROJECTILE_POSITION
- CMSG_WORLD_TELEPORT
- Character
- MSG_CORPSE_QUERY_Server
- MSG_MOVE_TELEPORT_CHEAT_Server
- MonsterMove
- MovementBlock
- MovementInfo
- SMSG_BINDPOINTUPDATE
- SMSG_DEATH_RELEASE_LOC
- SMSG_LOGIN_VERIFY_WORLD
- SMSG_MONSTER_MOVE
- SMSG_MONSTER_MOVE_TRANSPORT
- SMSG_NEW_WORLD
- SMSG_PET_DISMISS_SOUND
- SMSG_SET_PROJECTILE_POSITION
- SpellCastTargets
- TransportInfo
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | creator | |
| 0x08 | 4 / Little | Item | item | |
| 0x0C | 8 / - | u32[2] | enchants | |
| 0x14 | 4 / Little | u32 | padding5 | |
| 0x18 | 4 / Little | u32 | padding6 | |
| 0x1C | 4 / Little | u32 | padding7 | |
| 0x20 | 4 / Little | u32 | padding8 | |
| 0x24 | 4 / Little | u32 | padding9 | |
| 0x28 | 4 / Little | u32 | random_property_id | |
| 0x2C | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 8 / Little | Guid | creator | |
| 0x08 | 4 / Little | Item | item | |
| 0x0C | 24 / - | u32[6] | enchants | |
| 0x24 | 4 / Little | u32 | random_property_id | |
| 0x28 | 4 / Little | u32 | item_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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | Item | item | |
| 0x04 | 4 / - | 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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | CString | name | |
| - | - / - | CString | guild | |
| - | 4 / Little | Level32 | level | |
| - | 4 / - | Class | class | |
| - | 4 / - | Race | race | |
| - | 4 / - | Area | area |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | CString | name | |
| - | - / - | CString | guild | |
| - | 4 / Little | Level32 | level | |
| - | 1 / - | Class | class | |
| - | 1 / - | Race | race | |
| - | 1 / - | Gender | gender | |
| - | 4 / - | Area | area |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | - / - | CString | name | |
| - | - / - | CString | guild | |
| - | 4 / Little | Level32 | level | |
| - | 1 / - | Class | class | |
| - | 1 / - | Race | race | |
| - | 1 / - | Gender | gender | |
| - | 4 / - | Area | area |
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
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x00 | 4 / Little | u32 | state | |
| 0x04 | 4 / Little | u32 | value |
Used in: