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 b74fa49411..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;
@@ -190,32 +193,36 @@ public class ScreenshotPlugin extends Plugin
return;
}
- if (event.getMessage().contains("Treasure"))
- {
- String chatMessage = event.getMessage().replaceAll("
", "");
+ String chatMessage = event.getMessage();
- if (chatMessage.startsWith("You have completed"))
+ if (chatMessage.contains("You have completed") && chatMessage.contains("Treasure"))
+ {
+ Matcher m = NUMBER_PATTERN.matcher(chatMessage.replaceAll("<[^>]*>", ""));
+ if (m.find())
{
- Matcher m = NUMBER_PATTERN.matcher(chatMessage);
- if (m.find())
- {
- clueNumber = Integer.valueOf(m.group());
- clueType = chatMessage.substring(chatMessage.lastIndexOf(m.group()) + m.group().length() + 1, chatMessage.indexOf("Treasure") - 1);
- }
+ clueNumber = Integer.valueOf(m.group());
+ clueType = chatMessage.substring(chatMessage.lastIndexOf(m.group()) + m.group().length() + 1, chatMessage.indexOf("Treasure") - 1);
+ return;
}
}
- if (event.getMessage().contains("Barrows"))
+ if (chatMessage.startsWith("Your Barrows chest count is"))
{
- String chatMessage = event.getMessage().replaceAll("", "");
-
- if (chatMessage.startsWith("Your Barrows chest count is"))
+ Matcher m = NUMBER_PATTERN.matcher(chatMessage.replaceAll("<[^>]*>", ""));
+ if (m.find())
{
- Matcher m = NUMBER_PATTERN.matcher(chatMessage);
- if (m.find())
- {
- barrowsNumber = Integer.valueOf(m.group());
- }
+ barrowsNumber = Integer.valueOf(m.group());
+ 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;
}
}
}
@@ -241,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;
@@ -300,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;
}
@@ -483,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()
{