import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("cr") @Implements("NPC") public final class NPC extends Actor { @ObfuscatedName("n") @ObfuscatedSignature( descriptor = "Lfq;" ) @Export("definition") NPCComposition definition; NPC() { } @ObfuscatedName("n") @ObfuscatedSignature( descriptor = "(IBI)V", garbageValue = "-1998383743" ) final void method2212(int var1, byte var2) { int var3 = super.pathX[0]; int var4 = super.pathY[0]; if (var1 == 0) { --var3; ++var4; } if (var1 == 1) { ++var4; } if (var1 == 2) { ++var3; ++var4; } if (var1 == 3) { --var3; } if (var1 == 4) { ++var3; } if (var1 == 5) { --var3; --var4; } if (var1 == 6) { --var4; } if (var1 == 7) { ++var3; --var4; } if (super.sequence != -1 && class17.SequenceDefinition_get(super.sequence).field1960 == 1) { super.sequence = -1; } if (super.pathLength < 9) { ++super.pathLength; } for (int var5 = super.pathLength; var5 > 0; --var5) { super.pathX[var5] = super.pathX[var5 - 1]; super.pathY[var5] = super.pathY[var5 - 1]; super.pathTraversed[var5] = super.pathTraversed[var5 - 1]; } super.pathX[0] = var3; super.pathY[0] = var4; super.pathTraversed[0] = var2; } @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "(B)Lhg;", garbageValue = "18" ) @Export("getModel") protected final Model getModel() { if (this.definition == null) { return null; } else { SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? class17.SequenceDefinition_get(super.sequence) : null; SequenceDefinition var2 = super.movementSequence == -1 || super.idleSequence == super.movementSequence && var1 != null ? null : class17.SequenceDefinition_get(super.movementSequence); Model var3 = this.definition.getModel(var1, super.sequenceFrame, var2, super.movementFrame); if (var3 == null) { return null; } else { var3.calculateBoundsCylinder(); super.defaultHeight = var3.height; if (super.spotAnimation != -1 && super.spotAnimationFrame != -1) { Model var4 = TaskHandler.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); if (var4 != null) { var4.offsetBy(0, -super.field1134, 0); Model[] var5 = new Model[]{var3, var4}; var3 = new Model(var5, 2); } } if (this.definition.size == 1) { var3.isSingleTile = true; } return var3; } } } @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(IIZI)V", garbageValue = "866261786" ) final void method2224(int var1, int var2, boolean var3) { if (super.sequence != -1 && class17.SequenceDefinition_get(super.sequence).field1960 == 1) { super.sequence = -1; } if (!var3) { int var4 = var1 - super.pathX[0]; int var5 = var2 - super.pathY[0]; if (var4 >= -8 && var4 <= 8 && var5 >= -8 && var5 <= 8) { if (super.pathLength < 9) { ++super.pathLength; } for (int var6 = super.pathLength; var6 > 0; --var6) { super.pathX[var6] = super.pathX[var6 - 1]; super.pathY[var6] = super.pathY[var6 - 1]; super.pathTraversed[var6] = super.pathTraversed[var6 - 1]; } super.pathX[0] = var1; super.pathY[0] = var2; super.pathTraversed[0] = 1; return; } } super.pathLength = 0; super.field1152 = 0; super.field1151 = 0; super.pathX[0] = var1; super.pathY[0] = var2; super.x = super.field1137 * 64 + super.pathX[0] * 128; super.y = super.field1137 * 64 + super.pathY[0] * 128; } @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)Z", garbageValue = "-1101417957" ) @Export("isVisible") final boolean isVisible() { return this.definition != null; } @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "(III)Z", garbageValue = "-351821257" ) static final boolean method2225(int var0, int var1) { ObjectComposition var2 = HitSplatDefinition.getObjectDefinition(var0); if (var1 == 11) { var1 = 10; } if (var1 >= 5 && var1 <= 8) { var1 = 4; } return var2.method3128(var1); } @ObfuscatedName("hm") @ObfuscatedSignature( descriptor = "(ZI)V", garbageValue = "-22305198" ) static final void method2221(boolean var0) { class1.playPcmPlayers(); ++Client.packetWriter.pendingWrites; if (Client.packetWriter.pendingWrites >= 50 || var0) { Client.packetWriter.pendingWrites = 0; if (!Client.hadNetworkError && Client.packetWriter.getSocket() != null) { PacketBufferNode var1 = FriendSystem.getPacketBufferNode(ClientPacket.field2704, Client.packetWriter.isaacCipher); Client.packetWriter.addNode(var1); try { Client.packetWriter.flush(); } catch (IOException var3) { Client.hadNetworkError = true; } } } } @ObfuscatedName("ha") @ObfuscatedSignature( descriptor = "(IIB)V", garbageValue = "18" ) static void method2214(int var0, int var1) { int var2 = class11.fontBold12.stringWidth("Choose Option"); int var3; for (var3 = 0; var3 < Client.menuOptionsCount; ++var3) { Font var7 = class11.fontBold12; String var8; if (var3 < 0) { var8 = ""; } else if (Client.menuTargets[var3].length() > 0) { var8 = Client.menuActions[var3] + " " + Client.menuTargets[var3]; } else { var8 = Client.menuActions[var3]; } int var6 = var7.stringWidth(var8); if (var6 > var2) { var2 = var6; } } var2 += 8; var3 = Client.menuOptionsCount * 15 + 22; int var4 = var0 - var2 / 2; if (var4 + var2 > InvDefinition.canvasWidth) { var4 = InvDefinition.canvasWidth - var2; } if (var4 < 0) { var4 = 0; } int var5 = var1; if (var3 + var1 > GameEngine.canvasHeight) { var5 = GameEngine.canvasHeight - var3; } if (var5 < 0) { var5 = 0; } WorldMapRegion.menuX = var4; ApproximateRouteStrategy.menuY = var5; VarcInt.menuWidth = var2; WorldMapLabelSize.menuHeight = Client.menuOptionsCount * 15 + 22; } }