if (item->IsDragonSoul())
{
int iEmptyPos = ch->GetEmptyDragonSoulInventory(item);
if (iEmptyPos != -1)
{
item->AddToCharacter(ch, TItemPos(DRAGON_SOUL_INVENTORY, iEmptyPos));
}
else
{
M2_DESTROY_ITEM(item);
if (!ch->DragonSoul_IsQualified())
{
ch->ChatPacket(CHAT_TYPE_INFO, "<Gift> %s #3", LC_TEXT( "UNKNOW_ERROR"));
force = true;
continue;
}
else {
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "INVENTORY_FULL_ERROR"));
force = true;
continue;
}
}
}
#ifdef ENABLE_SPLIT_INVENTORY_SYSTEM
else if (item->IsSkillBook())
{
int iEmptyPos = ch->GetEmptySkillBookInventory(item->GetSize());
if (iEmptyPos != -1)
item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
else
{
M2_DESTROY_ITEM(item);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("INVENTORY_FULL_ERROR"));
force = true;
continue;
}
}
else if (item->IsUpgradeItem())
{
int iEmptyPos = ch->GetEmptyUpgradeItemsInventory(item->GetSize());
if (iEmptyPos != -1)
item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
else
{
M2_DESTROY_ITEM(item);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("INVENTORY_FULL_ERROR"));
force = true;
continue;
}
}
else if (item->IsStone())
{
int iEmptyPos = ch->GetEmptyStoneInventory(item->GetSize());
if (iEmptyPos != -1)
item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
else
{
M2_DESTROY_ITEM(item);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("INVENTORY_FULL_ERROR"));
force = true;
continue;
}
}
else if (item->IsBox())
{
int iEmptyPos = ch->GetEmptyBoxInventory(item->GetSize());
if (iEmptyPos != -1)
item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
else
{
M2_DESTROY_ITEM(item);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("INVENTORY_FULL_ERROR"));
force = true;
continue;
}
}
else if (item->IsEfsun())
{
int iEmptyPos = ch->GetEmptyEfsunInventory(item->GetSize());
if (iEmptyPos != -1)
item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
else
{
M2_DESTROY_ITEM(item);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("INVENTORY_FULL_ERROR"));
force = true;
continue;
}
}
else if (item->IsCicek())
{
int iEmptyPos = ch->GetEmptyCicekInventory(item->GetSize());
if (iEmptyPos != -1)
item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
else
{
M2_DESTROY_ITEM(item);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("INVENTORY_FULL_ERROR"));
force = true;
continue;
}
}
#endif
else
{
int iEmptyPos = ch->GetEmptyInventory(item->GetSize());
if (iEmptyPos != -1)
{
item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
}
else
{
M2_DESTROY_ITEM(item);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "INVENTORY_FULL_ERROR"));
force = true;
continue;
}
}
}
else
{
ch->ChatPacket(CHAT_TYPE_INFO, "<Gift> %s #4", LC_TEXT( "UNKNOW_ERROR"));
force = true;
continue;
}