From 729001291bfb1f6cf8d2c3df403a937a4aee7b69 Mon Sep 17 00:00:00 2001 From: sdburns1998 <49877861+sdburns1998@users.noreply.github.com> Date: Tue, 23 Apr 2019 10:53:25 +0200 Subject: [PATCH] Kept on death plugin (#59) * Add Kept on Death Plugin Modifies the Items Kept on Death widget to be more accurate * Fix WidgetType import * Account for stackable kept items * Remove WidgetButtonRunnable * Ignore DMM worlds * Add open looting bag to always lost * Update script to the new OpCodes * Add plugin type --- .../main/java/net/runelite/api/Client.java | 6 + .../main/java/net/runelite/api/ScriptID.java | 10 + .../java/net/runelite/api/widgets/Widget.java | 20 + .../net/runelite/api/widgets/WidgetID.java | 14 + .../net/runelite/api/widgets/WidgetInfo.java | 11 +- .../keptondeath/ActuallyTradeableItem.java | 87 +++ .../plugins/keptondeath/AlwaysLostItem.java | 69 ++ .../keptondeath/BrokenOnDeathItem.java | 112 ++++ .../keptondeath/KeptOnDeathPlugin.java | 598 +++++++++++++++++ .../plugins/keptondeath/WidgetButton.java | 175 +++++ .../main/scripts/DeathKeepBuildScript.hash | 1 + .../main/scripts/DeathKeepBuildScript.rs2asm | 622 ++++++++++++++++++ 12 files changed, 1724 insertions(+), 1 deletion(-) create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/keptondeath/ActuallyTradeableItem.java create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/keptondeath/AlwaysLostItem.java create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/keptondeath/BrokenOnDeathItem.java create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/keptondeath/KeptOnDeathPlugin.java create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/keptondeath/WidgetButton.java create mode 100644 runelite-client/src/main/scripts/DeathKeepBuildScript.hash create mode 100644 runelite-client/src/main/scripts/DeathKeepBuildScript.rs2asm diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 17dd82f7bc..57d0c92600 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -491,6 +491,12 @@ public interface Client extends GameEngine */ int[] getWidgetPositionsY(); + /** + * Creates a new widget element + * @return + */ + Widget createWidget(); + /** * Gets the current run energy of the logged in player. * 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 68abc5e0f7..f88cba4e3f 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -95,6 +95,16 @@ public final class ScriptID */ public static final int CHAT_PROMPT_INIT = 223; + /** + * Displays the game messages when clicking on an item inside the Items Kept on Death interface + * + */ + public static final int KEPT_LOST_ITEM_EXAMINE = 1603; + /** * Queries the completion state of a quest by its struct id *