package net.iplay.gameserver.handler.itemhandlers;
import net.iplay.gameserver.handler.IItemHandler;
import net.iplay.gameserver.model.actor.instance.L2ItemInstance;
import net.iplay.gameserver.model.actor.instance.L2PcInstance;
import net.iplay.gameserver.model.actor.instance.L2PlayableInstance;
import net.iplay.gameserver.network.SystemMessageId;
import net.iplay.gameserver.network.serverpackets.ItemList;
import net.iplay.gameserver.network.serverpackets.SystemMessage;
import net.iplay.util.Rnd;
public class YourCustomClass implements IItemHandler
{
private static final int[] ITEM_IDS =
{
1,2 //packs ids
};
private int[] Pack1 = {6847,6849,6851,6853,6855,6857,6859,6861,6863,6865,6867,6869,6871,6873,6875,6877,6879,6881,6883,6885,6887,6889,6891,6893,6895,6897,6899,7580};
private int[] Pack2 = { /**anothers ids*/};
public void useItem(L2PlayableInstance playable, L2ItemInstance item)
{
if (!(playable instanceof L2PcInstance))
return;
L2PcInstance activeChar = (L2PcInstance) playable;
int itemId = item.getItemId();
int itemToCreateId = 0;
int amount = 0;
switch(itemId)
{
case 1: //first pack id
{
if(getChance(30))
{
itemToCreateId = Pack1[Rnd.get(Pack1.length)];
amount = 1;
}
break;
}
case 2: //second pack id
{
if(getChance(Rnd.get(30, 70))) // random chance
{
itemToCreateId = Pack2[Rnd.get(Pack2.length)];
amount = Rnd.get(1, 5);
}
break;
}
}
activeChar.getInventory().destroyItem("Extract", item, activeChar, null);
activeChar.getInventory().addItem("Extract", itemToCreateId, amount, activeChar, item);
SystemMessage sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
sm.addItemName(itemToCreateId);
sm.addNumber(amount);
activeChar.sendPacket(sm);
ItemList playerUI = new ItemList(activeChar, false);
activeChar.sendPacket(playerUI);
}
private boolean getChance(int i)
{
return i > Rnd.get(100);
}
public int[] getItemIds()
{
return ITEM_IDS;
}
}