- if (pPlayerItem && CItemManager::Instance().GetItemDataPointer(pPlayerItem->vnum, &pItemData))
- {
- #ifdef ENABLE_EVRIM
- char itemlink[256 + 12];
- #else
- char itemlink[256];
- #endif
- int len;
- bool isAttr = false;
- len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x:%x:%x:%x:%x",
- pPlayerItem->vnum, pPlayerItem->flags,
- pPlayerItem->alSockets[0], pPlayerItem->alSockets[1], pPlayerItem->alSockets[2] , pPlayerItem->alSockets[3], pPlayerItem->alSockets[4], pPlayerItem->alSockets[5], pPlayerItem->transmutation);
- #ifdef ENABLE_EVRIM
- for (int i = 0; i < ITEM_ATTRIBUTE_SLOT_MAX_NUM; ++i)
- {
- len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d",
- pPlayerItem->aAttr[i].bType, pPlayerItem->aAttr[i].sValue);
- isAttr = true;
- }
- #else
- for (int i = 0; i < ITEM_ATTRIBUTE_SLOT_MAX_NUM; ++i)
- if (pPlayerItem->aAttr[i].bType != 0)
- {
- len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d",
- pPlayerItem->aAttr[i].bType, pPlayerItem->aAttr[i].sValue);
- isAttr = true;
- }
- #endif