package net.scapeemulator.game.model.npc.stateful.handler;
import net.scapeemulator.game.model.npc.stateful.StateHandler;
import net.scapeemulator.game.model.npc.stateful.impl.NormalNPC;
import net.scapeemulator.game.model.pathfinding.AStarPathFinder;
import net.scapeemulator.game.model.pathfinding.Path;
public final class WalkToSpawnStateHandler extends StateHandler<NormalNPC> {
private static final AStarPathFinder pf = new AStarPathFinder();
@Override
public void handle(NormalNPC npc) {
npc.getWalkingQueue().reset();
npc.getCombatHandler().reset();
npc.resetTurnToTarget();
npc.stopAction();
npc.getCombatHandler().setNoRetaliate(10);
Path p = pf.find(npc, npc.getSpawnPosition());
if (p != null) {
npc.getWalkingQueue().addFirstStep(p.poll());
while (!p.isEmpty()) {
npc.getWalkingQueue().addStep(p.poll());
}
}
}
}