From a20ae62995e10e0ba3e1deb24db124d67160012f Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 26 Apr 2020 12:59:01 -0400 Subject: [PATCH] combat level plugin: use script events for attack level range hook --- .../main/java/net/runelite/api/ScriptID.java | 6 + .../combatlevel/CombatLevelPlugin.java | 10 +- .../src/main/scripts/PvpWidgetBuilder.hash | 1 - .../src/main/scripts/PvpWidgetBuilder.rs2asm | 125 ------------------ 4 files changed, 11 insertions(+), 131 deletions(-) delete mode 100644 runelite-client/src/main/scripts/PvpWidgetBuilder.hash delete mode 100644 runelite-client/src/main/scripts/PvpWidgetBuilder.rs2asm 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 8aaff6d5ef..9e8468687b 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -274,4 +274,10 @@ public final class ScriptID */ @ScriptArguments(integer = 16) public static final int BANKMAIN_SEARCH_REFRESH = 283; + + /** + * Called to update the PVP widget (wilderness level/protection) + */ + @ScriptArguments(integer = 3) + public static final int PVP_WIDGET_BUILDER = 388; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java index b2b4944521..0d401d8e13 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java @@ -33,16 +33,17 @@ import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.Experience; import net.runelite.api.GameState; +import net.runelite.api.ScriptID; import net.runelite.api.Skill; import net.runelite.api.WorldType; -import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameTick; -import net.runelite.api.events.ScriptCallbackEvent; +import net.runelite.api.events.ScriptPostFired; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -162,10 +163,9 @@ public class CombatLevelPlugin extends Plugin } @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + public void onScriptPostFired(ScriptPostFired scriptPostFired) { - if (config.wildernessAttackLevelRange() - && "wildernessWidgetTextSet".equals(event.getEventName())) + if (scriptPostFired.getScriptId() == ScriptID.PVP_WIDGET_BUILDER && config.wildernessAttackLevelRange()) { appendAttackLevelRangeText(); } diff --git a/runelite-client/src/main/scripts/PvpWidgetBuilder.hash b/runelite-client/src/main/scripts/PvpWidgetBuilder.hash deleted file mode 100644 index 3e4a898362..0000000000 --- a/runelite-client/src/main/scripts/PvpWidgetBuilder.hash +++ /dev/null @@ -1 +0,0 @@ -1DC252B93DF0D948329C4EAD151FA9406A17D3CF2C5C3EC0317BF4DCD1B3811A \ No newline at end of file diff --git a/runelite-client/src/main/scripts/PvpWidgetBuilder.rs2asm b/runelite-client/src/main/scripts/PvpWidgetBuilder.rs2asm deleted file mode 100644 index 4e85d37ecd..0000000000 --- a/runelite-client/src/main/scripts/PvpWidgetBuilder.rs2asm +++ /dev/null @@ -1,125 +0,0 @@ -.id 388 -.int_stack_count 1 -.string_stack_count 0 -.int_var_count 3 -.string_var_count 0 - invoke 384 - istore 1 - invoke 1138 - istore 2 - iload 2 - iconst 1 - if_icmpeq LABEL8 - jump LABEL80 -LABEL8: - get_varp 1676 - iconst 4 - if_icmpgt LABEL12 - jump LABEL31 -LABEL12: - iload 1 - iconst 0 - if_icmpgt LABEL16 - jump LABEL27 -LABEL16: - get_varbit 5954 - iconst 1 - if_icmpeq LABEL20 - jump LABEL27 -LABEL20: - sconst "Level: " - iload 1 - tostring - join_string 2 - iload 0 - if_settext - jump LABEL30 -LABEL27: - sconst "Deadman" - iload 0 - if_settext -LABEL30: - jump LABEL79 -LABEL31: - get_varbit 4965 - iconst 0 - if_icmpgt LABEL35 - jump LABEL45 -LABEL35: - sconst "Protection" - iload 0 - if_settext - iconst 0 - iconst 13 - iconst 1 - iconst 2 - iload 0 - if_setposition - jump LABEL79 -LABEL45: - iload 1 - iconst 0 - if_icmpgt LABEL49 - jump LABEL60 -LABEL49: - get_varbit 5954 - iconst 1 - if_icmpeq LABEL53 - jump LABEL60 -LABEL53: - sconst "Level: " - iload 1 - tostring - join_string 2 - iload 0 - if_settext - jump LABEL79 -LABEL60: - get_varc_int 78 - iconst 1 - if_icmpeq LABEL64 - jump LABEL68 -LABEL64: - sconst "Guarded" - iload 0 - if_settext - jump LABEL79 -LABEL68: - get_varc_int 78 - iconst 2 - if_icmpeq LABEL72 - jump LABEL76 -LABEL72: - sconst "No PvP" - iload 0 - if_settext - jump LABEL79 -LABEL76: - sconst "Deadman" - iload 0 - if_settext -LABEL79: - jump LABEL94 -LABEL80: - iload 1 - iconst 0 - if_icmpgt LABEL84 - jump LABEL91 -LABEL84: - sconst "Level: " - iload 1 - tostring - join_string 2 - iload 0 - if_settext - jump LABEL94 -LABEL91: - sconst "" - iload 0 - if_settext -LABEL94: - iload 1 - invoke 387 - sconst "wildernessWidgetTextSet" ; set callback name - runelite_callback ; invoke callback - return