From e9acabf54915efcdf6e7f8c29aef6d96f245b688 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 28 Nov 2020 14:32:09 -0500 Subject: [PATCH] dps counter: add option to only count boss damage --- .../runelite/client/plugins/dpscounter/DpsConfig.java | 11 +++++++++++ .../client/plugins/dpscounter/DpsCounterPlugin.java | 9 ++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsConfig.java index 0fa2dadb70..f730dd2c8f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsConfig.java @@ -63,4 +63,15 @@ public interface DpsConfig extends Config { return false; } + + @ConfigItem( + position = 3, + keyName = "bossDamage", + name = "Only boss damage", + description = "Only count damage done to the boss, and not to other NPCs" + ) + default boolean bossDamage() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java index e919c897ba..54887b7223 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java @@ -186,6 +186,13 @@ public class DpsCounterPlugin extends Plugin if (hitsplat.isMine()) { + final int npcId = ((NPC) actor).getId(); + boolean isBoss = BOSSES.contains(npcId); + if (dpsConfig.bossDamage() && !isBoss) + { + return; + } + int hit = hitsplat.getAmount(); // Update local member PartyMember localMember = partyService.getLocalMember(); @@ -207,7 +214,7 @@ public class DpsCounterPlugin extends Plugin { final int npcId = ((NPC) actor).getId(); boolean isBoss = BOSSES.contains(npcId); - if (actor != player.getInteracting() && !isBoss) + if ((dpsConfig.bossDamage() || actor != player.getInteracting()) && !isBoss) { // only track damage to npcs we are attacking, or is a nearby common boss return;