DominiQue Posted December 30, 2009 Posted December 30, 2009 /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ /** * * @author x.v3ndetta@yahoo.com * */ package net.sf.l2j.gameserver.handler.itemhandlers; import java.util.logging.Level; import java.util.logging.Logger; import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.datatables.SkillTable; import net.sf.l2j.gameserver.handler.IItemHandler; import net.sf.l2j.gameserver.model.L2ItemInstance; 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.MagicSkillUser; import net.sf.l2j.gameserver.serverpackets.SystemMessage; import net.sf.l2j.gameserver.util.FloodProtector; public class MBuff implements IItemHandler { protected static final Logger _log = Logger.getLogger(Potions.class.getName()); private static final int[] ITEM_IDS = {7163}; private int _herbstask = 0; private class HerbTask implements Runnable { private L2PcInstance _activeChar; private int _magicId; private int _level; HerbTask(L2PcInstance activeChar, int magicId, int level) { _activeChar = activeChar; _magicId = magicId; _level = level; } public void run() { try { usePotion(_activeChar, _magicId, _level); } catch (Throwable t) { _log.log(Level.WARNING, "", t); } } } public synchronized 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.isInOlympiadMode()) { activeChar.sendPacket(new SystemMessage(SystemMessageId.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT)); return; } if (activeChar.isAllSkillsDisabled()) { activeChar.sendPacket(new ActionFailed()); return; } L2Skill skill; int itemId = item.getItemId(); if (itemId == 7163) { skill = SkillTable.getInstance().getInfo(1204, 2); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1040, 3); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1068, 3); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1035, 4); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1045, 6); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1048, 6); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1036, 2); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1259, 4); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1257, 3); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1062, 2); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1268, 4); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1086, 2); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1240, 3); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1077, 3); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1242, 3); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(271, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(274, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(275, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(310, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1229, 18); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(267, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(268, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(269, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(304, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(305, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(308, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(349, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1284, 3); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1363, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(4700, 13); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(4699, 13); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1388, 2); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); skill = SkillTable.getInstance().getInfo(1323, 1); skill.getEffects(activeChar, activeChar); activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0)); } } public boolean usePotion(L2PcInstance activeChar, int magicId, int level) { if (activeChar.isCastingNow() && magicId>2277 && magicId<2285) { _herbstask += 100; ThreadPoolManager.getInstance().scheduleAi(new HerbTask(activeChar, magicId, level), _herbstask); } else { if (magicId>2277 && magicId<2285 && _herbstask>=100) _herbstask -= 100; L2Skill skill = SkillTable.getInstance().getInfo(magicId, level); if (skill != null) { activeChar.doCast(skill); if (!(activeChar.isSitting() && !skill.isPotion())) return true; } } return false; } public int[] getItemIds() { return ITEM_IDS; } } CREDITS : V3ndetta[ME} Quote
EdenEternal Posted January 22, 2010 Posted January 22, 2010 i'm noob and can you teach how to add this to server? Quote
disast3r Posted January 22, 2010 Posted January 22, 2010 compile-eclipse-java..... Ontopic: great share its like AIO coin in l2inc ::) Quote
Ceptimus Posted January 22, 2010 Posted January 22, 2010 already shared !! with fighter buffs too :) Quote
Intrepid Posted January 22, 2010 Posted January 22, 2010 1st atleast if you do a such a thing dont use a herbtask rofl! 2nd use sql connection for buff store at for last the most necessary learn to dont use INTERLUDE!If you ever want to learn something use gracia or epilogue! Quote
DominiQue Posted January 23, 2010 Author Posted January 23, 2010 at for last the most necessary learn to dont use INTERLUDE!If you ever want to learn something use gracia or epilogue! At the moment i am using epilogue :P I bught a dedi,and l2zone will be on in few days,Gracia Epilogue :) Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.