From 2aa08231a2469f066b753f978e6fb67407231214 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 9 Jul 2018 08:54:50 -0400 Subject: [PATCH 1/2] Add getVarpValue and setVarpValue to RSClientMixin and Client --- .../main/java/net/runelite/api/Client.java | 22 +++++++++++++++++++ .../net/runelite/mixins/RSClientMixin.java | 14 ++++++++++++ 2 files changed, 36 insertions(+) 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 90451c2ec7..02267e2415 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -659,6 +659,28 @@ public interface Client extends GameEngine @VisibleForDevtools int getVarbitValue(int[] varps, int varbitId); + /** + * Gets the value of a given VarPlayer. + * + * @param varps passed varps + * @param varpId the VarpPlayer id + * @return the value + * @see VarPlayer#id + */ + @VisibleForDevtools + int getVarpValue(int[] varps, int varpId); + + /** + * Sets the value of a given VarPlayer. + * + * @param varps passed varps + * @param varpId the VarpPlayer id + * @param value the value + * @see VarPlayer#id + */ + @VisibleForDevtools + void setVarpValue(int[] varps, int varpId, int value); + /** * Sets the value of a given variable. * diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 48b37398e1..6b251b62f0 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -385,6 +385,20 @@ public abstract class RSClientMixin implements RSClient return varps[varPlayer.getId()]; } + @Inject + @Override + public int getVarpValue(int[] varps, int varpId) + { + return varps[varpId]; + } + + @Inject + @Override + public void setVarpValue(int[] varps, int varpId, int value) + { + varps[varpId] = value; + } + @Inject @Override public boolean isPrayerActive(Prayer prayer) From 6672ec10d62574168e9e6b51076f354685e57d65 Mon Sep 17 00:00:00 2001 From: Infinitay Date: Sun, 8 Jul 2018 17:47:29 -0400 Subject: [PATCH 2/2] Add "getvarp", "setvarp", "getvarb", "setvarb" dev-tool chat commands --- .../plugins/devtools/DevToolsPlugin.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java index 78dfea5a02..e196b665e1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java @@ -187,14 +187,30 @@ public class DevToolsPlugin extends Plugin client.addChatMessage(ChatMessageType.SERVER, "", message, null); break; } - case "getvar": + case "getvarp": + { + int varp = Integer.parseInt(args[0]); + int value = client.getVarpValue(client.getVarps(), varp); + client.addChatMessage(ChatMessageType.SERVER, "", "VarPlayer " + varp + ": " + value, null); + break; + } + case "setvarp": + { + int varp = Integer.parseInt(args[0]); + int value = Integer.parseInt(args[1]); + client.setVarpValue(client.getVarps(), varp, value); + client.addChatMessage(ChatMessageType.SERVER, "", "Set VarPlayer " + varp + " to " + value, null); + eventBus.post(new VarbitChanged()); // fake event + break; + } + case "getvarb": { int varbit = Integer.parseInt(args[0]); int value = client.getVarbitValue(client.getVarps(), varbit); client.addChatMessage(ChatMessageType.SERVER, "", "Varbit " + varbit + ": " + value, null); break; } - case "setvar": + case "setvarb": { int varbit = Integer.parseInt(args[0]); int value = Integer.parseInt(args[1]);