Jump to content

Recommended Posts

Posted
/*

* 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}
  • 4 weeks later...
Posted

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!

Posted

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 :)

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock