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 db6e4b1b49..571dad0632 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 @@ -24,13 +24,14 @@ */ package net.runelite.client.plugins.statusbars; +import com.google.common.base.Strings; +import com.google.common.primitives.Ints; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.Image; import javax.inject.Inject; import net.runelite.api.Client; -import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; import net.runelite.api.Point; import net.runelite.api.Skill; @@ -182,22 +183,34 @@ class StatusBarsOverlay extends Overlay int prayerHealValue = 0; int foodHealValue = 0; - if (change != null & - entry.getParam1() == WidgetInfo.INVENTORY.getId() && - entry.getIdentifier() != ItemID.SPICY_STEW) + if (change != null & entry.getParam1() == WidgetInfo.INVENTORY.getId()) { final StatsChanges statsChanges = change.calculate(client); for (final StatChange c : statsChanges.getStatChanges()) { + final String strVar = c.getTheoretical(); + + if (Strings.isNullOrEmpty(strVar)) + { + continue; + } + + final Integer value = Ints.tryParse(strVar.startsWith("+") ? strVar.substring(1) : strVar); + + if (value == null) + { + continue; + } + if (c.getStat().getName().equals(Skill.HITPOINTS.getName())) { - foodHealValue = Integer.parseInt(c.getTheoretical()); + foodHealValue = value; } if (c.getStat().getName().equals(Skill.PRAYER.getName())) { - prayerHealValue = Integer.parseInt(c.getTheoretical()); + prayerHealValue = value; } if (foodHealValue != 0 && prayerHealValue != 0)