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

CMSG have a header of 6 bytes.

CMSG Header

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

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E1 / -BankSwapSourcesource

If source is equal to BANK:

OffsetSize / EndiannessTypeNameComment
0x0F1 / -u8bank_destination_tab
0x101 / -u8bank_destination_slot
0x114 / Littleu32unknown1
0x151 / -u8bank_source_tab
0x161 / -u8bank_source_slot
0x174 / LittleItemitem1
0x1B1 / -u8unknown2
0x1C1 / -u8amount

Else: | 0x1D | 1 / - | u8 | bank_tab | | | 0x1E | 1 / - | u8 | bank_slot | | | 0x1F | 4 / Little | Item | item2 | | | 0x23 | 1 / - | BankSwapStoreMode | mode | |

If mode is equal to AUTOMATIC:

OffsetSize / EndiannessTypeNameComment
0x244 / Littleu32auto_count
0x281 / -u8unknown3
0x291 / -u8unknown4

Else: | 0x2A | 1 / - | u8 | player_bag | | | 0x2B | 1 / - | u8 | player_bag_slot | | | 0x2C | 1 / - | Bool | bank_to_character_transfer | | | 0x2D | 1 / - | u8 | split_amount | | | 0x2E | ? / - | u8[-] | unknown5 | cmangos-tbc/mangosone has extra |

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/guild_bank/cmsg_guild_bank_swap_items.wowm:49.

cmsg CMSG_GUILD_BANK_SWAP_ITEMS = 0x03E9 {
    Guid bank;
    BankSwapSource source;
    if (source == BANK) {
        u8 bank_destination_tab;
        u8 bank_destination_slot;
        u32 unknown1;
        u8 bank_source_tab;
        u8 bank_source_slot;
        Item item1;
        u8 unknown2;
        u32 amount;
    }
    else {
        u8 bank_tab;
        u8 bank_slot;
        Item item2;
        BankSwapStoreMode mode;
        if (mode == AUTOMATIC) {
            u32 auto_count;
            u8 unknown3;
            u32 unknown4;
        }
        else {
            u8 player_bag;
            u8 player_bag_slot;
            Bool bank_to_character_transfer;
            u32 split_amount;
        }
    }
    u8[-] unknown5;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

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

Body

OffsetSize / EndiannessTypeNameComment
0x068 / LittleGuidbank
0x0E1 / -BankSwapSourcesource

If source is equal to BANK:

OffsetSize / EndiannessTypeNameComment
0x0F1 / -u8bank_destination_tab
0x101 / -u8bank_destination_slot
0x114 / Littleu32unknown1
0x151 / -u8bank_source_tab
0x161 / -u8bank_source_slot
0x174 / LittleItemitem1
0x1B1 / -u8unknown2
0x1C4 / Littleu32amount

Else: | 0x20 | 1 / - | u8 | bank_tab | | | 0x21 | 1 / - | u8 | bank_slot | | | 0x22 | 4 / Little | Item | item2 | | | 0x26 | 1 / - | BankSwapStoreMode | mode | |

If mode is equal to AUTOMATIC:

OffsetSize / EndiannessTypeNameComment
0x274 / Littleu32auto_count
0x2B1 / -u8unknown3
0x2C4 / Littleu32unknown4

Else: | 0x30 | 1 / - | u8 | player_bag | | | 0x31 | 1 / - | u8 | player_bag_slot | | | 0x32 | 1 / - | Bool | bank_to_character_transfer | | | 0x33 | 4 / Little | u32 | split_amount | | | 0x37 | ? / - | u8[-] | unknown5 | cmangos-tbc/mangosone has extra |