MsgItemInfo

This message is sent to the game client from the game server to initialize an item, which can appear in the player's inventory, as equipment, or in another position within the client's UI. Some exceptions to this include detained items (MsgDetainItemInfo) and shop / present items (MsgItemInfoEx).

In later versions of the client (around patch 5200), MsgPlayerAttribInfo was added to update the role view separately from equipment being placed in a player's equipment slot. The purpose of splitting off attributes from items was to enable temporary boons and weaknesses.

Table of Contents

Patch 4267

Message Definition

☑️ Assumed (Soul)

PosTypeNameDescriptionExample
0UInt16MsgSizeSize of the message24
2UInt16MsgTypeType of message1008
4UInt32Item IDUnique identifier for the item (unless someone else's item)1
8UInt32Item TypeIdentifies the type of item730001
12UInt16AmountCurrent durability or amount of the item10000
14UInt16Max AmountTotal durability or amount the item can have10000
16ByteActionHow item info should be processed1
17ByteStatusCondition bit flags on the item0
18BytePositionPosition where the item appears0
19ByteSocket 1The gem in the first socket position0
20ByteSocket 2The gem in the second socket position0
21ByteMagic 1Reserved for rebirth magic effect0
22ByteMagic 2Reserved for an unknown purpose0
23ByteMagic 3Reserved for magical plus rating0

Action Type

☑️ Assumed (Soul)

enum ItemInfoActionType {

    ITEMINFO_NONE = 0;
    ITEMINFO_ADDITEM = 1;
    ITEMINFO_TRADE = 2;
    ITEMINFO_UPDATE = 3;
    ITEMINFO_OTHERPLAYER_EQUIPMENT = 4;
    ITEMINFO_AUCTION = 5;
}

Item Status

☑️ Assumed (Soul)

enum ItemStatus {

    ITEM_STATUS_NONE = 0;
    ITEM_STATUS_UNIDENTIFIED = 0x01;
    ITEM_STATUS_CANNOT_REPAIR = 0x02;
    ITEM_STATUS_FIXED_DURABILITY = 0x04;
    ITEM_STATUS_MAGIC_ADD = 0x08;
}

Item Position

☑️ Assumed (Soul)

enum ItemPosition {

    ITEMPOSITION_INVENTORY = 0;
    ITEMPOSITION_HELMET = 1;
    ITEMPOSITION_NECKLACE = 2;
    ITEMPOSITION_ARMOR = 3;
    ITEMPOSITION_WEAPON_RIGHT = 4;
    ITEMPOSITION_WEAPON_LEFT = 5;
    ITEMPOSITION_RING = 6;
    ITEMPOSITION_TREASURE = 7;
    ITEMPOSITION_BOOTS = 8;

    ITEMPOSITION_STORAGE = 201;
    ITEMPOSITION_TRUNK = 202;
    ITEMPOSITION_TREASURE_BAG = 203;
    ITEMPOSITION_AUCTION_STORAGE = 207;

    ITEMPOSITION_GROUND = 254;
    ITEMPOSITION_NONE = 255;
}

Patch 4330

Message Definition

☑️ Assumed (Observed) - COPSv6 Enhanced

PosTypeNameDescriptionExample
0UInt16MsgSizeSize of the message30
2UInt16MsgTypeType of message1008
4UInt32Item IDUnique identifier for the item (unless someone else's item)1
8UInt32Item TypeIdentifies the type of item730001
12UInt16AmountCurrent durability or amount of the item10000
14UInt16Max AmountTotal durability or amount the item can have10000
16ByteActionHow item info should be processed1
17ByteStatusCondition bit flags on the item0
18BytePositionPosition where the item appears0
19ByteSocket 1The gem in the first socket position0
20ByteSocket 2The gem in the second socket position0
21ByteMagic 1Reserved for rebirth magic effect0
22ByteMagic 2Reserved for an unknown purpose0
23ByteMagic 3Reserved for magical plus rating0
24ByteBlessReduced damage percentage taken by the character0
25ByteEnchantAdded max life for the character0
26UInt32DataAdditional attributes for the item0

Action Type

☑️ Assumed (Soul)

enum ItemInfoActionType {

    ITEMINFO_NONE = 0;
    ITEMINFO_ADDITEM = 1;
    ITEMINFO_TRADE = 2;
    ITEMINFO_UPDATE = 3;
    ITEMINFO_OTHERPLAYER_EQUIPMENT = 4;
    ITEMINFO_AUCTION = 5;
}

Item Status

☑️ Assumed (Soul)

enum ItemStatus {

    ITEM_STATUS_NONE = 0;
    ITEM_STATUS_UNIDENTIFIED = 0x01;
    ITEM_STATUS_CANNOT_REPAIR = 0x02;
    ITEM_STATUS_FIXED_DURABILITY = 0x04;
    ITEM_STATUS_MAGIC_ADD = 0x08;
}

Item Position

☑️ Assumed (Soul)

enum ItemPosition {

    ITEMPOSITION_INVENTORY = 0;
    ITEMPOSITION_HELMET = 1;
    ITEMPOSITION_NECKLACE = 2;
    ITEMPOSITION_ARMOR = 3;
    ITEMPOSITION_WEAPON_RIGHT = 4;
    ITEMPOSITION_WEAPON_LEFT = 5;
    ITEMPOSITION_RING = 6;
    ITEMPOSITION_TREASURE = 7;
    ITEMPOSITION_BOOTS = 8;

    ITEMPOSITION_STORAGE = 201;
    ITEMPOSITION_TRUNK = 202;
    ITEMPOSITION_TREASURE_BAG = 203;
    ITEMPOSITION_AUCTION_STORAGE = 207;

    ITEMPOSITION_GROUND = 254;
    ITEMPOSITION_NONE = 255;
}

Patch 5017

Message Definition

❓ Unverified

PosTypeNameDescriptionExample
0UInt16MsgSizeSize of the message36
2UInt16MsgTypeType of message1008
4UInt32Item IDUnique identifier for the item (unless someone else's item)1
8UInt32Item TypeIdentifies the type of item730001
12UInt16AmountCurrent durability or amount of the item10000
14UInt16Max AmountTotal durability or amount the item can have10000
16ByteActionHow item info should be processed1
17ByteStatusCondition bit flags on the item0
18BytePositionPosition where the item appears0
20UInt32Socket ProgressProgress on creating a socket0
24ByteSocket 1The gem in the first socket position0
25ByteSocket 2The gem in the second socket position0
26ByteMagic 1Reserved for rebirth magic effect0
27ByteMagic 2Reserved for an unknown purpose0
28ByteMagic 3Reserved for magical plus rating0
29ByteBlessReduced damage percentage taken by the character0
30ByteEnchantAdded max life for the character0
32UInt32DataAdditional attributes for the item0

Action Type

☑️ Assumed (Soul)

enum ItemInfoActionType {

    ITEMINFO_NONE = 0;
    ITEMINFO_ADDITEM = 1;
    ITEMINFO_TRADE = 2;
    ITEMINFO_UPDATE = 3;
    ITEMINFO_OTHERPLAYER_EQUIPMENT = 4;
    ITEMINFO_AUCTION = 5;
}

Item Status

☑️ Assumed (Soul)

enum ItemStatus {

    ITEM_STATUS_NONE = 0;
    ITEM_STATUS_UNIDENTIFIED = 0x01;
    ITEM_STATUS_CANNOT_REPAIR = 0x02;
    ITEM_STATUS_FIXED_DURABILITY = 0x04;
    ITEM_STATUS_MAGIC_ADD = 0x08;
}

Item Position

☑️ Assumed (Soul)

enum ItemPosition {

    ITEMPOSITION_INVENTORY = 0;
    ITEMPOSITION_HELMET = 1;
    ITEMPOSITION_NECKLACE = 2;
    ITEMPOSITION_ARMOR = 3;
    ITEMPOSITION_WEAPON_RIGHT = 4;
    ITEMPOSITION_WEAPON_LEFT = 5;
    ITEMPOSITION_RING = 6;
    ITEMPOSITION_TREASURE = 7;
    ITEMPOSITION_BOOTS = 8;

    ITEMPOSITION_STORAGE = 201;
    ITEMPOSITION_TRUNK = 202;
    ITEMPOSITION_TREASURE_BAG = 203;
    ITEMPOSITION_AUCTION_STORAGE = 207;

    ITEMPOSITION_GROUND = 254;
    ITEMPOSITION_NONE = 255;
}

Patch 5095

Message Definition

❓ Unverified

PosTypeNameDescriptionExample
0UInt16MsgSizeSize of the message48
2UInt16MsgTypeType of message1008
4UInt32Item IDUnique identifier for the item (unless someone else's item)1
8UInt32Item TypeIdentifies the type of item730001
12UInt16AmountCurrent durability or amount of the item10000
14UInt16Max AmountTotal durability or amount the item can have10000
16ByteActionHow item info should be processed1
17ByteStatusCondition bit flags on the item0
18BytePositionPosition where the item appears0
19UInt32Socket ProgressProgress on creating a socket0
23ByteSocket 1The gem in the first socket position0
24ByteSocket 2The gem in the second socket position0
25ByteMagic 1Reserved for rebirth magic effect0
26ByteMagic 2Reserved for an unknown purpose0
27ByteMagic 3Reserved for magical plus rating0
28ByteBlessReduced damage percentage taken by the character0
29BoolBoundTrue if the item can't be traded0
30ByteEnchantAdded max life for the character0
32UInt32DataAdditional attributes for the item0
36BoolSuspiciousMarked as suspicious for trading0
38BoolLockedLocked from being dropped or traded0
40ByteColorColor modifier for the item3
44UInt32Magic 3 ProgressProgress towards magical plus rating0

Action Type

☑️ Assumed (Soul)

enum ItemInfoActionType {

    ITEMINFO_NONE = 0;
    ITEMINFO_ADDITEM = 1;
    ITEMINFO_TRADE = 2;
    ITEMINFO_UPDATE = 3;
    ITEMINFO_OTHERPLAYER_EQUIPMENT = 4;
    ITEMINFO_AUCTION = 5;
}

Item Status

☑️ Assumed (Soul)

enum ItemStatus {

    ITEM_STATUS_NONE = 0;
    ITEM_STATUS_UNIDENTIFIED = 0x01;
    ITEM_STATUS_CANNOT_REPAIR = 0x02;
    ITEM_STATUS_FIXED_DURABILITY = 0x04;
    ITEM_STATUS_MAGIC_ADD = 0x08;
}

Item Position

☑️ Assumed (Soul)

enum ItemPosition {

    ITEMPOSITION_INVENTORY = 0;
    ITEMPOSITION_HELMET = 1;
    ITEMPOSITION_NECKLACE = 2;
    ITEMPOSITION_ARMOR = 3;
    ITEMPOSITION_WEAPON_RIGHT = 4;
    ITEMPOSITION_WEAPON_LEFT = 5;
    ITEMPOSITION_RING = 6;
    ITEMPOSITION_TREASURE = 7;
    ITEMPOSITION_BOOTS = 8;

    ITEMPOSITION_STORAGE = 201;
    ITEMPOSITION_TRUNK = 202;
    ITEMPOSITION_TREASURE_BAG = 203;
    ITEMPOSITION_AUCTION_STORAGE = 207;

    ITEMPOSITION_GROUND = 254;
    ITEMPOSITION_NONE = 255;
}

Item Color

☑️ Assumed (Observed) - Chimera

enum ItemColor {
    
    ITEMCOLOR_NONE = 0;
    ITEMCOLOR_BLACK = 2;
    ITEMCOLOR_ORANGE = 3;
    ITEMCOLOR_TEAL = 4;
    ITEMCOLOR_RED = 5;
    ITEMCOLOR_BLUE = 6;
    ITEMCOLOR_YELLOW = 7;
    ITEMCOLOR_PURPLE = 8;
    ITEMCOLOR_WHITE = 9;
}