From c7ea7a7e145467b0c50a619e10fbcbbcd105f0db Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Thu, 26 May 2022 15:21:55 -0700 Subject: [PATCH] status bars: Override hitpoints and prayer max values in LMS While playing Last Man Standing, your hitpoints and prayer values behave as though their maximum values were 99 instead of their actual max values. --- .../client/plugins/statusbars/StatusBarsOverlay.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java index e414b794d4..2b68c49eb5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java @@ -34,6 +34,7 @@ import java.util.EnumMap; import java.util.Map; import javax.inject.Inject; import net.runelite.api.Client; +import net.runelite.api.Experience; import net.runelite.api.MenuEntry; import net.runelite.api.Point; import net.runelite.api.Prayer; @@ -117,7 +118,7 @@ class StatusBarsOverlay extends Overlay { barRenderers.put(BarMode.DISABLED, null); barRenderers.put(BarMode.HITPOINTS, new BarRenderer( - () -> client.getRealSkillLevel(Skill.HITPOINTS), + () -> inLms() ? Experience.MAX_REAL_LEVEL : client.getRealSkillLevel(Skill.HITPOINTS), () -> client.getBoostedSkillLevel(Skill.HITPOINTS), () -> getRestoreValue(Skill.HITPOINTS.getName()), () -> @@ -170,7 +171,7 @@ class StatusBarsOverlay extends Overlay } )); barRenderers.put(BarMode.PRAYER, new BarRenderer( - () -> client.getRealSkillLevel(Skill.PRAYER), + () -> inLms() ? Experience.MAX_REAL_LEVEL : client.getRealSkillLevel(Skill.PRAYER), () -> client.getBoostedSkillLevel(Skill.PRAYER), () -> getRestoreValue(Skill.PRAYER.getName()), () -> @@ -349,4 +350,9 @@ class StatusBarsOverlay extends Overlay return ImageUtil.resizeCanvas(image, ICON_DIMENSIONS.width, ICON_DIMENSIONS.height); } + + private boolean inLms() + { + return client.getWidget(WidgetInfo.LMS_KDA) != null; + } }