Merge pull request #187 from Kyleeld/Kyleeld-ammocounter

Update AmmoCounter.java
This commit is contained in:
Ganom
2019-05-05 17:05:43 -04:00
committed by GitHub

View File

@@ -25,6 +25,11 @@
package net.runelite.client.plugins.ammo;
import java.awt.image.BufferedImage;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Duration;
import java.time.Instant;
import lombok.Getter;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.ui.overlay.infobox.Counter;
@@ -33,14 +38,18 @@ import net.runelite.client.util.StackFormatter;
class AmmoCounter extends Counter
{
@Getter
private final int itemID;
private final String name;
private int itemID;
private String name;
private int total;
private Instant time;
AmmoCounter(Plugin plugin, int itemID, int count, String name, BufferedImage image)
{
super(image, plugin, count);
this.total = count;
this.itemID = itemID;
this.name = name;
this.time = Instant.now();
}
@Override
@@ -52,6 +61,16 @@ class AmmoCounter extends Counter
@Override
public String getTooltip()
{
return name;
return String.format("%s</br>Loss Rate: %s/h", name, lossRate());
}
int lossRate()
{
BigDecimal diff = BigDecimal.valueOf(total).subtract(BigDecimal.valueOf(getCount()));
BigDecimal timeSinceStart = BigDecimal.valueOf(Duration.between(time, Instant.now()).getSeconds())
.setScale(6, RoundingMode.UP);
BigDecimal timeSinceStartInHours = timeSinceStart.divide(BigDecimal.valueOf(3600), RoundingMode.UP);
BigDecimal ammoPerHour = diff.divide(timeSinceStartInHours, RoundingMode.HALF_UP);
return ammoPerHour.intValue();
}
}