Merge pull request #166 from runelite-extended/sote

Adding Color-Blind Helper for Sote
This commit is contained in:
Tyler Bochard
2019-05-01 20:09:48 -04:00
committed by GitHub
3 changed files with 86 additions and 11 deletions

View File

@@ -11,6 +11,7 @@ package net.runelite.client.plugins.ztob;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Range;
@ConfigGroup("Theatre")
@@ -106,8 +107,19 @@ public interface TheatreConfig extends Config
return true;
}
@ConfigItem(
position = 8,
keyName = "highlightSote",
name = "Sote Missiles",
description = "Highlight Sotetseg's Missiles with pray type"
)
default boolean highlightSote()
{
return true;
}
@ConfigItem(
position = 8,
position = 9,
keyName = "SotetsegMaze1",
name = "Sotetseg maze",
description = ""
@@ -118,7 +130,7 @@ public interface TheatreConfig extends Config
}
@ConfigItem(
position = 9,
position = 10,
keyName = "SotetsegMaze2",
name = "Sotetseg maze (solo mode)",
description = ""
@@ -129,7 +141,7 @@ public interface TheatreConfig extends Config
}
@ConfigItem(
position = 10,
position = 11,
keyName = "XarpusExhumed",
name = "Xarpus Exhumed",
description = ""
@@ -140,7 +152,7 @@ public interface TheatreConfig extends Config
}
@ConfigItem(
position = 11,
position = 12,
keyName = "XarpusTick",
name = "Xarpus Tick",
description = ""
@@ -151,7 +163,7 @@ public interface TheatreConfig extends Config
}
@ConfigItem(
position = 12,
position = 13,
keyName = "xarpusExhumes",
name = "Xarpus Exhume Counter",
description = ""
@@ -162,7 +174,7 @@ public interface TheatreConfig extends Config
}
@ConfigItem(
position = 13,
position = 14,
keyName = "VerzikCupcakes",
name = "Verzik Projectile Markers",
description = ""
@@ -173,7 +185,7 @@ public interface TheatreConfig extends Config
}
@ConfigItem(
position = 14,
position = 15,
keyName = "VerzikTick",
name = "Verzik P3 Tick",
description = ""
@@ -184,7 +196,7 @@ public interface TheatreConfig extends Config
}
@ConfigItem(
position = 15,
position = 16,
keyName = "VerzikMelee",
name = "Verzik P3 Melee Range",
description = ""
@@ -195,7 +207,7 @@ public interface TheatreConfig extends Config
}
@ConfigItem(
position = 16,
position = 17,
keyName = "VerzikYellow",
name = "Verzik Yellow Timing",
description = ""
@@ -206,7 +218,7 @@ public interface TheatreConfig extends Config
}
@ConfigItem(
position = 17,
position = 18,
keyName = "Verzik Nylo",
name = "Verzik Nylo Overlay",
description = ""
@@ -217,7 +229,7 @@ public interface TheatreConfig extends Config
}
@ConfigItem(
position = 18,
position = 19,
keyName = "VerzikTankTile",
name = "Verzik P3 Tile Overlay",
description = ""

View File

@@ -168,6 +168,35 @@ public class TheatreOverlay extends Overlay {
if (plugin.isRunSotetseg())
{
if (config.highlightSote())
{
for (Projectile projectile : plugin.getSotetseg_MageProjectiles())
{
String text = "Mage";
int x = (int) projectile.getX();
int y = (int) projectile.getY();
LocalPoint projectilePoint = new LocalPoint(x, y);
Point textLocation = Perspective.getCanvasTextLocation(client, graphics, projectilePoint, text, 0);
if (textLocation != null)
{
OverlayUtil.renderTextLocation(graphics, textLocation, text, Color.CYAN);
}
}
for (Projectile projectile : plugin.getSotetseg_RangeProjectiles())
{
String text = "Range";
int x = (int) projectile.getX();
int y = (int) projectile.getY();
LocalPoint projectilePoint = new LocalPoint(x, y);
Point textLocation = Perspective.getCanvasTextLocation(client, graphics, projectilePoint, text, 0);
if (textLocation != null)
{
OverlayUtil.renderTextLocation(graphics, textLocation, text, Color.GREEN);
}
}
}
if (config.SotetsegMaze1())
{
int i = 1;

View File

@@ -188,6 +188,12 @@ public class TheatrePlugin extends Plugin {
@Getter(AccessLevel.PACKAGE)
private final Map<Projectile, WorldPoint> Verzik_RangeProjectiles = new HashMap<>();
@Getter(AccessLevel.PACKAGE)
private final List<Projectile> Sotetseg_MageProjectiles = new ArrayList<>();
@Getter(AccessLevel.PACKAGE)
private final List<Projectile> Sotetseg_RangeProjectiles = new ArrayList<>();
@Getter(AccessLevel.PACKAGE)
private int P3_TicksUntilAttack = -1;
@@ -558,6 +564,16 @@ public class TheatrePlugin extends Plugin {
Verzik_RangeProjectiles.put(projectile, p);
}
}
if (runSotetseg)
{
Projectile projectile = event.getProjectile();
if (projectile.getId() == 1606) {
Sotetseg_MageProjectiles.add(projectile);
}
if (projectile.getId() == 1607) {
Sotetseg_RangeProjectiles.add(projectile);
}
}
}
@Subscribe
@@ -731,6 +747,24 @@ public class TheatrePlugin extends Plugin {
}
}
if (!getSotetseg_MageProjectiles().isEmpty()) {
for (Iterator<Projectile> it = Sotetseg_MageProjectiles.iterator(); it.hasNext(); ) {
Projectile projectile = it.next();
if (projectile.getRemainingCycles() < 1) {
it.remove();
}
}
}
if (!getSotetseg_RangeProjectiles().isEmpty()) {
for (Iterator<Projectile> it = Sotetseg_RangeProjectiles.iterator(); it.hasNext(); ) {
Projectile projectile = it.next();
if (projectile.getRemainingCycles() < 1) {
it.remove();
}
}
}
if (!sotetsegFighting) {
if (!BlackTilesUnderworld.isEmpty() && !RedTilesUnderworld.isEmpty() && GridPath.isEmpty()) {
int minX = 99999;