Код
package items;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.handler.IItemHandler;
import net.sf.l2j.gameserver.handler.ItemHandler;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.serverpackets.ActionFailed;
import net.sf.l2j.gameserver.serverpackets.MagicSkillUse;
import net.sf.l2j.gameserver.serverpackets.SystemMessage;
public class buffitem implements IItemHandler
{
private static final int[] ITEM_IDS = { 11006,11007};
public buffitem()
{
ItemHandler.getInstance().registerItemHandler(this);
}
public void useItem(L2PlayableInstance playable, L2ItemInstance item)
{
L2PcInstance activeChar;
if (playable instanceof L2PcInstance)
activeChar = (L2PcInstance)playable;
else if (playable instanceof L2PetInstance)
activeChar = ((L2PetInstance)playable).getOwner();
else
return;
if (activeChar.isAllSkillsDisabled())
{
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
int itemId = item.getItemId();
if (itemId >= 11006 && itemId <= 11007)
{
if (!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
switch(itemId)
{
case 11006: // Fighter
activeChar.sendMessage("You got fighter buff.");
L2Skill fbuff01 = SkillTable.getInstance().getInfo(275, 1);
fbuff01.getEffects(activeChar, activeChar);
L2Skill fbuff02 = SkillTable.getInstance().getInfo(271, 1);
fbuff02.getEffects(activeChar, activeChar);
L2Skill fbuff03 = SkillTable.getInstance().getInfo(274, 1);
fbuff03.getEffects(activeChar, activeChar);
L2Skill fbuff04 = SkillTable.getInstance().getInfo(264, 1);
fbuff04.getEffects(activeChar, activeChar);
L2Skill fbuff05 = SkillTable.getInstance().getInfo(304, 1);
fbuff05.getEffects(activeChar, activeChar);
L2Skill fbuff06 = SkillTable.getInstance().getInfo(267, 1);
fbuff06.getEffects(activeChar, activeChar);
L2Skill fbuff07 = SkillTable.getInstance().getInfo(1240, 3);
fbuff07.getEffects(activeChar, activeChar);
L2Skill fbuff08 = SkillTable.getInstance().getInfo(1035, 4);
fbuff08.getEffects(activeChar, activeChar);
L2Skill fbuff09 = SkillTable.getInstance().getInfo(1068, 3);
fbuff09.getEffects(activeChar, activeChar);
L2Skill fbuff10 = SkillTable.getInstance().getInfo(1045, 6);
fbuff10.getEffects(activeChar, activeChar);
L2Skill fbuff11 = SkillTable.getInstance().getInfo(1048, 6);
fbuff11.getEffects(activeChar, activeChar);
L2Skill fbuff12 = SkillTable.getInstance().getInfo(1077, 3);
fbuff12.getEffects(activeChar, activeChar);
L2Skill fbuff13 = SkillTable.getInstance().getInfo(1086, 2);
fbuff13.getEffects(activeChar, activeChar);
L2Skill fbuff14 = SkillTable.getInstance().getInfo(1036, 2);
fbuff14.getEffects(activeChar, activeChar);
L2Skill fbuff15 = SkillTable.getInstance().getInfo(1040, 3);
fbuff15.getEffects(activeChar, activeChar);
L2Skill fbuff16 = SkillTable.getInstance().getInfo(1242, 3);
fbuff16.getEffects(activeChar, activeChar);
L2Skill fbuff17 = SkillTable.getInstance().getInfo(1062, 2);
fbuff17.getEffects(activeChar, activeChar);
L2Skill fbuff18 = SkillTable.getInstance().getInfo(1388, 3);
fbuff18.getEffects(activeChar, activeChar);
L2Skill fbuff19 = SkillTable.getInstance().getInfo(1268, 4);
fbuff19.getEffects(activeChar, activeChar);
L2Skill fbuff20 = SkillTable.getInstance().getInfo(1259, 4);
fbuff20.getEffects(activeChar, activeChar);
L2Skill fbuff21 = SkillTable.getInstance().getInfo(1243, 6);
fbuff21.getEffects(activeChar, activeChar);
L2Skill fbuff22 = SkillTable.getInstance().getInfo(1087, 3);
fbuff22.getEffects(activeChar, activeChar);
L2Skill fbuff23 = SkillTable.getInstance().getInfo(1204, 2);
fbuff23.getEffects(activeChar, activeChar);
L2Skill fbuff24 = SkillTable.getInstance().getInfo(349, 1);
fbuff24.getEffects(activeChar, activeChar);
L2Skill fbuff25 = SkillTable.getInstance().getInfo(364, 1);
fbuff25.getEffects(activeChar, activeChar);
break;
case 11007: // Magic
activeChar.sendMessage("You got magic buff.");
L2Skill mbuff01 = SkillTable.getInstance().getInfo(276, 1);
mbuff01.getEffects(activeChar, activeChar);
L2Skill mbuff02 = SkillTable.getInstance().getInfo(273, 1);
mbuff02.getEffects(activeChar, activeChar);
L2Skill mbuff03 = SkillTable.getInstance().getInfo(264, 1);
mbuff03.getEffects(activeChar, activeChar);
L2Skill mbuff04 = SkillTable.getInstance().getInfo(304, 1);
mbuff04.getEffects(activeChar, activeChar);
L2Skill mbuff05 = SkillTable.getInstance().getInfo(267, 1);
mbuff05.getEffects(activeChar, activeChar);
L2Skill mbuff06 = SkillTable.getInstance().getInfo(1085, 3);
mbuff06.getEffects(activeChar, activeChar);
L2Skill mbuff07 = SkillTable.getInstance().getInfo(1062, 2);
mbuff07.getEffects(activeChar, activeChar);
L2Skill mbuff08 = SkillTable.getInstance().getInfo(1078, 6);
mbuff08.getEffects(activeChar, activeChar);
L2Skill mbuff09 = SkillTable.getInstance().getInfo(1059, 3);
mbuff09.getEffects(activeChar, activeChar);
L2Skill mbuff10 = SkillTable.getInstance().getInfo(1303, 2);
mbuff10.getEffects(activeChar, activeChar);
L2Skill mbuff11 = SkillTable.getInstance().getInfo(1204, 2);
mbuff11.getEffects(activeChar, activeChar);
L2Skill mbuff12 = SkillTable.getInstance().getInfo(1036, 2);
mbuff12.getEffects(activeChar, activeChar);
L2Skill mbuff13 = SkillTable.getInstance().getInfo(1040, 3);
mbuff13.getEffects(activeChar, activeChar);
L2Skill mbuff14 = SkillTable.getInstance().getInfo(1389, 3);
mbuff14.getEffects(activeChar, activeChar);
L2Skill mbuff15 = SkillTable.getInstance().getInfo(1045, 6);
mbuff15.getEffects(activeChar, activeChar);
L2Skill mbuff16 = SkillTable.getInstance().getInfo(1048, 6);
mbuff16.getEffects(activeChar, activeChar);
L2Skill mbuff17 = SkillTable.getInstance().getInfo(1397, 3);
mbuff17.getEffects(activeChar, activeChar);
L2Skill mbuff18 = SkillTable.getInstance().getInfo(349, 1);
mbuff18.getEffects(activeChar, activeChar);
L2Skill mbuff19 = SkillTable.getInstance().getInfo(363, 1);
mbuff19.getEffects(activeChar, activeChar);
break;
default:
break;
}
return;
}
// for the rest, there are no extra conditions
if (!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
}
public int[] getItemIds()
{
return ITEM_IDS;
}
}