Jump to content

[Share] Item for Fighter buffs


DominiQue

Recommended Posts

/*

* 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 FBuff 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(1303, 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(1078, 6);

               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(1085, 3);

               skill.getEffects(activeChar, activeChar);

               activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));                

               skill = SkillTable.getInstance().getInfo(1059, 3);

               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(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(273, 1);

               skill.getEffects(activeChar, activeChar);

               activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));                

               skill = SkillTable.getInstance().getInfo(276, 1);

               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(365, 1);

               skill.getEffects(activeChar, activeChar);

               activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));                

skill = SkillTable.getInstance().getInfo(1389, 2);

               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(4702, 13);

               skill.getEffects(activeChar, activeChar);

               activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));                

skill = SkillTable.getInstance().getInfo(4702, 13);

               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(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}
Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...
  • 5 months later...
Guest
This topic is now closed to further replies.


×
×
  • Create New...