diff --git a/runelite-api/src/main/java/net/runelite/api/ProjectileID.java b/runelite-api/src/main/java/net/runelite/api/ProjectileID.java index 63e462843b..d3613fd17b 100644 --- a/runelite-api/src/main/java/net/runelite/api/ProjectileID.java +++ b/runelite-api/src/main/java/net/runelite/api/ProjectileID.java @@ -95,6 +95,10 @@ public class ProjectileID public static final int VORKATH_VENOM = 1470; public static final int VORKATH_ICE = 395; + public static final int SOTETSEG_BOMB = 1604; + public static final int SOTETSEG_RANGE = 1607; + public static final int SOTETSEG_MAGE = 1606; + public static final int HYDRA_MAGIC = 1662; public static final int HYDRA_RANGED = 1663; public static final int HYDRA_POISON = 1644; @@ -108,6 +112,6 @@ public class ProjectileID public static final int HUNLLEF_CORRUPTED_RANGE_ATTACK = 1712; public static final int HUNLLEF_PRAYER_ATTACK = 1713; public static final int HUNLLEF_CORRUPTED_PRAYER_ATTACK = 1714; - + public static final int ZALCANO_PROJECTILE = 1728; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/SotetsegHandler.java b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/SotetsegHandler.java index 8d792afc60..7f90c7ee1f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/SotetsegHandler.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/SotetsegHandler.java @@ -1,5 +1,6 @@ package net.runelite.client.plugins.theatre.rooms; +import com.google.common.collect.ImmutableSet; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; @@ -19,6 +20,7 @@ import net.runelite.api.NPC; import net.runelite.api.NpcID; import net.runelite.api.Point; import net.runelite.api.Projectile; +import net.runelite.api.ProjectileID; import net.runelite.api.Tile; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.GroundObjectSpawned; @@ -33,12 +35,11 @@ import net.runelite.client.ui.overlay.OverlayUtil; public class SotetsegHandler extends RoomHandler { - + private static final Set SOTE_PROJ = ImmutableSet.of( + ProjectileID.SOTETSEG_MAGE, ProjectileID.SOTETSEG_BOMB, ProjectileID.SOTETSEG_RANGE + ); @Getter(AccessLevel.PUBLIC) private final Map redTiles = new LinkedHashMap<>(); - //My variables - private int playerX; - private int playerY; @Getter(AccessLevel.PUBLIC) private List redOverworld = new ArrayList<>(); private final List blackOverworld = new ArrayList<>(); @@ -147,7 +148,7 @@ public class SotetsegHandler extends RoomHandler final Projectile projectile = event.getProjectile(); //1604 ball - if (projectile.getId() == 1604 && projectile.getInteracting() == client.getLocalPlayer()) + if (SOTE_PROJ.contains(projectile.getId()) && projectile.getInteracting() == client.getLocalPlayer()) { soteyProjectiles.add(projectile); } @@ -234,18 +235,13 @@ public class SotetsegHandler extends RoomHandler return; } - //Update player position every game tick - playerX = client.getLocalPlayer().getLocalLocation().getX(); - playerY = client.getLocalPlayer().getLocalLocation().getY(); - - - //Remove projectiles that are about to die if (!soteyProjectiles.isEmpty()) { soteyProjectiles.removeIf(p -> p.getRemainingCycles() <= 0); } boolean sotetsegFighting = false; + for (NPC npc : client.getNpcs()) { if (npc.getId() == NpcID.SOTETSEG_8388) @@ -325,4 +321,4 @@ public class SotetsegHandler extends RoomHandler } } } -} +} \ No newline at end of file