diff --git a/runelite-api/src/main/java/net/runelite/api/Actor.java b/runelite-api/src/main/java/net/runelite/api/Actor.java index a523555648..c469343004 100644 --- a/runelite-api/src/main/java/net/runelite/api/Actor.java +++ b/runelite-api/src/main/java/net/runelite/api/Actor.java @@ -69,21 +69,22 @@ public interface Actor extends Renderable Actor getInteracting(); /** - * Gets the health ratio of the actor. - *

- * The ratio is the number of green bars in the overhead - * HP display. + * Gets the health of the actor in {@link #getHealthScale()} units. * - * @return the health ratio + * The server does not transmit actors' real health, only this value + * between zero and {@link #getHealthScale()}. Some actors may be + * missing this info, in which case -1 is returned. */ int getHealthRatio(); /** - * Gets the health of the actor. + * Gets the maximum value {@link #getHealthRatio()} can return * - * @return the health + * For actors with the default size health bar this is 30, but + * for bosses with a larger health bar this can be a larger number. + * Some actors may be missing this info, in which case -1 is returned. */ - int getHealth(); + int getHealthScale(); /** * Gets the server-side location of the actor. diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoOverlay.java index 2ec7b192ab..5dc68a3bf1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoOverlay.java @@ -100,10 +100,10 @@ class OpponentInfoOverlay extends OverlayPanel return null; } - if (opponent.getName() != null && opponent.getHealth() > 0) + if (opponent.getName() != null && opponent.getHealthScale() > 0) { lastRatio = opponent.getHealthRatio(); - lastHealthScale = opponent.getHealth(); + lastHealthScale = opponent.getHealthScale(); opponentName = Text.removeTags(opponent.getName()); lastMaxHealth = null; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerBarOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerBarOverlay.java index df4da38850..522c1aa754 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerBarOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerBarOverlay.java @@ -165,7 +165,7 @@ class PrayerBarOverlay extends Overlay return; } - if (config.hideIfOutOfCombat() && localPlayer.getHealth() == -1) + if (config.hideIfOutOfCombat() && localPlayer.getHealthScale() == -1) { showingPrayerBar = false; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/TargetWeaknessOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/TargetWeaknessOverlay.java index 8a036eff83..91f331d06b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/TargetWeaknessOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/TargetWeaknessOverlay.java @@ -106,7 +106,7 @@ class TargetWeaknessOverlay extends Overlay return -1; } - final int healthScale = target.getHealth(); + final int healthScale = target.getHealthScale(); final int healthRatio = target.getHealthRatio(); final Integer maxHealth = npcManager.getHealth(target.getId());