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;
        }
    }
}

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32mail_id
0x084 / -MailActionaction

If action is equal to ITEM_TAKEN:

OffsetSize / EndiannessTypeNameComment
0x0C4 / -MailResultresult

If result is equal to ERR_EQUIP_ERROR:

OffsetSize / EndiannessTypeNameComment
0x104 / Littleu32equip_error

Else: | 0x14 | 4 / Little | Item | item | cmangos/vmangos: item guid low? | | 0x18 | 4 / Little | u32 | item_count | |

Else: | 0x1C | 4 / - | MailResultTwo | result2 | |

If result2 is equal to ERR_EQUIP_ERROR:

OffsetSize / EndiannessTypeNameComment
0x204 / Littleu32equip_error2

Client Version 2

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_send_mail_result.wowm:51.

smsg SMSG_SEND_MAIL_RESULT = 0x0239 {
    u32 mail_id;
    MailAction action;
    if (action == ITEM_TAKEN) {
        MailResult result;
        if (result == ERR_EQUIP_ERROR) {
            u32 equip_error;
        }
        else {
            Item item;
            u32 item_count;
        }
    }
    else {
        MailResultTwo result2;
        if (result2 == ERR_EQUIP_ERROR) {
            u32 equip_error2;
        }
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32mail_id
0x084 / -MailActionaction

If action is equal to ITEM_TAKEN:

OffsetSize / EndiannessTypeNameComment
0x0C4 / -MailResultresult

If result is equal to ERR_EQUIP_ERROR:

OffsetSize / EndiannessTypeNameComment
0x104 / Littleu32equip_error

Else: | 0x14 | 4 / Little | Item | item | cmangos/vmangos: item guid low? | | 0x18 | 4 / Little | u32 | item_count | |

Else: | 0x1C | 4 / - | MailResultTwo | result2 | |

If result2 is equal to ERR_EQUIP_ERROR:

OffsetSize / EndiannessTypeNameComment
0x204 / Littleu32equip_error2

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_send_mail_result.wowm:51.

smsg SMSG_SEND_MAIL_RESULT = 0x0239 {
    u32 mail_id;
    MailAction action;
    if (action == ITEM_TAKEN) {
        MailResult result;
        if (result == ERR_EQUIP_ERROR) {
            u32 equip_error;
        }
        else {
            Item item;
            u32 item_count;
        }
    }
    else {
        MailResultTwo result2;
        if (result2 == ERR_EQUIP_ERROR) {
            u32 equip_error2;
        }
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32mail_id
-4 / -MailActionaction

If action is equal to ITEM_TAKEN:

OffsetSize / EndiannessTypeNameComment
-4 / -MailResultresult

If result is equal to ERR_EQUIP_ERROR:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32equip_error

Else: | - | 4 / Little | Item | item | cmangos/vmangos: item guid low? | | - | 4 / Little | u32 | item_count | |

Else: | - | 4 / - | MailResultTwo | result2 | |

If result2 is equal to ERR_EQUIP_ERROR:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32equip_error2