From f31bc0d79422aed90c229e5eebb821bcddeceff6 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 29 Jan 2018 08:10:46 -0500 Subject: [PATCH] Remote projectile target and length tracking Continuation of 4c293e612cd4b08fc7230a5e6722c8acc74e5a9e --- .../java/net/runelite/api/Projectile.java | 10 --- .../plugins/devtools/DevToolsOverlay.java | 9 +-- .../runelite/mixins/RSProjectileMixin.java | 80 ------------------- 3 files changed, 1 insertion(+), 98 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Projectile.java b/runelite-api/src/main/java/net/runelite/api/Projectile.java index 2497dfe248..702120c36c 100644 --- a/runelite-api/src/main/java/net/runelite/api/Projectile.java +++ b/runelite-api/src/main/java/net/runelite/api/Projectile.java @@ -32,10 +32,6 @@ public interface Projectile extends Renderable Actor getInteracting(); - Point getTarget(); - - int getTargetZ(); - int getX1(); int getY1(); @@ -48,12 +44,6 @@ public interface Projectile extends Renderable int getStartMovementCycle(); - int getSpawnCycle(); - - int getCycleLength(); - - Duration getLength(); - int getEndCycle(); int getRemainingCycles(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java index 1d0df5fe23..8b4e0eb7f0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java @@ -350,7 +350,6 @@ public class DevToolsOverlay extends Overlay OverlayUtil.renderPolygon(graphics, poly, Color.RED); } - long projectileLength = projectile.getLength().toMillis(); int projectileId = projectile.getId(); Actor projectileInteracting = projectile.getInteracting(); @@ -365,18 +364,12 @@ public class DevToolsOverlay extends Overlay infoString += "Targeted (T: " + projectileInteracting.getName() + ")"; } - infoString += " (ID: " + projectileId + ") (L: " + projectileLength + "ms)"; + infoString += " (ID: " + projectileId + ")"; if (projectileInteracting != null) { OverlayUtil.renderActorOverlay(graphics, projectile.getInteracting(), infoString, Color.RED); } - else - { - net.runelite.api.Point targetPoint = projectile.getTarget(); - OverlayUtil.renderTilePointOverlay(graphics, client, targetPoint, infoString, Color.RED); - } - } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSProjectileMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSProjectileMixin.java index 94e2a71d44..28ea4a6a4f 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSProjectileMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSProjectileMixin.java @@ -26,11 +26,8 @@ package net.runelite.mixins; import java.time.Duration; import net.runelite.api.Actor; -import net.runelite.api.Point; -import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; -import net.runelite.api.mixins.Replace; import net.runelite.api.mixins.Shadow; import net.runelite.rs.api.RSClient; import net.runelite.rs.api.RSNPC; @@ -43,65 +40,6 @@ public abstract class RSProjectileMixin implements RSProjectile @Shadow("clientInstance") private static RSClient client; - @Inject - private int targetX; - - @Inject - private int targetY; - - @Inject - private int targetZ; - - @Inject - Integer spawnCycle; - - @Inject - @Override - public Point getTarget() - { - if (targetX == -1 || targetY == -1) - { - return null; - } - - return new Point(targetX, targetY); - } - - @Inject - @Override - public int getTargetZ() - { - return targetZ; - } - - @Inject - @Override - public int getSpawnCycle() - { - return spawnCycle == null ? -1 : spawnCycle; - } - - /** - * the cycles returned are for the amount of time moving this works - * better with the projectile movement event as it only gets called - * after the projectile starts moving - * - * @return total time projectile will move for in gamecycles - */ - @Inject - @Override - public int getCycleLength() - { - return getEndCycle() - getSpawnCycle(); - } - - @Inject - @Override - public Duration getLength() - { - return Duration.ofMillis(getCycleLength() * 20); - } - @Inject @Override public int getRemainingCycles() @@ -140,22 +78,4 @@ public abstract class RSProjectileMixin implements RSProjectile return players[idx]; } } - - @Copy("moveProjectile") - abstract void moveProjectile(int targetX, int targetY, int targetZ, int gameCycle); - - @Replace("moveProjectile") - public void rl$moveProjectile(int targetX, int targetY, int targetZ, int gameCycle) - { - this.targetX = targetX; - this.targetY = targetY; - this.targetZ = targetZ; - - if (spawnCycle == null) - { - spawnCycle = client.getGameCycle(); - } - - moveProjectile(targetX, targetY, targetZ, gameCycle); - } }