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

SMSG have a header of 4 bytes.

SMSG Header

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

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -InventoryResultresult

If result is equal to CANT_EQUIP_LEVEL_I:

OffsetSize / EndiannessTypeNameComment
0x054 / LittleLevel32required_level

If result is not equal to OK:

OffsetSize / EndiannessTypeNameComment
0x098 / LittleGuiditem1
0x118 / LittleGuiditem2
0x191 / -u8bag_type_subclasscmangos: bag type subclass, used with EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM and EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2
vmangos sets to 0

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_inventory_change_failure.wowm:17.

smsg SMSG_INVENTORY_CHANGE_FAILURE = 0x0112 {
    InventoryResult result;
    if (result != OK) {
        Guid item1;
        Guid item2;
        u8 bag_type_subclass;
    }
    if (result == CANT_EQUIP_LEVEL_I) {
        Level32 required_level;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

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

Body

OffsetSize / EndiannessTypeNameComment
0x041 / -InventoryResultresult

If result is not equal to OK:

OffsetSize / EndiannessTypeNameComment
0x058 / LittleGuiditem1
0x0D8 / LittleGuiditem2
0x151 / -u8bag_type_subclasscmangos: bag type subclass, used with EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM and EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2
vmangos sets to 0

If result is equal to CANT_EQUIP_LEVEL_I:

OffsetSize / EndiannessTypeNameComment
0x164 / LittleLevel32required_level

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/item/smsg_inventory_change_failure.wowm:17.

smsg SMSG_INVENTORY_CHANGE_FAILURE = 0x0112 {
    InventoryResult result;
    if (result != OK) {
        Guid item1;
        Guid item2;
        u8 bag_type_subclass;
    }
    if (result == CANT_EQUIP_LEVEL_I) {
        Level32 required_level;
    }
}

Header

SMSG have a header of 4 bytes.

SMSG Header

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

Body

OffsetSize / EndiannessTypeNameComment
-1 / -InventoryResultresult

If result is not equal to OK:

OffsetSize / EndiannessTypeNameComment
-8 / LittleGuiditem1
-8 / LittleGuiditem2
-1 / -u8bag_type_subclasscmangos: bag type subclass, used with EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM and EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2
vmangos sets to 0

If result is equal to CANT_EQUIP_LEVEL_I:

OffsetSize / EndiannessTypeNameComment
-4 / LittleLevel32required_level