@Override
public int onLoop() throws InterruptedException {
RS2Object block1 = getObjects().closest(FB1, "Pyramid block");
RS2Object block2 = getObjects().closest(FB2, "Pyramid block");
RS2Object block2B = getObjects().closest(FB2B, "Pyramid block");
RS2Object rockWall = getObjects().closest(CRA, "Climbing rocks");
RS2Object rockWallB = getObjects().closest(CRB, "Climbing rocks");
RS2Object topRockWall = getObjects().closest(climbTopRock,"Climbing rocks");
RS2Object stairs = getObjects().closest("Stairs");
RS2Object obsticle = getObjects().closest(3550);
RS2Object lWall = getObjects().closest("Low wall");
RS2Object ledge = getObjects().closest("Ledge");
RS2Object gap = getObjects().closest(10863); // Jump/Cross
RS2Object gap1 = getObjects().closest(10859);
RS2Object plank = getObjects().closest("Plank"); // Cross
RS2Object door = getObjects().closest("Doorway");
NPC Simon = getNpcs().closest(SimonA,5786);
Position myPos = myPosition();
int starting = getExperienceTracker().getGainedXP(Skill.AGILITY);
//end of agility walking to Simon
if (myPos.equals(endA) || myPos.equals(endB) && getInventory().contains(6970)) {
getWalking().webWalk(ClimbRock);
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
//Climbing rock to Simon with pyramid top
if (rockWall != null && myPos.equals(ClimbRock) && getInventory().contains(6970)) {
rockWall.interact("Climb");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating() && myPos.equals(SimonA));
}
}.sleep();
}
//climbing at top of agility pyramid for pyaramid top
if(topRockWall != null && !getInventory().contains(6970) && myPos.equals(topClimb) || myPos.equals(topClimbB)){
topRockWall.interact("Climb");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating() && getInventory().contains(6970));
}
}.sleep();
}
// Using pyramid top on Simon
if (myPos.equals(topHillSimonA) || myPos.equals(topHillSimonB) || myPos.equals(topHillSimonC) && getInventory().contains(6970)) {
if (Simon != null) {
log("found Simon");
getInventory().interact("Use", "Pyramid top");
Simon.interact("Use");
}
}
//climbing down rock wall without pyramid top
if(!getInventory().contains(6970) && rockWallB != null && myPos.equals(SimonA)){
rockWallB.interact("Climb");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating() && myPos.equals(CRA));
}
}.sleep();
}
//
if(!getInventory().contains(6970) && myPos.equals(CRA)){
getWalking().webWalk(SSA1);
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating() && myPos.equals(SSA1));
}
}.sleep();
}
//Low Wall
if (lWall != null && myPos.equals(LWA1) || myPos.equals(LWB1)){
lWall.interact("Climb-over");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (lWall != null && myPos.equals(LW2)){
lWall.interact("Climb-over");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (lWall != null && myPos.equals(LWA3) || myPos.equals(LWB3)){
lWall.interact("Climb-over");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (lWall != null && myPos.equals(LWA4) || myPos.equals(LWB4)){
lWall.interact("Climb-over");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (lWall != null && myPos.equals(LWA5) || myPos.equals(LWB5)){
lWall.interact("Climb-over");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
//Gap
if (gap != null && myPos.equals(CGA1) || myPos.equals(CGB1)){
gap.interact("Cross");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (gap != null && myPos.equals(CGA2) || myPos.equals(CGB2)){
gap.interact("Cross");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (gap != null && myPos.equals(CGA3) || myPos.equals(CGB3)){
gap.interact("Cross");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
//Jump Gap
if (gap1 != null && myPos.equals(JGA1) || myPos.equals(JGB1)){
gap1.interact("Jump");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (gap1 != null && myPos.equals(JGA2) || myPos.equals(JGB2)){
gap1.interact("Jump");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (gap1 != null && myPos.equals(JGA3) || myPos.equals(JGB3)){
gap1.interact("Jump");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (gap1 !=null && myPos.equals(ABA2)){
gap1.interact("Jump");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (gap1 != null && myPos.equals(JGA4) || myPos.equals(JGB4)){
gap1.interact("Jump");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (gap1 != null && myPos.equals(JG5)){
gap1.interact("Jump");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
//Plank
if (plank != null && block1 != null && myPos.equals(BBB1) || myPos.equals(BBA1)){
new ConditionalSleep(2000, 250){
@Override
public boolean condition() throws InterruptedException{
return (block1 == null);
}
}.sleep();
plank.interact("Cross");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (plank != null && myPos.equals(CP1)){
plank.interact("Cross");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
//Obsticle
if(obsticle != null && myPos.equals(RA1) || myPos.equals(RB1)) {
obsticle.interact();
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating() && lWall != null);
}
}.sleep();
}
if(obsticle != null && myPos.equals(R2) && !myPos.equals(CGB1) && !myPos.equals(CGA1)) {
obsticle.interact();
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating() && gap != null);
}
}.sleep();
}
if(obsticle != null && myPos.equals(RA3) || myPos.equals(RB3) && !myPos.equals(CLA3) && !myPos.equals(CLB3)) {
obsticle.interact();
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating() && ledge != null);
}
}.sleep();
}
if(obsticle != null && myPos.equals(R4) && !myPos.equals(JGA4) && !myPos.equals(JGB4)) {
obsticle.interact();
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating() && gap1 != null);
}
}.sleep();
}
if(obsticle != null && getInventory().contains(6970) && !myPos.equals(JG5)) {
obsticle.interact();
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
//Stairs
if(stairs != null && myPos.equals(SSA1) || myPos.equals(SSB1) || myPos.equals(CRA) && !getInventory().contains(6970)){
stairs.interact("Climb-up");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if(stairs != null && myPos.equals(SS2)){
stairs.interact("Climb-up");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if(stairs != null && myPos.equals(SS3)){
stairs.interact("Climb-up");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if(stairs != null && myPos.equals(SS4)){
stairs.interact("Climb-up");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if(stairs != null && myPos.equals(SS5)){
stairs.interact("Climb-up");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
//Doorway
if(door != null && myPos.equals(ED1)){
door.interact("Enter");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
//Ledge
if (ledge != null && myPos.equals(CLA1) || myPos.equals(CLB1)){
ledge.interact("Cross");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
/*
if (ledge != null && myPos.equals(ABA2) || myPos.equals(ABB2)){
ledge.interact("Cross");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
*/
if (ledge != null && myPos.equals(CL2)){
ledge.interact("Cross");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (ledge != null && myPos.equals(CLA3) || myPos.equals(CLB3)){
ledge.interact("Cross");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if (ledge != null && myPos.equals(CLA4) || myPos.equals(CLB4)){
ledge.interact("Cross");
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
//Pyramid Block
if(myPos.equals(AL1)){
getWalking().webWalk(BBA1);
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if(myPos.equals(AL2)){
getWalking().webWalk(BBA2);
new ConditionalSleep(10000, 250){
@Override
public boolean condition() throws InterruptedException{
return (!myPlayer().isMoving() && !myPlayer().isAnimating());
}
}.sleep();
}
if(block2 != null && myPos.equals(BBA2) || myPos.equals(BBB2)){
new ConditionalSleep(2000, 250){
@Override
public boolean condition() throws InterruptedException{
return (block2B != null);
}
}.sleep();
getWalking().webWalk(ABA2);
}
return random(5000);
}