Add bank task
This commit is contained in:
parent
08dde87681
commit
01a71ba399
@ -0,0 +1,58 @@
|
|||||||
|
package io.reisub.openosrs.util.tasks;
|
||||||
|
|
||||||
|
import io.reisub.openosrs.util.Task;
|
||||||
|
import net.runelite.client.plugins.iutils.game.iNPC;
|
||||||
|
import net.runelite.client.plugins.iutils.game.iObject;
|
||||||
|
|
||||||
|
public abstract class BankTask extends Task {
|
||||||
|
@Override
|
||||||
|
public String getStatus() {
|
||||||
|
return "Banking";
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void openBank() {
|
||||||
|
openBank(15);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected boolean openBank(int waitTicks) {
|
||||||
|
if (!bank.isOpen()) {
|
||||||
|
iObject bankObj = getBankObject();
|
||||||
|
|
||||||
|
if (bankObj != null) {
|
||||||
|
if (bankObj.actions().contains("Bank")) {
|
||||||
|
bankObj.interact("Bank");
|
||||||
|
} else if (bankObj.actions().contains("Use")) {
|
||||||
|
bankObj.interact("Use");
|
||||||
|
} else {
|
||||||
|
bankObj.interact(0);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
iNPC bankNpc = getBankNpc();
|
||||||
|
if (bankNpc == null) return false;
|
||||||
|
|
||||||
|
if (bankNpc.actions().contains("Bank")) {
|
||||||
|
bankNpc.interact("Bank");
|
||||||
|
} else {
|
||||||
|
bankNpc.interact(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
game.waitUntil(() -> bank.isOpen(), waitTicks);
|
||||||
|
}
|
||||||
|
|
||||||
|
return bank.isOpen();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected iObject getBankObject() {
|
||||||
|
return game.objects()
|
||||||
|
.withName("Bank chest", "Bank booth", "Bank Chest-wreck", "Bank chest")
|
||||||
|
.nearest();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected iNPC getBankNpc() {
|
||||||
|
return game.npcs()
|
||||||
|
.withAction("Bank")
|
||||||
|
.nearest();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user