diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java index 0032ed6ccc..ce1ce0a101 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java @@ -94,11 +94,16 @@ class XpInfoBox extends JPanel final JMenuItem reset = new JMenuItem("Reset"); reset.addActionListener(e -> xpTrackerPlugin.resetSkillState(skill)); + // Create reset others menu + final JMenuItem resetOthers = new JMenuItem("Reset others"); + resetOthers.addActionListener(e -> xpTrackerPlugin.resetOtherSkillState(skill)); + // Create popup menu final JPopupMenu popupMenu = new JPopupMenu(); popupMenu.setBorder(new EmptyBorder(5, 5, 5, 5)); popupMenu.add(openXpTracker); popupMenu.add(reset); + popupMenu.add(resetOthers); JLabel skillIcon = new JLabel(new ImageIcon(iconManager.getSkillImage(skill))); skillIcon.setHorizontalAlignment(SwingConstants.CENTER); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index 1fcffd75b6..3435d78ad6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -239,6 +239,21 @@ public class XpTrackerPlugin extends Plugin xpPanel.updateTotal(xpState.getTotalSnapshot()); } + /** + * Reset all skills except for the one provided + * @param skill Skill to ignore during reset + */ + public void resetOtherSkillState(Skill skill) + { + for (Skill s : Skill.values()) + { + if (skill != s) + { + resetSkillState(s); + } + } + } + @Subscribe public void onXpChanged(ExperienceChanged event)