Merge remote-tracking branch 'runelite/master'

This commit is contained in:
Owain van Brakel
2022-06-23 18:03:15 +02:00
6 changed files with 37 additions and 12 deletions

View File

@@ -433,4 +433,7 @@ public final class ScriptID
*/ */
@ScriptArguments(string = 1) @ScriptArguments(string = 1)
public static final int TOB_HUD_SOTETSEG_FADE = 2308; public static final int TOB_HUD_SOTETSEG_FADE = 2308;
@ScriptArguments(integer = 3)
public static final int RAIDS_STORAGE_PRIVATE_ITEMS = 1607;
} }

View File

@@ -735,6 +735,11 @@ public final class WidgetID
static final int POINTS_INFOBOX = 3; static final int POINTS_INFOBOX = 3;
} }
static class ChambersOfXericStorageUnitPrivate
{
static final int PRIVATE_CHEST_ITEM_CONTAINER = 6;
}
static class Tob static class Tob
{ {
static final int PARTY_INTERFACE = 5; static final int PARTY_INTERFACE = 5;

View File

@@ -437,6 +437,8 @@ public enum WidgetInfo
RAIDS_POINTS_INFOBOX(WidgetID.RAIDS_GROUP_ID, WidgetID.Raids.POINTS_INFOBOX), 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_INTERFACE(WidgetID.TOB_GROUP_ID, WidgetID.Tob.PARTY_INTERFACE),
TOB_PARTY_STATS(WidgetID.TOB_GROUP_ID, WidgetID.Tob.PARTY_STATS), TOB_PARTY_STATS(WidgetID.TOB_GROUP_ID, WidgetID.Tob.PARTY_STATS),
TOB_HEALTH_BAR(WidgetID.TOB_GROUP_ID, WidgetID.Tob.HEALTHBAR_CONTAINER), TOB_HEALTH_BAR(WidgetID.TOB_GROUP_ID, WidgetID.Tob.HEALTHBAR_CONTAINER),

View File

@@ -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) 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 bankItemContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER);
final Widget bankInventoryItemsContainer = client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER); final Widget bankInventoryItemsContainer = client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER);
final Widget bankDepositContainer = client.getWidget(WidgetInfo.DEPOSIT_BOX_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(bankItemContainer, delay);
applyDragDelay(bankInventoryItemsContainer, delay); applyDragDelay(bankInventoryItemsContainer, delay);
applyDragDelay(bankDepositContainer, delay); applyDragDelay(bankDepositContainer, delay);
applyDragDelay(coxPrivateChest, delay);
} }
private void setInvDragDelay(int delay) private void setInvDragDelay(int delay)
@@ -250,6 +256,12 @@ public class AntiDragPlugin extends Plugin implements KeyListener
applyDragDelay(inventory, delay); 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() private void setDragDelay()
{ {
final int delay = config.dragDelay(); final int delay = config.dragDelay();
@@ -257,6 +269,7 @@ public class AntiDragPlugin extends Plugin implements KeyListener
client.setInventoryDragDelay(delay); client.setInventoryDragDelay(delay);
setInvDragDelay(delay); setInvDragDelay(delay);
setBankDragDelay(delay); setBankDragDelay(delay);
setCoxDragDelay(delay);
} }
private void resetDragDelay() private void resetDragDelay()
@@ -265,6 +278,7 @@ public class AntiDragPlugin extends Plugin implements KeyListener
client.setInventoryDragDelay(DEFAULT_DELAY); client.setInventoryDragDelay(DEFAULT_DELAY);
setInvDragDelay(DEFAULT_DELAY); setInvDragDelay(DEFAULT_DELAY);
setBankDragDelay(DEFAULT_DELAY); setBankDragDelay(DEFAULT_DELAY);
setCoxDragDelay(DEFAULT_DELAY);
} }
} }

View File

@@ -31,7 +31,7 @@ import net.runelite.api.ItemID;
@AllArgsConstructor @AllArgsConstructor
@Getter @Getter
enum SpecialWeapon public enum SpecialWeapon
{ {
DRAGON_WARHAMMER("Dragon Warhammer", new int[]{ItemID.DRAGON_WARHAMMER}, false, SpecialCounterConfig::dragonWarhammerThreshold), DRAGON_WARHAMMER("Dragon Warhammer", new int[]{ItemID.DRAGON_WARHAMMER}, false, SpecialCounterConfig::dragonWarhammerThreshold),
ARCLIGHT("Arclight", new int[]{ItemID.ARCLIGHT}, false, SpecialCounterConfig::arclightThreshold), ARCLIGHT("Arclight", new int[]{ItemID.ARCLIGHT}, false, SpecialCounterConfig::arclightThreshold),

View File

@@ -27,7 +27,6 @@ package net.runelite.client.ui.overlay.tooltip;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Point; import java.awt.Point;
import java.awt.Rectangle;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
@@ -52,6 +51,8 @@ public class TooltipOverlay extends Overlay
private final Client client; private final Client client;
private final RuneLiteConfig runeLiteConfig; private final RuneLiteConfig runeLiteConfig;
private int prevWidth, prevHeight;
@Inject @Inject
private TooltipOverlay(Client client, TooltipManager tooltipManager, final RuneLiteConfig runeLiteConfig) 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 canvasWidth = client.getCanvasWidth();
final int canvasHeight = client.getCanvasHeight(); final int canvasHeight = client.getCanvasHeight();
final net.runelite.api.Point mouseCanvasPosition = client.getMouseCanvasPosition(); 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 final int tooltipY = runeLiteConfig.tooltipPosition() == TooltipPositionType.ABOVE_CURSOR
? Math.max(0, mouseCanvasPosition.getY() - prevBounds.height) ? Math.max(0, mouseCanvasPosition.getY() - prevHeight)
: Math.min(canvasHeight - prevBounds.height, mouseCanvasPosition.getY() + UNDER_OFFSET); : Math.min(canvasHeight - prevHeight, mouseCanvasPosition.getY() + UNDER_OFFSET);
final Rectangle newBounds = new Rectangle(tooltipX, tooltipY, 0, 0);
int width = 0, height = 0;
for (Tooltip tooltip : tooltips) for (Tooltip tooltip : tooltips)
{ {
final LayoutableRenderableEntity entity; final LayoutableRenderableEntity entity;
@@ -121,14 +120,16 @@ public class TooltipOverlay extends Overlay
entity = tooltipComponent; entity = tooltipComponent;
} }
entity.setPreferredLocation(new Point(tooltipX, tooltipY + newBounds.height)); entity.setPreferredLocation(new Point(tooltipX, tooltipY + height));
final Dimension dimension = entity.render(graphics); final Dimension dimension = entity.render(graphics);
// Create incremental tooltip newBounds // Create incremental tooltip newBounds
newBounds.height += dimension.height + PADDING; height += dimension.height + PADDING;
newBounds.width = Math.max(newBounds.width, dimension.width); width = Math.max(width, dimension.width);
} }
return newBounds.getSize(); prevWidth = width;
prevHeight = height;
return null;
} }
} }