From 958d2558f59463ffaab9791ad0b991a0308a72c5 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 14 Jan 2018 11:25:37 -0500 Subject: [PATCH] xpglobes: don't break at virt level 126 --- .../main/java/net/runelite/api/Experience.java | 2 +- .../plugins/xpglobes/XpGlobesOverlay.java | 18 +++++++++++------- .../plugins/xpglobes/XpGlobesPlugin.java | 8 ++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Experience.java b/runelite-api/src/main/java/net/runelite/api/Experience.java index 21f839837e..bcd83c0509 100644 --- a/runelite-api/src/main/java/net/runelite/api/Experience.java +++ b/runelite-api/src/main/java/net/runelite/api/Experience.java @@ -32,7 +32,7 @@ public class Experience /** * Maximum level under 200m xp */ - private static final int MAX_VIRT_LEVEL = 126; + public static final int MAX_VIRT_LEVEL = 126; private static final int[] XP_FOR_LEVEL = new int[MAX_VIRT_LEVEL]; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesOverlay.java index 3d565feda9..3a6eb7aefa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesOverlay.java @@ -229,7 +229,6 @@ public class XpGlobesOverlay extends Overlay DecimalFormat decimalFormat = new DecimalFormat("###,###,###"); String skillCurrentXp = decimalFormat.format(mouseOverSkill.getCurrentXp()); - String skillXpToLvl = decimalFormat.format(mouseOverSkill.getGoalXp() - mouseOverSkill.getCurrentXp()); PanelComponent xpTooltip = new PanelComponent(); xpTooltip.setPosition(new java.awt.Point(x, y)); @@ -237,15 +236,20 @@ public class XpGlobesOverlay extends Overlay List lines = xpTooltip.getLines(); lines.add(new PanelComponent.Line(skillName, Color.WHITE, skillLevel, Color.WHITE)); lines.add(new PanelComponent.Line("Current xp:", Color.ORANGE, skillCurrentXp, Color.WHITE)); - lines.add(new PanelComponent.Line("Xp to level: ", Color.ORANGE, skillXpToLvl, Color.WHITE)); + if (mouseOverSkill.getGoalXp() != -1) + { + String skillXpToLvl = decimalFormat.format(mouseOverSkill.getGoalXp() - mouseOverSkill.getCurrentXp()); + lines.add(new PanelComponent.Line("Xp to level: ", Color.ORANGE, skillXpToLvl, Color.WHITE)); - //Create progress bar for skill. - ProgressBarComponent progressBar = new ProgressBarComponent(); - double progress = mouseOverSkill.getSkillProgress(Experience.getXpForLevel(mouseOverSkill.getCurrentLevel()), + //Create progress bar for skill. + ProgressBarComponent progressBar = new ProgressBarComponent(); + double progress = mouseOverSkill.getSkillProgress(Experience.getXpForLevel(mouseOverSkill.getCurrentLevel()), mouseOverSkill.getCurrentXp(), mouseOverSkill.getGoalXp()); - progressBar.setProgress(progress); + progressBar.setProgress(progress); + + xpTooltip.setProgressBar(progressBar); + } - xpTooltip.setProgressBar(progressBar); xpTooltip.render(graphics, parent); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java index f8c3f9e70e..1c53c1e531 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java @@ -100,12 +100,8 @@ public class XpGlobesPlugin extends Plugin return; } - int startingXp = 0; - if (currentLevel > 1) - { - startingXp = Experience.getXpForLevel(currentLevel); - } - int goalXp = Experience.getXpForLevel(currentLevel + 1); + int startingXp = Experience.getXpForLevel(currentLevel); + int goalXp = currentLevel + 1 <= Experience.MAX_VIRT_LEVEL ? Experience.getXpForLevel(currentLevel + 1) : -1; if (cachedGlobe != null) {