From 468d0a79677529460852abf0f7d7e13be5aed54f Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Thu, 16 Jul 2020 00:35:52 -0700 Subject: [PATCH 01/24] EmoteClue: Specify uncharged glory amulet when needed --- .../runelite/client/plugins/cluescrolls/clues/EmoteClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java index c1413c3c48..bb60754b7a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java @@ -137,7 +137,7 @@ public class EmoteClue extends ClueScroll implements TextClueScroll, LocationClu new EmoteClue("Panic by the mausoleum in Morytania. Wave before you speak to me. Equip a mithril plate skirt, a maple longbow and no boots.", "Morytania mausoleum, access via the experiments cave", MAUSOLEUM_OFF_THE_MORYTANIA_COAST, new WorldPoint(3504, 3576, 0), PANIC, WAVE, item(MITHRIL_PLATESKIRT), item(MAPLE_LONGBOW), emptySlot("No boots", BOOTS)), new EmoteClue("Panic on the Wilderness volcano bridge. Beware of double agents! Equip any headband and crozier.", "Wilderness volcano", VOLCANO_IN_THE_NORTHEASTERN_WILDERNESS, new WorldPoint(3368, 3935, 0), DOUBLE_AGENT_65, PANIC, any("Any headband", range(RED_HEADBAND, BROWN_HEADBAND), range(WHITE_HEADBAND, GREEN_HEADBAND)), any("Any crozier", item(ANCIENT_CROZIER), item(ARMADYL_CROZIER), item(BANDOS_CROZIER), range(SARADOMIN_CROZIER, ZAMORAK_CROZIER))), new EmoteClue("Panic by the pilot on White Wolf Mountain. Beware of double agents! Equip mithril platelegs, a ring of life and a rune axe.", "White Wolf Mountain", GNOME_GLIDER_ON_WHITE_WOLF_MOUNTAIN, new WorldPoint(2847, 3499, 0), DOUBLE_AGENT_108, PANIC, item(MITHRIL_PLATELEGS), item(RING_OF_LIFE), item(RUNE_AXE)), - new EmoteClue("Panic by the big egg where no one dare goes and the ground is burnt. Beware of double agents! Equip a dragon med helm, a TokTz-Ket-Xil, a brine sabre, rune platebody and an uncharged amulet of glory.", "Lava dragon isle", SOUTHEAST_CORNER_OF_LAVA_DRAGON_ISLE, new WorldPoint(3227, 3831, 0), DOUBLE_AGENT_141, PANIC, item(DRAGON_MED_HELM), item(TOKTZKETXIL), item(BRINE_SABRE), item(RUNE_PLATEBODY), item(AMULET_OF_GLORY)), + new EmoteClue("Panic by the big egg where no one dare goes and the ground is burnt. Beware of double agents! Equip a dragon med helm, a TokTz-Ket-Xil, a brine sabre, rune platebody and an uncharged amulet of glory.", "Lava dragon isle", SOUTHEAST_CORNER_OF_LAVA_DRAGON_ISLE, new WorldPoint(3227, 3831, 0), DOUBLE_AGENT_141, PANIC, item(DRAGON_MED_HELM), item(TOKTZKETXIL), item(BRINE_SABRE), item(RUNE_PLATEBODY), any("Uncharged Amulet of glory", item(AMULET_OF_GLORY))), new EmoteClue("Panic at the area flowers meet snow. Equip Blue D'hide vambraces, a dragon spear and a rune plateskirt.", "Trollweiss mountain", HALFWAY_DOWN_TROLLWEISS_MOUNTAIN, new WorldPoint(2776, 3781, 0), PANIC, item(BLUE_DHIDE_VAMBRACES), item(DRAGON_SPEAR), item(RUNE_PLATESKIRT), item(SLED_4084)), new EmoteClue("Do a push up at the bank of the Warrior's guild. Beware of double agents! Equip a dragon battleaxe, a dragon defender and a slayer helm of any kind.", "Warriors' guild", WARRIORS_GUILD_BANK_29047, new WorldPoint(2843, 3543, 0), DOUBLE_AGENT_141, PUSH_UP, item(DRAGON_BATTLEAXE), any("Dragon defender", item(DRAGON_DEFENDER), item(DRAGON_DEFENDER_T)), any("Any slayer helmet", item(SLAYER_HELMET), item(BLACK_SLAYER_HELMET), item(GREEN_SLAYER_HELMET), item(PURPLE_SLAYER_HELMET), item(RED_SLAYER_HELMET), item(TURQUOISE_SLAYER_HELMET), item(SLAYER_HELMET_I), item(BLACK_SLAYER_HELMET_I), item(GREEN_SLAYER_HELMET_I), item(PURPLE_SLAYER_HELMET_I), item(RED_SLAYER_HELMET_I), item(TURQUOISE_SLAYER_HELMET_I), item(HYDRA_SLAYER_HELMET), item(HYDRA_SLAYER_HELMET_I), item(TWISTED_SLAYER_HELMET), item(TWISTED_SLAYER_HELMET_I))), new EmoteClue("Blow a raspberry in the bank of the Warriors' Guild. Beware of double agents! Equip a dragon battleaxe, a slayer helm of any kind and a dragon defender or avernic defender.", "Warriors' guild", WARRIORS_GUILD_BANK_29047, new WorldPoint(2843, 3543, 0), DOUBLE_AGENT_141, RASPBERRY, item(DRAGON_BATTLEAXE), any("Dragon defender or Avernic defender", item(DRAGON_DEFENDER), item(DRAGON_DEFENDER_T), item(AVERNIC_DEFENDER)), any("Any slayer helmet", item(SLAYER_HELMET), item(BLACK_SLAYER_HELMET), item(GREEN_SLAYER_HELMET), item(PURPLE_SLAYER_HELMET), item(RED_SLAYER_HELMET), item(TURQUOISE_SLAYER_HELMET), item(SLAYER_HELMET_I), item(BLACK_SLAYER_HELMET_I), item(GREEN_SLAYER_HELMET_I), item(PURPLE_SLAYER_HELMET_I), item(RED_SLAYER_HELMET_I), item(TURQUOISE_SLAYER_HELMET_I), item(HYDRA_SLAYER_HELMET), item(HYDRA_SLAYER_HELMET_I), item(TWISTED_SLAYER_HELMET), item(TWISTED_SLAYER_HELMET_I))), From abbff79294dba5fd8516bcb5adc713293174483e Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 17 Jul 2020 21:17:39 -0400 Subject: [PATCH 02/24] xpdrops: fix recoloring xpdrops with hide skill icons on The widget child array is filled with nulls to hide the sprites. It is also valid for the child array to have null entries in it in general, but that does not happen otherwise. --- .../runelite/client/plugins/experiencedrop/XpDropPlugin.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index b5ddf8bb22..cca138a93d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -28,6 +28,7 @@ import com.google.inject.Provides; import java.util.Arrays; import java.util.EnumMap; import java.util.Map; +import java.util.Objects; import java.util.stream.IntStream; import javax.inject.Inject; import net.runelite.api.Client; @@ -112,6 +113,7 @@ public class XpDropPlugin extends Plugin final IntStream spriteIDs = Arrays.stream(children) .skip(1) // skip text + .filter(Objects::nonNull) .mapToInt(Widget::getSpriteId); int color = 0; From 11d244bd065121ac5c314a0fdba7f32b9772e94d Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 17 Jul 2020 21:33:46 -0400 Subject: [PATCH 03/24] Revert "xpdrops: fix recoloring xpdrops with hide skill icons on" This reverts commit abbff79294dba5fd8516bcb5adc713293174483e. --- .../runelite/client/plugins/experiencedrop/XpDropPlugin.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index cca138a93d..b5ddf8bb22 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -28,7 +28,6 @@ import com.google.inject.Provides; import java.util.Arrays; import java.util.EnumMap; import java.util.Map; -import java.util.Objects; import java.util.stream.IntStream; import javax.inject.Inject; import net.runelite.api.Client; @@ -113,7 +112,6 @@ public class XpDropPlugin extends Plugin final IntStream spriteIDs = Arrays.stream(children) .skip(1) // skip text - .filter(Objects::nonNull) .mapToInt(Widget::getSpriteId); int color = 0; From 4e3c887e878012949019ebcb2747b32e07bb9bdf Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Sat, 18 Jul 2020 02:25:36 +0100 Subject: [PATCH 04/24] xpdrop: fix recoloring xp drops with hide skill icons enabled --- .../plugins/experiencedrop/XpDropPlugin.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index b5ddf8bb22..51498bd9f9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -96,15 +96,10 @@ public class XpDropPlugin extends Plugin // child 0 is the xpdrop text, everything else are sprite ids for skills final Widget text = children[0]; - if (config.hideSkillIcons()) - { - // keep only text - Arrays.fill(children, 1, children.length, null); - } - PrayerType prayer = getActivePrayerType(); if (prayer == null) { + hideSkillIcons(xpdrop); resetTextColor(text); return; } @@ -150,6 +145,8 @@ public class XpDropPlugin extends Plugin { resetTextColor(text); } + + hideSkillIcons(xpdrop); } private void resetTextColor(Widget widget) @@ -160,6 +157,16 @@ public class XpDropPlugin extends Plugin widget.setTextColor(color); } + private void hideSkillIcons(Widget xpdrop) + { + if (config.hideSkillIcons()) + { + Widget[] children = xpdrop.getChildren(); + // keep only text + Arrays.fill(children, 1, children.length, null); + } + } + private PrayerType getActivePrayerType() { for (XpPrayer prayer : XpPrayer.values()) From 05c4a5c1d5e1cc64672fead0c223f47cfcae1ff1 Mon Sep 17 00:00:00 2001 From: Snowflak3 Date: Mon, 20 Jul 2020 18:00:01 -0500 Subject: [PATCH 05/24] notifier: make flash color configurable Co-authored-by: Snowflak3 --- .../src/main/java/net/runelite/client/Notifier.java | 3 +-- .../net/runelite/client/config/RuneLiteConfig.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/Notifier.java b/runelite-client/src/main/java/net/runelite/client/Notifier.java index fc3083c997..335ca78551 100644 --- a/runelite-client/src/main/java/net/runelite/client/Notifier.java +++ b/runelite-client/src/main/java/net/runelite/client/Notifier.java @@ -98,7 +98,6 @@ public class Notifier .build(); // Notifier properties - private static final Color FLASH_COLOR = new Color(255, 0, 0, 70); private static final int MINIMUM_FLASH_DURATION_MILLIS = 2000; private static final int MINIMUM_FLASH_DURATION_TICKS = MINIMUM_FLASH_DURATION_MILLIS / Constants.CLIENT_TICK_LENGTH; @@ -248,7 +247,7 @@ public class Notifier } final Color color = graphics.getColor(); - graphics.setColor(FLASH_COLOR); + graphics.setColor(runeLiteConfig.notificationFlashColor()); graphics.fill(new Rectangle(client.getCanvas().getSize())); graphics.setColor(color); } diff --git a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java index 81bbfab84f..f0f652aea8 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java @@ -256,6 +256,19 @@ public interface RuneLiteConfig extends Config return false; } + @Alpha + @ConfigItem( + keyName = "notificationFlashColor", + name = "Notification Flash Color", + description = "Sets the color of the notification flashes.", + position = 26, + section = notificationSettings + ) + default Color notificationFlashColor() + { + return new Color(255, 0, 0, 70); + } + @ConfigItem( keyName = "fontType", name = "Dynamic Overlay Font", From e8d4ff38cba79d1e26f68a2e9fb4899c6736f3de Mon Sep 17 00:00:00 2001 From: trimbe <19672127+trimbe@users.noreply.github.com> Date: Mon, 20 Jul 2020 23:42:27 -0700 Subject: [PATCH 06/24] banktags: Remove tab separators from tag tabs --- .../main/java/net/runelite/api/ScriptID.java | 9 ++ .../net/runelite/api/widgets/WidgetID.java | 1 + .../net/runelite/api/widgets/WidgetInfo.java | 1 + .../plugins/banktags/BankTagsConfig.java | 11 +++ .../plugins/banktags/BankTagsPlugin.java | 89 +++++++++++++++++++ 5 files changed, 111 insertions(+) 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 af79f87a2f..520150c27c 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -284,4 +284,13 @@ public final class ScriptID */ @ScriptArguments(integer = 4, string = 1) public static final int XPDROPS_SETDROPSIZE = 996; + + /** + * Main layout script for the bank + *
    + *
  • int (WidgetID) * 17, various widgets making up the bank interface
  • + *
+ */ + @ScriptArguments(integer = 17) + public static final int BANKMAIN_BUILD = 277; } 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 be4e856996..bf4dcd9c7a 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 @@ -259,6 +259,7 @@ public class WidgetID static final int CONTENT_CONTAINER = 9; static final int TAB_CONTAINER = 10; static final int ITEM_CONTAINER = 12; + static final int SCROLLBAR = 13; static final int SEARCH_BUTTON_BACKGROUND = 39; static final int DEPOSIT_INVENTORY = 41; static final int DEPOSIT_EQUIPMENT = 43; 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 a8ba4b369e..178768fa5d 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 @@ -146,6 +146,7 @@ public enum WidgetInfo BANK_ITEM_COUNT_TOP(WidgetID.BANK_GROUP_ID, WidgetID.Bank.ITEM_COUNT_TOP), BANK_ITEM_COUNT_BAR(WidgetID.BANK_GROUP_ID, WidgetID.Bank.ITEM_COUNT_BAR), BANK_ITEM_COUNT_BOTTOM(WidgetID.BANK_GROUP_ID, WidgetID.Bank.ITEM_COUNT_BOTTOM), + BANK_SCROLLBAR(WidgetID.BANK_GROUP_ID, WidgetID.Bank.SCROLLBAR), BANK_PIN_CONTAINER(WidgetID.BANK_PIN_GROUP_ID, WidgetID.BankPin.CONTAINER), BANK_SETTINGS_BUTTON(WidgetID.BANK_GROUP_ID, WidgetID.Bank.SETTINGS_BUTTON), BANK_TUTORIAL_BUTTON(WidgetID.BANK_GROUP_ID, WidgetID.Bank.TUTORIAL_BUTTON), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java index 61b734c836..00951fdce3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java @@ -53,6 +53,17 @@ public interface BankTagsConfig extends Config return true; } + @ConfigItem( + keyName = "removeTabSeparators", + name = "Remove tab separators", + description = "Remove the tab separators normally present in tag tabs", + position = 3 + ) + default boolean removeSeparators() + { + return false; + } + @ConfigItem( keyName = "position", name = "", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java index 607861bfd8..f28f86fec8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java @@ -26,6 +26,7 @@ */ package net.runelite.client.plugins.banktags; +import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.primitives.Shorts; import com.google.inject.Provides; @@ -33,6 +34,7 @@ import java.awt.event.MouseWheelEvent; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.List; import java.util.Set; import java.util.TreeSet; @@ -48,6 +50,8 @@ import net.runelite.api.ItemContainer; import net.runelite.api.KeyCode; import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; +import net.runelite.api.ScriptID; +import net.runelite.api.SpriteID; import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; import net.runelite.api.events.DraggingWidgetChanged; @@ -56,6 +60,7 @@ import net.runelite.api.events.GrandExchangeSearched; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.ScriptCallbackEvent; +import net.runelite.api.events.ScriptPostFired; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.vars.InputType; import net.runelite.api.widgets.Widget; @@ -96,6 +101,10 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener public static final String ICON_SEARCH = "icon_"; public static final String TAG_TABS_CONFIG = "tagtabs"; public static final String VAR_TAG_SUFFIX = "*"; + private static final int ITEMS_PER_ROW = 8; + private static final int ITEM_VERTICAL_SPACING = 36; + private static final int ITEM_HORIZONTAL_SPACING = 48; + private static final int ITEM_ROW_START = 51; private static final int MAX_RESULT_COUNT = 250; @@ -450,6 +459,86 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener } } + private boolean isSearching() + { + return client.getVar(VarClientInt.INPUT_TYPE) == InputType.SEARCH.getType() + || (client.getVar(VarClientInt.INPUT_TYPE) <= 0 + && !Strings.isNullOrEmpty(client.getVar(VarClientStr.INPUT_TEXT))); + } + + @Subscribe + public void onScriptPostFired(ScriptPostFired event) + { + if (event.getScriptId() != ScriptID.BANKMAIN_BUILD || !config.removeSeparators()) + { + return; + } + + // allow time for the tab interface to become active + clientThread.invokeLater(() -> + { + if (!isSearching() || !tabInterface.isActive()) + { + return; + } + + Widget itemContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER); + if (itemContainer == null) + { + return; + } + + int items = 0; + + Widget[] containerChildren = itemContainer.getDynamicChildren(); + + // sort the child array as the items are not in the displayed order + Arrays.sort(containerChildren, Comparator.comparing(Widget::getOriginalY) + .thenComparing(Widget::getOriginalX)); + + for (Widget child : containerChildren) + { + if (child.getItemId() != -1 && !child.isHidden()) + { + // calculate correct item position as if this was a normal tab + int adjYOffset = (items / ITEMS_PER_ROW) * ITEM_VERTICAL_SPACING; + int adjXOffset = (items % ITEMS_PER_ROW) * ITEM_HORIZONTAL_SPACING + ITEM_ROW_START; + + if (child.getOriginalY() != adjYOffset) + { + child.setOriginalY(adjYOffset); + child.revalidate(); + } + + if (child.getOriginalX() != adjXOffset) + { + child.setOriginalX(adjXOffset); + child.revalidate(); + } + + items++; + } + + // separator line or tab text + if (child.getSpriteId() == SpriteID.RESIZEABLE_MODE_SIDE_PANEL_BACKGROUND + || child.getText().contains("Tab")) + { + child.setHidden(true); + } + } + + int itemContainerHeight = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER).getHeight(); + // add a second row of height here to allow users to scroll down when the last row is partially visible + int adjustedScrollHeight = (items / ITEMS_PER_ROW) * ITEM_VERTICAL_SPACING + ITEM_VERTICAL_SPACING; + itemContainer.setScrollHeight(Math.max(adjustedScrollHeight, itemContainerHeight)); + + client.runScript(ScriptID.UPDATE_SCROLLBAR, + WidgetInfo.BANK_SCROLLBAR.getId(), + WidgetInfo.BANK_ITEM_CONTAINER.getId(), + 0); + }); + } + @Subscribe public void onGameTick(GameTick event) { From 4362adb876c13ce7129a895bc21279ff45f54014 Mon Sep 17 00:00:00 2001 From: Cyborger1 <45152844+Cyborger1@users.noreply.github.com> Date: Tue, 21 Jul 2020 04:13:11 -0400 Subject: [PATCH 07/24] itemstats: check for two handed interactions (#12168) --- .../http/api/item/ItemEquipmentStats.java | 5 ++- .../plugins/itemstats/ItemStatOverlay.java | 41 +++++++++++++++---- .../itemstats/ItemStatOverlayTest.java | 4 ++ 3 files changed, 42 insertions(+), 8 deletions(-) diff --git a/http-api/src/main/java/net/runelite/http/api/item/ItemEquipmentStats.java b/http-api/src/main/java/net/runelite/http/api/item/ItemEquipmentStats.java index 5f7fdaccbe..5848513c00 100644 --- a/http-api/src/main/java/net/runelite/http/api/item/ItemEquipmentStats.java +++ b/http-api/src/main/java/net/runelite/http/api/item/ItemEquipmentStats.java @@ -24,6 +24,7 @@ */ package net.runelite.http.api.item; +import com.google.gson.annotations.SerializedName; import lombok.Builder; import lombok.Value; @@ -33,6 +34,9 @@ public class ItemEquipmentStats { private int slot; + @SerializedName("is2h") + private boolean isTwoHanded; + private int astab; private int aslash; private int acrush; @@ -51,4 +55,3 @@ public class ItemEquipmentStats private int prayer; private int aspeed; } - diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java index ab0a527904..ea115dc148 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java @@ -239,10 +239,18 @@ public class ItemStatOverlay extends Overlay return b.toString(); } + private ItemStats getItemStatsFromContainer(ItemContainer container, int slotID) + { + final Item item = container.getItem(slotID); + return item != null ? itemManager.getItemStats(item.getId(), false) : null; + } + @VisibleForTesting String buildStatBonusString(ItemStats s) { ItemStats other = null; + // Used if switching into a 2 handed weapon to store off-hand stats + ItemStats offHand = null; final ItemEquipmentStats currentEquipment = s.getEquipment(); ItemContainer c = client.getItemContainer(InventoryID.EQUIPMENT); @@ -250,20 +258,39 @@ public class ItemStatOverlay extends Overlay { final int slot = currentEquipment.getSlot(); - final Item item = c.getItem(slot); - if (item != null) + other = getItemStatsFromContainer(c, slot); + // Check if this is a shield and there's a two-handed weapon equipped + if (other == null && slot == EquipmentInventorySlot.SHIELD.getSlotIdx()) { - other = itemManager.getItemStats(item.getId(), false); + other = getItemStatsFromContainer(c, EquipmentInventorySlot.WEAPON.getSlotIdx()); + if (other != null) + { + final ItemEquipmentStats otherEquip = other.getEquipment(); + if (otherEquip != null) + { + // Account for speed change when two handed weapon gets removed + // shield - (2h - unarmed) == shield - 2h + unarmed + other = otherEquip.isTwoHanded() ? other.subtract(UNARMED) : null; + } + } } - if (other == null && slot == EquipmentInventorySlot.WEAPON.getSlotIdx()) + if (slot == EquipmentInventorySlot.WEAPON.getSlotIdx()) { - // Unarmed - other = UNARMED; + if (other == null) + { + other = UNARMED; + } + + // Get offhand's stats to be removed from equipping a 2h weapon + if (currentEquipment.isTwoHanded()) + { + offHand = getItemStatsFromContainer(c, EquipmentInventorySlot.SHIELD.getSlotIdx()); + } } } - final ItemStats subtracted = s.subtract(other); + final ItemStats subtracted = s.subtract(other).subtract(offHand); final ItemEquipmentStats e = subtracted.getEquipment(); final StringBuilder b = new StringBuilder(); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java index 9b96f02643..3151ff91c1 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java @@ -56,6 +56,7 @@ public class ItemStatOverlayTest private static final ItemStats ABYSSAL_DAGGER = new ItemStats(false, true, 0.453, 8, ItemEquipmentStats.builder() .slot(EquipmentInventorySlot.WEAPON.getSlotIdx()) + .isTwoHanded(false) .astab(75) .aslash(40) .acrush(-4) @@ -67,6 +68,7 @@ public class ItemStatOverlayTest private static final ItemStats KATANA = new ItemStats(false, true, 0, 8, ItemEquipmentStats.builder() .slot(EquipmentInventorySlot.WEAPON.getSlotIdx()) + .isTwoHanded(true) .astab(7) .aslash(45) .dstab(3) @@ -79,6 +81,7 @@ public class ItemStatOverlayTest private static final ItemStats BLOWPIPE = new ItemStats(false, true, 0, 0, ItemEquipmentStats.builder() .slot(EquipmentInventorySlot.WEAPON.getSlotIdx()) + .isTwoHanded(true) .arange(60) .rstr(40) .aspeed(3) @@ -86,6 +89,7 @@ public class ItemStatOverlayTest private static final ItemStats HEAVY_BALLISTA = new ItemStats(false, true, 4, 8, ItemEquipmentStats.builder() .slot(EquipmentInventorySlot.WEAPON.getSlotIdx()) + .isTwoHanded(true) .arange(110) .aspeed(7) .build()); From d8df5920bae28ebbd230aab09e806f8d48fd9486 Mon Sep 17 00:00:00 2001 From: trimbe <19672127+trimbe@users.noreply.github.com> Date: Mon, 20 Jul 2020 23:43:12 -0700 Subject: [PATCH 08/24] banktags: Add tag tab drag blocking --- .../client/plugins/banktags/BankTagsConfig.java | 11 +++++++++++ .../client/plugins/banktags/tabs/TabInterface.java | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java index 00951fdce3..6efc69b613 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java @@ -64,6 +64,17 @@ public interface BankTagsConfig extends Config return false; } + @ConfigItem( + keyName = "preventTagTabDrags", + name = "Prevent tag tab item dragging", + description = "Ignore dragged items to prevent unwanted bank item reordering", + position = 4 + ) + default boolean preventTagTabDrags() + { + return false; + } + @ConfigItem( keyName = "position", name = "", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java index a9c930258f..1705e1a01f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java @@ -802,6 +802,14 @@ public class TabInterface Widget draggedOn = client.getDraggedOnWidget(); Widget draggedWidget = client.getDraggedWidget(); + // Returning early or nulling the drag release listener has no effect. Hence, we need to + // null the draggedOnWidget instead. + if (draggedWidget.getId() == WidgetInfo.BANK_ITEM_CONTAINER.getId() && isActive() + && config.preventTagTabDrags()) + { + client.setDraggedOnWidget(null); + } + if (!isDragging || draggedOn == null) { return; From 97a356a596cfa911ee4320fdb9a373d533dd0c95 Mon Sep 17 00:00:00 2001 From: Alowan Date: Wed, 22 Jul 2020 05:37:59 +0200 Subject: [PATCH 09/24] SpriteID: Fix UNKNOWN_STANCE_ICON_2 ID (#12202) --- runelite-api/src/main/java/net/runelite/api/SpriteID.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/SpriteID.java b/runelite-api/src/main/java/net/runelite/api/SpriteID.java index 9f53e45448..3dc86dacf0 100644 --- a/runelite-api/src/main/java/net/runelite/api/SpriteID.java +++ b/runelite-api/src/main/java/net/runelite/api/SpriteID.java @@ -431,7 +431,7 @@ public final class SpriteID public static final int SPELL_FIRE_SURGE_DISABLED = 415; /* Unmapped: 416, 417, 418 */ public static final int UNKNOWN_STANCE_ICON_1 = 419; - public static final int UNKNOWN_STANCE_ICON_2 = 320; + public static final int UNKNOWN_STANCE_ICON_2 = 420; public static final int UNKNOWN_STANCE_ICON_3 = 421; public static final int MINIMAP_DESTINATION_FLAG = 422; public static final int CHATBOX_BADGE_CROWN_PLAYER_MODERATOR = 423; From 92344938d366e0564062e2140f9654e9c20244bd Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 22 Jul 2020 15:29:08 -0400 Subject: [PATCH 10/24] dps counter: update boss list Co-authored-by: MarbleTurtle --- .../plugins/dpscounter/DpsCounterPlugin.java | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java index fcdec4bfa0..cc317b790d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java @@ -61,18 +61,41 @@ public class DpsCounterPlugin extends Plugin { private static final ImmutableSet BOSSES = ImmutableSet.of( ABYSSAL_SIRE, ABYSSAL_SIRE_5887, ABYSSAL_SIRE_5888, ABYSSAL_SIRE_5889, ABYSSAL_SIRE_5890, ABYSSAL_SIRE_5891, ABYSSAL_SIRE_5908, + ALCHEMICAL_HYDRA, ALCHEMICAL_HYDRA_8616, ALCHEMICAL_HYDRA_8617, ALCHEMICAL_HYDRA_8618, ALCHEMICAL_HYDRA_8619, ALCHEMICAL_HYDRA_8620, ALCHEMICAL_HYDRA_8621, ALCHEMICAL_HYDRA_8622, + AHRIM_THE_BLIGHTED, DHAROK_THE_WRETCHED, GUTHAN_THE_INFESTED, KARIL_THE_TAINTED, TORAG_THE_CORRUPTED, VERAC_THE_DEFILED, + BRYOPHYTA, CALLISTO, CALLISTO_6609, CERBERUS, CERBERUS_5863, CERBERUS_5866, CHAOS_ELEMENTAL, CHAOS_ELEMENTAL_6505, + CHAOS_FANATIC, + COMMANDER_ZILYANA, COMMANDER_ZILYANA_6493, CORPOREAL_BEAST, + CRAZY_ARCHAEOLOGIST, + CRYSTALLINE_HUNLLEF, CRYSTALLINE_HUNLLEF_9022, CRYSTALLINE_HUNLLEF_9023, CRYSTALLINE_HUNLLEF_9024, + DAGANNOTH_SUPREME, DAGANNOTH_PRIME, DAGANNOTH_REX, DAGANNOTH_SUPREME_6496, DAGANNOTH_PRIME_6497, DAGANNOTH_REX_6498, + DUSK, DAWN, DUSK_7851, DAWN_7852, DAWN_7853, DUSK_7854, DUSK_7855, GENERAL_GRAARDOR, GENERAL_GRAARDOR_6494, GIANT_MOLE, GIANT_MOLE_6499, + HESPORI, KALPHITE_QUEEN, KALPHITE_QUEEN_963, KALPHITE_QUEEN_965, KALPHITE_QUEEN_4303, KALPHITE_QUEEN_4304, KALPHITE_QUEEN_6500, KALPHITE_QUEEN_6501, KING_BLACK_DRAGON, KING_BLACK_DRAGON_2642, KING_BLACK_DRAGON_6502, + KRAKEN, KRAKEN_6640, KRAKEN_6656, + KREEARRA, KREEARRA_6492, KRIL_TSUTSAROTH, KRIL_TSUTSAROTH_6495, + THE_MIMIC, THE_MIMIC_8633, + THE_NIGHTMARE, THE_NIGHTMARE_9426, THE_NIGHTMARE_9427, THE_NIGHTMARE_9428, THE_NIGHTMARE_9429, THE_NIGHTMARE_9430, THE_NIGHTMARE_9431, THE_NIGHTMARE_9432, THE_NIGHTMARE_9433, + OBOR, SARACHNIS, + SCORPIA, + SKOTIZO, + THERMONUCLEAR_SMOKE_DEVIL, + TZKALZUK, + TZTOKJAD, TZTOKJAD_6506, VENENATIS, VENENATIS_6610, VETION, VETION_REBORN, + VORKATH, VORKATH_8058, VORKATH_8059, VORKATH_8060, VORKATH_8061, + ZALCANO, ZALCANO_9050, + ZULRAH, ZULRAH_2043, ZULRAH_2044, // ToB THE_MAIDEN_OF_SUGADINTI, THE_MAIDEN_OF_SUGADINTI_8361, THE_MAIDEN_OF_SUGADINTI_8362, THE_MAIDEN_OF_SUGADINTI_8363, THE_MAIDEN_OF_SUGADINTI_8364, THE_MAIDEN_OF_SUGADINTI_8365, @@ -95,9 +118,7 @@ public class DpsCounterPlugin extends Plugin GUARDIAN, GUARDIAN_7570, GUARDIAN_7571, GUARDIAN_7572, LIZARDMAN_SHAMAN_7573, LIZARDMAN_SHAMAN_7574, ICE_DEMON, ICE_DEMON_7585, - SKELETAL_MYSTIC, SKELETAL_MYSTIC_7605, SKELETAL_MYSTIC_7606, - - THE_NIGHTMARE, THE_NIGHTMARE_9426, THE_NIGHTMARE_9427, THE_NIGHTMARE_9428, THE_NIGHTMARE_9429, THE_NIGHTMARE_9430, THE_NIGHTMARE_9431, THE_NIGHTMARE_9432, THE_NIGHTMARE_9433 + SKELETAL_MYSTIC, SKELETAL_MYSTIC_7605, SKELETAL_MYSTIC_7606 ); @Inject From 5d0adf38da35f88d29f4627a6398cf5f64b7c115 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 22 Jul 2020 16:37:08 -0400 Subject: [PATCH 11/24] api: add size() to itemcontainer --- .../src/main/java/net/runelite/api/ItemContainer.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemContainer.java b/runelite-api/src/main/java/net/runelite/api/ItemContainer.java index 81e2074106..9bd2332e86 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemContainer.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemContainer.java @@ -67,4 +67,10 @@ public interface ItemContainer extends Node * @see ItemID */ int count(int itemId); + + /** + * Get the number of items in this item container. May include empty slots. + * @return + */ + int size(); } From ead0b2819316481fadfab1d19b51d85732e4a895 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 22 Jul 2020 16:24:44 -0400 Subject: [PATCH 12/24] bank plugin: show bank value during searches This also shows the value of tag tabs, since they internally are just bank searches. Co-authored-by: JZomerlei --- .../client/plugins/bank/BankPlugin.java | 157 +++++++----------- .../src/main/scripts/BankSearchLayout.rs2asm | 6 - 2 files changed, 62 insertions(+), 101 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java index 5b0524888e..6566b741be 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java @@ -28,12 +28,9 @@ package net.runelite.client.plugins.bank; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.HashMultiset; -import com.google.common.collect.ImmutableList; import com.google.common.collect.Multiset; import com.google.inject.Provides; import java.text.ParseException; -import java.util.Arrays; -import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.annotation.Nullable; @@ -48,7 +45,6 @@ import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; import net.runelite.api.ScriptID; import net.runelite.api.VarClientStr; -import net.runelite.api.Varbits; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuShouldLeftClick; @@ -78,18 +74,6 @@ import net.runelite.client.util.QuantityFormatter; @Slf4j public class BankPlugin extends Plugin { - private static final List TAB_VARBITS = ImmutableList.of( - Varbits.BANK_TAB_ONE_COUNT, - Varbits.BANK_TAB_TWO_COUNT, - Varbits.BANK_TAB_THREE_COUNT, - Varbits.BANK_TAB_FOUR_COUNT, - Varbits.BANK_TAB_FIVE_COUNT, - Varbits.BANK_TAB_SIX_COUNT, - Varbits.BANK_TAB_SEVEN_COUNT, - Varbits.BANK_TAB_EIGHT_COUNT, - Varbits.BANK_TAB_NINE_COUNT - ); - private static final String DEPOSIT_WORN = "Deposit worn items"; private static final String DEPOSIT_INVENTORY = "Deposit inventory"; private static final String DEPOSIT_LOOT = "Deposit loot"; @@ -177,17 +161,6 @@ public class BankPlugin extends Plugin switch (event.getEventName()) { - case "setBankTitle": - final ContainerPrices prices = calculate(getBankTabItems()); - if (prices == null) - { - return; - } - - final String strCurrentTab = createValueText(prices); - - stringStack[stringStackSize - 1] += strCurrentTab; - break; case "bankSearchFilter": int itemId = intStack[intStackSize - 1]; String search = stringStack[stringStackSize - 1]; @@ -251,18 +224,42 @@ public class BankPlugin extends Plugin @Subscribe public void onScriptPostFired(ScriptPostFired event) { - if (event.getScriptId() != ScriptID.BANKMAIN_SEARCH_REFRESH) + if (event.getScriptId() == ScriptID.BANKMAIN_BUILD) { - return; - } + // Compute bank prices using only the shown items so that we can show bank value during searches + final Widget bankItemContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER); + final ItemContainer bankContainer = client.getItemContainer(InventoryID.BANK); + final Widget[] children = bankItemContainer.getChildren(); + long geTotal = 0, haTotal = 0; - // vanilla only lays out the bank every 40 client ticks, so if the search input has changed, - // and the bank wasn't laid out this tick, lay it out early - final String inputText = client.getVar(VarClientStr.INPUT_TEXT); - if (searchString != inputText && client.getGameCycle() % 40 != 0) + log.debug("Computing bank price of {} items", bankContainer.size()); + + // The first components are the bank items, followed by tabs etc. There are always 816 components regardless + // of bank size, but we only need to check up to the bank size. + for (int i = 0; i < bankContainer.size(); ++i) + { + Widget child = children[i]; + if (child != null && !child.isSelfHidden() && child.getItemId() > -1) + { + final int alchPrice = getHaPrice(child.getItemId()); + geTotal += (long) itemManager.getItemPrice(child.getItemId()) * child.getItemQuantity(); + haTotal += (long) alchPrice * child.getItemQuantity(); + } + } + + Widget bankTitle = client.getWidget(WidgetInfo.BANK_TITLE_BAR); + bankTitle.setText(bankTitle.getText() + createValueText(geTotal, haTotal)); + } + else if (event.getScriptId() == ScriptID.BANKMAIN_SEARCH_REFRESH) { - clientThread.invokeLater(bankSearch::layoutBank); - searchString = inputText; + // vanilla only lays out the bank every 40 client ticks, so if the search input has changed, + // and the bank wasn't laid out this tick, lay it out early + final String inputText = client.getVar(VarClientStr.INPUT_TEXT); + if (searchString != inputText && client.getGameCycle() % 40 != 0) + { + clientThread.invokeLater(bankSearch::layoutBank); + searchString = inputText; + } } } @@ -281,78 +278,50 @@ public class BankPlugin extends Plugin } } - private String createValueText(final ContainerPrices prices) + private String createValueText(long gePrice, long haPrice) { - final long gePrice = prices.getGePrice(); - final long haPrice = prices.getHighAlchPrice(); - - String strCurrentTab = ""; + StringBuilder stringBuilder = new StringBuilder(); if (config.showGE() && gePrice != 0) { - strCurrentTab += " ("; + stringBuilder.append(" ("); if (config.showHA()) { - strCurrentTab += "GE: "; + stringBuilder.append("GE: "); } if (config.showExact()) { - strCurrentTab += QuantityFormatter.formatNumber(gePrice) + ")"; + stringBuilder.append(QuantityFormatter.formatNumber(gePrice)); } else { - strCurrentTab += QuantityFormatter.quantityToStackSize(gePrice) + ")"; + stringBuilder.append(QuantityFormatter.quantityToStackSize(gePrice)); } + stringBuilder.append(')'); } if (config.showHA() && haPrice != 0) { - strCurrentTab += " ("; + stringBuilder.append(" ("); if (config.showGE()) { - strCurrentTab += "HA: "; + stringBuilder.append("HA: "); } if (config.showExact()) { - strCurrentTab += QuantityFormatter.formatNumber(haPrice) + ")"; + stringBuilder.append(QuantityFormatter.formatNumber(haPrice)); } else { - strCurrentTab += QuantityFormatter.quantityToStackSize(haPrice) + ")"; + stringBuilder.append(QuantityFormatter.quantityToStackSize(haPrice)); } + stringBuilder.append(')'); } - return strCurrentTab; - } - - private Item[] getBankTabItems() - { - final ItemContainer container = client.getItemContainer(InventoryID.BANK); - if (container == null) - { - return null; - } - - final Item[] items = container.getItems(); - int currentTab = client.getVar(Varbits.CURRENT_BANK_TAB); - - if (currentTab > 0) - { - int startIndex = 0; - - for (int i = currentTab - 1; i > 0; i--) - { - startIndex += client.getVar(TAB_VARBITS.get(i - 1)); - } - - int itemCount = client.getVar(TAB_VARBITS.get(currentTab - 1)); - return Arrays.copyOfRange(items, startIndex, startIndex + itemCount); - } - - return items; + return stringBuilder.toString(); } private void updateSeedVaultTotal() @@ -375,8 +344,7 @@ public class BankPlugin extends Plugin return; } - final String titleText = createValueText(prices); - + final String titleText = createValueText(prices.getGePrice(), prices.getHighAlchPrice()); title.setText(SEED_VAULT_TITLE + titleText); } @@ -509,24 +477,23 @@ public class BankPlugin extends Plugin continue; } - switch (id) - { - case ItemID.COINS_995: - ge += qty; - alch += qty; - break; - case ItemID.PLATINUM_TOKEN: - ge += qty * 1000L; - alch += qty * 1000L; - break; - default: - final int alchPrice = itemManager.getItemComposition(id).getHaPrice(); - alch += (long) alchPrice * qty; - ge += (long) itemManager.getItemPrice(id) * qty; - break; - } + alch += (long) getHaPrice(id) * qty; + ge += (long) itemManager.getItemPrice(id) * qty; } return new ContainerPrices(ge, alch); } + + private int getHaPrice(int itemId) + { + switch (itemId) + { + case ItemID.COINS_995: + return 1; + case ItemID.PLATINUM_TOKEN: + return 1000; + default: + return itemManager.getItemComposition(itemId).getHaPrice(); + } + } } diff --git a/runelite-client/src/main/scripts/BankSearchLayout.rs2asm b/runelite-client/src/main/scripts/BankSearchLayout.rs2asm index 89f8bb4d87..04692f488f 100644 --- a/runelite-client/src/main/scripts/BankSearchLayout.rs2asm +++ b/runelite-client/src/main/scripts/BankSearchLayout.rs2asm @@ -823,8 +823,6 @@ LABEL725: jump LABEL729 LABEL726: sconst "The Bank of Gielinor" - sconst "setBankTitle" ; - runelite_callback ; iload 5 if_settext LABEL729: @@ -987,8 +985,6 @@ LABEL857: get_varbit 4150 enum join_string 2 - sconst "setBankTitle" ; - runelite_callback ; iload 5 if_settext jump LABEL873 @@ -997,8 +993,6 @@ LABEL867: get_varbit 4150 tostring join_string 2 - sconst "setBankTitle" ; - runelite_callback ; iload 5 if_settext FinishBuilding: From e62866d391a56a2916aa0b3ff84255f19a975b1f Mon Sep 17 00:00:00 2001 From: Sean Dewar Date: Thu, 23 Jul 2020 01:41:06 +0100 Subject: [PATCH 13/24] WidgetOverlay: Make hallowed sepulchre timer moveable (#12200) --- .../src/main/java/net/runelite/api/widgets/WidgetID.java | 6 ++++++ .../src/main/java/net/runelite/api/widgets/WidgetInfo.java | 1 + .../java/net/runelite/client/ui/overlay/WidgetOverlay.java | 1 + 3 files changed, 8 insertions(+) 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 bf4dcd9c7a..d7051a8967 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 @@ -153,6 +153,7 @@ public class WidgetID public static final int ADVENTURE_LOG_ID = 187; public static final int GENERIC_SCROLL_GROUP_ID = 625; public static final int GAUNTLET_TIMER_GROUP_ID = 637; + public static final int HALLOWED_SEPULCHRE_TIMER_GROUP_ID = 668; public static final int BANK_PIN_GROUP_ID = 213; public static final int HEALTH_OVERLAY_BAR_GROUP_ID = 303; @@ -914,6 +915,11 @@ public class WidgetID static final int CONTAINER = 2; } + static class HallowedSepulchreTimer + { + static final int CONTAINER = 2; + } + static class BankPin { static final int CONTAINER = 0; 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 178768fa5d..079c57f448 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 @@ -539,6 +539,7 @@ public enum WidgetInfo SKILLS_CONTAINER(WidgetID.SKILLS_GROUP_ID, WidgetID.Skills.CONTAINER), GAUNTLET_TIMER_CONTAINER(WidgetID.GAUNTLET_TIMER_GROUP_ID, WidgetID.GauntletTimer.CONTAINER), + HALLOWED_SEPULCHRE_TIMER_CONTAINER(WidgetID.HALLOWED_SEPULCHRE_TIMER_GROUP_ID, WidgetID.HallowedSepulchreTimer.CONTAINER), HEALTH_OVERLAY_BAR(WidgetID.HEALTH_OVERLAY_BAR_GROUP_ID, WidgetID.EncounterHealthBar.CONTAINER); diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java index 1f2da4539b..c578ca3ee8 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java @@ -59,6 +59,7 @@ public class WidgetOverlay extends Overlay .put(WidgetInfo.LMS_INFO, OverlayPosition.TOP_RIGHT) .put(WidgetInfo.LMS_KDA, OverlayPosition.TOP_RIGHT) .put(WidgetInfo.GAUNTLET_TIMER_CONTAINER, OverlayPosition.TOP_LEFT) + .put(WidgetInfo.HALLOWED_SEPULCHRE_TIMER_CONTAINER, OverlayPosition.TOP_LEFT) .put(WidgetInfo.HEALTH_OVERLAY_BAR, OverlayPosition.TOP_CENTER) .build(); From c7c6d8b1184a1be6b87bf90fdcec2f990b6e1a1d Mon Sep 17 00:00:00 2001 From: Arman Rafian Date: Wed, 22 Jul 2020 19:03:01 -0700 Subject: [PATCH 14/24] cannon: Add common wilderness cannon spots (#12132) This commit adds wilderness cannon spots for bears, black demons, black knights, elder chaos druids, fire giants, greater demons, hill giants, scorpions, and zombies. --- .../client/plugins/cannon/CannonSpots.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java index 764a149520..18f7466203 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java @@ -34,15 +34,15 @@ enum CannonSpots { BLOODVELDS(new WorldPoint(2439, 9821, 0), new WorldPoint(2448, 9821, 0), new WorldPoint(2472, 9832, 0), new WorldPoint(2453, 9817, 0)), - FIRE_GIANTS(new WorldPoint(2393, 9782, 0), new WorldPoint(2412, 9776, 0), new WorldPoint(2401, 9780, 0)), + FIRE_GIANTS(new WorldPoint(2393, 9782, 0), new WorldPoint(2412, 9776, 0), new WorldPoint(2401, 9780, 0), new WorldPoint(3047, 10340, 0)), ABERRANT_SPECTRES(new WorldPoint(2456, 9791, 0)), HELLHOUNDS(new WorldPoint(2431, 9776, 0), new WorldPoint(2413, 9786, 0), new WorldPoint(2783, 9686, 0), new WorldPoint(3198, 10071, 0)), - BLACK_DEMONS(new WorldPoint(2859, 9778, 0), new WorldPoint(2841, 9791, 0), new WorldPoint(1421, 10089, 1)), - BLACK_KNIGHTS(new WorldPoint(2906, 9685, 0)), + BLACK_DEMONS(new WorldPoint(2859, 9778, 0), new WorldPoint(2841, 9791, 0), new WorldPoint(1421, 10089, 1), new WorldPoint(3174, 10154, 0), new WorldPoint(3089, 9960, 0)), + BLACK_KNIGHTS(new WorldPoint(2906, 9685, 0), new WorldPoint(3053, 3852, 0)), ELVES(new WorldPoint(2044, 4635, 0), new WorldPoint(3278, 6098, 0)), SUQAHS(new WorldPoint(2114, 3943, 0)), TROLLS(new WorldPoint(2401, 3856, 0), new WorldPoint(1242, 3517, 0)), - GREATER_DEMONS(new WorldPoint(1435, 10086, 2)), + GREATER_DEMONS(new WorldPoint(1435, 10086, 2), new WorldPoint(3224, 10132, 0)), BRINE_RAT(new WorldPoint(2707, 10132, 0)), DAGGANOTH(new WorldPoint(2524, 10020, 0)), DARK_BEAST(new WorldPoint(1992, 4655, 0)), @@ -67,7 +67,12 @@ enum CannonSpots MAGIC_AXE(new WorldPoint(3190, 3960, 0)), EARTH_WARRIOR(new WorldPoint(3120, 9987, 0)), ICE_WARRIOR(new WorldPoint(2955, 3876, 0)), - BANDIT(new WorldPoint(3037, 3700, 0)); + BANDIT(new WorldPoint(3037, 3700, 0)), + BEAR(new WorldPoint(3113, 3672, 0)), + ELDER_CHAOS_DRUID(new WorldPoint(3237, 3622, 0)), + HILL_GIANT(new WorldPoint(3044, 10318, 0)), + SCORPION(new WorldPoint(3233, 10335, 0)), + ZOMBIE(new WorldPoint(3172, 3677, 0)); @Getter private static final List cannonSpots = new ArrayList<>(); From 3312fa92be00c141272adaa0929b46788ac3ed6b Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Wed, 22 Jul 2020 22:25:28 -0400 Subject: [PATCH 15/24] slayer: Add missing task locations (#12099) This adds the Myths' Guild Dungeon and Meiyerditch Laboratories as possible Konar task locations. --- .../src/main/java/net/runelite/client/plugins/slayer/Task.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java index 6be7c6d454..4d77b1b03e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java @@ -207,9 +207,11 @@ enum Task "Lithkren Vault", "Lizardman Canyon", "Lizardman Settlement", + "Meiyerditch Laboratories", "Molch", "Mount Quidamortem", "Mourner Tunnels", + "Myths' Guild Dungeon", "Ogre Enclave", "Slayer Tower", "Smoke Devil Dungeon", From 3556b007fc0cbc0c882555b735d8510cd980d9f9 Mon Sep 17 00:00:00 2001 From: MarbleTurtle <60723971+MarbleTurtle@users.noreply.github.com> Date: Wed, 22 Jul 2020 19:30:38 -0700 Subject: [PATCH 16/24] FaloTheBardClue: Add Avernic to defender step (#12172) --- .../client/plugins/cluescrolls/clues/FaloTheBardClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/FaloTheBardClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/FaloTheBardClue.java index c91a054e32..a517bd06b0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/FaloTheBardClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/FaloTheBardClue.java @@ -58,7 +58,7 @@ public class FaloTheBardClue extends ClueScroll implements TextClueScroll, NpcCl new FaloTheBardClue("A molten beast with fiery breath, you acquire these with its death.", item(LAVA_DRAGON_BONES)), new FaloTheBardClue("A shiny helmet of flight, to obtain this with melee, struggle you might.", item(ARMADYL_HELMET)), // The wiki doesn't specify whether the trimmed dragon defender will work so I've assumed that it doesn't - new FaloTheBardClue("A sword held in the other hand, red its colour, Cyclops strength you must withstand.", item(DRAGON_DEFENDER)), + new FaloTheBardClue("A sword held in the other hand, red its colour, Cyclops strength you must withstand.", any("Dragon or Avernic Defender", item(DRAGON_DEFENDER), item(AVERNIC_DEFENDER))), new FaloTheBardClue("A token used to kill mythical beasts, in hopes of a blade or just for an xp feast.", item(WARRIOR_GUILD_TOKEN)), new FaloTheBardClue("Green is my favourite, mature ale I do love, this takes your herblore above.", item(GREENMANS_ALEM)), new FaloTheBardClue("It can hold down a boat or crush a goat, this object, you see, is quite heavy.", item(BARRELCHEST_ANCHOR)), From e4c525dc1f7a16a2311a0faa4e908fe0ca96e2d9 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Wed, 22 Jul 2020 23:20:28 -0400 Subject: [PATCH 17/24] clues: Fix Champions' guild beginner clue description (#12140) --- .../client/plugins/cluescrolls/clues/BeginnerMapClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java index 03947000ef..d1bd888e70 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java @@ -33,7 +33,7 @@ import net.runelite.api.widgets.WidgetID; public class BeginnerMapClue extends MapClue implements LocationClueScroll { private static final ImmutableList CLUES = ImmutableList.of( - new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_CHAMPIONS_GUILD, new WorldPoint(3166, 3361, 0), "South West of the Champion's Guild"), + new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_CHAMPIONS_GUILD, new WorldPoint(3166, 3361, 0), "West of the Champions' Guild"), new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_VARROCK_EAST_MINE, new WorldPoint(3290, 3374, 0), "Outside Varrock East Mine"), new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_DRAYNOR, new WorldPoint(3093, 3226, 0), "South of Draynor Village Bank"), new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_NORTH_OF_FALADOR, new WorldPoint(3043, 3398, 0), "In the standing stones north of Falador"), From cbd2c4fd8264022c0608229158d44c0c09af1a19 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 23 Jul 2020 00:12:45 -0400 Subject: [PATCH 18/24] banktags: fix resetting active tab when editing tags The input type for this changed awhile ago in a chatbox panel manager refactor --- .../net/runelite/client/plugins/banktags/tabs/TabInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java index 85b7df5869..5c7796cbe5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java @@ -512,7 +512,7 @@ public class TabInterface return; } - if (activeTab != null && client.getVar(VarClientInt.INPUT_TYPE) == InputType.RUNELITE.getType()) + if (activeTab != null && client.getVar(VarClientInt.INPUT_TYPE) == InputType.RUNELITE_CHATBOX_PANEL.getType()) { // don't reset active tab if we are editing tags updateBounds(); From 7ff5516ea43dc8f2f756dd45859543cbc1db02c9 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 23 Jul 2020 10:31:35 +0000 Subject: [PATCH 19/24] Update Item IDs to 2020-07-23-rev190 --- runelite-api/src/main/java/net/runelite/api/ItemID.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemID.java b/runelite-api/src/main/java/net/runelite/api/ItemID.java index 83d3d27994..ca8d2d0c6b 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -11581,5 +11581,11 @@ public final class ItemID public static final int WARRIOR_PATH_STARTER_KIT = 24859; public static final int WIZARD_PATH_STARTER_KIT = 24860; public static final int RANGER_PATH_STARTER_KIT = 24861; + public static final int KARAMJAN_MONKEY = 24862; + public static final int ZOMBIE_MONKEY = 24863; + public static final int MANIACAL_MONKEY = 24864; + public static final int SKELETON_MONKEY = 24865; + public static final int KRUK_JR = 24866; + public static final int PRINCELY_MONKEY = 24867; /* This file is automatically generated. Do not edit. */ } From f3b05181213d65d0e9d34ae81c27f3dd7b95d654 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 23 Jul 2020 10:31:36 +0000 Subject: [PATCH 20/24] Update Object IDs to 2020-07-23-rev190 --- .../java/net/runelite/api/NullObjectID.java | 76 +++++++ .../main/java/net/runelite/api/ObjectID.java | 198 +++++++++++++++++- 2 files changed, 267 insertions(+), 7 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java index 071ab447bf..62d5fa9147 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -19517,5 +19517,81 @@ public final class NullObjectID public static final int NULL_39616 = 39616; public static final int NULL_39618 = 39618; public static final int NULL_39619 = 39619; + public static final int NULL_39622 = 39622; + public static final int NULL_39623 = 39623; + public static final int NULL_39624 = 39624; + public static final int NULL_39625 = 39625; + public static final int NULL_39626 = 39626; + public static final int NULL_39627 = 39627; + public static final int NULL_39628 = 39628; + public static final int NULL_39629 = 39629; + public static final int NULL_39630 = 39630; + public static final int NULL_39631 = 39631; + public static final int NULL_39632 = 39632; + public static final int NULL_39633 = 39633; + public static final int NULL_39634 = 39634; + public static final int NULL_39635 = 39635; + public static final int NULL_39636 = 39636; + public static final int NULL_39638 = 39638; + public static final int NULL_39649 = 39649; + public static final int NULL_39654 = 39654; + public static final int NULL_39655 = 39655; + public static final int NULL_39656 = 39656; + public static final int NULL_39661 = 39661; + public static final int NULL_39662 = 39662; + public static final int NULL_39663 = 39663; + public static final int NULL_39664 = 39664; + public static final int NULL_39665 = 39665; + public static final int NULL_39666 = 39666; + public static final int NULL_39667 = 39667; + public static final int NULL_39668 = 39668; + public static final int NULL_39669 = 39669; + public static final int NULL_39670 = 39670; + public static final int NULL_39671 = 39671; + public static final int NULL_39672 = 39672; + public static final int NULL_39673 = 39673; + public static final int NULL_39683 = 39683; + public static final int NULL_39684 = 39684; + public static final int NULL_39685 = 39685; + public static final int NULL_39686 = 39686; + public static final int NULL_39694 = 39694; + public static final int NULL_39701 = 39701; + public static final int NULL_39702 = 39702; + public static final int NULL_39703 = 39703; + public static final int NULL_39704 = 39704; + public static final int NULL_39705 = 39705; + public static final int NULL_39706 = 39706; + public static final int NULL_39707 = 39707; + public static final int NULL_39708 = 39708; + public static final int NULL_39709 = 39709; + public static final int NULL_39710 = 39710; + public static final int NULL_39711 = 39711; + public static final int NULL_39712 = 39712; + public static final int NULL_39713 = 39713; + public static final int NULL_39714 = 39714; + public static final int NULL_39715 = 39715; + public static final int NULL_39717 = 39717; + public static final int NULL_39722 = 39722; + public static final int NULL_39725 = 39725; + public static final int NULL_39726 = 39726; + public static final int NULL_39727 = 39727; + public static final int NULL_39728 = 39728; + public static final int NULL_39729 = 39729; + public static final int NULL_39730 = 39730; + public static final int NULL_39731 = 39731; + public static final int NULL_39732 = 39732; + public static final int NULL_39733 = 39733; + public static final int NULL_39734 = 39734; + public static final int NULL_39735 = 39735; + public static final int NULL_39736 = 39736; + public static final int NULL_39737 = 39737; + public static final int NULL_39738 = 39738; + public static final int NULL_39739 = 39739; + public static final int NULL_39742 = 39742; + public static final int NULL_39743 = 39743; + public static final int NULL_39744 = 39744; + public static final int NULL_39745 = 39745; + public static final int NULL_39746 = 39746; + public static final int NULL_39747 = 39747; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java index 6200b65794..8900b0cc44 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -8061,7 +8061,7 @@ public final class ObjectID public static final int STONE_BLOCK_14203 = 14203; public static final int STONE_BLOCK_14204 = 14204; public static final int STONE_BLOCK_14205 = 14205; - public static final int FINAL_OWNAGE_ELITE_STATUE = 14209; + public static final int HERBS_14209 = 14209; public static final int WALL_14212 = 14212; public static final int WALL_14213 = 14213; public static final int WALL_14216 = 14216; @@ -14137,11 +14137,11 @@ public final class ObjectID public static final int HUTCH_26822 = 26822; public static final int CAGES_26823 = 26823; public static final int CAGE_26824 = 26824; - public static final int ANCIENT_FURY_STATUE = 26825; - public static final int FATALITY_STATUE = 26826; - public static final int HEXIS_STATUE = 26827; - public static final int REIGN_OF_TERROR_STATUE = 26828; - public static final int STUD_UNIT_STATUE = 26829; + public static final int HERBS_26825 = 26825; + public static final int HERBS_26826 = 26826; + public static final int HERBS_26827 = 26827; + public static final int HERBS_26828 = 26828; + public static final int HERBS_26829 = 26829; public static final int CONSECRATED_HOUSE = 26830; public static final int DESECRATED_HOUSE = 26831; public static final int NATURE_HOUSE = 26832; @@ -20089,7 +20089,191 @@ public final class ObjectID public static final int COFFIN_39608 = 39608; public static final int STAIRS_39609 = 39609; public static final int CRYPT = 39617; - public static final int COFFIN_39620 = 39620; + public static final int RUSTED_ANVIL = 39620; public static final int MOUNTED_MAX_CAPE_39621 = 39621; + public static final int DEATHS_DOMAIN_39637 = 39637; + public static final int CASUAL = 39639; + public static final int COMPETITIVE = 39640; + public static final int HIGH_STAKES = 39641; + public static final int ALTAR_39642 = 39642; + public static final int STAIRS_39643 = 39643; + public static final int LADDER_39644 = 39644; + public static final int LADDER_39645 = 39645; + public static final int LIFT_PLATFORM_39646 = 39646; + public static final int STAIRS_39647 = 39647; + public static final int OPENING_39648 = 39648; + public static final int STAIRS_39650 = 39650; + public static final int POOL_OF_REFRESHMENT = 39651; + public static final int BARRIER_39652 = 39652; + public static final int BARRIER_39653 = 39653; + public static final int GATE_39657 = 39657; + public static final int GATE_39658 = 39658; + public static final int GATE_39659 = 39659; + public static final int GATE_39660 = 39660; + public static final int STATUE_39674 = 39674; + public static final int CORPSE_39675 = 39675; + public static final int TREE_39676 = 39676; + public static final int TREE_39677 = 39677; + public static final int TREE_39678 = 39678; + public static final int TREE_39679 = 39679; + public static final int BUSH_39680 = 39680; + public static final int BUSH_39681 = 39681; + public static final int BUSH_39682 = 39682; + public static final int BENCH_39687 = 39687; + public static final int CAMPING_EQUIPMENT_39688 = 39688; + public static final int TWISTED_CRATE = 39689; + public static final int BARREL_39690 = 39690; + public static final int STONE_PILE_39691 = 39691; + public static final int STONE_PILE_39692 = 39692; + public static final int WOOD_39693 = 39693; + public static final int SACKS_39695 = 39695; + public static final int SACKS_39696 = 39696; + public static final int FLOWERS_39697 = 39697; + public static final int FLOWERS_39698 = 39698; + public static final int FLOWERS_39699 = 39699; + public static final int FLOWERS_39700 = 39700; + public static final int TABLE_39716 = 39716; + public static final int STOOL_39718 = 39718; + public static final int HOLE_39719 = 39719; + public static final int WELL_39720 = 39720; + public static final int CAVE_39721 = 39721; + public static final int ALTAR_39723 = 39723; + public static final int GIANT_ANVIL_39724 = 39724; + public static final int STONE_PILE_39740 = 39740; + public static final int STONE_PILE_39741 = 39741; + public static final int HERBS_39748 = 39748; + public static final int HERBS_39749 = 39749; + public static final int HERBS_39750 = 39750; + public static final int HERBS_39751 = 39751; + public static final int HERBS_39752 = 39752; + public static final int HERBS_39753 = 39753; + public static final int HERBS_39754 = 39754; + public static final int HERBS_39755 = 39755; + public static final int HERBS_39756 = 39756; + public static final int HERBS_39757 = 39757; + public static final int HERBS_39758 = 39758; + public static final int HERBS_39759 = 39759; + public static final int HERBS_39760 = 39760; + public static final int HERBS_39761 = 39761; + public static final int HERBS_39762 = 39762; + public static final int HERBS_39763 = 39763; + public static final int HERBS_39764 = 39764; + public static final int HERBS_39765 = 39765; + public static final int HERBS_39766 = 39766; + public static final int HERBS_39767 = 39767; + public static final int HERBS_39768 = 39768; + public static final int HERBS_39769 = 39769; + public static final int HERBS_39770 = 39770; + public static final int HERBS_39771 = 39771; + public static final int HERBS_39772 = 39772; + public static final int HERBS_39773 = 39773; + public static final int HERBS_39774 = 39774; + public static final int HERBS_39775 = 39775; + public static final int HERBS_39776 = 39776; + public static final int HERBS_39777 = 39777; + public static final int HERBS_39778 = 39778; + public static final int HERBS_39779 = 39779; + public static final int HERBS_39780 = 39780; + public static final int HERBS_39781 = 39781; + public static final int HERBS_39782 = 39782; + public static final int HERBS_39783 = 39783; + public static final int HERBS_39784 = 39784; + public static final int HERBS_39785 = 39785; + public static final int HERBS_39786 = 39786; + public static final int HERBS_39787 = 39787; + public static final int HERBS_39788 = 39788; + public static final int HERBS_39789 = 39789; + public static final int HERBS_39790 = 39790; + public static final int HERBS_39791 = 39791; + public static final int HERBS_39792 = 39792; + public static final int HERBS_39793 = 39793; + public static final int HERBS_39794 = 39794; + public static final int HERBS_39795 = 39795; + public static final int HERBS_39796 = 39796; + public static final int HERBS_39797 = 39797; + public static final int HERBS_39798 = 39798; + public static final int HERBS_39799 = 39799; + public static final int HERBS_39800 = 39800; + public static final int HERBS_39801 = 39801; + public static final int HERBS_39802 = 39802; + public static final int HERBS_39803 = 39803; + public static final int HERBS_39804 = 39804; + public static final int HERBS_39805 = 39805; + public static final int HERBS_39806 = 39806; + public static final int HERBS_39807 = 39807; + public static final int HERBS_39808 = 39808; + public static final int HERBS_39809 = 39809; + public static final int HERBS_39810 = 39810; + public static final int HERBS_39811 = 39811; + public static final int HERB_PATCH_39812 = 39812; + public static final int HERB_PATCH_39813 = 39813; + public static final int HERBS_39814 = 39814; + public static final int HERBS_39815 = 39815; + public static final int HERBS_39816 = 39816; + public static final int HERB_PATCH_39817 = 39817; + public static final int HERB_PATCH_39818 = 39818; + public static final int HERBS_39819 = 39819; + public static final int HERBS_39820 = 39820; + public static final int HERBS_39821 = 39821; + public static final int HERB_PATCH_39822 = 39822; + public static final int HERB_PATCH_39823 = 39823; + public static final int HERBS_39824 = 39824; + public static final int HERBS_39825 = 39825; + public static final int HERBS_39826 = 39826; + public static final int HERB_PATCH_39827 = 39827; + public static final int HERB_PATCH_39828 = 39828; + public static final int HERBS_39829 = 39829; + public static final int HERBS_39830 = 39830; + public static final int HERBS_39831 = 39831; + public static final int HERB_PATCH_39832 = 39832; + public static final int HERB_PATCH_39833 = 39833; + public static final int HERBS_39834 = 39834; + public static final int HERBS_39835 = 39835; + public static final int HERBS_39836 = 39836; + public static final int HERB_PATCH_39837 = 39837; + public static final int HERB_PATCH_39838 = 39838; + public static final int HERBS_39839 = 39839; + public static final int HERBS_39840 = 39840; + public static final int HERBS_39841 = 39841; + public static final int HERB_PATCH_39842 = 39842; + public static final int HERB_PATCH_39843 = 39843; + public static final int HERBS_39844 = 39844; + public static final int HERBS_39845 = 39845; + public static final int HERBS_39846 = 39846; + public static final int HERB_PATCH_39847 = 39847; + public static final int HERB_PATCH_39848 = 39848; + public static final int HERBS_39849 = 39849; + public static final int HERBS_39850 = 39850; + public static final int HERBS_39851 = 39851; + public static final int HERB_PATCH_39852 = 39852; + public static final int HERB_PATCH_39853 = 39853; + public static final int HERBS_39854 = 39854; + public static final int HERBS_39855 = 39855; + public static final int HERBS_39856 = 39856; + public static final int HERB_PATCH_39857 = 39857; + public static final int HERB_PATCH_39858 = 39858; + public static final int HERBS_39859 = 39859; + public static final int HERBS_39860 = 39860; + public static final int HERBS_39861 = 39861; + public static final int HERB_PATCH_39862 = 39862; + public static final int HERB_PATCH_39863 = 39863; + public static final int HERBS_39864 = 39864; + public static final int HERBS_39865 = 39865; + public static final int HERBS_39866 = 39866; + public static final int HERB_PATCH_39867 = 39867; + public static final int HERB_PATCH_39868 = 39868; + public static final int HERBS_39869 = 39869; + public static final int HERBS_39870 = 39870; + public static final int HERBS_39871 = 39871; + public static final int HERB_PATCH_39872 = 39872; + public static final int HERB_PATCH_39873 = 39873; + public static final int HERBS_39874 = 39874; + public static final int HERBS_39875 = 39875; + public static final int HERBS_39876 = 39876; + public static final int HERB_PATCH_39877 = 39877; + public static final int HERB_PATCH_39878 = 39878; + public static final int HERBS_39879 = 39879; + public static final int HERBS_39880 = 39880; + public static final int HERBS_39881 = 39881; /* This file is automatically generated. Do not edit. */ } From be7932322b5252ff99b43279ddf9a6722c7ba857 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 23 Jul 2020 10:31:36 +0000 Subject: [PATCH 21/24] Update NPC IDs to 2020-07-23-rev190 --- .../src/main/java/net/runelite/api/NpcID.java | 33 +++++++++++++++++++ .../main/java/net/runelite/api/NullNpcID.java | 1 + 2 files changed, 34 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/NpcID.java b/runelite-api/src/main/java/net/runelite/api/NpcID.java index 642de57dfb..a309a15622 100644 --- a/runelite-api/src/main/java/net/runelite/api/NpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NpcID.java @@ -8758,5 +8758,38 @@ public final class NpcID public static final int GRAVE = 9856; public static final int GRAVE_9857 = 9857; public static final int SQUIRE_10368 = 10368; + public static final int BOBAWU = 10369; + public static final int MARTEN = 10370; + public static final int WIZARD_10371 = 10371; + public static final int WIZARD_10372 = 10372; + public static final int WIZARD_10373 = 10373; + public static final int HILL_GIANT_10374 = 10374; + public static final int HILL_GIANT_10375 = 10375; + public static final int HILL_GIANT_10376 = 10376; + public static final int FEROX = 10377; + public static final int SIGISMUND = 10378; + public static final int ZAMORAKIAN_ACOLYTE = 10379; + public static final int ZAMORAKIAN_ACOLYTE_10380 = 10380; + public static final int ZAMORAKIAN_ACOLYTE_10381 = 10381; + public static final int REFUGEE = 10382; + public static final int REFUGEE_10383 = 10383; + public static final int REFUGEE_10384 = 10384; + public static final int REFUGEE_10385 = 10385; + public static final int PHABELLE_BILE = 10386; + public static final int DERSE_VENATOR = 10387; + public static final int ANDROS_MAI = 10388; + public static final int BANKER_10389 = 10389; + public static final int MERCENARY_10390 = 10390; + public static final int FINANCIAL_WIZARD_10391 = 10391; + public static final int CAMARST = 10392; + public static final int WARRIOR_OF_MURAHS = 10393; + public static final int WARRIOR_OF_MURAHS_10394 = 10394; + public static final int WARRIOR_OF_MURAHS_10395 = 10395; + public static final int SPIKED_TUROTH = 10397; + public static final int SHADOW_WYRM = 10398; + public static final int SHADOW_WYRM_10399 = 10399; + public static final int GUARDIAN_DRAKE = 10400; + public static final int GUARDIAN_DRAKE_10401 = 10401; + public static final int COLOSSAL_HYDRA = 10402; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullNpcID.java b/runelite-api/src/main/java/net/runelite/api/NullNpcID.java index 99e56e7411..cc1cb6dd36 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullNpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullNpcID.java @@ -1592,5 +1592,6 @@ public final class NullNpcID public static final int NULL_10365 = 10365; public static final int NULL_10366 = 10366; public static final int NULL_10367 = 10367; + public static final int NULL_10396 = 10396; /* This file is automatically generated. Do not edit. */ } From b5244801a4e16a6504dcfb1c9f702dacb449e08b Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 23 Jul 2020 10:31:40 +0000 Subject: [PATCH 22/24] Update Widget IDs to 2020-07-23-rev190 --- .../src/main/java/net/runelite/api/widgets/WidgetID.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 d7051a8967..3861e3c9a0 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 @@ -267,8 +267,8 @@ public class WidgetID static final int INCINERATOR = 45; static final int INCINERATOR_CONFIRM = 46; static final int EQUIPMENT_CONTENT_CONTAINER = 68; - static final int SETTINGS_BUTTON = 108; - static final int EQUIPMENT_BUTTON = 109; + static final int SETTINGS_BUTTON = 111; + static final int EQUIPMENT_BUTTON = 112; } static class GrandExchange From 0bd97e19a3fb5c0745c9265bc715c762f75547e4 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Thu, 23 Jul 2020 11:20:24 +0000 Subject: [PATCH 23/24] Release 1.6.23 --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 8a5c9b82a3..68970bba00 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index 9b8003b5d5..fdaec3e691 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index b24221c227..b372a45612 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 cache diff --git a/http-api/pom.xml b/http-api/pom.xml index 7ad2668968..2b067d7ace 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 23f9aa3a80..4f86860b94 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 Web Service diff --git a/pom.xml b/pom.xml index 61afa59c2f..345268a190 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - HEAD + runelite-parent-1.6.23 diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index 844c748a98..cae801cebe 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 0415d4f7bd..f4cd56535d 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 91b30d050d..0bec276546 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 script-assembler-plugin From b5abb091520b2041409f9e2916a3bde637f60e4a Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Thu, 23 Jul 2020 11:20:33 +0000 Subject: [PATCH 24/24] Bump for 1.6.24-SNAPSHOT --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 68970bba00..88c5f98a0c 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index fdaec3e691..ac9a3650e8 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index b372a45612..77b23b0d54 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT cache diff --git a/http-api/pom.xml b/http-api/pom.xml index 2b067d7ace..f22fb557fa 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 4f86860b94..91ce0def99 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT Web Service diff --git a/pom.xml b/pom.xml index 345268a190..ee14d96b77 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - runelite-parent-1.6.23 + HEAD diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index cae801cebe..923bc0603b 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index f4cd56535d..3197781803 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 0bec276546..4f115daccc 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT script-assembler-plugin