diff --git a/runelite-api/src/main/java/net/runelite/api/ScriptID.java b/runelite-api/src/main/java/net/runelite/api/ScriptID.java index a51864eb99..c5992d3d73 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -433,4 +433,7 @@ public final class ScriptID */ @ScriptArguments(string = 1) public static final int TOB_HUD_SOTETSEG_FADE = 2308; + + @ScriptArguments(integer = 3) + public static final int RAIDS_STORAGE_PRIVATE_ITEMS = 1607; } \ No newline at end of file diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 4cf8460f74..bf0d0b2b90 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -735,6 +735,11 @@ public final class WidgetID static final int POINTS_INFOBOX = 3; } + static class ChambersOfXericStorageUnitPrivate + { + static final int PRIVATE_CHEST_ITEM_CONTAINER = 6; + } + static class Tob { static final int PARTY_INTERFACE = 5; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index fca8e4fc58..0b2d692b12 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -437,6 +437,8 @@ public enum WidgetInfo RAIDS_POINTS_INFOBOX(WidgetID.RAIDS_GROUP_ID, WidgetID.Raids.POINTS_INFOBOX), + RAIDS_PRIVATE_STORAGE_ITEM_CONTAINER(WidgetID.CHAMBERS_OF_XERIC_STORAGE_UNIT_PRIVATE_GROUP_ID, WidgetID.ChambersOfXericStorageUnitPrivate.PRIVATE_CHEST_ITEM_CONTAINER), + TOB_PARTY_INTERFACE(WidgetID.TOB_GROUP_ID, WidgetID.Tob.PARTY_INTERFACE), TOB_PARTY_STATS(WidgetID.TOB_GROUP_ID, WidgetID.Tob.PARTY_STATS), TOB_HEALTH_BAR(WidgetID.TOB_GROUP_ID, WidgetID.Tob.HEALTHBAR_CONTAINER), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java index b12bd9cb9f..ccfd3b1700 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java @@ -220,6 +220,10 @@ public class AntiDragPlugin extends Plugin implements KeyListener } } } + else if (ev.getScriptId() == ScriptID.RAIDS_STORAGE_PRIVATE_ITEMS) + { + setCoxDragDelay(config.dragDelay()); + } } private static void applyDragDelay(Widget widget, int delay) @@ -238,10 +242,12 @@ public class AntiDragPlugin extends Plugin implements KeyListener final Widget bankItemContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER); final Widget bankInventoryItemsContainer = client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER); final Widget bankDepositContainer = client.getWidget(WidgetInfo.DEPOSIT_BOX_INVENTORY_ITEMS_CONTAINER); + final Widget coxPrivateChest = client.getWidget(WidgetInfo.RAIDS_PRIVATE_STORAGE_ITEM_CONTAINER); applyDragDelay(bankItemContainer, delay); applyDragDelay(bankInventoryItemsContainer, delay); applyDragDelay(bankDepositContainer, delay); + applyDragDelay(coxPrivateChest, delay); } private void setInvDragDelay(int delay) @@ -250,6 +256,12 @@ public class AntiDragPlugin extends Plugin implements KeyListener applyDragDelay(inventory, delay); } + private void setCoxDragDelay(int delay) + { + final Widget coxChest = client.getWidget(WidgetInfo.RAIDS_PRIVATE_STORAGE_ITEM_CONTAINER); + applyDragDelay(coxChest, delay); + } + private void setDragDelay() { final int delay = config.dragDelay(); @@ -257,6 +269,7 @@ public class AntiDragPlugin extends Plugin implements KeyListener client.setInventoryDragDelay(delay); setInvDragDelay(delay); setBankDragDelay(delay); + setCoxDragDelay(delay); } private void resetDragDelay() @@ -265,6 +278,7 @@ public class AntiDragPlugin extends Plugin implements KeyListener client.setInventoryDragDelay(DEFAULT_DELAY); setInvDragDelay(DEFAULT_DELAY); setBankDragDelay(DEFAULT_DELAY); + setCoxDragDelay(DEFAULT_DELAY); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java index 6d546b02a1..36df44a255 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java @@ -31,7 +31,7 @@ import net.runelite.api.ItemID; @AllArgsConstructor @Getter -enum SpecialWeapon +public enum SpecialWeapon { DRAGON_WARHAMMER("Dragon Warhammer", new int[]{ItemID.DRAGON_WARHAMMER}, false, SpecialCounterConfig::dragonWarhammerThreshold), ARCLIGHT("Arclight", new int[]{ItemID.ARCLIGHT}, false, SpecialCounterConfig::arclightThreshold), diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/tooltip/TooltipOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/tooltip/TooltipOverlay.java index 81a1142e08..24c1ef704b 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/tooltip/TooltipOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/tooltip/TooltipOverlay.java @@ -27,7 +27,6 @@ package net.runelite.client.ui.overlay.tooltip; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.Point; -import java.awt.Rectangle; import java.util.List; import javax.inject.Inject; import javax.inject.Singleton; @@ -52,6 +51,8 @@ public class TooltipOverlay extends Overlay private final Client client; private final RuneLiteConfig runeLiteConfig; + private int prevWidth, prevHeight; + @Inject private TooltipOverlay(Client client, TooltipManager tooltipManager, final RuneLiteConfig runeLiteConfig) { @@ -91,15 +92,13 @@ public class TooltipOverlay extends Overlay final int canvasWidth = client.getCanvasWidth(); final int canvasHeight = client.getCanvasHeight(); final net.runelite.api.Point mouseCanvasPosition = client.getMouseCanvasPosition(); - final Rectangle prevBounds = getBounds(); - final int tooltipX = Math.min(canvasWidth - prevBounds.width, mouseCanvasPosition.getX()); + final int tooltipX = Math.min(canvasWidth - prevWidth, mouseCanvasPosition.getX()); final int tooltipY = runeLiteConfig.tooltipPosition() == TooltipPositionType.ABOVE_CURSOR - ? Math.max(0, mouseCanvasPosition.getY() - prevBounds.height) - : Math.min(canvasHeight - prevBounds.height, mouseCanvasPosition.getY() + UNDER_OFFSET); - - final Rectangle newBounds = new Rectangle(tooltipX, tooltipY, 0, 0); + ? Math.max(0, mouseCanvasPosition.getY() - prevHeight) + : Math.min(canvasHeight - prevHeight, mouseCanvasPosition.getY() + UNDER_OFFSET); + int width = 0, height = 0; for (Tooltip tooltip : tooltips) { final LayoutableRenderableEntity entity; @@ -121,14 +120,16 @@ public class TooltipOverlay extends Overlay entity = tooltipComponent; } - entity.setPreferredLocation(new Point(tooltipX, tooltipY + newBounds.height)); + entity.setPreferredLocation(new Point(tooltipX, tooltipY + height)); final Dimension dimension = entity.render(graphics); // Create incremental tooltip newBounds - newBounds.height += dimension.height + PADDING; - newBounds.width = Math.max(newBounds.width, dimension.width); + height += dimension.height + PADDING; + width = Math.max(width, dimension.width); } - return newBounds.getSize(); + prevWidth = width; + prevHeight = height; + return null; } }