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;
|
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.eventbus.Subscribe;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
|
import net.runelite.client.plugins.PluginDependency;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
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.OverlayManager;
|
||||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||||
import net.runelite.client.util.WildcardMatcher;
|
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"},
|
tags = {"highlight", "lines", "unaggro", "aggro", "aggressive", "npcs", "area", "slayer"},
|
||||||
enabledByDefault = false
|
enabledByDefault = false
|
||||||
)
|
)
|
||||||
|
@PluginDependency(SlayerPlugin.class)
|
||||||
public class NpcAggroAreaPlugin extends Plugin
|
public class NpcAggroAreaPlugin extends Plugin
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@@ -114,6 +118,9 @@ public class NpcAggroAreaPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private Notifier notifier;
|
private Notifier notifier;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private SlayerPluginService slayerPluginService;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final WorldPoint[] safeCenters = new WorldPoint[2];
|
private final WorldPoint[] safeCenters = new WorldPoint[2];
|
||||||
|
|
||||||
@@ -270,6 +277,15 @@ public class NpcAggroAreaPlugin extends Plugin
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (config.showOnSlayerTask())
|
||||||
|
{
|
||||||
|
List<NPC> targets = slayerPluginService.getTargets();
|
||||||
|
if (targets.contains(npc))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (String pattern : npcNamePatterns)
|
for (String pattern : npcNamePatterns)
|
||||||
{
|
{
|
||||||
if (WildcardMatcher.matches(pattern, npcName))
|
if (WildcardMatcher.matches(pattern, npcName))
|
||||||
@@ -381,6 +397,7 @@ public class NpcAggroAreaPlugin extends Plugin
|
|||||||
switch (key)
|
switch (key)
|
||||||
{
|
{
|
||||||
case "npcUnaggroAlwaysActive":
|
case "npcUnaggroAlwaysActive":
|
||||||
|
case "showOnSlayerTask":
|
||||||
recheckActive();
|
recheckActive();
|
||||||
break;
|
break;
|
||||||
case "npcUnaggroCollisionDetection":
|
case "npcUnaggroCollisionDetection":
|
||||||
|
|||||||
Reference in New Issue
Block a user