if ((dice < _LEVEL_CHANCE) || levelPartyCrystals)
{
// Remove old crystal from the killer's inventory
final L2ItemInstance oldCrystal = player.getInventory().destroyItemByItemId("Absorb", oldCrystalId, 1, player, this);
if (oldCrystal != null)
{
// Add new crystal to the killer's inventory
player.getInventory().addItem("Absorb", newCrystalId, 1, player, this);
final SystemMessage sms = new SystemMessage(SystemMessage.EARNED_ITEM);
// Send a sound event and text message to the player
player.sendPacket(new PlaySound("ItemSound.quest_itemget"));
sms.addItemName(newCrystalId);
player.sendPacket(sms);
// Send Server->Client packets to notify the killer and update his Inventory
}
player.sendPacket(new ItemList(player, false));
}
else if ((dice >= 100.0 - _BREAK_CHANCE) && !levelPartyCrystals)
{
// Remove old crystal from the killer's inventory
final L2ItemInstance oldCrystal = player.getInventory().destroyItemByItemId("Absorb", oldCrystalId, 1, player, this);
killer.sendPacket(new PlaySound("ItemSound3.sys_enchant_failed"));
sm.addString("The soul crystal scattered itself.");
killer.sendPacket(sm);
_absorbed = false;
_absorbersList = null;
return;
}
else
{
sm.addString("The soul crystal has failed to absorb the soul.");
player.sendPacket(sm);
}