From c073b9736530a2bba3ca5e32872e2c52e6d592c4 Mon Sep 17 00:00:00 2001 From: Grant Date: Fri, 27 Apr 2018 14:44:56 +1200 Subject: [PATCH] Add Agility shortcut highlight toggle --- .../client/plugins/agilityplugin/AgilityConfig.java | 10 ++++++++++ .../client/plugins/agilityplugin/AgilityOverlay.java | 5 +++++ .../client/plugins/agilityplugin/AgilityPlugin.java | 8 +++++++- .../client/plugins/agilityplugin/Obstacles.java | 8 ++++---- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityConfig.java index df9b4d4380..2ab5a5910d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityConfig.java @@ -91,4 +91,14 @@ public interface AgilityConfig extends Config return Color.ORANGE; } + @ConfigItem( + keyName = "highlightShortcuts", + name = "Highlight Agility Shortcuts", + description = "Enable/disable the highlighting of Agility shortcuts", + position = 6 + ) + default boolean highlightShortcuts() + { + return true; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityOverlay.java index 74db01a123..0303ea7dcf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityOverlay.java @@ -68,6 +68,11 @@ public class AgilityOverlay extends Overlay final Tile markOfGrace = plugin.getMarkOfGrace(); plugin.getObstacles().forEach((object, tile) -> { + if (Obstacles.SHORTCUT_OBSTACLE_IDS.contains(object.getId()) && !config.highlightShortcuts()) + { + return; + } + if (tile.getPlane() == client.getPlane() && object.getLocalLocation().distanceTo(playerLocation) < MAX_DISTANCE) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityPlugin.java index 64c4dd69af..fd148ac575 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityPlugin.java @@ -281,7 +281,13 @@ public class AgilityPlugin extends Plugin { obstacles.remove(oldObject); - if (newObject != null && Obstacles.OBSTACLE_IDS.contains(newObject.getId())) + if (newObject == null) + { + return; + } + + if (Obstacles.COURSE_OBSTACLE_IDS.contains(newObject.getId()) || + Obstacles.SHORTCUT_OBSTACLE_IDS.contains(newObject.getId())) { obstacles.put(newObject, tile); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/Obstacles.java b/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/Obstacles.java index abdad20ec8..fd9cc07c2e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/Obstacles.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/Obstacles.java @@ -30,7 +30,7 @@ import static net.runelite.api.ObjectID.*; public class Obstacles { - public static final Set OBSTACLE_IDS = Sets.newHashSet( + public static final Set COURSE_OBSTACLE_IDS = Sets.newHashSet( // Gnome OBSTACLE_NET_23134, TREE_BRANCH_23559, TREE_BRANCH_23560, OBSTACLE_NET_23135, OBSTACLE_PIPE_23138, OBSTACLE_PIPE_23139, LOG_BALANCE_23145, BALANCING_ROPE_23557, @@ -73,10 +73,10 @@ public class Obstacles // Rellaka ROUGH_WALL_11391, GAP_11392, TIGHTROPE_11393, GAP_11395, GAP_11396, TIGHTROPE_11397, PILE_OF_FISH, // Ardougne - GAP_11406, GAP_11429, GAP_11430, STEEP_ROOF, GAP_11630, PLANK_11631, WOODEN_BEAMS, - - // Shortcuts + GAP_11406, GAP_11429, GAP_11430, STEEP_ROOF, GAP_11630, PLANK_11631, WOODEN_BEAMS + ); + public static final Set SHORTCUT_OBSTACLE_IDS = Sets.newHashSet( // Grand Exchange UNDERWALL_TUNNEL_16529, UNDERWALL_TUNNEL_16530, // South Varrock