agility plugin: identify active course based on its region

This commit is contained in:
AWarbear
2018-05-05 21:44:26 -04:00
committed by Adam
parent ca8c8bef13
commit 4701948052
2 changed files with 7 additions and 7 deletions

View File

@@ -25,7 +25,6 @@
package net.runelite.client.plugins.agility;
import com.google.common.eventbus.Subscribe;
import com.google.common.primitives.Ints;
import com.google.inject.Provides;
import java.util.Arrays;
import java.util.Collection;
@@ -142,8 +141,8 @@ public class AgilityPlugin extends Plugin
lastAgilityXp = agilityXp;
// Get course
Courses course = Courses.getCourse(skillGained);
if (course == null || !Ints.contains(client.getMapRegions(), course.getRegionId()))
Courses course = Courses.getCourse(client.getLocalPlayer().getWorldLocation().getRegionID());
if (course == null || Math.abs(course.getLastObstacleXp() - skillGained) > 1)
{
return;
}

View File

@@ -48,11 +48,12 @@ public enum Courses
RELLEKA(780.0, 475, 10553),
ARDOUGNE(793.0, 529, 10547);
private final static Map<Integer, Courses> courseXps = new HashMap<>();
private final static Map<Integer, Courses> coursesByRegion = new HashMap<>();
@Getter
private final double totalXp;
@Getter
private final int lastObstacleXp;
@Getter
@@ -62,12 +63,12 @@ public enum Courses
{
for (Courses course : values())
{
courseXps.put(course.lastObstacleXp, course);
coursesByRegion.put(course.regionId, course);
}
}
public static Courses getCourse(int exp)
public static Courses getCourse(int regionId)
{
return courseXps.get(exp);
return coursesByRegion.get(regionId);
}
}