if (itemToRemove.isEquipped())
{
L2ItemInstance[] unequiped =
activeChar.getInventory().unEquipItemInSlotAndRecord(itemToRemove.getEquipSlot());
InventoryUpdate iu = new InventoryUpdate();
for (int i = 0; i < unequiped.length; i++)
{
activeChar.checkSSMatch(null, unequiped[i]);
iu.addModifiedItem(unequiped[i]);
}
activeChar.sendPacket(iu);
activeChar.broadcastUserInfo();
}
if (L2PetDataTable.isPetItem(itemId))
{
java.sql.Connection con = null;
try
{
if (activeChar.getPet() != null && activeChar.getPet().getControlItemId() == _objectId)
{
activeChar.getPet().unSummon(activeChar);
}
// if it's a pet control item, delete the pet
con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement statement = con.prepareStatement("DELETE FROM pets WHERE item_obj_id=?");
statement.setInt(1, _objectId);
statement.execute();
statement.close();
}
catch (Exception e)
{
_log.log(Level.WARNING, "could not delete pet objectid: ", e);
}
finally
{
try { con.close(); } catch (Exception e) {}
}
}
L2ItemInstance removedItem = activeChar.getInventory().destroyItem("Destroy", _objectId, count, activeChar, null);
if(removedItem == null)
return;
if (!Config.FORCE_INVENTORY_UPDATE)
{
InventoryUpdate iu = new InventoryUpdate();
if (removedItem.getCount() == 0) iu.addRemovedItem(removedItem);
else iu.addModifiedItem(removedItem);
//client.getConnection().sendPacket(iu);
activeChar.sendPacket(iu);
}
else sendPacket(new ItemList(activeChar, true));