From 37760c977587910ce260d21d78317013fd642960 Mon Sep 17 00:00:00 2001 From: Melky <5113962+melkypie@users.noreply.github.com> Date: Fri, 15 May 2020 05:46:47 +0300 Subject: [PATCH] agility plugin: add config for Prifddinas portal color --- .../client/plugins/agility/AgilityConfig.java | 32 ++++++++++++++++--- .../plugins/agility/AgilityOverlay.java | 5 +++ .../client/plugins/agility/AgilityPlugin.java | 1 + .../client/plugins/agility/Obstacles.java | 5 ++- 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java index c75b77b068..6e100b2bf9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java @@ -122,11 +122,33 @@ public interface AgilityConfig extends Config return Color.RED; } + @ConfigItem( + keyName = "highlightPortals", + name = "Highlight Portals", + description = "Enable/disable the highlighting of Prifddinas portals", + position = 8 + ) + default boolean highlightPortals() + { + return true; + } + + @ConfigItem( + keyName = "portalsHighlight", + name = "Portals Highlight Color", + description = "Color of highlighted Prifddinas portals", + position = 9 + ) + default Color getPortalsColor() + { + return Color.MAGENTA; + } + @ConfigItem( keyName = "highlightShortcuts", name = "Highlight Agility Shortcuts", description = "Enable/disable the highlighting of Agility shortcuts", - position = 8 + position = 10 ) default boolean highlightShortcuts() { @@ -137,7 +159,7 @@ public interface AgilityConfig extends Config keyName = "trapOverlay", name = "Show Trap Overlay", description = "Enable/disable the highlighting of traps on Agility courses", - position = 9 + position = 11 ) default boolean showTrapOverlay() { @@ -148,7 +170,7 @@ public interface AgilityConfig extends Config keyName = "trapHighlight", name = "Trap Overlay Color", description = "Color of Agility trap overlay", - position = 10 + position = 12 ) default Color getTrapColor() { @@ -159,7 +181,7 @@ public interface AgilityConfig extends Config keyName = "agilityArenaNotifier", name = "Agility Arena notifier", description = "Notify on ticket location change in Agility Arena", - position = 11 + position = 13 ) default boolean notifyAgilityArena() { @@ -170,7 +192,7 @@ public interface AgilityConfig extends Config keyName = "agilityArenaTimer", name = "Agility Arena timer", description = "Configures whether Agility Arena timer is displayed", - position = 12 + position = 14 ) default boolean showAgilityArenaTimer() { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java index 5a868b1b20..6f3bb34a34 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java @@ -103,6 +103,11 @@ class AgilityOverlay extends Overlay configColor = config.getMarkColor(); } + if (config.highlightPortals() && Obstacles.PORTAL_OBSTACLE_IDS.contains(object.getId())) + { + configColor = config.getPortalsColor(); + } + if (objectClickbox.contains(mousePosition.getX(), mousePosition.getY())) { graphics.setColor(configColor.darker()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java index 621af6ca1f..6752fbfdf4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java @@ -405,6 +405,7 @@ public class AgilityPlugin extends Plugin } if (Obstacles.COURSE_OBSTACLE_IDS.contains(newObject.getId()) || + Obstacles.PORTAL_OBSTACLE_IDS.contains(newObject.getId()) || (Obstacles.TRAP_OBSTACLE_IDS.contains(newObject.getId()) && Obstacles.TRAP_OBSTACLE_REGIONS.contains(newObject.getWorldLocation().getRegionID()))) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java index 71617848bc..7d500f4e03 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java @@ -94,7 +94,10 @@ class Obstacles ZIP_LINE_11645, ZIP_LINE_11646, // Prifddinas LADDER_36221, TIGHTROPE_36225, CHIMNEY_36227, ROOF_EDGE, DARK_HOLE_36229, LADDER_36231, LADDER_36232, - ROPE_BRIDGE_36233, TIGHTROPE_36234, ROPE_BRIDGE_36235, TIGHTROPE_36236, TIGHTROPE_36237, DARK_HOLE_36238, + ROPE_BRIDGE_36233, TIGHTROPE_36234, ROPE_BRIDGE_36235, TIGHTROPE_36236, TIGHTROPE_36237, DARK_HOLE_36238 + ); + + static final Set PORTAL_OBSTACLE_IDS = ImmutableSet.of( // Prifddinas portals NULL_36241, NULL_36242, NULL_36243, NULL_36244, NULL_36245, NULL_36246 );