From 15553b232c4d032cdf2ad97ae21600d5e0680b71 Mon Sep 17 00:00:00 2001 From: UniquePassive Date: Thu, 15 Feb 2018 20:51:47 +0100 Subject: [PATCH] screenshot-plugin: add detection for Hunter levelups --- .../plugins/screenshot/ScreenshotPlugin.java | 52 ++++++++++++------- 1 file changed, 34 insertions(+), 18 deletions(-) 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 bac4dc2bb7..ed44d42165 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 @@ -61,6 +61,7 @@ import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.widgets.Widget; import static net.runelite.api.widgets.WidgetID.BARROWS_REWARD_GROUP_ID; import static net.runelite.api.widgets.WidgetID.CLUE_SCROLL_REWARD_GROUP_ID; +import static net.runelite.api.widgets.WidgetID.HUNTER_LEVEL_UP_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 net.runelite.api.widgets.WidgetInfo; @@ -249,24 +250,12 @@ public class ScreenshotPlugin extends Plugin { case LEVEL_UP_GROUP_ID: { - Widget skillChild = client.getWidget(WidgetInfo.LEVEL_UP_SKILL); - Widget levelChild = client.getWidget(WidgetInfo.LEVEL_UP_LEVEL); - - if (skillChild == null || levelChild == null) - { - return; - } - - // "Congratulations, you just advanced a Firemaking level." - String skillText = skillChild.getText(); - // "Your Firemaking level is now 9." - String levelText = levelChild.getText(); - - String[] splitSkillName = skillText.split(" "); - String skillName = splitSkillName[splitSkillName.length - 2]; - String skillLevel = levelText.substring(levelText.lastIndexOf(" ") + 1, levelText.length() - 1); - - fileName = skillName + "(" + skillLevel + ")"; + fileName = parseLevelUpWidget(WidgetInfo.LEVEL_UP_SKILL, WidgetInfo.LEVEL_UP_LEVEL); + break; + } + case HUNTER_LEVEL_UP_GROUP_ID: + { + fileName = parseLevelUpWidget(WidgetInfo.HUNTER_LEVEL_UP_SKILL, WidgetInfo.HUNTER_LEVEL_UP_LEVEL); break; } case QUEST_COMPLETED_GROUP_ID: @@ -311,9 +300,36 @@ public class ScreenshotPlugin extends Plugin return; } + if (fileName == null) + { + return; + } + takeScreenshot(fileName, config.displayDate()); } + private String parseLevelUpWidget(WidgetInfo levelUpSkill, WidgetInfo levelUpLevel) + { + Widget skillChild = client.getWidget(levelUpSkill); + Widget levelChild = client.getWidget(levelUpLevel); + + if (skillChild == null || levelChild == null) + { + return null; + } + + // "Congratulations, you just advanced a Firemaking level." + String skillText = skillChild.getText(); + // "Your Firemaking level is now 9." + String levelText = levelChild.getText(); + + String[] splitSkillName = skillText.split(" "); + String skillName = splitSkillName[splitSkillName.length - 2]; + String skillLevel = levelText.substring(levelText.lastIndexOf(" ") + 1, levelText.length() - 1); + + return skillName + "(" + skillLevel + ")"; + } + private void takeScreenshot(String fileName, boolean displayDate) { if (client.getGameState() == GameState.LOGIN_SCREEN)