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 e7df5996bf..4110ecf3aa 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -2152,6 +2152,12 @@ public interface Client extends OAuthApi, GameEngine int getSelectedSpellFlags(); + void setSelectedSpellFlags(int var0); + + int getSelectedSpellItemId(); + + void setSelectedSpellItemId(int itemId); + /** * Set whether or not player attack options will be hidden for friends */ diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index 084249dfd4..fcbe51976a 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -1114,6 +1114,10 @@ public interface RSClient extends RSGameEngine, Client @Import("selectedSpellFlags") int getSelectedSpellFlags(); + @Override + @Import("selectedSpellFlags") + void setSelectedSpellFlags(int var0); + @Import("isSpellSelected") boolean getSpellSelected(); @@ -1193,14 +1197,22 @@ public interface RSClient extends RSGameEngine, Client @Override int getSelectedSpellChildIndex(); - @Import("selectedSpellWidget") - @Override - void setSelectedSpellWidget(int widgetID); - @Import("selectedSpellChildIndex") @Override void setSelectedSpellChildIndex(int index); + @Import("selectedSpellItemId") + @Override + int getSelectedSpellItemId(); + + @Import("selectedSpellItemId") + @Override + void setSelectedSpellItemId(int itemId); + + @Import("selectedSpellWidget") + @Override + void setSelectedSpellWidget(int widgetID); + @Import("Sprite_drawScaled") @Override void scaleSprite(int[] canvas, int[] pixels, int color, int pixelX, int pixelY, int canvasIdx, int canvasOffset, int newWidth, int newHeight, int pixelWidth, int pixelHeight, int oldWidth); diff --git a/runescape-client/src/main/java/ApproximateRouteStrategy.java b/runescape-client/src/main/java/ApproximateRouteStrategy.java index 7bece0a5c3..110c8c8172 100644 --- a/runescape-client/src/main/java/ApproximateRouteStrategy.java +++ b/runescape-client/src/main/java/ApproximateRouteStrategy.java @@ -48,7 +48,7 @@ public class ApproximateRouteStrategy extends RouteStrategy { class1.runScriptEvent(var5); // L: 9049 } - Client.field688 = var3; // L: 9051 + Client.selectedSpellItemId = var3; // L: 9051 Client.isSpellSelected = true; // L: 9052 class92.selectedSpellWidget = var0; // L: 9053 Client.selectedSpellChildIndex = var1; // L: 9054 diff --git a/runescape-client/src/main/java/Client.java b/runescape-client/src/main/java/Client.java index b735dbe566..55840bba67 100644 --- a/runescape-client/src/main/java/Client.java +++ b/runescape-client/src/main/java/Client.java @@ -1042,7 +1042,8 @@ public final class Client extends GameEngine implements Usernamed, OAuthApi { @ObfuscatedGetter( intValue = 913012823 ) - static int field688; + @Export("selectedSpellItemId") + static int selectedSpellItemId; @ObfuscatedName("ny") @Export("selectedSpellActionName") static String selectedSpellActionName; @@ -1526,7 +1527,7 @@ public final class Client extends GameEngine implements Usernamed, OAuthApi { selectedItemName = null; // L: 456 isSpellSelected = false; // L: 457 selectedSpellChildIndex = -1; // L: 459 - field688 = -1; // L: 460 + selectedSpellItemId = -1; // L: 460 selectedSpellActionName = null; // L: 462 selectedSpellName = null; // L: 463 rootInterface = -1; // L: 464 diff --git a/runescape-client/src/main/java/SoundCache.java b/runescape-client/src/main/java/SoundCache.java index c8ca6cc6a0..a28e734278 100644 --- a/runescape-client/src/main/java/SoundCache.java +++ b/runescape-client/src/main/java/SoundCache.java @@ -237,7 +237,7 @@ public class SoundCache { Client.destinationX = var0; // L: 8716 Client.destinationY = var1; // L: 8717 var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2894, Client.packetWriter.isaacCipher); // L: 8718 - var8.packetBuffer.method7796(Client.field688); // L: 8719 + var8.packetBuffer.method7796(Client.selectedSpellItemId); // L: 8719 var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8720 var8.packetBuffer.method7791(class250.baseY + var1); // L: 8721 var8.packetBuffer.method7796(Client.selectedSpellChildIndex); // L: 8722 @@ -331,7 +331,7 @@ public class SoundCache { var9.packetBuffer.writeShort(Client.selectedSpellChildIndex); // L: 8672 var9.packetBuffer.method7795(var3); // L: 8673 var9.packetBuffer.method7806(class92.selectedSpellWidget); // L: 8674 - var9.packetBuffer.method7796(Client.field688); // L: 8675 + var9.packetBuffer.method7796(Client.selectedSpellItemId); // L: 8675 Client.packetWriter.addNode(var9); // L: 8676 } } else if (var2 == 9) { @@ -437,7 +437,7 @@ public class SoundCache { var9.packetBuffer.method7796(var3); // L: 8242 var9.packetBuffer.method7787(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8243 var9.packetBuffer.writeInt(class92.selectedSpellWidget); // L: 8244 - var9.packetBuffer.writeShort(Client.field688); // L: 8245 + var9.packetBuffer.writeShort(Client.selectedSpellItemId); // L: 8245 Client.packetWriter.addNode(var9); // L: 8246 } } else if (var2 == 16) { @@ -464,7 +464,7 @@ public class SoundCache { Client.destinationX = var0; // L: 8780 Client.destinationY = var1; // L: 8781 var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2942, Client.packetWriter.isaacCipher); // L: 8782 - var8.packetBuffer.writeShort(Client.field688); // L: 8783 + var8.packetBuffer.writeShort(Client.selectedSpellItemId); // L: 8783 var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8784 var8.packetBuffer.method7795(var3); // L: 8785 var8.packetBuffer.writeInt(class92.selectedSpellWidget); // L: 8786 @@ -862,7 +862,7 @@ public class SoundCache { var16 = class143.getWidgetChild(var1, var0); // L: 8648 if (var16 != null) { // L: 8649 var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2932, Client.packetWriter.isaacCipher); // L: 8651 - var9.packetBuffer.writeShort(Client.field688); // L: 8652 + var9.packetBuffer.writeShort(Client.selectedSpellItemId); // L: 8652 var9.packetBuffer.writeIntME(class92.selectedSpellWidget); // L: 8653 var9.packetBuffer.method7796(var16.itemId); // L: 8654 var9.packetBuffer.method7791(Client.selectedSpellChildIndex); // L: 8655 diff --git a/runescape-client/src/main/java/class120.java b/runescape-client/src/main/java/class120.java index 89c890c329..ff76e3b6ef 100644 --- a/runescape-client/src/main/java/class120.java +++ b/runescape-client/src/main/java/class120.java @@ -20,7 +20,7 @@ public class class120 implements class112 { class1.runScriptEvent(var1); // L: 9066 } - Client.field688 = -1; // L: 9068 + Client.selectedSpellItemId = -1; // L: 9068 Client.isSpellSelected = false; // L: 9069 class290.invalidateWidget(var0); // L: 9070 }