playerindicators: add priority checking to Predicate -> Other. (#1496)
playerindicators: add priority checking to Predicate -> Other.
This commit is contained in:
@@ -55,6 +55,7 @@ import net.runelite.client.eventbus.EventBus;
|
||||
import net.runelite.client.game.ClanManager;
|
||||
import net.runelite.client.plugins.Plugin;
|
||||
import net.runelite.client.plugins.PluginDescriptor;
|
||||
import net.runelite.client.plugins.PluginType;
|
||||
import net.runelite.client.ui.overlay.OverlayManager;
|
||||
import net.runelite.client.util.ColorUtil;
|
||||
import net.runelite.client.util.PvPUtil;
|
||||
@@ -62,7 +63,8 @@ import net.runelite.client.util.PvPUtil;
|
||||
@PluginDescriptor(
|
||||
name = "Player Indicators",
|
||||
description = "Highlight players on-screen and/or on the minimap",
|
||||
tags = {"highlight", "minimap", "overlay", "players", "pklite"}
|
||||
tags = {"highlight", "minimap", "overlay", "players", "pklite"},
|
||||
type = PluginType.UTILITY
|
||||
)
|
||||
@Singleton
|
||||
@Getter(AccessLevel.PACKAGE)
|
||||
|
||||
@@ -42,17 +42,15 @@ public class PlayerIndicatorsService
|
||||
private final Client client;
|
||||
private final PlayerIndicatorsPlugin plugin;
|
||||
|
||||
public Predicate<Player> self;
|
||||
public Predicate<Player> friend;
|
||||
public Predicate<Player> clan;
|
||||
public Predicate<Player> team;
|
||||
public Predicate<Player> target;
|
||||
public Predicate<Player> other;
|
||||
public Predicate<Player> caller;
|
||||
public Predicate<Player> callerTarget;
|
||||
|
||||
|
||||
private List<Actor> piles = new ArrayList<>();
|
||||
private final Predicate<Player> self;
|
||||
private final Predicate<Player> friend;
|
||||
private final Predicate<Player> clan;
|
||||
private final Predicate<Player> team;
|
||||
private final Predicate<Player> target;
|
||||
private final Predicate<Player> other;
|
||||
private final Predicate<Player> caller;
|
||||
private final Predicate<Player> callerTarget;
|
||||
private final List<Actor> piles = new ArrayList<>();
|
||||
|
||||
|
||||
@Inject
|
||||
@@ -67,9 +65,21 @@ public class PlayerIndicatorsService
|
||||
team = (player) -> (Objects.requireNonNull(client.getLocalPlayer()).getTeam() != 0 &&
|
||||
client.getLocalPlayer().getTeam() == player.getTeam());
|
||||
target = (player) -> PvPUtil.isAttackable(client, player);
|
||||
other = Objects::nonNull;
|
||||
caller = plugin::isCaller;
|
||||
callerTarget = piles::contains;
|
||||
other = (player ->
|
||||
{
|
||||
if (player == null
|
||||
|| (plugin.isHighlightClan() && player.isClanMember())
|
||||
|| (plugin.isHighlightFriends() && client.isFriended(player.getName(), false))
|
||||
|| (plugin.isHighlightCallers() && plugin.isCaller(player))
|
||||
|| (plugin.isHighlightTeam() && Objects.requireNonNull(client.getLocalPlayer()).getTeam() != 0
|
||||
&& client.getLocalPlayer().getTeam() == player.getTeam()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return !plugin.isHighlightTargets() || PvPUtil.isAttackable(client, player);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -126,11 +136,10 @@ public class PlayerIndicatorsService
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private boolean highlight()
|
||||
{
|
||||
return plugin.isHighlightOwnPlayer() || plugin.isHighlightClan()
|
||||
|| plugin.isHighlightFriends() || plugin.isHighlightOther() || plugin.isHighlightTargets()
|
||||
|| plugin.isHighlightCallers() || plugin.isHighlightTeam() || plugin.isHighlightCallerTargets();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user