speccounter: fix tracking multiple weapons in party

This commit is contained in:
Adam
2019-03-28 20:10:09 -04:00
parent dc7bf8cf67
commit b384ff776e
2 changed files with 6 additions and 7 deletions

View File

@@ -25,13 +25,18 @@
package net.runelite.client.plugins.specialcounter; package net.runelite.client.plugins.specialcounter;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import lombok.AccessLevel;
import lombok.Getter;
import net.runelite.client.ui.overlay.infobox.Counter; import net.runelite.client.ui.overlay.infobox.Counter;
class SpecialCounter extends Counter class SpecialCounter extends Counter
{ {
private final SpecialCounterPlugin plugin; private final SpecialCounterPlugin plugin;
private SpecialWeapon weapon; private SpecialWeapon weapon;
@Getter(AccessLevel.PACKAGE)
private final Map<String, Integer> partySpecs = new HashMap<>();
SpecialCounter(BufferedImage image, SpecialCounterPlugin plugin, int hitValue, SpecialWeapon weapon) SpecialCounter(BufferedImage image, SpecialCounterPlugin plugin, int hitValue, SpecialWeapon weapon)
{ {
@@ -49,7 +54,6 @@ class SpecialCounter extends Counter
@Override @Override
public String getTooltip() public String getTooltip()
{ {
Map<String, Integer> partySpecs = plugin.getPartySpecs();
int hitValue = getCount(); int hitValue = getCount();
if (partySpecs.isEmpty()) if (partySpecs.isEmpty())

View File

@@ -24,13 +24,10 @@
*/ */
package net.runelite.client.plugins.specialcounter; package net.runelite.client.plugins.specialcounter;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
import lombok.AccessLevel;
import lombok.Getter;
import net.runelite.api.Actor; import net.runelite.api.Actor;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.EquipmentInventorySlot; import net.runelite.api.EquipmentInventorySlot;
@@ -72,8 +69,6 @@ public class SpecialCounterPlugin extends Plugin
private SpecialWeapon specialWeapon; private SpecialWeapon specialWeapon;
private final Set<Integer> interactedNpcIds = new HashSet<>(); private final Set<Integer> interactedNpcIds = new HashSet<>();
private final SpecialCounter[] specialCounter = new SpecialCounter[SpecialWeapon.values().length]; private final SpecialCounter[] specialCounter = new SpecialCounter[SpecialWeapon.values().length];
@Getter(AccessLevel.PACKAGE)
private final Map<String, Integer> partySpecs = new HashMap<>();
@Inject @Inject
private Client client; private Client client;
@@ -300,6 +295,7 @@ public class SpecialCounterPlugin extends Plugin
} }
// If in a party, add hit to partySpecs for the infobox tooltip // If in a party, add hit to partySpecs for the infobox tooltip
Map<String, Integer> partySpecs = counter.getPartySpecs();
if (!party.getMembers().isEmpty()) if (!party.getMembers().isEmpty())
{ {
if (partySpecs.containsKey(name)) if (partySpecs.containsKey(name))
@@ -316,7 +312,6 @@ public class SpecialCounterPlugin extends Plugin
private void removeCounters() private void removeCounters()
{ {
interactedNpcIds.clear(); interactedNpcIds.clear();
partySpecs.clear();
for (int i = 0; i < specialCounter.length; ++i) for (int i = 0; i < specialCounter.length; ++i)
{ {