All pastes #47105 Raw Edit

Anonymous

public text v1 · immutable
#47105 ·published 2006-03-27 02:46 UTC
rendered paste body
SOE SKILL:(SCROLL|XML):
<skill id="2013" levels="1" name="Scroll of escape">
  <set name="power" val="0.0"/>
  <set name="target" val="TARGET_SELF"/>
  <set name="hitTime" val="20000"/>
  <set name="skillTime" val="20000"/>
  <set name="skillType" val="RECALL"/>
  <set name="operateType" val="OP_ACTIVE"/>
  <set name="castRange" val="-1"/>
  <for>
  </for>
</skill>


====================================================
HANDLER
--------------


package net.sf.l2j.gameserver.handler.skillhandlers;

import net.sf.l2j.gameserver.MapRegionTable;
import net.sf.l2j.gameserver.handler.ISkillHandler;
import net.sf.l2j.gameserver.model.L2Character;
import net.sf.l2j.gameserver.model.L2Object;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.L2Skill.SkillType;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.SystemMessage;

public class Recall implements ISkillHandler
{
	//private static Logger _log = Logger.getLogger(Recall.class.getName());
	protected SkillType[] _skillIds = {SkillType.RECALL};

 	public void useSkill(@SuppressWarnings("unused") L2Character activeChar, @SuppressWarnings("unused") L2Skill skill, L2Object[] targets)
	{
		try {
			for (int index = 0; index < targets.length; index++)
			{
//				if (!(targets[index] instanceof L2PcInstance))
//					continue;

				L2Character target = (L2Character) targets[index];

				// Check to see if the current player target is in a festival.
                L2PcInstance targetChar = (L2PcInstance)target;
                    
                if (targetChar.isFestivalParticipant()) {
                    targetChar.sendPacket(SystemMessage.sendString("You may not use an escape skill in a festival."));
                    break;
                }
                  
                target.teleToLocation(MapRegionTable.TeleportWhereType.Town);
			}
                } catch (Throwable e) {
 	 	 	e.printStackTrace();
 	 	}
 	}

	public SkillType[] getSkillIds()
	{
		return _skillIds;
	}
}