Merge pull request #14042 from Hydrox6/roof-removal-instances
roof removal: properly account for instances when applying overrides
This commit is contained in:
@@ -46,6 +46,7 @@ import static net.runelite.api.Constants.ROOF_FLAG_HOVERED;
|
|||||||
import static net.runelite.api.Constants.ROOF_FLAG_POSITION;
|
import static net.runelite.api.Constants.ROOF_FLAG_POSITION;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.Tile;
|
import net.runelite.api.Tile;
|
||||||
|
import net.runelite.api.coords.WorldPoint;
|
||||||
import net.runelite.api.events.GameStateChanged;
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
@@ -246,14 +247,17 @@ public class RoofRemovalPlugin extends Plugin
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int regionID = tile.getWorldLocation().getRegionID() << 2 | z;
|
// Properly account for instances shifting worldpoints around
|
||||||
|
final WorldPoint wp = WorldPoint.fromLocalInstance(client, tile.getLocalLocation(), tile.getPlane());
|
||||||
|
|
||||||
|
int regionID = wp.getRegionID() << 2 | z;
|
||||||
if (!overrides.containsKey(regionID))
|
if (!overrides.containsKey(regionID))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int rx = tile.getWorldLocation().getRegionX();
|
int rx = wp.getRegionX();
|
||||||
int ry = tile.getWorldLocation().getRegionY();
|
int ry = wp.getRegionY();
|
||||||
long[] region = overrides.get(regionID);
|
long[] region = overrides.get(regionID);
|
||||||
if ((region[ry] & (1L << rx)) != 0)
|
if ((region[ry] & (1L << rx)) != 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user