npcaggro: show for current slayer task option
Co-authored-by: OSRS-Athan <67913155+osrs-athan@users.noreply.github.com>
This commit is contained in:
@@ -128,4 +128,15 @@ public interface NpcAggroAreaConfig extends Config
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "showOnSlayerTask",
|
||||
name = "Show on slayer task",
|
||||
description = "Enable for current slayer task NPCs",
|
||||
position = 9
|
||||
)
|
||||
default boolean showOnSlayerTask()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,10 @@ import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.game.ItemManager;
|
||||
import net.runelite.client.plugins.Plugin;
|
||||
import net.runelite.client.plugins.PluginDependency;
|
||||
import net.runelite.client.plugins.PluginDescriptor;
|
||||
import net.runelite.client.plugins.slayer.SlayerPlugin;
|
||||
import net.runelite.client.plugins.slayer.SlayerPluginService;
|
||||
import net.runelite.client.ui.overlay.OverlayManager;
|
||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||
import net.runelite.client.util.WildcardMatcher;
|
||||
@@ -68,6 +71,7 @@ import net.runelite.client.util.WildcardMatcher;
|
||||
tags = {"highlight", "lines", "unaggro", "aggro", "aggressive", "npcs", "area", "slayer"},
|
||||
enabledByDefault = false
|
||||
)
|
||||
@PluginDependency(SlayerPlugin.class)
|
||||
public class NpcAggroAreaPlugin extends Plugin
|
||||
{
|
||||
/*
|
||||
@@ -114,6 +118,9 @@ public class NpcAggroAreaPlugin extends Plugin
|
||||
@Inject
|
||||
private Notifier notifier;
|
||||
|
||||
@Inject
|
||||
private SlayerPluginService slayerPluginService;
|
||||
|
||||
@Getter
|
||||
private final WorldPoint[] safeCenters = new WorldPoint[2];
|
||||
|
||||
@@ -270,6 +277,15 @@ public class NpcAggroAreaPlugin extends Plugin
|
||||
return false;
|
||||
}
|
||||
|
||||
if (config.showOnSlayerTask())
|
||||
{
|
||||
List<NPC> targets = slayerPluginService.getTargets();
|
||||
if (targets.contains(npc))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
for (String pattern : npcNamePatterns)
|
||||
{
|
||||
if (WildcardMatcher.matches(pattern, npcName))
|
||||
@@ -381,6 +397,7 @@ public class NpcAggroAreaPlugin extends Plugin
|
||||
switch (key)
|
||||
{
|
||||
case "npcUnaggroAlwaysActive":
|
||||
case "showOnSlayerTask":
|
||||
recheckActive();
|
||||
break;
|
||||
case "npcUnaggroCollisionDetection":
|
||||
|
||||
Reference in New Issue
Block a user