agility plugin: fix Al Kharid lap counter
The tightrope has the same XP as the final obstacle, so add additional support for checking location of the final obstacle.
This commit is contained in:
@@ -26,6 +26,7 @@ package net.runelite.client.plugins.agility;
|
||||
|
||||
import com.google.common.eventbus.Subscribe;
|
||||
import com.google.inject.Provides;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@@ -179,7 +180,9 @@ public class AgilityPlugin extends Plugin
|
||||
|
||||
// Get course
|
||||
Courses course = Courses.getCourse(client.getLocalPlayer().getWorldLocation().getRegionID());
|
||||
if (course == null || Math.abs(course.getLastObstacleXp() - skillGained) > 1)
|
||||
if (course == null
|
||||
|| Math.abs(course.getLastObstacleXp() - skillGained) > 1
|
||||
|| (course.getCourseEndWorldPoints().length > 0 && Arrays.stream(course.getCourseEndWorldPoints()).noneMatch(wp -> wp.equals(client.getLocalPlayer().getWorldLocation()))))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -26,15 +26,14 @@ package net.runelite.client.plugins.agility;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import net.runelite.api.coords.WorldPoint;
|
||||
|
||||
@AllArgsConstructor
|
||||
public enum Courses
|
||||
{
|
||||
GNOME(86.5, 46, 9781),
|
||||
DRAYNOR(120.0, 79, 12338),
|
||||
AL_KARID(180.0, 30, 13105),
|
||||
AL_KARID(180.0, 30, 13105, new WorldPoint(3299, 3194, 0)),
|
||||
PYRAMID(722.0, 300, 13356),
|
||||
VARROCK(238.0, 125, 12853),
|
||||
PENGUIN(540.0, 65, 10559),
|
||||
@@ -59,6 +58,9 @@ public enum Courses
|
||||
@Getter
|
||||
private final int regionId;
|
||||
|
||||
@Getter
|
||||
private final WorldPoint[] courseEndWorldPoints;
|
||||
|
||||
static
|
||||
{
|
||||
for (Courses course : values())
|
||||
@@ -67,6 +69,14 @@ public enum Courses
|
||||
}
|
||||
}
|
||||
|
||||
Courses(double totalXp, int lastObstacleXp, int regionId, WorldPoint... courseEndWorldPoints)
|
||||
{
|
||||
this.totalXp = totalXp;
|
||||
this.lastObstacleXp = lastObstacleXp;
|
||||
this.regionId = regionId;
|
||||
this.courseEndWorldPoints = courseEndWorldPoints;
|
||||
}
|
||||
|
||||
public static Courses getCourse(int regionId)
|
||||
{
|
||||
return coursesByRegion.get(regionId);
|
||||
|
||||
Reference in New Issue
Block a user