chore: rev 190

This commit is contained in:
ThatGamerBlue
2020-06-18 12:15:38 +01:00
parent c97f7b196e
commit 655106b9df
351 changed files with 41484 additions and 41558 deletions

View File

@@ -1,41 +1,36 @@
import java.io.IOException;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.ScriptOpcodes;
@ObfuscatedName("ac")
@ObfuscatedName("aq")
@Implements("WorldMapData_1")
public class WorldMapData_1 extends AbstractWorldMapData {
@ObfuscatedName("lq")
@ObfuscatedName("gx")
@Export("xteaKeys")
static int[][] xteaKeys;
@ObfuscatedName("r")
@ObfuscatedGetter(
intValue = -759112177
)
@Export("menuHeight")
static int menuHeight;
@ObfuscatedName("g")
@ObfuscatedGetter(
intValue = 1108561207
intValue = -941461191
)
@Export("chunkXLow")
int chunkXLow;
@ObfuscatedName("i")
@ObfuscatedName("s")
@ObfuscatedGetter(
intValue = -1693102949
intValue = 1539271547
)
@Export("chunkYLow")
int chunkYLow;
@ObfuscatedName("a")
@ObfuscatedName("v")
@ObfuscatedGetter(
intValue = 1779998121
intValue = -1911855955
)
@Export("chunkX")
int chunkX;
@ObfuscatedName("b")
@ObfuscatedName("d")
@ObfuscatedGetter(
intValue = -468577011
intValue = 1515866059
)
@Export("chunkY")
int chunkY;
@@ -43,15 +38,15 @@ public class WorldMapData_1 extends AbstractWorldMapData {
WorldMapData_1() {
}
@ObfuscatedName("x")
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "(Lkb;B)V",
garbageValue = "1"
signature = "(Lkn;I)V",
garbageValue = "-484373567"
)
@Export("init")
void init(Buffer var1) {
int var2 = var1.readUnsignedByte();
if (var2 != WorldMapID.field303.value) {
if (var2 != WorldMapID.field299.value) {
throw new IllegalStateException("");
} else {
super.minPlane = var1.readUnsignedByte();
@@ -64,26 +59,26 @@ public class WorldMapData_1 extends AbstractWorldMapData {
super.regionY = var1.readUnsignedShort();
this.chunkX = var1.readUnsignedByte();
this.chunkY = var1.readUnsignedByte();
super.groupId = var1.method5591();
super.fileId = var1.method5591();
super.groupId = var1.method5843();
super.fileId = var1.method5843();
}
}
@ObfuscatedName("m")
@ObfuscatedName("o")
@ObfuscatedSignature(
signature = "(Lkb;B)V",
garbageValue = "-78"
signature = "(Lkn;I)V",
garbageValue = "-1774414997"
)
@Export("readGeography")
void readGeography(Buffer var1) {
super.planes = Math.min(super.planes, 4);
super.floorUnderlayIds = new short[1][64][64];
super.floorOverlayIds = new short[super.planes][64][64];
super.field205 = new byte[super.planes][64][64];
super.field206 = new byte[super.planes][64][64];
super.field185 = new byte[super.planes][64][64];
super.field175 = new byte[super.planes][64][64];
super.decorations = new WorldMapDecoration[super.planes][64][64][];
int var2 = var1.readUnsignedByte();
if (var2 != class39.field297.value) {
if (var2 != class39.field293.value) {
throw new IllegalStateException("");
} else {
int var3 = var1.readUnsignedByte();
@@ -103,40 +98,40 @@ public class WorldMapData_1 extends AbstractWorldMapData {
}
}
@ObfuscatedName("k")
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "(B)I",
garbageValue = "3"
garbageValue = "4"
)
@Export("getChunkXLow")
int getChunkXLow() {
return this.chunkXLow;
}
@ObfuscatedName("d")
@ObfuscatedName("j")
@ObfuscatedSignature(
signature = "(I)I",
garbageValue = "-1104006476"
garbageValue = "259751183"
)
@Export("getChunkYLow")
int getChunkYLow() {
return this.chunkYLow;
}
@ObfuscatedName("w")
@ObfuscatedName("p")
@ObfuscatedSignature(
signature = "(I)I",
garbageValue = "-2123096151"
garbageValue = "-810164078"
)
@Export("getChunkX")
int getChunkX() {
return this.chunkX;
}
@ObfuscatedName("aq")
@ObfuscatedName("as")
@ObfuscatedSignature(
signature = "(I)I",
garbageValue = "-50915018"
garbageValue = "196084572"
)
@Export("getChunkY")
int getChunkY() {
@@ -148,8 +143,8 @@ public class WorldMapData_1 extends AbstractWorldMapData {
return false;
} else {
WorldMapData_1 var2 = (WorldMapData_1)var1;
if (super.regionX == var2.regionX && super.regionY == var2.regionY) {
return var2.chunkX == this.chunkX && var2.chunkY == this.chunkY;
if (var2.regionX == super.regionX && var2.regionY == super.regionY) {
return this.chunkX == var2.chunkX && var2.chunkY == this.chunkY;
} else {
return false;
}
@@ -160,386 +155,213 @@ public class WorldMapData_1 extends AbstractWorldMapData {
return super.regionX | super.regionY << 8 | this.chunkX << 16 | this.chunkY << 24;
}
@ObfuscatedName("k")
@ObfuscatedName("o")
@ObfuscatedSignature(
signature = "(B)Lcq;",
garbageValue = "-96"
signature = "(II)Z",
garbageValue = "1959951733"
)
static ClientPreferences method813() {
AccessFile var0 = null;
ClientPreferences var1 = new ClientPreferences();
try {
var0 = KeyHandler.getPreferencesFile("", WorldMapArchiveLoader.field3965.name, false);
byte[] var2 = new byte[(int)var0.length()];
int var4;
for (int var3 = 0; var3 < var2.length; var3 += var4) {
var4 = var0.read(var2, var3, var2.length - var3);
if (var4 == -1) {
throw new IOException();
}
}
var1 = new ClientPreferences(new Buffer(var2));
} catch (Exception var6) {
}
try {
if (var0 != null) {
var0.close();
}
} catch (Exception var5) {
}
return var1;
public static boolean method784(int var0) {
return var0 >= WorldMapDecorationType.field2775.id && var0 <= WorldMapDecorationType.field2778.id;
}
@ObfuscatedName("aq")
@ObfuscatedSignature(
signature = "(ILce;ZB)I",
garbageValue = "66"
)
static int method814(int var0, Script var1, boolean var2) {
if (var0 == ScriptOpcodes.LOGOUT) {
Client.logoutTimer = 250;
return 1;
} else {
return 2;
}
}
@ObfuscatedName("hq")
@ObfuscatedSignature(
signature = "(Lgh;B)V",
garbageValue = "49"
)
static final void method816(class194 var0) {
PacketBuffer var1 = Client.packetWriter.packetBuffer;
int var3;
int var4;
int var5;
int var6;
int var7;
int var8;
int var37;
if (class194.field2327 == var0) {
var37 = var1.method5604();
var3 = var37 >> 2;
var4 = var37 & 3;
var5 = Client.field699[var3];
var6 = var1.readUnsignedByte();
var7 = (var6 >> 4 & 7) + GrandExchangeOfferTotalQuantityComparator.field91;
var8 = (var6 & 7) + PlatformInfo.field3959;
if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) {
Skeleton.updatePendingSpawn(ScriptEvent.Client_plane, var7, var8, var5, -1, var3, var4, 0, -1);
}
} else {
int var9;
int var11;
int var12;
int var13;
byte var14;
if (class194.field2324 == var0) {
byte var2 = var1.method5608();
var3 = var1.method5614();
var4 = var1.readUnsignedShort();
var5 = var1.method5614();
var6 = var1.method5604();
var7 = var6 >> 2;
var8 = var6 & 3;
var9 = Client.field699[var7];
byte var10 = var1.readByte();
var11 = var1.method5603();
var12 = (var11 >> 4 & 7) + GrandExchangeOfferTotalQuantityComparator.field91;
var13 = (var11 & 7) + PlatformInfo.field3959;
var14 = var1.method5606();
int var15 = var1.method5614();
byte var16 = var1.method5606();
Player var17;
if (var4 == Client.localPlayerIndex) {
var17 = ByteArrayPool.localPlayer;
} else {
var17 = Client.players[var4];
}
if (var17 != null) {
ObjectDefinition var18 = WorldMapSection2.getObjectDefinition(var5);
int var19;
int var20;
if (var8 != 1 && var8 != 3) {
var19 = var18.sizeX;
var20 = var18.sizeY;
} else {
var19 = var18.sizeY;
var20 = var18.sizeX;
}
int var21 = var12 + (var19 >> 1);
int var22 = var12 + (var19 + 1 >> 1);
int var23 = var13 + (var20 >> 1);
int var24 = var13 + (var20 + 1 >> 1);
int[][] var25 = Tiles.Tiles_heights[ScriptEvent.Client_plane];
int var26 = var25[var21][var24] + var25[var21][var23] + var25[var22][var23] + var25[var22][var24] >> 2;
int var27 = (var12 << 7) + (var19 << 6);
int var28 = (var13 << 7) + (var20 << 6);
Model var29 = var18.getModel(var7, var8, var25, var27, var26, var28);
if (var29 != null) {
Skeleton.updatePendingSpawn(ScriptEvent.Client_plane, var12, var13, var9, -1, 0, 0, var15 + 1, var3 + 1);
var17.animationCycleStart = var15 + Client.cycle;
var17.animationCycleEnd = var3 + Client.cycle;
var17.model0 = var29;
var17.field662 = var19 * 64 + var12 * 128;
var17.field657 = var20 * 64 + var13 * 128;
var17.tileHeight2 = var26;
byte var30;
if (var10 > var14) {
var30 = var10;
var10 = var14;
var14 = var30;
}
if (var2 > var16) {
var30 = var2;
var2 = var16;
var16 = var30;
}
var17.field659 = var12 + var10;
var17.field661 = var14 + var12;
var17.field660 = var2 + var13;
var17.field664 = var13 + var16;
}
}
}
TileItem var32;
if (class194.field2331 == var0) {
var37 = var1.method5605();
var3 = (var37 >> 4 & 7) + GrandExchangeOfferTotalQuantityComparator.field91;
var4 = (var37 & 7) + PlatformInfo.field3959;
var5 = var1.readUnsignedShort();
if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) {
NodeDeque var31 = Client.groundItems[ScriptEvent.Client_plane][var3][var4];
if (var31 != null) {
for (var32 = (TileItem)var31.last(); var32 != null; var32 = (TileItem)var31.previous()) {
if ((var5 & 32767) == var32.id) {
var32.remove();
break;
}
}
if (var31.last() == null) {
Client.groundItems[ScriptEvent.Client_plane][var3][var4] = null;
}
World.updateItemPile(var3, var4);
}
}
} else if (class194.field2329 == var0) {
var37 = var1.readUnsignedShort();
var3 = var1.method5614();
var4 = var1.method5564();
var5 = var1.readUnsignedByte();
var6 = (var5 >> 4 & 7) + GrandExchangeOfferTotalQuantityComparator.field91;
var7 = (var5 & 7) + PlatformInfo.field3959;
if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104) {
NodeDeque var41 = Client.groundItems[ScriptEvent.Client_plane][var6][var7];
if (var41 != null) {
for (TileItem var34 = (TileItem)var41.last(); var34 != null; var34 = (TileItem)var41.previous()) {
if ((var3 & 32767) == var34.id && var37 == var34.quantity) {
var34.quantity = var4;
break;
}
}
World.updateItemPile(var6, var7);
}
}
} else if (class194.field2330 == var0) {
var37 = var1.readUnsignedByte();
var3 = (var37 >> 4 & 7) + GrandExchangeOfferTotalQuantityComparator.field91;
var4 = (var37 & 7) + PlatformInfo.field3959;
var5 = var1.method5614();
var6 = var1.method5605();
var7 = var6 >> 2;
var8 = var6 & 3;
var9 = Client.field699[var7];
if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) {
Skeleton.updatePendingSpawn(ScriptEvent.Client_plane, var3, var4, var9, var5, var7, var8, 0, -1);
}
} else {
int var39;
if (class194.field2325 == var0) {
var37 = var1.readUnsignedByte();
var3 = var1.method5605();
var4 = (var3 >> 4 & 7) + GrandExchangeOfferTotalQuantityComparator.field91;
var5 = (var3 & 7) + PlatformInfo.field3959;
var6 = var1.method5613();
var7 = var1.method5605();
var8 = var7 >> 4 & 15;
var9 = var7 & 7;
if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) {
var39 = var8 + 1;
if (ByteArrayPool.localPlayer.pathX[0] >= var4 - var39 && ByteArrayPool.localPlayer.pathX[0] <= var4 + var39 && ByteArrayPool.localPlayer.pathY[0] >= var5 - var39 && ByteArrayPool.localPlayer.pathY[0] <= var5 + var39 && Client.areaSoundEffectVolume != 0 && var9 > 0 && Client.soundEffectCount < 50) {
Client.soundEffectIds[Client.soundEffectCount] = var6;
Client.queuedSoundEffectLoops[Client.soundEffectCount] = var9;
Client.queuedSoundEffectDelays[Client.soundEffectCount] = var37;
Client.soundEffects[Client.soundEffectCount] = null;
Client.soundLocations[Client.soundEffectCount] = var8 + (var5 << 8) + (var4 << 16);
++Client.soundEffectCount;
}
}
}
if (class194.field2323 == var0) {
var37 = var1.method5613();
var3 = var1.method5564();
var4 = var1.readUnsignedByte();
var5 = (var4 >> 4 & 7) + GrandExchangeOfferTotalQuantityComparator.field91;
var6 = (var4 & 7) + PlatformInfo.field3959;
if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) {
var32 = new TileItem();
var32.id = var37;
var32.quantity = var3;
if (Client.groundItems[ScriptEvent.Client_plane][var5][var6] == null) {
Client.groundItems[ScriptEvent.Client_plane][var5][var6] = new NodeDeque();
}
Client.groundItems[ScriptEvent.Client_plane][var5][var6].addFirst(var32);
World.updateItemPile(var5, var6);
}
} else if (class194.field2332 == var0) {
var37 = var1.method5613();
var3 = var1.method5605() * 4;
var4 = var1.method5604() * 4;
var5 = var1.method5604();
byte var38 = var1.method5607();
var7 = var1.method5614();
var8 = var1.method5564();
var9 = var1.readUnsignedByte();
var39 = (var9 >> 4 & 7) + GrandExchangeOfferTotalQuantityComparator.field91;
var11 = (var9 & 7) + PlatformInfo.field3959;
var12 = var1.readUnsignedByte();
var13 = var1.readShort();
var14 = var1.method5607();
var6 = var38 + var39;
int var40 = var14 + var11;
if (var39 >= 0 && var11 >= 0 && var39 < 104 && var11 < 104 && var6 >= 0 && var40 >= 0 && var6 < 104 && var40 < 104 && var7 != 65535) {
var39 = var39 * 128 + 64;
var11 = var11 * 128 + 64;
var6 = var6 * 128 + 64;
var40 = var40 * 128 + 64;
Projectile var35 = new Projectile(var7, ScriptEvent.Client_plane, var39, var11, class277.getTileHeight(var39, var11, ScriptEvent.Client_plane) - var4, var8 + Client.cycle, var37 + Client.cycle, var5, var12, var13, var3);
var35.setDestination(var6, var40, class277.getTileHeight(var6, var40, ScriptEvent.Client_plane) - var3, var8 + Client.cycle);
Client.projectiles.addFirst(var35);
}
} else if (class194.field2326 == var0) {
var37 = var1.method5603();
var3 = var1.readUnsignedShort();
var4 = var1.method5603();
var5 = (var4 >> 4 & 7) + GrandExchangeOfferTotalQuantityComparator.field91;
var6 = (var4 & 7) + PlatformInfo.field3959;
var7 = var1.method5613();
if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) {
var5 = var5 * 128 + 64;
var6 = var6 * 128 + 64;
GraphicsObject var33 = new GraphicsObject(var3, ScriptEvent.Client_plane, var5, var6, class277.getTileHeight(var5, var6, ScriptEvent.Client_plane) - var37, var7, Client.cycle);
Client.graphicsObjects.addFirst(var33);
}
} else if (class194.field2328 == var0) {
var37 = var1.method5605();
var3 = (var37 >> 4 & 7) + GrandExchangeOfferTotalQuantityComparator.field91;
var4 = (var37 & 7) + PlatformInfo.field3959;
var5 = var1.readUnsignedByte();
var6 = var5 >> 2;
var7 = var5 & 3;
var8 = Client.field699[var6];
var9 = var1.method5614();
if (var3 >= 0 && var4 >= 0 && var3 < 103 && var4 < 103) {
if (var8 == 0) {
BoundaryObject var36 = GrandExchangeOfferWorldComparator.scene.method3199(ScriptEvent.Client_plane, var3, var4);
if (var36 != null) {
var11 = WorldMapRectangle.Entity_unpackID(var36.tag);
if (var6 == 2) {
var36.entity1 = new DynamicObject(var11, 2, var7 + 4, ScriptEvent.Client_plane, var3, var4, var9, false, var36.entity1);
var36.entity2 = new DynamicObject(var11, 2, var7 + 1 & 3, ScriptEvent.Client_plane, var3, var4, var9, false, var36.entity2);
} else {
var36.entity1 = new DynamicObject(var11, var6, var7, ScriptEvent.Client_plane, var3, var4, var9, false, var36.entity1);
}
}
}
if (var8 == 1) {
WallDecoration var42 = GrandExchangeOfferWorldComparator.scene.method3252(ScriptEvent.Client_plane, var3, var4);
if (var42 != null) {
var11 = WorldMapRectangle.Entity_unpackID(var42.tag);
if (var6 != 4 && var6 != 5) {
if (var6 == 6) {
var42.entity1 = new DynamicObject(var11, 4, var7 + 4, ScriptEvent.Client_plane, var3, var4, var9, false, var42.entity1);
} else if (var6 == 7) {
var42.entity1 = new DynamicObject(var11, 4, (var7 + 2 & 3) + 4, ScriptEvent.Client_plane, var3, var4, var9, false, var42.entity1);
} else if (var6 == 8) {
var42.entity1 = new DynamicObject(var11, 4, var7 + 4, ScriptEvent.Client_plane, var3, var4, var9, false, var42.entity1);
var42.entity2 = new DynamicObject(var11, 4, (var7 + 2 & 3) + 4, ScriptEvent.Client_plane, var3, var4, var9, false, var42.entity2);
}
} else {
var42.entity1 = new DynamicObject(var11, 4, var7, ScriptEvent.Client_plane, var3, var4, var9, false, var42.entity1);
}
}
}
if (var8 == 2) {
GameObject var43 = GrandExchangeOfferWorldComparator.scene.method3201(ScriptEvent.Client_plane, var3, var4);
if (var6 == 11) {
var6 = 10;
}
if (var43 != null) {
var43.entity = new DynamicObject(WorldMapRectangle.Entity_unpackID(var43.tag), var6, var7, ScriptEvent.Client_plane, var3, var4, var9, false, var43.entity);
}
}
if (var8 == 3) {
FloorDecoration var44 = GrandExchangeOfferWorldComparator.scene.getFloorDecoration(ScriptEvent.Client_plane, var3, var4);
if (var44 != null) {
var44.entity = new DynamicObject(WorldMapRectangle.Entity_unpackID(var44.tag), 22, var7, ScriptEvent.Client_plane, var3, var4, var9, false, var44.entity);
}
}
}
}
}
}
}
@ObfuscatedName("ic")
@ObfuscatedName("im")
@ObfuscatedSignature(
signature = "(IIIIB)V",
garbageValue = "85"
garbageValue = "87"
)
@Export("selectSpell")
static void selectSpell(int var0, int var1, int var2, int var3) {
Widget var4 = GrandExchangeOfferUnitPriceComparator.getWidgetChild(var0, var1);
if (var4 != null && var4.onTargetEnter != null) {
ScriptEvent var5 = new ScriptEvent();
var5.widget = var4;
var5.args = var4.onTargetEnter;
GrandExchangeOfferOwnWorldComparator.runScriptEvent(var5);
@Export("addSceneMenuOptions")
static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) {
if (Client.isItemSelected == 0 && !Client.isSpellSelected) {
ScriptEvent.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3);
}
long var4 = -1L;
long var6 = -1L;
int var8;
for (var8 = 0; var8 < WorldMapSection2.method372(); ++var8) {
long var9 = WorldMapLabel.method482(var8);
if (var9 != var6) {
var6 = var9;
int var24 = SoundSystem.method2628(var8);
long var14 = ViewportMouse.ViewportMouse_entityTags[var8];
int var13 = (int)(var14 >>> 7 & 127L);
var13 = var13;
int var25 = class171.method3571(ViewportMouse.ViewportMouse_entityTags[var8]);
int var16 = class2.method32(var8);
if (var25 == 2 && UserComparator3.scene.getObjectFlags(TileItemPile.Client_plane, var24, var13, var9) >= 0) {
ObjectDefinition var17 = Canvas.getObjectDefinition(var16);
if (var17.transforms != null) {
var17 = var17.transform();
}
if (var17 == null) {
continue;
}
if (Client.isItemSelected == 1) {
ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(65535) + var17.name, 1, var16, var24, var13);
} else if (Client.isSpellSelected) {
if ((WorldMapSprite.selectedSpellFlags & 4) == 4) {
ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(65535) + var17.name, 2, var16, var24, var13);
}
} else {
String[] var26 = var17.actions;
if (var26 != null) {
for (int var27 = 4; var27 >= 0; --var27) {
if (var26[var27] != null) {
short var20 = 0;
if (var27 == 0) {
var20 = 3;
}
if (var27 == 1) {
var20 = 4;
}
if (var27 == 2) {
var20 = 5;
}
if (var27 == 3) {
var20 = 6;
}
if (var27 == 4) {
var20 = 1001;
}
ScriptEvent.insertMenuItemNoShift(var26[var27], ItemContainer.colorStartTag(65535) + var17.name, var20, var16, var24, var13);
}
}
}
ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(65535) + var17.name, 1002, var17.id, var24, var13);
}
}
int var18;
NPC var19;
Player var21;
int[] var33;
int var35;
if (var25 == 1) {
NPC var30 = Client.npcs[var16];
if (var30 == null) {
continue;
}
if (var30.definition.size == 1 && (var30.x & 127) == 64 && (var30.y & 127) == 64) {
for (var18 = 0; var18 < Client.npcCount; ++var18) {
var19 = Client.npcs[Client.npcIndices[var18]];
if (var19 != null && var30 != var19 && var19.definition.size == 1 && var19.x == var30.x && var19.y == var30.y) {
ApproximateRouteStrategy.addNpcToMenu(var19.definition, Client.npcIndices[var18], var24, var13);
}
}
var18 = Players.Players_count;
var33 = Players.Players_indices;
for (var35 = 0; var35 < var18; ++var35) {
var21 = Client.players[var33[var35]];
if (var21 != null && var30.x == var21.x && var30.y == var21.y) {
Player.addPlayerToMenu(var21, var33[var35], var24, var13);
}
}
}
ApproximateRouteStrategy.addNpcToMenu(var30.definition, var16, var24, var13);
}
if (var25 == 0) {
Player var31 = Client.players[var16];
if (var31 == null) {
continue;
}
if ((var31.x & 127) == 64 && (var31.y & 127) == 64) {
for (var18 = 0; var18 < Client.npcCount; ++var18) {
var19 = Client.npcs[Client.npcIndices[var18]];
if (var19 != null && var19.definition.size == 1 && var31.x == var19.x && var31.y == var19.y) {
ApproximateRouteStrategy.addNpcToMenu(var19.definition, Client.npcIndices[var18], var24, var13);
}
}
var18 = Players.Players_count;
var33 = Players.Players_indices;
for (var35 = 0; var35 < var18; ++var35) {
var21 = Client.players[var33[var35]];
if (var21 != null && var21 != var31 && var21.x == var31.x && var31.y == var21.y) {
Player.addPlayerToMenu(var21, var33[var35], var24, var13);
}
}
}
if (var16 != Client.combatTargetPlayerIndex) {
Player.addPlayerToMenu(var31, var16, var24, var13);
} else {
var4 = var9;
}
}
if (var25 == 3) {
NodeDeque var32 = Client.groundItems[TileItemPile.Client_plane][var24][var13];
if (var32 != null) {
for (TileItem var36 = (TileItem)var32.first(); var36 != null; var36 = (TileItem)var32.next()) {
ItemDefinition var34 = KitDefinition.ItemDefinition_get(var36.id);
if (Client.isItemSelected == 1) {
ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + var34.name, 16, var36.id, var24, var13);
} else if (Client.isSpellSelected) {
if ((WorldMapSprite.selectedSpellFlags & 1) == 1) {
ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + var34.name, 17, var36.id, var24, var13);
}
} else {
String[] var28 = var34.groundActions;
for (int var29 = 4; var29 >= 0; --var29) {
if (var28 != null && var28[var29] != null) {
byte var22 = 0;
if (var29 == 0) {
var22 = 18;
}
if (var29 == 1) {
var22 = 19;
}
if (var29 == 2) {
var22 = 20;
}
if (var29 == 3) {
var22 = 21;
}
if (var29 == 4) {
var22 = 22;
}
ScriptEvent.insertMenuItemNoShift(var28[var29], ItemContainer.colorStartTag(16748608) + var34.name, var22, var36.id, var24, var13);
} else if (var29 == 2) {
ScriptEvent.insertMenuItemNoShift("Take", ItemContainer.colorStartTag(16748608) + var34.name, 20, var36.id, var24, var13);
}
}
ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16748608) + var34.name, 1004, var36.id, var24, var13);
}
}
}
}
}
}
if (-1L != var4) {
var8 = class279.method5159(var4);
int var23 = (int)(var4 >>> 7 & 127L);
Player var11 = Client.players[Client.combatTargetPlayerIndex];
Player.addPlayerToMenu(var11, Client.combatTargetPlayerIndex, var8, var23);
}
Client.field837 = var3;
Client.isSpellSelected = true;
class7.selectedSpellWidget = var0;
Client.selectedSpellChildIndex = var1;
AbstractWorldMapIcon.selectedSpellFlags = var2;
ItemContainer.invalidateWidget(var4);
}
}