client: add setters for selected spells and items (#1634)
* client: add setters for selected spells and items (thanks to Skitzo the absolute beast.) * deob: change "changeSpellFlag" method name to "selectSpell" * deob: export "selectSpell" for tests.
This commit is contained in:
@@ -116,10 +116,10 @@ public interface Client extends GameShell
|
|||||||
/**
|
/**
|
||||||
* Adds a new chat message to the chatbox.
|
* Adds a new chat message to the chatbox.
|
||||||
*
|
*
|
||||||
* @param type the type of message
|
* @param type the type of message
|
||||||
* @param name the name of the player that sent the message
|
* @param name the name of the player that sent the message
|
||||||
* @param message the message contents
|
* @param message the message contents
|
||||||
* @param sender the sender/channel name
|
* @param sender the sender/channel name
|
||||||
*/
|
*/
|
||||||
void addChatMessage(ChatMessageType type, String name, String message, String sender);
|
void addChatMessage(ChatMessageType type, String name, String message, String sender);
|
||||||
|
|
||||||
@@ -358,13 +358,13 @@ public interface Client extends GameShell
|
|||||||
/**
|
/**
|
||||||
* Creates an item icon sprite with passed variables.
|
* Creates an item icon sprite with passed variables.
|
||||||
*
|
*
|
||||||
* @param itemId the item ID
|
* @param itemId the item ID
|
||||||
* @param quantity the item quantity
|
* @param quantity the item quantity
|
||||||
* @param border whether to draw a border
|
* @param border whether to draw a border
|
||||||
* @param shadowColor the shadow color
|
* @param shadowColor the shadow color
|
||||||
* @param stackable whether the item is stackable
|
* @param stackable whether the item is stackable
|
||||||
* @param noted whether the item is noted
|
* @param noted whether the item is noted
|
||||||
* @param scale the scale of the sprite
|
* @param scale the scale of the sprite
|
||||||
* @return the created sprite
|
* @return the created sprite
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -373,9 +373,9 @@ public interface Client extends GameShell
|
|||||||
/**
|
/**
|
||||||
* Loads and creates the sprite images of the passed archive and file IDs.
|
* Loads and creates the sprite images of the passed archive and file IDs.
|
||||||
*
|
*
|
||||||
* @param source the sprite index
|
* @param source the sprite index
|
||||||
* @param archiveId the sprites archive ID
|
* @param archiveId the sprites archive ID
|
||||||
* @param fileId the sprites file ID
|
* @param fileId the sprites file ID
|
||||||
* @return the sprite image of the file
|
* @return the sprite image of the file
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -504,6 +504,7 @@ public interface Client extends GameShell
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new widget element
|
* Creates a new widget element
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Widget createWidget();
|
Widget createWidget();
|
||||||
@@ -633,6 +634,7 @@ public interface Client extends GameShell
|
|||||||
* | |rot| y chunk coord | x chunk coord |pln| |
|
* | |rot| y chunk coord | x chunk coord |pln| |
|
||||||
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
* }</pre>
|
* }</pre>
|
||||||
|
*
|
||||||
* @return the array of instance template chunks
|
* @return the array of instance template chunks
|
||||||
* @see Constants#CHUNK_SIZE
|
* @see Constants#CHUNK_SIZE
|
||||||
* @see InstanceTemplates
|
* @see InstanceTemplates
|
||||||
@@ -711,14 +713,14 @@ public interface Client extends GameShell
|
|||||||
* Sets the value of a given variable.
|
* Sets the value of a given variable.
|
||||||
*
|
*
|
||||||
* @param varbit the variable
|
* @param varbit the variable
|
||||||
* @param value the new value
|
* @param value the new value
|
||||||
*/
|
*/
|
||||||
void setVarbit(Varbits varbit, int value);
|
void setVarbit(Varbits varbit, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value of a given variable.
|
* Gets the value of a given variable.
|
||||||
*
|
*
|
||||||
* @param varps passed varbits
|
* @param varps passed varbits
|
||||||
* @param varbitId the variable ID
|
* @param varbitId the variable ID
|
||||||
* @return the value
|
* @return the value
|
||||||
* @see Varbits
|
* @see Varbits
|
||||||
@@ -728,7 +730,7 @@ public interface Client extends GameShell
|
|||||||
/**
|
/**
|
||||||
* Gets the value of a given VarPlayer.
|
* Gets the value of a given VarPlayer.
|
||||||
*
|
*
|
||||||
* @param varps passed varps
|
* @param varps passed varps
|
||||||
* @param varpId the VarpPlayer id
|
* @param varpId the VarpPlayer id
|
||||||
* @return the value
|
* @return the value
|
||||||
* @see VarPlayer#id
|
* @see VarPlayer#id
|
||||||
@@ -738,9 +740,9 @@ public interface Client extends GameShell
|
|||||||
/**
|
/**
|
||||||
* Sets the value of a given VarPlayer.
|
* Sets the value of a given VarPlayer.
|
||||||
*
|
*
|
||||||
* @param varps passed varps
|
* @param varps passed varps
|
||||||
* @param varpId the VarpPlayer id
|
* @param varpId the VarpPlayer id
|
||||||
* @param value the value
|
* @param value the value
|
||||||
* @see VarPlayer#id
|
* @see VarPlayer#id
|
||||||
*/
|
*/
|
||||||
void setVarpValue(int[] varps, int varpId, int value);
|
void setVarpValue(int[] varps, int varpId, int value);
|
||||||
@@ -748,9 +750,9 @@ public interface Client extends GameShell
|
|||||||
/**
|
/**
|
||||||
* Sets the value of a given variable.
|
* Sets the value of a given variable.
|
||||||
*
|
*
|
||||||
* @param varps passed varbits
|
* @param varps passed varbits
|
||||||
* @param varbit the variable
|
* @param varbit the variable
|
||||||
* @param value the value
|
* @param value the value
|
||||||
* @see Varbits
|
* @see Varbits
|
||||||
*/
|
*/
|
||||||
void setVarbitValue(int[] varps, int varbit, int value);
|
void setVarbitValue(int[] varps, int varbit, int value);
|
||||||
@@ -922,7 +924,7 @@ public interface Client extends GameShell
|
|||||||
* pixels.
|
* pixels.
|
||||||
*
|
*
|
||||||
* @param pixels the pixels
|
* @param pixels the pixels
|
||||||
* @param width the width
|
* @param width the width
|
||||||
* @param height the height
|
* @param height the height
|
||||||
* @return the sprite image
|
* @return the sprite image
|
||||||
*/
|
*/
|
||||||
@@ -956,31 +958,31 @@ public interface Client extends GameShell
|
|||||||
* normally played.
|
* normally played.
|
||||||
*
|
*
|
||||||
* @param id the ID of the sound to play. Any int is allowed, but see
|
* @param id the ID of the sound to play. Any int is allowed, but see
|
||||||
* {@link SoundEffectID} for some common ones
|
* {@link SoundEffectID} for some common ones
|
||||||
*/
|
*/
|
||||||
void playSoundEffect(int id);
|
void playSoundEffect(int id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Play a sound effect from some point in the world.
|
* Play a sound effect from some point in the world.
|
||||||
*
|
*
|
||||||
* @param id the ID of the sound to play. Any int is allowed, but see
|
* @param id the ID of the sound to play. Any int is allowed, but see
|
||||||
* {@link SoundEffectID} for some common ones
|
* {@link SoundEffectID} for some common ones
|
||||||
* @param x the ground coordinate on the x axis
|
* @param x the ground coordinate on the x axis
|
||||||
* @param y the ground coordinate on the y axis
|
* @param y the ground coordinate on the y axis
|
||||||
* @param range the number of tiles away that the sound can be heard
|
* @param range the number of tiles away that the sound can be heard
|
||||||
* from
|
* from
|
||||||
*/
|
*/
|
||||||
void playSoundEffect(int id, int x, int y, int range);
|
void playSoundEffect(int id, int x, int y, int range);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Play a sound effect from some point in the world.
|
* Play a sound effect from some point in the world.
|
||||||
*
|
*
|
||||||
* @param id the ID of the sound to play. Any int is allowed, but see
|
* @param id the ID of the sound to play. Any int is allowed, but see
|
||||||
* {@link SoundEffectID} for some common ones
|
* {@link SoundEffectID} for some common ones
|
||||||
* @param x the ground coordinate on the x axis
|
* @param x the ground coordinate on the x axis
|
||||||
* @param y the ground coordinate on the y axis
|
* @param y the ground coordinate on the y axis
|
||||||
* @param range the number of tiles away that the sound can be heard
|
* @param range the number of tiles away that the sound can be heard
|
||||||
* from
|
* from
|
||||||
* @param delay the amount of frames before the sound starts playing
|
* @param delay the amount of frames before the sound starts playing
|
||||||
*/
|
*/
|
||||||
void playSoundEffect(int id, int x, int y, int range, int delay);
|
void playSoundEffect(int id, int x, int y, int range, int delay);
|
||||||
@@ -1078,7 +1080,7 @@ public interface Client extends GameShell
|
|||||||
/**
|
/**
|
||||||
* Checks whether a player is on the friends list.
|
* Checks whether a player is on the friends list.
|
||||||
*
|
*
|
||||||
* @param name the name of the player
|
* @param name the name of the player
|
||||||
* @param mustBeLoggedIn if they player is online
|
* @param mustBeLoggedIn if they player is online
|
||||||
* @return true if the player is friends
|
* @return true if the player is friends
|
||||||
*/
|
*/
|
||||||
@@ -1261,7 +1263,7 @@ public interface Client extends GameShell
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Executes a client script from the cache
|
* Executes a client script from the cache
|
||||||
*
|
* <p>
|
||||||
* This method must be ran on the client thread and is not reentrant
|
* This method must be ran on the client thread and is not reentrant
|
||||||
*
|
*
|
||||||
* @param args the script id, then any additional arguments to execute the script with
|
* @param args the script id, then any additional arguments to execute the script with
|
||||||
@@ -1651,6 +1653,7 @@ public interface Client extends GameShell
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Hops using in-game world hopper widget to another world
|
* Hops using in-game world hopper widget to another world
|
||||||
|
*
|
||||||
* @param world target world to hop to
|
* @param world target world to hop to
|
||||||
*/
|
*/
|
||||||
void hopToWorld(World world);
|
void hopToWorld(World world);
|
||||||
@@ -1670,11 +1673,15 @@ public interface Client extends GameShell
|
|||||||
void setGpu(boolean gpu);
|
void setGpu(boolean gpu);
|
||||||
|
|
||||||
int get3dZoom();
|
int get3dZoom();
|
||||||
|
|
||||||
int getCenterX();
|
int getCenterX();
|
||||||
|
|
||||||
int getCenterY();
|
int getCenterY();
|
||||||
|
|
||||||
int getCameraX2();
|
int getCameraX2();
|
||||||
|
|
||||||
int getCameraY2();
|
int getCameraY2();
|
||||||
|
|
||||||
int getCameraZ2();
|
int getCameraZ2();
|
||||||
|
|
||||||
TextureProvider getTextureProvider();
|
TextureProvider getTextureProvider();
|
||||||
@@ -1684,8 +1691,11 @@ public interface Client extends GameShell
|
|||||||
void setRenderArea(boolean[][] renderArea);
|
void setRenderArea(boolean[][] renderArea);
|
||||||
|
|
||||||
int getRasterizer3D_clipMidX2();
|
int getRasterizer3D_clipMidX2();
|
||||||
|
|
||||||
int getRasterizer3D_clipNegativeMidX();
|
int getRasterizer3D_clipNegativeMidX();
|
||||||
|
|
||||||
int getRasterizer3D_clipNegativeMidY();
|
int getRasterizer3D_clipNegativeMidY();
|
||||||
|
|
||||||
int getRasterizer3D_clipMidY2();
|
int getRasterizer3D_clipMidY2();
|
||||||
|
|
||||||
void checkClickbox(Model model, int orientation, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y, int z, long hash);
|
void checkClickbox(Model model, int orientation, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y, int z, long hash);
|
||||||
@@ -1726,15 +1736,14 @@ public interface Client extends GameShell
|
|||||||
void setRenderSelf(boolean enabled);
|
void setRenderSelf(boolean enabled);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* @param param0 This is SceneX for gameObject, index for items, and 0 for npc.
|
||||||
* @param param0 This is SceneX for gameObject, index for items, and 0 for npc.
|
* @param param1 This is SceneY for gameObject, static for items, and 0 for npc.
|
||||||
* @param param1 This is SceneY for gameObject, static for items, and 0 for npc.
|
* @param type Menu entry Action opcode.
|
||||||
* @param type Menu entry Action opcode.
|
* @param id Targets ID
|
||||||
* @param id Targets ID
|
* @param menuEntry Do these actually matter?
|
||||||
* @param menuEntry Do these actually matter?
|
|
||||||
* @param targetString Do these actually matter?
|
* @param targetString Do these actually matter?
|
||||||
* @param canvasX Canvas X Point
|
* @param canvasX Canvas X Point
|
||||||
* @param canvasY Canvas Y Point
|
* @param canvasY Canvas Y Point
|
||||||
*/
|
*/
|
||||||
void invokeMenuAction(int param0, int param1, int type, int id, String menuEntry, String targetString, int canvasX, int canvasY);
|
void invokeMenuAction(int param0, int param1, int type, int id, String menuEntry, String targetString, int canvasX, int canvasY);
|
||||||
|
|
||||||
@@ -1744,6 +1753,8 @@ public interface Client extends GameShell
|
|||||||
|
|
||||||
String getSelectedSpellName();
|
String getSelectedSpellName();
|
||||||
|
|
||||||
|
void setSelectedSpellName(String name);
|
||||||
|
|
||||||
boolean isSpellSelected();
|
boolean isSpellSelected();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1794,4 +1805,18 @@ public interface Client extends GameShell
|
|||||||
* Adds a MenuEntry to the current menu.
|
* Adds a MenuEntry to the current menu.
|
||||||
*/
|
*/
|
||||||
void insertMenuItem(String action, String target, int opcode, int identifier, int argument1, int argument2, boolean forceLeftClick);
|
void insertMenuItem(String action, String target, int opcode, int identifier, int argument1, int argument2, boolean forceLeftClick);
|
||||||
|
|
||||||
|
void setSelectedItemID(int id);
|
||||||
|
|
||||||
|
void setSelectedItemWidget(int widgetID);
|
||||||
|
|
||||||
|
void setSelectedItemSlot(int idx);
|
||||||
|
|
||||||
|
int getSelectedSpellWidget();
|
||||||
|
|
||||||
|
int getSelectedSpellChildIndex();
|
||||||
|
|
||||||
|
void setSelectedSpellWidget(int widgetID);
|
||||||
|
|
||||||
|
void setSelectedSpellChildIndex(int index);
|
||||||
}
|
}
|
||||||
@@ -1016,6 +1016,10 @@ public interface RSClient extends RSGameShell, Client
|
|||||||
@Import("selectedSpellName")
|
@Import("selectedSpellName")
|
||||||
String getSelectedSpellName();
|
String getSelectedSpellName();
|
||||||
|
|
||||||
|
@Import("selectedSpellName")
|
||||||
|
@Override
|
||||||
|
void setSelectedSpellName(String name);
|
||||||
|
|
||||||
@Import("isSpellSelected")
|
@Import("isSpellSelected")
|
||||||
boolean isSpellSelected();
|
boolean isSpellSelected();
|
||||||
|
|
||||||
@@ -1054,4 +1058,32 @@ public interface RSClient extends RSGameShell, Client
|
|||||||
@Import("insertMenuItem")
|
@Import("insertMenuItem")
|
||||||
@Override
|
@Override
|
||||||
void insertMenuItem(String action, String target, int opcode, int identifier, int argument1, int argument2, boolean forceLeftClick);
|
void insertMenuItem(String action, String target, int opcode, int identifier, int argument1, int argument2, boolean forceLeftClick);
|
||||||
|
|
||||||
|
@Import("selectedItemId")
|
||||||
|
@Override
|
||||||
|
void setSelectedItemID(int id);
|
||||||
|
|
||||||
|
@Import("selectedItemSlot")
|
||||||
|
@Override
|
||||||
|
void setSelectedItemSlot(int index);
|
||||||
|
|
||||||
|
@Import("selectedItemWidget")
|
||||||
|
@Override
|
||||||
|
void setSelectedItemWidget(int widgetID);
|
||||||
|
|
||||||
|
@Import("selectedSpellWidget")
|
||||||
|
@Override
|
||||||
|
int getSelectedSpellWidget();
|
||||||
|
|
||||||
|
@Import("selectedSpellChildIndex")
|
||||||
|
@Override
|
||||||
|
int getSelectedSpellChildIndex();
|
||||||
|
|
||||||
|
@Import("selectedSpellWidget")
|
||||||
|
@Override
|
||||||
|
void setSelectedSpellWidget(int widgetID);
|
||||||
|
|
||||||
|
@Import("selectedSpellChildIndex")
|
||||||
|
@Override
|
||||||
|
void setSelectedSpellChildIndex(int index);
|
||||||
}
|
}
|
||||||
@@ -1236,7 +1236,8 @@ public final class Client extends GameShell implements Usernamed {
|
|||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -465859219
|
intValue = -465859219
|
||||||
)
|
)
|
||||||
static int field687;
|
@Export("selectedSpellChildIndex")
|
||||||
|
static int selectedSpellChildIndex;
|
||||||
@ObfuscatedName("ml")
|
@ObfuscatedName("ml")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1436921851
|
intValue = -1436921851
|
||||||
@@ -1410,7 +1411,7 @@ public final class Client extends GameShell implements Usernamed {
|
|||||||
isItemSelected = 0;
|
isItemSelected = 0;
|
||||||
selectedItemName = null;
|
selectedItemName = null;
|
||||||
isSpellSelected = false;
|
isSpellSelected = false;
|
||||||
field687 = -1;
|
selectedSpellChildIndex = -1;
|
||||||
field648 = -1;
|
field648 = -1;
|
||||||
selectedSpellActionName = null;
|
selectedSpellActionName = null;
|
||||||
selectedSpellName = null;
|
selectedSpellName = null;
|
||||||
|
|||||||
@@ -323,11 +323,11 @@ public class EnumDefinition extends DualNode {
|
|||||||
Client.destinationX = var0;
|
Client.destinationX = var0;
|
||||||
Client.destinationY = var1;
|
Client.destinationY = var1;
|
||||||
var8 = MenuAction.getPacketBufferNode(ClientPacket.field2196, Client.packetWriter.isaacCipher);
|
var8 = MenuAction.getPacketBufferNode(ClientPacket.field2196, Client.packetWriter.isaacCipher);
|
||||||
var8.packetBuffer.writeIntLE16(class83.field1138);
|
var8.packetBuffer.writeIntLE16(class83.selectedSpellWidget);
|
||||||
var8.packetBuffer.writeShort(var3);
|
var8.packetBuffer.writeShort(var3);
|
||||||
var8.packetBuffer.method5500(ScriptEvent.baseY + var1);
|
var8.packetBuffer.method5500(ScriptEvent.baseY + var1);
|
||||||
var8.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0);
|
var8.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0);
|
||||||
var8.packetBuffer.writeIntME(Client.field687);
|
var8.packetBuffer.writeIntME(Client.selectedSpellChildIndex);
|
||||||
var8.packetBuffer.writeIntME(class4.baseX * 64 + var0);
|
var8.packetBuffer.writeIntME(class4.baseX * 64 + var0);
|
||||||
Client.packetWriter.addNode(var8);
|
Client.packetWriter.addNode(var8);
|
||||||
} else if (var2 == 3) {
|
} else if (var2 == 3) {
|
||||||
@@ -412,8 +412,8 @@ public class EnumDefinition extends DualNode {
|
|||||||
Client.destinationX = var0;
|
Client.destinationX = var0;
|
||||||
Client.destinationY = var1;
|
Client.destinationY = var1;
|
||||||
var9 = MenuAction.getPacketBufferNode(ClientPacket.field2280, Client.packetWriter.isaacCipher);
|
var9 = MenuAction.getPacketBufferNode(ClientPacket.field2280, Client.packetWriter.isaacCipher);
|
||||||
var9.packetBuffer.method5502(Client.field687);
|
var9.packetBuffer.method5502(Client.selectedSpellChildIndex);
|
||||||
var9.packetBuffer.writeIntLE16(class83.field1138);
|
var9.packetBuffer.writeIntLE16(class83.selectedSpellWidget);
|
||||||
var9.packetBuffer.method5500(var3);
|
var9.packetBuffer.method5500(var3);
|
||||||
var9.packetBuffer.method5493(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0);
|
var9.packetBuffer.method5493(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0);
|
||||||
Client.packetWriter.addNode(var9);
|
Client.packetWriter.addNode(var9);
|
||||||
@@ -517,9 +517,9 @@ public class EnumDefinition extends DualNode {
|
|||||||
Client.destinationX = var0;
|
Client.destinationX = var0;
|
||||||
Client.destinationY = var1;
|
Client.destinationY = var1;
|
||||||
var9 = MenuAction.getPacketBufferNode(ClientPacket.field2194, Client.packetWriter.isaacCipher);
|
var9 = MenuAction.getPacketBufferNode(ClientPacket.field2194, Client.packetWriter.isaacCipher);
|
||||||
var9.packetBuffer.writeIntLE(class83.field1138);
|
var9.packetBuffer.writeIntLE(class83.selectedSpellWidget);
|
||||||
var9.packetBuffer.writeShort(var3);
|
var9.packetBuffer.writeShort(var3);
|
||||||
var9.packetBuffer.method5500(Client.field687);
|
var9.packetBuffer.method5500(Client.selectedSpellChildIndex);
|
||||||
var9.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0);
|
var9.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0);
|
||||||
Client.packetWriter.addNode(var9);
|
Client.packetWriter.addNode(var9);
|
||||||
}
|
}
|
||||||
@@ -547,8 +547,8 @@ public class EnumDefinition extends DualNode {
|
|||||||
Client.destinationX = var0;
|
Client.destinationX = var0;
|
||||||
Client.destinationY = var1;
|
Client.destinationY = var1;
|
||||||
var8 = MenuAction.getPacketBufferNode(ClientPacket.field2233, Client.packetWriter.isaacCipher);
|
var8 = MenuAction.getPacketBufferNode(ClientPacket.field2233, Client.packetWriter.isaacCipher);
|
||||||
var8.packetBuffer.writeIntLE(class83.field1138);
|
var8.packetBuffer.writeIntLE(class83.selectedSpellWidget);
|
||||||
var8.packetBuffer.writeShort(Client.field687);
|
var8.packetBuffer.writeShort(Client.selectedSpellChildIndex);
|
||||||
var8.packetBuffer.method5500(ScriptEvent.baseY + var1);
|
var8.packetBuffer.method5500(ScriptEvent.baseY + var1);
|
||||||
var8.packetBuffer.method5500(var3);
|
var8.packetBuffer.method5500(var3);
|
||||||
var8.packetBuffer.method5500(class4.baseX * 64 + var0);
|
var8.packetBuffer.method5500(class4.baseX * 64 + var0);
|
||||||
@@ -645,7 +645,7 @@ public class EnumDefinition extends DualNode {
|
|||||||
var16 = class49.getWidgetChild(var1, var0);
|
var16 = class49.getWidgetChild(var1, var0);
|
||||||
if (var16 != null) {
|
if (var16 != null) {
|
||||||
FloorDecoration.Widget_runOnTargetLeave();
|
FloorDecoration.Widget_runOnTargetLeave();
|
||||||
Player.method1196(var1, var0, WorldMapElement.method4390(class60.getWidgetClickMask(var16)), var16.itemId);
|
Player.selectSpell(var1, var0, WorldMapElement.method4390(class60.getWidgetClickMask(var16)), var16.itemId);
|
||||||
Client.isItemSelected = 0;
|
Client.isItemSelected = 0;
|
||||||
Client.selectedSpellActionName = class16.method165(var16);
|
Client.selectedSpellActionName = class16.method165(var16);
|
||||||
if (Client.selectedSpellActionName == null) {
|
if (Client.selectedSpellActionName == null) {
|
||||||
@@ -709,11 +709,11 @@ public class EnumDefinition extends DualNode {
|
|||||||
Client.field728 = var0;
|
Client.field728 = var0;
|
||||||
} else if (var2 == 32) {
|
} else if (var2 == 32) {
|
||||||
var8 = MenuAction.getPacketBufferNode(ClientPacket.field2219, Client.packetWriter.isaacCipher);
|
var8 = MenuAction.getPacketBufferNode(ClientPacket.field2219, Client.packetWriter.isaacCipher);
|
||||||
var8.packetBuffer.writeShort(Client.field687);
|
var8.packetBuffer.writeShort(Client.selectedSpellChildIndex);
|
||||||
var8.packetBuffer.method5500(var0);
|
var8.packetBuffer.method5500(var0);
|
||||||
var8.packetBuffer.writeShortLE(var1);
|
var8.packetBuffer.writeShortLE(var1);
|
||||||
var8.packetBuffer.method5500(var3);
|
var8.packetBuffer.method5500(var3);
|
||||||
var8.packetBuffer.writeIntLE16(class83.field1138);
|
var8.packetBuffer.writeIntLE16(class83.selectedSpellWidget);
|
||||||
Client.packetWriter.addNode(var8);
|
Client.packetWriter.addNode(var8);
|
||||||
Client.field727 = 0;
|
Client.field727 = 0;
|
||||||
Entity.field1835 = Player.getWidget(var1);
|
Entity.field1835 = Player.getWidget(var1);
|
||||||
@@ -944,8 +944,8 @@ public class EnumDefinition extends DualNode {
|
|||||||
var16 = class49.getWidgetChild(var1, var0);
|
var16 = class49.getWidgetChild(var1, var0);
|
||||||
if (var16 != null) {
|
if (var16 != null) {
|
||||||
var9 = MenuAction.getPacketBufferNode(ClientPacket.field2229, Client.packetWriter.isaacCipher);
|
var9 = MenuAction.getPacketBufferNode(ClientPacket.field2229, Client.packetWriter.isaacCipher);
|
||||||
var9.packetBuffer.writeShortLE(class83.field1138);
|
var9.packetBuffer.writeShortLE(class83.selectedSpellWidget);
|
||||||
var9.packetBuffer.writeIntME(Client.field687);
|
var9.packetBuffer.writeIntME(Client.selectedSpellChildIndex);
|
||||||
var9.packetBuffer.writeIntLE(var1);
|
var9.packetBuffer.writeIntLE(var1);
|
||||||
var9.packetBuffer.writeShort(var0);
|
var9.packetBuffer.writeShort(var0);
|
||||||
var9.packetBuffer.writeIntME(Client.field648);
|
var9.packetBuffer.writeIntME(Client.field648);
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ public final class FloorDecoration {
|
|||||||
@Export("Widget_runOnTargetLeave")
|
@Export("Widget_runOnTargetLeave")
|
||||||
static void Widget_runOnTargetLeave() {
|
static void Widget_runOnTargetLeave() {
|
||||||
if (Client.isSpellSelected) {
|
if (Client.isSpellSelected) {
|
||||||
Widget var0 = class49.getWidgetChild(class83.field1138, Client.field687);
|
Widget var0 = class49.getWidgetChild(class83.selectedSpellWidget, Client.selectedSpellChildIndex);
|
||||||
if (var0 != null && var0.onTargetLeave != null) {
|
if (var0 != null && var0.onTargetLeave != null) {
|
||||||
ScriptEvent var1 = new ScriptEvent();
|
ScriptEvent var1 = new ScriptEvent();
|
||||||
var1.widget = var0;
|
var1.widget = var0;
|
||||||
|
|||||||
@@ -741,8 +741,9 @@ public final class Player extends Actor {
|
|||||||
signature = "(IIIII)V",
|
signature = "(IIIII)V",
|
||||||
garbageValue = "16777215"
|
garbageValue = "16777215"
|
||||||
)
|
)
|
||||||
static void method1196(int var0, int var1, int var2, int var3) {
|
@Export("selectSpell")
|
||||||
Widget var4 = class49.getWidgetChild(var0, var1);
|
static void selectSpell(int widgetId, int childId, int clickMaskId, int id) {
|
||||||
|
Widget var4 = class49.getWidgetChild(widgetId, childId);
|
||||||
if (var4 != null && var4.onTargetEnter != null) {
|
if (var4 != null && var4.onTargetEnter != null) {
|
||||||
ScriptEvent var5 = new ScriptEvent();
|
ScriptEvent var5 = new ScriptEvent();
|
||||||
var5.widget = var4;
|
var5.widget = var4;
|
||||||
@@ -750,11 +751,11 @@ public final class Player extends Actor {
|
|||||||
SecureRandomFuture.runScriptEvent(var5);
|
SecureRandomFuture.runScriptEvent(var5);
|
||||||
}
|
}
|
||||||
|
|
||||||
Client.field648 = var3;
|
Client.field648 = id;
|
||||||
Client.isSpellSelected = true;
|
Client.isSpellSelected = true;
|
||||||
class83.field1138 = var0;
|
class83.selectedSpellWidget = widgetId;
|
||||||
Client.field687 = var1;
|
Client.selectedSpellChildIndex = childId;
|
||||||
BuddyRankComparator.selectedSpellFlags = var2;
|
BuddyRankComparator.selectedSpellFlags = clickMaskId;
|
||||||
WorldMapID.invalidateWidget(var4);
|
WorldMapID.invalidateWidget(var4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -360,7 +360,7 @@ public final class Tiles {
|
|||||||
TileItem.method2093(var20 + 1, var9.id, var9.childIndex, var9.itemId, "");
|
TileItem.method2093(var20 + 1, var9.id, var9.childIndex, var9.itemId, "");
|
||||||
} else if (var20 == 10) {
|
} else if (var20 == 10) {
|
||||||
FloorDecoration.Widget_runOnTargetLeave();
|
FloorDecoration.Widget_runOnTargetLeave();
|
||||||
Player.method1196(var9.id, var9.childIndex, WorldMapElement.method4390(class60.getWidgetClickMask(var9)), var9.itemId);
|
Player.selectSpell(var9.id, var9.childIndex, WorldMapElement.method4390(class60.getWidgetClickMask(var9)), var9.itemId);
|
||||||
Client.selectedSpellActionName = class16.method165(var9);
|
Client.selectedSpellActionName = class16.method165(var9);
|
||||||
if (Client.selectedSpellActionName == null) {
|
if (Client.selectedSpellActionName == null) {
|
||||||
Client.selectedSpellActionName = "null";
|
Client.selectedSpellActionName = "null";
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ public class class83 {
|
|||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 670190247
|
intValue = 670190247
|
||||||
)
|
)
|
||||||
static int field1138;
|
@Export("selectedSpellWidget")
|
||||||
|
static int selectedSpellWidget;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
field1142 = new BigInteger("10001", 16);
|
field1142 = new BigInteger("10001", 16);
|
||||||
|
|||||||
Reference in New Issue
Block a user