From 6807be88999bab704a7ddfde3fde44517ebed0d7 Mon Sep 17 00:00:00 2001 From: ItsSebas <34197030+ItsSebas@users.noreply.github.com> Date: Wed, 22 Aug 2018 11:30:15 +0200 Subject: [PATCH] Add boss skill screenshots (#5030) Closes #5010 --- .../plugins/screenshot/ScreenshotConfig.java | 34 +++++++++++++------ .../plugins/screenshot/ScreenshotPlugin.java | 14 +++++++- 2 files changed, 36 insertions(+), 12 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java index b8f6901f1e..526ae9e76b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java @@ -120,6 +120,29 @@ public interface ScreenshotConfig extends Config return false; } + + @ConfigItem( + keyName = "kills", + name = "Screenshot PvP Kills", + description = "Configures whether or not screenshots are automatically taken of PvP kills", + position = 8 + ) + default boolean screenshotKills() + { + return false; + } + + @ConfigItem( + keyName = "boss", + name = "Screenshot Boss Kills", + description = "Configures whether or not screenshots are automatically taken of boss kills", + position = 9 + ) + default boolean screenshotBossKills() + { + return false; + } + @ConfigItem( keyName = "hotkey", name = "Screenshot hotkey", @@ -130,15 +153,4 @@ public interface ScreenshotConfig extends Config { return Keybind.NOT_SET; } - - @ConfigItem( - keyName = "kills", - name = "Screenshot PvP Kills", - description = "Configures whether or not screenshots are automatically taken of PvP kills", - position = 9 - ) - default boolean screenshotKills() - { - return false; - } } 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 557f19c3c1..151e050fcb 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 @@ -117,7 +117,7 @@ public class ScreenshotPlugin extends Plugin private static final Pattern NUMBER_PATTERN = Pattern.compile("([0-9]+)"); private static final Pattern LEVEL_UP_PATTERN = Pattern.compile(".*Your ([a-zA-Z]+) (?:level is|are)? now (\\d+)\\."); - + private static final Pattern BOSSKILL_MESSAGE_PATTERN = Pattern.compile("Your (.+) kill count is: (\\d+)."); private static final ImmutableList PET_MESSAGES = ImmutableList.of("You have a funny feeling like you're being followed", "You feel something weird sneaking into your backpack", "You have a funny feeling like you would have been followed"); @@ -344,6 +344,18 @@ public class ScreenshotPlugin extends Plugin String fileName = "Kill " + format(new Date()); takeScreenshot(fileName); } + + if (config.screenshotBossKills() ) + { + Matcher m = BOSSKILL_MESSAGE_PATTERN.matcher(chatMessage); + if (m.matches()) + { + String bossName = m.group(1); + String bossKillcount = m.group(2); + String fileName = bossName + " kill " + bossKillcount; + takeScreenshot(fileName); + } + } } @Subscribe