Mail

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:14.

struct Mail {
    u32 message_id;
    MailType message_type;
    if (message_type == NORMAL) {
        Guid sender;
    }
    else if (message_type == CREATURE
        || message_type == GAMEOBJECT) {
        u32 sender_id;
    }
    else if (message_type == AUCTION) {
        u32 auction_id;
    }
    CString subject;
    u32 item_text_id;
    u32 unknown1;
    u32 stationery;
    Item item;
    u32 item_enchant_id;
    u32 item_random_property_id;
    u32 item_suffix_factor;
    u8 item_stack_size;
    u32 item_spell_charges;
    u32 max_durability;
    u32 durability;
    Gold money;
    u32 cash_on_delivery_amount;
    u32 checked_timestamp;
    f32 expiration_time;
    u32 mail_template_id;
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / Littleu32message_id
0x041 / -MailTypemessage_type

If message_type is equal to NORMAL:

OffsetSize / EndiannessTypeNameComment
0x058 / LittleGuidsender

Else If message_type is equal to CREATURE or is equal to GAMEOBJECT:

OffsetSize / EndiannessTypeNameComment
0x0D4 / Littleu32sender_id

Else If message_type is equal to AUCTION:

OffsetSize / EndiannessTypeNameComment
0x114 / Littleu32auction_id
0x15- / -CStringsubject
-4 / Littleu32item_text_id
-4 / Littleu32unknown1cmangos/vmangos/mangoszero: set to 0
-4 / Littleu32stationerycmangos/vmangos/mangoszero: stationery (Stationery.dbc)
-4 / LittleItemitem
-4 / Littleu32item_enchant_id
-4 / Littleu32item_random_property_id
-4 / Littleu32item_suffix_factor
-1 / -u8item_stack_size
-4 / Littleu32item_spell_charges
-4 / Littleu32max_durability
-4 / Littleu32durability
-4 / LittleGoldmoney
-4 / Littleu32cash_on_delivery_amount
-4 / Littleu32checked_timestampcmangos/vmangos/mangoszero: All have a comment with 'flags' but send the timestamp from the item.
-4 / Littlef32expiration_time
-4 / Littleu32mail_template_idcmangos/vmangos/mangoszero: mail template (MailTemplate.dbc)

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:53.

struct Mail {
    u16 size = self.size;
    u32 message_id;
    MailType message_type;
    if (message_type == NORMAL) {
        Guid sender;
    }
    else if (message_type == CREATURE
        || message_type == GAMEOBJECT) {
        u32 sender_id;
    }
    else if (message_type == AUCTION) {
        u32 auction_id;
    }
    else if (message_type == ITEM) {
        Item item;
    }
    Gold cash_on_delivery;
    u32 item_text_id;
    u32 unknown;
    u32 stationery;
    Gold money;
    u32 flags;
    f32 expiration_time;
    u32 mail_template_id;
    CString subject;
    u8 amount_of_items;
    MailListItem[amount_of_items] items;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / Littleu16size
0x024 / Littleu32message_id
0x061 / -MailTypemessage_type

If message_type is equal to NORMAL:

OffsetSize / EndiannessTypeNameComment
0x078 / LittleGuidsender

Else If message_type is equal to CREATURE or is equal to GAMEOBJECT:

OffsetSize / EndiannessTypeNameComment
0x0F4 / Littleu32sender_id

Else If message_type is equal to AUCTION:

OffsetSize / EndiannessTypeNameComment
0x134 / Littleu32auction_id

Else If message_type is equal to ITEM:

OffsetSize / EndiannessTypeNameComment
0x174 / LittleItemitem
0x1B4 / LittleGoldcash_on_delivery
0x1F4 / Littleu32item_text_id
0x234 / Littleu32unknown
0x274 / Littleu32stationery
0x2B4 / LittleGoldmoney
0x2F4 / Littleu32flags
0x334 / Littlef32expiration_time
0x374 / Littleu32mail_template_idcmangos/vmangos/mangoszero: mail template (MailTemplate.dbc)
0x3B- / -CStringsubject
-1 / -u8amount_of_items
-? / -MailListItem[amount_of_items]items

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/mail/smsg_mail_list_result.wowm:117.

struct Mail {
    u16 size = self.size;
    u32 message_id;
    MailType message_type;
    if (message_type == NORMAL) {
        Guid sender;
    }
    else if (message_type == CREATURE
        || message_type == GAMEOBJECT) {
        u32 sender_id;
    }
    else if (message_type == AUCTION) {
        u32 auction_id;
    }
    else if (message_type == ITEM) {
        Item item;
    }
    Gold cash_on_delivery;
    u32 unknown;
    u32 stationery;
    Gold money;
    u32 flags;
    f32 expiration_time;
    u32 mail_template_id;
    CString subject;
    CString message;
    u8 amount_of_items;
    MailListItem[amount_of_items] items;
}

Body

OffsetSize / EndiannessTypeNameComment
0x002 / Littleu16size
0x024 / Littleu32message_id
0x061 / -MailTypemessage_type

If message_type is equal to NORMAL:

OffsetSize / EndiannessTypeNameComment
0x078 / LittleGuidsender

Else If message_type is equal to CREATURE or is equal to GAMEOBJECT:

OffsetSize / EndiannessTypeNameComment
0x0F4 / Littleu32sender_id

Else If message_type is equal to AUCTION:

OffsetSize / EndiannessTypeNameComment
0x134 / Littleu32auction_id

Else If message_type is equal to ITEM:

OffsetSize / EndiannessTypeNameComment
0x174 / LittleItemitem
0x1B4 / LittleGoldcash_on_delivery
0x1F4 / Littleu32unknown
0x234 / Littleu32stationery
0x274 / LittleGoldmoney
0x2B4 / Littleu32flags
0x2F4 / Littlef32expiration_time
0x334 / Littleu32mail_template_idcmangos/vmangos/mangoszero: mail template (MailTemplate.dbc)
0x37- / -CStringsubject
-- / -CStringmessage
-1 / -u8amount_of_items
-? / -MailListItem[amount_of_items]items

Used in: