From d4dbf9e856f924d4e10d5249279fb45a8c131c60 Mon Sep 17 00:00:00 2001 From: ST0NEWALL <46624825+pklite@users.noreply.github.com> Date: Wed, 4 Sep 2019 22:22:50 -0400 Subject: [PATCH] playerindicators: prioritize clan and friends over targets (#1524) * playerindicators: prioritize clan and friends over targets Signed-off-by: PKLite * correctly prioritizes, fixed targets and other not showing Signed-off-by: PKLite --- .../PlayerIndicatorsService.java | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsService.java b/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsService.java index 6e03514bec..e4f52fa121 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsService.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsService.java @@ -60,25 +60,26 @@ public class PlayerIndicatorsService self = (player) -> Objects.equals(client.getLocalPlayer(), player); friend = (player) -> (!player.equals(client.getLocalPlayer()) && client.isFriended(player.getName(), false)); - clan = Player::isClanMember; + clan = (player) -> (player.isClanMember() && !client.isFriended(player.getName(), false)); team = (player) -> (Objects.requireNonNull(client.getLocalPlayer()).getTeam() != 0 && client.getLocalPlayer().getTeam() == player.getTeam()); - target = (player) -> PvPUtil.isAttackable(client, player); + target = (player -> + { + if (nonFriendly(player)) + { + return false; + } + return plugin.isHighlightTargets() && PvPUtil.isAttackable(client, player); + }); 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.isHighlightCallerTargets() && piles.contains(player)) - || (plugin.isHighlightTeam() && Objects.requireNonNull(client.getLocalPlayer()).getTeam() != 0 - && client.getLocalPlayer().getTeam() == player.getTeam())) + if (nonFriendly(player)) { return false; } - return !plugin.isHighlightTargets() || PvPUtil.isAttackable(client, player); + return true; }); } @@ -141,4 +142,15 @@ public class PlayerIndicatorsService || plugin.isHighlightFriends() || plugin.isHighlightOther() || plugin.isHighlightTargets() || plugin.isHighlightCallers() || plugin.isHighlightTeam() || plugin.isHighlightCallerTargets(); } + + private boolean nonFriendly(Player player) + { + return player == null + || (plugin.isHighlightClan() && player.isClanMember()) + || (plugin.isHighlightFriends() && client.isFriended(player.getName(), false)) + || (plugin.isHighlightCallers() && plugin.isCaller(player)) + || (plugin.isHighlightCallerTargets() && piles.contains(player)) + || (plugin.isHighlightTeam() && Objects.requireNonNull(client.getLocalPlayer()).getTeam() != 0 + && client.getLocalPlayer().getTeam() == player.getTeam()); + } } \ No newline at end of file