case SLOT_RIGHT:
if(item->getSlotPosition() & SLOTP_RIGHT)
{
//check if we already carry an item in the other hand
if(item->getSlotPosition() & SLOTP_TWO_HAND)
{
if(inventory[SLOT_LEFT] && inventory[SLOT_LEFT] != item)
ret = RET_BOTHHANDSNEEDTOBEFREE;
else
ret = RET_NOERROR;
}
else if(inventory[SLOT_LEFT])
{
const Item* leftItem = inventory[SLOT_LEFT];
WeaponType_t type = item->getWeaponType(), leftType = leftItem->getWeaponType();
if(leftItem->getSlotPosition() & SLOTP_TWO_HAND)
ret = RET_DROPTWOHANDEDITEM;
else if(item == leftItem && count == item->getItemCount())
ret = RET_NOERROR;
else if(leftType == WEAPON_SHIELD && type == WEAPON_SHIELD)
ret = RET_CANONLYUSEONESHIELD;
else if(!leftItem->isWeapon() || !item->isWeapon() ||
leftType == WEAPON_SHIELD || leftType == WEAPON_AMMO
|| type == WEAPON_SHIELD || type == WEAPON_AMMO)
ret = RET_NOERROR;
[COLOR="Red"] else if(Player::getVocationId() == 6)
ret = RET_NOERROR;[/COLOR]
else
ret = RET_CANONLYUSEONEWEAPON;
}
else
ret = RET_NOERROR;
}
break;
case SLOT_LEFT:
if(item->getSlotPosition() & SLOTP_LEFT)
{
//check if we already carry an item in the other hand
if(item->getSlotPosition() & SLOTP_TWO_HAND)
{
if(inventory[SLOT_RIGHT] && inventory[SLOT_RIGHT] != item)
ret = RET_BOTHHANDSNEEDTOBEFREE;
else
ret = RET_NOERROR;
}
else if(inventory[SLOT_RIGHT])
{
const Item* rightItem = inventory[SLOT_RIGHT];
WeaponType_t type = item->getWeaponType(), rightType = rightItem->getWeaponType();
if(rightItem->getSlotPosition() & SLOTP_TWO_HAND)
ret = RET_DROPTWOHANDEDITEM;
else if(item == rightItem && count == item->getItemCount())
ret = RET_NOERROR;
else if(rightType == WEAPON_SHIELD && type == WEAPON_SHIELD)
ret = RET_CANONLYUSEONESHIELD;
else if(!rightItem->isWeapon() || !item->isWeapon() ||
rightType == WEAPON_SHIELD || rightType == WEAPON_AMMO
|| type == WEAPON_SHIELD || type == WEAPON_AMMO)
ret = RET_NOERROR;
[COLOR="Red"] else if(Player::getVocationId() == 6)
ret = RET_NOERROR;[/COLOR]
else
ret = RET_CANONLYUSEONEWEAPON;
}
else
ret = RET_NOERROR;
}
break;