package net.scapeemulator.game.model.player.skills.farming.object; import net.scapeemulator.game.dispatcher.object.ObjectHandler; import net.scapeemulator.game.model.Option; import net.scapeemulator.game.model.object.GroundObjectList.GroundObject; import net.scapeemulator.game.model.player.Player; import net.scapeemulator.game.model.player.action.ReachObjectAction; import net.scapeemulator.game.model.player.skills.Skill; import net.scapeemulator.game.model.player.skills.farming.Farming; import net.scapeemulator.game.model.player.skills.farming.patch.IFarmPatch; import net.scapeemulator.game.util.HandlerContext; public class GuideOptionHandler extends ObjectHandler { public GuideOptionHandler() { super(Option.FOUR); } @Override public void handle(Player player, GroundObject object, String optionName, HandlerContext context) { IFarmPatch patch = Farming.patchForObjectId(object.getId()); if (patch != null) { context.stop(); player.startAction(new ReachObjectAction(1, true, player, object, 1, true) { @Override public void executeAction() { player.getStateSet().setBitState(3289, patch.getGuideIndex()); // TODO: set selected view id player.getStateSet().setBitState(3288, Skill.getConfigValue(Skill.FARMING)); player.getInterfaceSet().openWindow(499); stop(); } }); } } }