package com.asteria.net.message.impl; import com.asteria.game.World; import com.asteria.game.character.player.Player; import com.asteria.net.ByteOrder; import com.asteria.net.message.InputMessageListener; import com.asteria.net.message.MessageBuilder; /** * The message sent from the client when a player tries to follow another player. * * @author lare96 <http://github.com/lare96> */ public final class FollowPlayerMessage implements InputMessageListener { @Override public void handleMessage(Player player, int opcode, int size, MessageBuilder payload) { if (player.isDisabled()) return; int index = payload.getShort(false, ByteOrder.LITTLE); Player follow = World.getPlayers().get(index); if (follow == null || !follow.getPosition().isViewableFrom(player.getPosition()) || follow.equals(player)) return; player.setSkillAction(false); player.getMovementQueue().follow(follow); } }