rendered paste bodynew AryanLineTwoWayObject(SLAYERTOWER_AGILITY_SHORTCUT_1_IN, SLAYERTOWER_AGILITY_SHORTCUT_1_OUT, new int[] { 9319, -10, 10, -10, 10, 0, 327, 1, 1, 0 }, new int[] { 9320, -10, 10, -10,
10, 0, 327, 1, 1, 0 }, "Climb-up", "Climb-down") {
final ItemCondition slayerHelmet_or_nosePeg = new ItemContainsAny(new String[] { "Slayer helmet", "Nose peg" });
final ItemRequirement[] req = new ItemRequirement[] { new ItemRequirement(slayerHelmet_or_nosePeg, 1) };
public boolean doActionForAToB(ColorSkeltonScriptable cs) throws InterruptedException, AryanWebReCalc, AryanWebChanged, AryanWebHalt {
//String helmet = null;
if (cs.theTabs.Statistics.getStatBottom(Skill.AGILITY) < 61) {
while (true) {
if (cs.theTabs.Equipment.isWearing(slayerHelmet_or_nosePeg)) {
break;
} else if (cs.theTabs.Inventory.count(slayerHelmet_or_nosePeg) > 0) {
Pattern wear = Pattern.compile(".*Wear.*|.*Wield.*", Pattern.CASE_INSENSITIVE);
//helmet = cs.theTabs.Equipment.getHelm();
cs.theTabs.Inventory.doActionP(slayerHelmet_or_nosePeg, wear, 1, true);
for (Timer t = new Timer(3500); t.isNotUp();) {
if (cs.theTabs.Equipment.isWearing(slayerHelmet_or_nosePeg)) {
break;
}
cs.sleep(100);
}
} else {
cs.warn("[REQUIREMENT] > Missing > " + slayerHelmet_or_nosePeg.toString());
return false;
}
}
}
return super.doActionForAToB(cs);
}
@Override
public boolean hasActionFromAToB() {
return true;
}
public boolean doActionForBToA(ColorSkeltonScriptable cs) throws InterruptedException, AryanWebReCalc, AryanWebChanged, AryanWebHalt {
//String helmet = null;
if (cs.theTabs.Statistics.getStatBottom(Skill.AGILITY) < 61) {
while (true) {
if (cs.theTabs.Equipment.isWearing(slayerHelmet_or_nosePeg)) {
break;
} else if (cs.theTabs.Inventory.count(slayerHelmet_or_nosePeg) > 0) {
Pattern wear = Pattern.compile(".*Wear.*|.*Wield.*", Pattern.CASE_INSENSITIVE);
//helmet = cs.theTabs.Equipment.getHelm();
cs.theTabs.Inventory.doActionP(slayerHelmet_or_nosePeg, wear, 1, true);
for (Timer t = new Timer(3500); t.isNotUp();) {
if (cs.theTabs.Equipment.isWearing(slayerHelmet_or_nosePeg)) {
break;
}
cs.sleep(100);
}
} else {
cs.warn("[REQUIREMENT] > Missing > " + slayerHelmet_or_nosePeg.toString());
return false;
}
}
}
return super.doActionForBToA(cs);
}
@Override
public boolean hasActionFromBToA() {
return true;
}
public ItemRequirement[] getItemRequirementsFromAToB(CachedInformation info) {
if (info.SkillLevels[Skill.AGILITY.index] > 60) {
return null;
}
return req;
}
public ItemRequirement[] getItemRequirementsFromBToA(CachedInformation info) {
if (info.SkillLevels[Skill.AGILITY.index] > 60) {
return null;
}
return req;
}
@Override
public int getDistanceFromBToA(ColorSkeltonScriptable cs, CachedInformation info) throws InterruptedException {
if (info.SkillLevels[Skill.AGILITY.index] < 61) {
//not possible
return -1;
}
if ((info.hasItemInInventory(slayerHelmet_or_nosePeg) || info.isWearing(slayerHelmet_or_nosePeg))) {
return super.getDistanceFromBToA(cs, info);
} else {
return 20000;
}
}
@Override
public int getDistanceFromAToB(ColorSkeltonScriptable cs, CachedInformation info) throws InterruptedException {
if (info.SkillLevels[Skill.AGILITY.index] < 61) {
//not possible
return -1;
}
if ((info.hasItemInInventory(slayerHelmet_or_nosePeg) || info.isWearing(slayerHelmet_or_nosePeg))) {
return super.getDistanceFromBToA(cs, info);
} else {
//get from bank
return 20000;
}
}
},