diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index bc850fb4a1..81f72e77b3 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -323,6 +323,8 @@ public enum Varbits BARROWS_KILLED_KARIL(460), BARROWS_KILLED_TORAG(461), BARROWS_KILLED_VERAC(462), + BARROWS_REWARD_POTENTIAL(463), + BARROWS_NPCS_SLAIN(464), /** * Spicy stew ingredients diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrotherSlainOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrotherSlainOverlay.java index 4e8eeec66a..08480ec37c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrotherSlainOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrotherSlainOverlay.java @@ -29,6 +29,7 @@ import java.awt.Dimension; import java.awt.Graphics2D; import javax.inject.Inject; import net.runelite.api.Client; +import net.runelite.api.Varbits; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.ui.overlay.Overlay; @@ -54,31 +55,40 @@ public class BarrowsBrotherSlainOverlay extends Overlay public Dimension render(Graphics2D graphics) { // Do not display overlay if potential is null/hidden - Widget potential = client.getWidget(WidgetInfo.BARROWS_POTENTIAL); + final Widget potential = client.getWidget(WidgetInfo.BARROWS_POTENTIAL); if (potential == null || potential.isHidden()) { return null; } // Hide original overlay - Widget barrowsBrothers = client.getWidget(WidgetInfo.BARROWS_BROTHERS); + final Widget barrowsBrothers = client.getWidget(WidgetInfo.BARROWS_BROTHERS); if (barrowsBrothers != null) { barrowsBrothers.setHidden(true); + potential.setHidden(true); } panelComponent.getChildren().clear(); for (BarrowsBrothers brother : BarrowsBrothers.values()) { - String slain = client.getVar(brother.getKilledVarbit()) > 0 ? "✓" : ""; + final boolean brotherSlain = client.getVar(brother.getKilledVarbit()) > 0; + String slain = brotherSlain ? "\u2713" : "\u2717"; panelComponent.getChildren().add(LineComponent.builder() .left(brother.getName()) .right(slain) - .rightColor(slain.isEmpty() ? Color.WHITE : Color.GREEN) + .rightColor(brotherSlain ? Color.GREEN : Color.RED) .build()); } + float rewardPercent = client.getVar(Varbits.BARROWS_REWARD_POTENTIAL) / 10.0f; + panelComponent.getChildren().add(LineComponent.builder() + .left("Potential") + .right(rewardPercent != 0 ? rewardPercent + "%" : "0%") + .rightColor(rewardPercent >= 73.0f && rewardPercent <= 88.0f ? Color.GREEN : rewardPercent < 65.6f ? Color.WHITE : Color.YELLOW) + .build()); + return panelComponent.render(graphics); } }