From dabc933fa827431f73133695e7903cff2b19c84b Mon Sep 17 00:00:00 2001 From: Hexagon Date: Sun, 4 Oct 2020 22:44:46 -0300 Subject: [PATCH] cannonplugin: Check world when drawing overlay --- .../net/runelite/client/plugins/cannon/CannonOverlay.java | 2 +- .../net/runelite/client/plugins/cannon/CannonPlugin.java | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonOverlay.java index ebee009d3b..69e553da75 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonOverlay.java @@ -62,7 +62,7 @@ class CannonOverlay extends Overlay @Override public Dimension render(Graphics2D graphics) { - if (!plugin.isCannonPlaced() || plugin.getCannonPosition() == null) + if (!plugin.isCannonPlaced() || plugin.getCannonPosition() == null || plugin.getCannonWorld() != client.getWorld()) { return null; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java index 7492978edf..4d426ae9b6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java @@ -86,6 +86,9 @@ public class CannonPlugin extends Plugin @Getter private WorldPoint cannonPosition; + @Getter + private int cannonWorld = -1; + @Getter private GameObject cannon; @@ -139,6 +142,7 @@ public class CannonPlugin extends Plugin overlayManager.remove(cannonOverlay); overlayManager.remove(cannonSpotOverlay); cannonPlaced = false; + cannonWorld = -1; cannonPosition = null; cannonBallNotificationSent = false; cballsLeft = 0; @@ -247,6 +251,7 @@ public class CannonPlugin extends Plugin && localPlayer.getAnimation() == AnimationID.BURYING_BONES) { cannonPosition = gameObject.getWorldLocation(); + cannonWorld = client.getWorld(); cannon = gameObject; } } @@ -257,7 +262,7 @@ public class CannonPlugin extends Plugin { Projectile projectile = event.getProjectile(); - if ((projectile.getId() == CANNONBALL || projectile.getId() == GRANITE_CANNONBALL) && cannonPosition != null) + if ((projectile.getId() == CANNONBALL || projectile.getId() == GRANITE_CANNONBALL) && cannonPosition != null && cannonWorld == client.getWorld()) { WorldPoint projectileLoc = WorldPoint.fromLocal(client, projectile.getX1(), projectile.getY1(), client.getPlane());