From 51df02aa594084711c5213bf5998b894e64f4978 Mon Sep 17 00:00:00 2001 From: Seth Date: Sun, 18 Feb 2018 16:22:55 -0600 Subject: [PATCH] screenshot plugin: Add raids reward --- .../net/runelite/api/widgets/WidgetID.java | 1 + .../plugins/screenshot/ScreenshotPlugin.java | 37 +++++++++++++++++-- .../screenshot/ScreenshotPluginTest.java | 10 +++++ 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index e8a2f15064..05d7a00e34 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -73,6 +73,7 @@ public class WidgetID public static final int BLAST_FURNACE_GROUP_ID = 474; public static final int WORLD_MAP = 595; public static final int PYRAMID_PLUNDER_GROUP_ID = 428; + public static final int RAIDS_REWARD_GROUP_ID = 539; static class WorldMap { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index 8f79e72916..771d6444d8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -65,6 +65,7 @@ import static net.runelite.api.widgets.WidgetID.CLUE_SCROLL_REWARD_GROUP_ID; import static net.runelite.api.widgets.WidgetID.DIALOG_SPRITE_GROUP_ID; import static net.runelite.api.widgets.WidgetID.LEVEL_UP_GROUP_ID; import static net.runelite.api.widgets.WidgetID.QUEST_COMPLETED_GROUP_ID; +import static net.runelite.api.widgets.WidgetID.RAIDS_REWARD_GROUP_ID; import net.runelite.api.widgets.WidgetInfo; import static net.runelite.api.widgets.WidgetInfo.TO_GROUP; import net.runelite.client.Notifier; @@ -106,6 +107,8 @@ public class ScreenshotPlugin extends Plugin private Integer barrowsNumber; + private Integer raidsNumber; + @Inject private ScreenshotConfig config; @@ -212,6 +215,16 @@ public class ScreenshotPlugin extends Plugin return; } } + + if (chatMessage.startsWith("Your completed Chambers of Xeric count is:")) + { + Matcher m = NUMBER_PATTERN.matcher(chatMessage.replaceAll("<[^>]*>", "")); + if (m.find()) + { + raidsNumber = Integer.valueOf(m.group()); + return; + } + } } @Subscribe @@ -235,6 +248,7 @@ public class ScreenshotPlugin extends Plugin case QUEST_COMPLETED_GROUP_ID: case CLUE_SCROLL_REWARD_GROUP_ID: case BARROWS_REWARD_GROUP_ID: + case RAIDS_REWARD_GROUP_ID: if (!config.screenshotRewards()) { return; @@ -294,6 +308,17 @@ public class ScreenshotPlugin extends Plugin barrowsNumber = null; break; } + case RAIDS_REWARD_GROUP_ID: + { + if (raidsNumber == null) + { + return; + } + + fileName = "Raids(" + raidsNumber + ")"; + raidsNumber = null; + break; + } default: return; } @@ -477,20 +502,26 @@ public class ScreenshotPlugin extends Plugin } @VisibleForTesting - public int getClueNumber() + int getClueNumber() { return clueNumber; } @VisibleForTesting - public String getClueType() + String getClueType() { return clueType; } @VisibleForTesting - public int getBarrowsNumber() + int getBarrowsNumber() { return barrowsNumber; } + + @VisibleForTesting + int getRaidsNumber() + { + return raidsNumber; + } } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java index cac1a8f7af..497e604e2d 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java @@ -62,6 +62,7 @@ public class ScreenshotPluginTest { private static final String CLUE_SCROLL = "You have completed 28 medium Treasure Trails"; private static final String BARROWS_CHEST = "Your Barrows chest count is 310"; + private static final String RAIDS_CHEST = "Your completed Chambers of Xeric count is: 489."; @Mock @Bind @@ -121,6 +122,15 @@ public class ScreenshotPluginTest assertEquals(310, screenshotPlugin.getBarrowsNumber()); } + @Test + public void testraidschest() + { + ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Seth", RAIDS_CHEST, null); + screenshotPlugin.onChatMessage(chatMessageEvent); + + assertEquals(489, screenshotPlugin.getRaidsNumber()); + } + @Test public void testHitpoints() {