From f471ceee071a7efe056d2e6a6b2e8e261520a49f Mon Sep 17 00:00:00 2001 From: PBLord Date: Fri, 25 Aug 2017 12:38:46 +0100 Subject: [PATCH] Combat Stone Random --- .../org/parabot/randoms/pkhonor/CombatStone | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/main/java/org/parabot/randoms/pkhonor/CombatStone diff --git a/src/main/java/org/parabot/randoms/pkhonor/CombatStone b/src/main/java/org/parabot/randoms/pkhonor/CombatStone new file mode 100644 index 0000000..0fbabc1 --- /dev/null +++ b/src/main/java/org/parabot/randoms/pkhonor/CombatStone @@ -0,0 +1,63 @@ +package org.parabot.randoms.pkhonor; + +import org.parabot.environment.api.utils.Time; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; +import org.parabot.environment.scripts.framework.SleepCondition; +import org.rev317.min.api.methods.Npcs; +import org.rev317.min.api.methods.Players; +import org.rev317.min.api.wrappers.Npc; + +/** + * @author Updated Lord + */ +public class CombatStone implements Random { + + private Npc combat; + private final int id = 17025; + + @Override + public boolean activate() { + this.combat = getLady(); + return this.combat != null; + } + + @Override + public void execute() { + System.out.println("Running CombatStone"); + if (this.combat != null) { + combat.interact(Npcs.Option.TALK_TO); + Time.sleep(new SleepCondition() { + @Override + public boolean isValid() { + return combat.distanceTo() > 0 || !combat.getInteractingCharacter().equals(Players.getMyPlayer()); + } + }, 1500); + } + } + + private Npc getLady() { + for (Npc lady : Npcs.getNearest(id)) { + if (lady != null && lady.getInteractingCharacter().equals(Players.getMyPlayer())) { + return lady; + } + } + + return null; + } + + @Override + public String getName() { + return "CombatStone Solver"; + } + + @Override + public String getServer() { + return "pkhonor"; + } + + @Override + public RandomType getRandomType() { + return RandomType.SCRIPT; + } +}