package org.reunionemu.jreunion.game.items.etc; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.reunionemu.jreunion.game.Item; import org.reunionemu.jreunion.game.LivingObject; import org.reunionemu.jreunion.game.Player; import org.reunionemu.jreunion.game.Usable; import org.reunionemu.jreunion.game.items.equipment.ChakuranWeapon; import org.reunionemu.jreunion.server.Map; import org.reunionemu.jreunion.server.World; import org.reunionemu.jreunion.server.PacketFactory.Type; /** * @author Aidamina * @license http://reunion.googlecode.com/svn/trunk/license.txt */ public class ZoneWarpDevice extends Etc implements Usable{ public ZoneWarpDevice(int id) { super(id); loadFromReference(id); } @Override public void loadFromReference(int id) { super.loadFromReference(id); } @Override public boolean use(Item<?> item, LivingObject user, int quickSlotPosition, int unknown) { /* item.gemNumber it's teleport Map ID * item.extrastatus it's teleport unknown value */ if(user instanceof Player){ Player player = (Player)user; World world = player.getClient().getWorld(); Map map = world.getMap((int)item.getGemNumber()); world.getCommand().GoToWorld((Player) user, map, (int)item.getExtraStats()); if (player.getClient().getVersion() >= 2000) { player.getClient().sendPacket(Type.UQ_ITEM, 1, quickSlotPosition, item.getEntityId(), unknown); } return true; } else { LoggerFactory.getLogger(this.getClass()).warn(this.getName() + " not implemented for " + user.getName()); } return false; } }