package net.scapeemulator.game.model.player.action;
import net.scapeemulator.game.model.object.GroundObjectList.GroundObject;
import net.scapeemulator.game.model.player.Player;
/**
* @author David Insley
*/
public abstract class ReachObjectAction extends ReachDistancedAction {
private final GroundObject object;
public ReachObjectAction(int delay, boolean immediate, Player player, GroundObject object, int distance, boolean waitForStop) {
super(delay, immediate, player, object.getBounds(), distance, waitForStop);
this.object = object;
}
@Override
public void execute() {
if (mob.getWalkingQueue().isEmpty()) {
if (!object.getValidInteractPositions().contains(mob.getPosition())) {
cantReach();
stop();
return;
}
}
super.execute();
}
}