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)
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 class ChambersOfXericStorageUnitPrivate
{
static final int PRIVATE_CHEST_ITEM_CONTAINER = 6;
}
static class Tob
{
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_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),

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)
@@ -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);
}
}

View File

@@ -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),

View File

@@ -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;
}
}