Jump to content

[Share]Restore HP,MP,CP


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 xAddytzu
*/ 
package net.sf.l2j.gameserver.handler.voicedcommandhandlers;

import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.instancemanager.DimensionalRiftManager;
import net.sf.l2j.gameserver.instancemanager.SiegeManager;
import net.sf.l2j.gameserver.model.L2Character;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.entity.Siege;
import net.sf.l2j.gameserver.model.zone.type.L2TownZone;

public class Restore implements IVoicedCommandHandler
{
private static final String[] VOICED_COMMANDS = { "restore" };
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
	if (command.equalsIgnoreCase("restore"))
	{
		Siege siege = SiegeManager.getInstance().getSiege(activeChar);
		if (activeChar == null)
		{
			return false;
		}
		else if (!activeChar.isInsideZone(L2Character.ZONE_PEACE))
		{
			activeChar.sendMessage("You can use restore command only in peace zone");
			return false;
		}
		else if (activeChar.isCastingNow() || activeChar.isMovementDisabled() || activeChar.isMuted() || activeChar.isAlikeDead())
			return false;
		else if (activeChar.isInOlympiadMode())
		{
			activeChar.sendMessage("You are in Olympiad!");
			return false;
		}
		else if (activeChar.inObserverMode())
		{
			activeChar.sendMessage("You are in observer mode.");
			return false;
		}
		else if (activeChar.isFestivalParticipant())
		{
			activeChar.sendMessage("You are in festival.");
			return false;
		}
		else if (DimensionalRiftManager.getInstance().checkIfInRiftZone
				(activeChar.getX(), activeChar.getY(), activeChar.getZ(), false))
		{
			activeChar.sendMessage("You can't use restore command when you are in the dimensional rift.");
			return false;
		}
		else if (activeChar.isInJail())
		{
			activeChar.sendMessage("You can't use restore command when you are in the jail.");
			return false;
		}
		else if (siege != null && siege.getIsInProgress())
		{
			activeChar.sendMessage("You are in siege, you can't use restore command.");
			return false;
		}
		else if (activeChar.isInDuel())
		{
			activeChar.sendMessage("You are in a duel!");
			return false;
		}
		else if (activeChar.getKarma() > 0)
		{
			activeChar.sendMessage("You can't use restore command when you have karma.");
			return false;
		}
		else if (activeChar.getPvpFlag() != 0)
		{
			activeChar.sendMessage("You can't use restore command when you are engaged in a PvP.");
			return false;
		}

		activeChar.getStatus().setCurrentHp(activeChar.getMaxHp());
		activeChar.getStatus().setCurrentMp(activeChar.getMaxMp());
		activeChar.getStatus().setCurrentCp(activeChar.getMaxCp());
	}
	return true;
}

public String[] getVoicedCommandList()
{
	return VOICED_COMMANDS;
}
}

Link to comment
Share on other sites

TYPO: You are in siege, you can't join the fight.

 

and btw make a check that player is in combat or not... because than u dont need a healer... and make a macro and can raid a raidboss easy

 

and than add that u have to target yourself, otherway people will heal other players so u will have invul players

Link to comment
Share on other sites

TYPO: You are in siege, you can't join the fight.

 

and btw make a check that player is in combat or not... because than u dont need a healer... and make a macro and can raid a raidboss easy

 

and than add that u have to target yourself, otherway people will heal other players so u will have invul players

Agree with zunix :)

How they can pvp if they restore thei cp,hp non stop :P?

Link to comment
Share on other sites

Agree with zunix :)

How they can pvp if they restore thei cp,hp non stop :P?

else if (activeChar.getPvpFlag() != 0)

{

activeChar.sendMessage("You can't use restore command when you are engaged in a PvP.");

return false;

}

 

 

Who wants to not be use in combat, add this check

 

else if (activeChar.isInCombat()

{

activeChar.sendMessage("You can't use restore command when you are in combat.")

return false;

}

Link to comment
Share on other sites

TYPO: You are in siege, you can't join the fight.

 

and btw make a check that player is in combat or not... because than u dont need a healer... and make a macro and can raid a raidboss easy

 

and than add that u have to target yourself, otherway people will heal other players so u will have invul players

Gotta agree with Zunix and Intrepid, this seems a bit useless and pointless, but its your server its your choice.

Anyway its nice for your first work ^^

Link to comment
Share on other sites

  • 7 months later...
  • 2 years later...

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...