import java.applet.Applet; import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import netscape.javascript.JSObject; @ObfuscatedName("cr") @Implements("NPC") public final class NPC extends Actor { @ObfuscatedName("b") @Export("javaVersion") public static String javaVersion; @ObfuscatedName("r") @ObfuscatedSignature( descriptor = "Lpl;" ) @Export("rightTitleSprite") static SpritePixels rightTitleSprite; @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "Lku;" ) @Export("Widget_fontsArchive") static AbstractArchive Widget_fontsArchive; @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "Lfi;" ) @Export("definition") NPCComposition definition; NPC() { } @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "(ILgj;I)V", garbageValue = "1330012132" ) final void method2319(int var1, class185 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 && UserComparator5.SequenceDefinition_get(super.sequence).field2097 == 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("b") @ObfuscatedSignature( descriptor = "(I)Lgo;", garbageValue = "202861607" ) @Export("getModel") protected final Model getModel() { if (this.definition == null) { return null; } else { SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? UserComparator5.SequenceDefinition_get(super.sequence) : null; SequenceDefinition var2 = super.movementSequence == -1 || super.idleSequence == super.movementSequence && var1 != null ? null : UserComparator5.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 = AccessFile.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); if (var4 != null) { var4.offsetBy(0, -super.field1131, 0); Model[] var5 = new Model[]{var3, var4}; var3 = new Model(var5, 2); } } if (this.definition.size == 1) { var3.isSingleTile = true; } if (super.field1146 != 0 && Client.cycle >= super.field1141 && Client.cycle < super.field1140) { var3.overrideHue = super.field1143; var3.overrideSaturation = super.field1144; var3.overrideLuminance = super.field1095; var3.overrideAmount = super.field1146; } else { var3.overrideAmount = 0; } return var3; } } } @ObfuscatedName("p") @ObfuscatedSignature( descriptor = "(IIZI)V", garbageValue = "-2138088750" ) final void method2315(int var1, int var2, boolean var3) { if (super.sequence != -1 && UserComparator5.SequenceDefinition_get(super.sequence).field2097 == 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] = class185.field2123; return; } } super.pathLength = 0; super.field1098 = 0; super.field1117 = 0; super.pathX[0] = var1; super.pathY[0] = var2; super.x = super.field1120 * 64 + super.pathX[0] * 128; super.y = super.pathY[0] * 128 + super.field1120 * 64; } @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(B)Z", garbageValue = "1" ) @Export("isVisible") final boolean isVisible() { return this.definition != null; } @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;ILjava/lang/String;B)Z", garbageValue = "68" ) static boolean method2314(String var0, int var1, String var2) { if (var1 == 0) { try { if (!class29.field177.startsWith("win")) { throw new Exception(); } else if (!var0.startsWith("http://") && !var0.startsWith("https://")) { throw new Exception(); } else { String var11 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; for (int var4 = 0; var4 < var0.length(); ++var4) { if (var11.indexOf(var0.charAt(var4)) == -1) { throw new Exception(); } } Runtime.getRuntime().exec("cmd /c start \"j\" \"" + var0 + "\""); return true; } } catch (Throwable var5) { return false; } } else if (var1 == 1) { try { Object var10 = class27.method433(class29.field172, var2, new Object[]{(new URL(class29.field172.getCodeBase(), var0)).toString()}); return var10 != null; } catch (Throwable var6) { return false; } } else if (var1 == 2) { try { class29.field172.getAppletContext().showDocument(new URL(class29.field172.getCodeBase(), var0), "_blank"); return true; } catch (Exception var7) { return false; } } else if (var1 == 3) { try { Applet var3 = class29.field172; JSObject.getWindow(var3).call("loggedout", (Object[])null); } catch (Throwable var9) { } try { class29.field172.getAppletContext().showDocument(new URL(class29.field172.getCodeBase(), var0), "_top"); return true; } catch (Exception var8) { return false; } } else { throw new IllegalArgumentException(); } } }