speccounter: fix tracking multiple weapons in party
This commit is contained in:
@@ -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())
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user