Merge pull request #6696 from deathbeam/status-bars-numberformat

Properly parse stat change value in status bars
This commit is contained in:
Tomas Slusny
2018-11-26 15:58:44 +00:00
committed by GitHub

View File

@@ -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)