From 5a6072de81865d593c8303bfad19c88f52217c47 Mon Sep 17 00:00:00 2001 From: Alexsuperfly Date: Thu, 5 Mar 2020 13:34:49 -0500 Subject: [PATCH 1/2] agility: set lastObstacleXp to 0 on courses that use worldpoints --- .../java/net/runelite/client/plugins/agility/Courses.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/Courses.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/Courses.java index 339ba15f3c..1193368164 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/Courses.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/Courses.java @@ -33,8 +33,8 @@ enum Courses { GNOME(86.5, 46, 9781), DRAYNOR(120.0, 79, 12338), - AL_KHARID(180.0, 30, 13105, new WorldPoint(3299, 3194, 0)), - PYRAMID(722.0, 300, 13356, new WorldPoint(3364, 2830, 0)), + AL_KHARID(180.0, 0, 13105, new WorldPoint(3299, 3194, 0)), + PYRAMID(722.0, 0, 13356, new WorldPoint(3364, 2830, 0)), VARROCK(238.0, 125, 12853), PENGUIN(540.0, 65, 10559), BARBARIAN(139.5, 60, 10039), From 15160270018e34d8693071b68d87cde5d08571e9 Mon Sep 17 00:00:00 2001 From: Alexsuperfly Date: Mon, 30 Sep 2019 12:30:36 -0400 Subject: [PATCH 2/2] agility: account for bonus exp from agility pyramid --- .../runelite/client/plugins/agility/AgilitySession.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilitySession.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilitySession.java index 2b8c46d7b1..c42b8fc250 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilitySession.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilitySession.java @@ -53,8 +53,15 @@ class AgilitySession final int currentExp = client.getSkillExperience(Skill.AGILITY); final int goalXp = xpTrackerService.getEndGoalXp(Skill.AGILITY); final int goalRemainingXp = goalXp - currentExp; + double courseTotalExp = course.getTotalXp(); + if (course == Courses.PYRAMID) + { + // agility pyramid has a bonus exp drop on the last obstacle that scales with player level and caps at 1000 + // the bonus is not already accounted for in the total exp number in the courses enum + courseTotalExp += Math.min(300 + 8 * client.getRealSkillLevel(Skill.AGILITY), 1000); + } - lapsTillGoal = goalRemainingXp > 0 ? (int) Math.ceil(goalRemainingXp / course.getTotalXp()) : 0; + lapsTillGoal = goalRemainingXp > 0 ? (int) Math.ceil(goalRemainingXp / courseTotalExp) : 0; } void resetLapCount()