//need an exchange with source? (destination item is swapped with currently moved item)
const Item* inventoryItem = getInventoryItem(static_cast<slots_t>(index));
if (inventoryItem && (!inventoryItem->isStackable() || inventoryItem->getID() != item->getID())) {
//those lines below are comment to allow swap/equip items (in exchange to another) directly from ground or loot container.
//const Cylinder* cylinder = item->getTopParent();
//if (cylinder && (dynamic_cast<const DepotChest*>(cylinder) || dynamic_cast<const Player*>(cylinder))) {
// return RETURNVALUE_NEEDEXCHANGE;
//}
return RETURNVALUE_NEEDEXCHANGE;
}
return ret;