project: rev 200
This commit is contained in:
@@ -1,44 +1,28 @@
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.Random;
|
||||
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;
|
||||
|
||||
@ObfuscatedName("bl")
|
||||
@ObfuscatedName("bj")
|
||||
@Implements("ScriptFrame")
|
||||
public class ScriptFrame {
|
||||
@ObfuscatedName("sv")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 345312141
|
||||
)
|
||||
static int field447;
|
||||
@ObfuscatedName("nr")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 222177301
|
||||
)
|
||||
@Export("selectedSpellFlags")
|
||||
static int selectedSpellFlags;
|
||||
@ObfuscatedName("n")
|
||||
@ObfuscatedName("l")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lbg;"
|
||||
descriptor = "Lbe;"
|
||||
)
|
||||
@Export("script")
|
||||
Script script;
|
||||
@ObfuscatedName("c")
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1290618837
|
||||
intValue = 574495061
|
||||
)
|
||||
@Export("pc")
|
||||
int pc;
|
||||
@ObfuscatedName("m")
|
||||
@ObfuscatedName("f")
|
||||
@Export("intLocals")
|
||||
int[] intLocals;
|
||||
@ObfuscatedName("k")
|
||||
@ObfuscatedName("j")
|
||||
@Export("stringLocals")
|
||||
String[] stringLocals;
|
||||
|
||||
@@ -46,533 +30,156 @@ public class ScriptFrame {
|
||||
this.pc = -1;
|
||||
}
|
||||
|
||||
@ObfuscatedName("e")
|
||||
@ObfuscatedName("j")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(I)V",
|
||||
garbageValue = "-1508115242"
|
||||
descriptor = "(B)V",
|
||||
garbageValue = "45"
|
||||
)
|
||||
static void method1085() {
|
||||
Login.Login_username = Login.Login_username.trim();
|
||||
if (Login.Login_username.length() == 0) {
|
||||
PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address.");
|
||||
} else {
|
||||
long var1;
|
||||
try {
|
||||
URL var3 = new URL(WorldMapManager.method3679("services", false) + "m=accountappeal/login.ws");
|
||||
URLConnection var4 = var3.openConnection();
|
||||
var4.setRequestProperty("connection", "close");
|
||||
var4.setDoInput(true);
|
||||
var4.setDoOutput(true);
|
||||
var4.setConnectTimeout(5000);
|
||||
OutputStreamWriter var5 = new OutputStreamWriter(var4.getOutputStream());
|
||||
var5.write("data1=req");
|
||||
var5.flush();
|
||||
InputStream var6 = var4.getInputStream();
|
||||
Buffer var7 = new Buffer(new byte[1000]);
|
||||
@Export("savePreferences")
|
||||
static void savePreferences() {
|
||||
AccessFile var0 = null;
|
||||
|
||||
while (true) {
|
||||
int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset);
|
||||
if (var8 == -1) {
|
||||
var7.offset = 0;
|
||||
long var20 = var7.readLong();
|
||||
var1 = var20;
|
||||
break;
|
||||
}
|
||||
try {
|
||||
var0 = World.getPreferencesFile("", class392.field4267.name, true);
|
||||
Buffer var1 = WorldMapDecorationType.clientPreferences.toBuffer();
|
||||
var0.write(var1.array, 0, var1.offset);
|
||||
} catch (Exception var3) {
|
||||
}
|
||||
|
||||
var7.offset += var8;
|
||||
if (var7.offset >= 1000) {
|
||||
var1 = 0L;
|
||||
break;
|
||||
}
|
||||
try {
|
||||
if (var0 != null) {
|
||||
var0.closeSync(true);
|
||||
}
|
||||
} catch (Exception var2) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("gd")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(Ljava/lang/String;ZB)V",
|
||||
garbageValue = "-15"
|
||||
)
|
||||
@Export("drawLoadingMessage")
|
||||
static final void drawLoadingMessage(String var0, boolean var1) {
|
||||
if (Client.showLoadingMessages) {
|
||||
byte var2 = 4;
|
||||
int var3 = var2 + 6;
|
||||
int var4 = var2 + 6;
|
||||
int var5 = class262.fontPlain12.lineWidth(var0, 250);
|
||||
int var6 = class262.fontPlain12.lineCount(var0, 250) * 13;
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var6 + var2, 0);
|
||||
Rasterizer2D.Rasterizer2D_drawRectangle(var3 - var2, var4 - var2, var2 + var2 + var5, var2 + var6 + var2, 16777215);
|
||||
class262.fontPlain12.drawLines(var0, var3, var4, var5, var6, 16777215, -1, 1, 1, 0);
|
||||
int var7 = var3 - var2;
|
||||
int var8 = var4 - var2;
|
||||
int var9 = var2 + var5 + var2;
|
||||
int var10 = var6 + var2 + var2;
|
||||
|
||||
for (int var11 = 0; var11 < Client.rootWidgetCount; ++var11) {
|
||||
if (Client.rootWidgetXs[var11] + Client.rootWidgetWidths[var11] > var7 && Client.rootWidgetXs[var11] < var7 + var9 && Client.rootWidgetHeights[var11] + Client.rootWidgetYs[var11] > var8 && Client.rootWidgetYs[var11] < var8 + var10) {
|
||||
Client.field710[var11] = true;
|
||||
}
|
||||
} catch (Exception var28) {
|
||||
var1 = 0L;
|
||||
}
|
||||
|
||||
byte var0;
|
||||
if (var1 == 0L) {
|
||||
var0 = 5;
|
||||
if (var1) {
|
||||
class244.rasterProvider.drawFull(0, 0);
|
||||
} else {
|
||||
String var29 = Login.Login_username;
|
||||
Random var30 = new Random();
|
||||
Buffer var24 = new Buffer(128);
|
||||
Buffer var9 = new Buffer(128);
|
||||
int[] var10 = new int[]{var30.nextInt(), var30.nextInt(), (int)(var1 >> 32), (int)var1};
|
||||
var24.writeByte(10);
|
||||
|
||||
int var11;
|
||||
for (var11 = 0; var11 < 4; ++var11) {
|
||||
var24.writeInt(var30.nextInt());
|
||||
}
|
||||
|
||||
var24.writeInt(var10[0]);
|
||||
var24.writeInt(var10[1]);
|
||||
var24.writeLong(var1);
|
||||
var24.writeLong(0L);
|
||||
|
||||
for (var11 = 0; var11 < 4; ++var11) {
|
||||
var24.writeInt(var30.nextInt());
|
||||
}
|
||||
|
||||
var24.encryptRsa(class65.field849, class65.field853);
|
||||
var9.writeByte(10);
|
||||
|
||||
for (var11 = 0; var11 < 3; ++var11) {
|
||||
var9.writeInt(var30.nextInt());
|
||||
}
|
||||
|
||||
var9.writeLong(var30.nextLong());
|
||||
var9.writeLongMedium(var30.nextLong());
|
||||
ClientPreferences.method2195(var9);
|
||||
var9.writeLong(var30.nextLong());
|
||||
var9.encryptRsa(class65.field849, class65.field853);
|
||||
var11 = BufferedSink.stringCp1252NullTerminatedByteSize(var29);
|
||||
if (var11 % 8 != 0) {
|
||||
var11 += 8 - var11 % 8;
|
||||
}
|
||||
|
||||
Buffer var12 = new Buffer(var11);
|
||||
var12.writeStringCp1252NullTerminated(var29);
|
||||
var12.offset = var11;
|
||||
var12.xteaEncryptAll(var10);
|
||||
Buffer var13 = new Buffer(var12.offset + var24.offset + var9.offset + 5);
|
||||
var13.writeByte(2);
|
||||
var13.writeByte(var24.offset);
|
||||
var13.writeBytes(var24.array, 0, var24.offset);
|
||||
var13.writeByte(var9.offset);
|
||||
var13.writeBytes(var9.array, 0, var9.offset);
|
||||
var13.writeShort(var12.offset);
|
||||
var13.writeBytes(var12.array, 0, var12.offset);
|
||||
String var14 = Message.method1104(var13.array);
|
||||
|
||||
byte var25;
|
||||
try {
|
||||
URL var15 = new URL(WorldMapManager.method3679("services", false) + "m=accountappeal/login.ws");
|
||||
URLConnection var16 = var15.openConnection();
|
||||
var16.setDoInput(true);
|
||||
var16.setDoOutput(true);
|
||||
var16.setConnectTimeout(5000);
|
||||
OutputStreamWriter var17 = new OutputStreamWriter(var16.getOutputStream());
|
||||
var17.write("data2=" + VertexNormal.method4478(var14) + "&dest=" + VertexNormal.method4478("passwordchoice.ws"));
|
||||
var17.flush();
|
||||
InputStream var18 = var16.getInputStream();
|
||||
var13 = new Buffer(new byte[1000]);
|
||||
|
||||
while (true) {
|
||||
int var19 = var18.read(var13.array, var13.offset, 1000 - var13.offset);
|
||||
if (var19 == -1) {
|
||||
var17.close();
|
||||
var18.close();
|
||||
String var26 = new String(var13.array);
|
||||
if (var26.startsWith("OFFLINE")) {
|
||||
var25 = 4;
|
||||
} else if (var26.startsWith("WRONG")) {
|
||||
var25 = 7;
|
||||
} else if (var26.startsWith("RELOAD")) {
|
||||
var25 = 3;
|
||||
} else if (var26.startsWith("Not permitted for social network accounts.")) {
|
||||
var25 = 6;
|
||||
} else {
|
||||
var13.xteaDecryptAll(var10);
|
||||
|
||||
while (var13.offset > 0 && var13.array[var13.offset - 1] == 0) {
|
||||
--var13.offset;
|
||||
}
|
||||
|
||||
var26 = new String(var13.array, 0, var13.offset);
|
||||
if (WorldMapScaleHandler.method3907(var26)) {
|
||||
Interpreter.openURL(var26, true, false);
|
||||
var25 = 2;
|
||||
} else {
|
||||
var25 = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var13.offset += var19;
|
||||
if (var13.offset >= 1000) {
|
||||
var25 = 5;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (Throwable var27) {
|
||||
var27.printStackTrace();
|
||||
var25 = 5;
|
||||
}
|
||||
|
||||
var0 = var25;
|
||||
}
|
||||
|
||||
switch(var0) {
|
||||
case 2:
|
||||
PlatformInfo.setLoginResponseString(Strings.field3609, Strings.field3610, Strings.field3611);
|
||||
Message.method1113(6);
|
||||
break;
|
||||
case 3:
|
||||
PlatformInfo.setLoginResponseString("", "Error connecting to server.", "");
|
||||
break;
|
||||
case 4:
|
||||
PlatformInfo.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later.");
|
||||
break;
|
||||
case 5:
|
||||
PlatformInfo.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later.");
|
||||
break;
|
||||
case 6:
|
||||
PlatformInfo.setLoginResponseString("", "Error connecting to server.", "");
|
||||
break;
|
||||
case 7:
|
||||
PlatformInfo.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username.");
|
||||
class112.method2468(var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ObfuscatedName("v")
|
||||
@ObfuscatedName("iy")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(Lbh;S)V",
|
||||
garbageValue = "28449"
|
||||
descriptor = "(Lci;IIIB)V",
|
||||
garbageValue = "-1"
|
||||
)
|
||||
@Export("changeWorld")
|
||||
static void changeWorld(World var0) {
|
||||
if (var0.isMembersOnly() != Client.isMembersWorld) {
|
||||
Client.isMembersWorld = var0.isMembersOnly();
|
||||
boolean var1 = var0.isMembersOnly();
|
||||
if (var1 != Huffman.ItemDefinition_inMembersWorld) {
|
||||
Client.method1330();
|
||||
Huffman.ItemDefinition_inMembersWorld = var1;
|
||||
}
|
||||
}
|
||||
|
||||
if (var0.properties != Client.worldProperties) {
|
||||
Archive var3 = World.archive8;
|
||||
int var2 = var0.properties;
|
||||
if ((var2 & 536870912) != 0) {
|
||||
class394.logoSprite = class196.SpriteBuffer_getIndexedSpriteByName(var3, "logo_deadman_mode", "");
|
||||
} else if ((var2 & 1073741824) != 0) {
|
||||
class394.logoSprite = class196.SpriteBuffer_getIndexedSpriteByName(var3, "logo_seasonal_mode", "");
|
||||
} else {
|
||||
class394.logoSprite = class196.SpriteBuffer_getIndexedSpriteByName(var3, "logo", "");
|
||||
}
|
||||
}
|
||||
|
||||
class279.worldHost = var0.host;
|
||||
Client.worldId = var0.id;
|
||||
Client.worldProperties = var0.properties;
|
||||
GameBuild.worldPort = Client.gameBuild == 0 ? 43594 : var0.id + 40000;
|
||||
AbstractWorldMapIcon.js5Port = Client.gameBuild == 0 ? 443 : var0.id + 50000;
|
||||
ClientPreferences.currentPort = GameBuild.worldPort;
|
||||
}
|
||||
|
||||
@ObfuscatedName("hi")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(Lip;I)V",
|
||||
garbageValue = "1826318148"
|
||||
)
|
||||
static final void method1086(class240 var0) {
|
||||
PacketBuffer var1 = Client.packetWriter.packetBuffer;
|
||||
int var2;
|
||||
int var3;
|
||||
int var4;
|
||||
int var5;
|
||||
int var6;
|
||||
int var7;
|
||||
int var8;
|
||||
if (class240.field2749 == var0) {
|
||||
var2 = var1.method7007();
|
||||
var3 = var2 >> 2;
|
||||
var4 = var2 & 3;
|
||||
var5 = Client.field549[var3];
|
||||
var6 = var1.readUnsignedByte();
|
||||
var7 = (var6 >> 4 & 7) + JagexCache.field1559;
|
||||
var8 = (var6 & 7) + WorldMapEvent.field2216;
|
||||
if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) {
|
||||
ParamComposition.updatePendingSpawn(class391.Client_plane, var7, var8, var5, -1, var3, var4, 0, -1);
|
||||
}
|
||||
|
||||
} else {
|
||||
int var9;
|
||||
int var10;
|
||||
int var11;
|
||||
int var12;
|
||||
int var13;
|
||||
byte var37;
|
||||
if (class240.field2758 == var0) {
|
||||
var37 = var1.readByte();
|
||||
var3 = var1.method6856();
|
||||
var4 = var1.method6844();
|
||||
var5 = var1.readUnsignedByte();
|
||||
var6 = (var5 >> 4 & 7) + JagexCache.field1559;
|
||||
var7 = (var5 & 7) + WorldMapEvent.field2216;
|
||||
var8 = var1.method6844() * 4;
|
||||
var9 = var1.method7007();
|
||||
var10 = var1.method6940();
|
||||
var11 = var1.method6940();
|
||||
byte var40 = var1.method6899();
|
||||
var13 = var1.method6844() * 4;
|
||||
int var41 = var1.method6940();
|
||||
var2 = var37 + var6;
|
||||
var12 = var40 + var7;
|
||||
if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104 && var2 >= 0 && var12 >= 0 && var2 < 104 && var12 < 104 && var11 != 65535) {
|
||||
var6 = var6 * 128 + 64;
|
||||
var7 = var7 * 128 + 64;
|
||||
var2 = var2 * 128 + 64;
|
||||
var12 = var12 * 128 + 64;
|
||||
Projectile var36 = new Projectile(var11, class391.Client_plane, var6, var7, GraphicsObject.getTileHeight(var6, var7, class391.Client_plane) - var13, var41 + Client.cycle, var10 + Client.cycle, var4, var9, var3, var8);
|
||||
var36.setDestination(var2, var12, GraphicsObject.getTileHeight(var2, var12, class391.Client_plane) - var8, var41 + Client.cycle);
|
||||
Client.projectiles.addFirst(var36);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (class240.field2755 == var0) {
|
||||
var2 = var1.readUnsignedShort();
|
||||
var3 = var1.readUnsignedByte();
|
||||
var4 = var3 >> 4 & 15;
|
||||
var5 = var3 & 7;
|
||||
var6 = var1.method7007();
|
||||
var7 = (var6 >> 4 & 7) + JagexCache.field1559;
|
||||
var8 = (var6 & 7) + WorldMapEvent.field2216;
|
||||
var9 = var1.method7007();
|
||||
if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) {
|
||||
var10 = var4 + 1;
|
||||
if (class129.localPlayer.pathX[0] >= var7 - var10 && class129.localPlayer.pathX[0] <= var7 + var10 && class129.localPlayer.pathY[0] >= var8 - var10 && class129.localPlayer.pathY[0] <= var10 + var8 && VarbitComposition.clientPreferences.areaSoundEffectsVolume != 0 && var5 > 0 && Client.soundEffectCount < 50) {
|
||||
Client.soundEffectIds[Client.soundEffectCount] = var2;
|
||||
Client.queuedSoundEffectLoops[Client.soundEffectCount] = var5;
|
||||
Client.queuedSoundEffectDelays[Client.soundEffectCount] = var9;
|
||||
Client.soundEffects[Client.soundEffectCount] = null;
|
||||
Client.soundLocations[Client.soundEffectCount] = var4 + (var8 << 8) + (var7 << 16);
|
||||
++Client.soundEffectCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TileItem var35;
|
||||
if (class240.field2752 == var0) {
|
||||
var2 = var1.readUnsignedShort();
|
||||
var3 = var1.readUnsignedShort();
|
||||
var4 = var1.method6844();
|
||||
var5 = (var4 >> 4 & 7) + JagexCache.field1559;
|
||||
var6 = (var4 & 7) + WorldMapEvent.field2216;
|
||||
if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) {
|
||||
var35 = new TileItem();
|
||||
var35.id = var3;
|
||||
var35.quantity = var2;
|
||||
if (Client.groundItems[class391.Client_plane][var5][var6] == null) {
|
||||
Client.groundItems[class391.Client_plane][var5][var6] = new NodeDeque();
|
||||
}
|
||||
|
||||
Client.groundItems[class391.Client_plane][var5][var6].addFirst(var35);
|
||||
SoundSystem.updateItemPile(var5, var6);
|
||||
}
|
||||
|
||||
} else if (class240.field2751 == var0) {
|
||||
var2 = var1.method6940();
|
||||
var3 = var1.readUnsignedByte();
|
||||
var4 = (var3 >> 4 & 7) + JagexCache.field1559;
|
||||
var5 = (var3 & 7) + WorldMapEvent.field2216;
|
||||
if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) {
|
||||
NodeDeque var34 = Client.groundItems[class391.Client_plane][var4][var5];
|
||||
if (var34 != null) {
|
||||
for (var35 = (TileItem)var34.last(); var35 != null; var35 = (TileItem)var34.previous()) {
|
||||
if ((var2 & 32767) == var35.id) {
|
||||
var35.remove();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (var34.last() == null) {
|
||||
Client.groundItems[class391.Client_plane][var4][var5] = null;
|
||||
}
|
||||
|
||||
SoundSystem.updateItemPile(var4, var5);
|
||||
}
|
||||
}
|
||||
|
||||
} else if (class240.field2750 == var0) {
|
||||
var2 = var1.readUnsignedShort();
|
||||
var3 = var1.method7007();
|
||||
var4 = (var3 >> 4 & 7) + JagexCache.field1559;
|
||||
var5 = (var3 & 7) + WorldMapEvent.field2216;
|
||||
var6 = var1.readUnsignedByte();
|
||||
var7 = var6 >> 2;
|
||||
var8 = var6 & 3;
|
||||
var9 = Client.field549[var7];
|
||||
if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) {
|
||||
ParamComposition.updatePendingSpawn(class391.Client_plane, var4, var5, var9, var2, var7, var8, 0, -1);
|
||||
}
|
||||
|
||||
} else if (class240.field2756 == var0) {
|
||||
var2 = var1.method7007();
|
||||
var3 = (var2 >> 4 & 7) + JagexCache.field1559;
|
||||
var4 = (var2 & 7) + WorldMapEvent.field2216;
|
||||
var5 = var1.method6853();
|
||||
var6 = var1.method6844();
|
||||
var7 = var6 >> 2;
|
||||
var8 = var6 & 3;
|
||||
var9 = Client.field549[var7];
|
||||
if (var3 >= 0 && var4 >= 0 && var3 < 103 && var4 < 103) {
|
||||
if (var9 == 0) {
|
||||
BoundaryObject var33 = CollisionMap.scene.getBoundaryObject(class391.Client_plane, var3, var4);
|
||||
if (var33 != null) {
|
||||
var11 = HealthBarDefinition.Entity_unpackID(var33.tag);
|
||||
if (var7 == 2) {
|
||||
var33.renderable1 = new DynamicObject(var11, 2, var8 + 4, class391.Client_plane, var3, var4, var5, false, var33.renderable1);
|
||||
var33.renderable2 = new DynamicObject(var11, 2, var8 + 1 & 3, class391.Client_plane, var3, var4, var5, false, var33.renderable2);
|
||||
} else {
|
||||
var33.renderable1 = new DynamicObject(var11, var7, var8, class391.Client_plane, var3, var4, var5, false, var33.renderable1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var9 == 1) {
|
||||
WallDecoration var43 = CollisionMap.scene.getWallDecoration(class391.Client_plane, var3, var4);
|
||||
if (var43 != null) {
|
||||
var11 = HealthBarDefinition.Entity_unpackID(var43.tag);
|
||||
if (var7 != 4 && var7 != 5) {
|
||||
if (var7 == 6) {
|
||||
var43.renderable1 = new DynamicObject(var11, 4, var8 + 4, class391.Client_plane, var3, var4, var5, false, var43.renderable1);
|
||||
} else if (var7 == 7) {
|
||||
var43.renderable1 = new DynamicObject(var11, 4, (var8 + 2 & 3) + 4, class391.Client_plane, var3, var4, var5, false, var43.renderable1);
|
||||
} else if (var7 == 8) {
|
||||
var43.renderable1 = new DynamicObject(var11, 4, var8 + 4, class391.Client_plane, var3, var4, var5, false, var43.renderable1);
|
||||
var43.renderable2 = new DynamicObject(var11, 4, (var8 + 2 & 3) + 4, class391.Client_plane, var3, var4, var5, false, var43.renderable2);
|
||||
}
|
||||
} else {
|
||||
var43.renderable1 = new DynamicObject(var11, 4, var8, class391.Client_plane, var3, var4, var5, false, var43.renderable1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var9 == 2) {
|
||||
GameObject var44 = CollisionMap.scene.getGameObject(class391.Client_plane, var3, var4);
|
||||
if (var7 == 11) {
|
||||
var7 = 10;
|
||||
}
|
||||
|
||||
if (var44 != null) {
|
||||
var44.renderable = new DynamicObject(HealthBarDefinition.Entity_unpackID(var44.tag), var7, var8, class391.Client_plane, var3, var4, var5, false, var44.renderable);
|
||||
}
|
||||
}
|
||||
|
||||
if (var9 == 3) {
|
||||
FloorDecoration var45 = CollisionMap.scene.getFloorDecoration(class391.Client_plane, var3, var4);
|
||||
if (var45 != null) {
|
||||
var45.renderable = new DynamicObject(HealthBarDefinition.Entity_unpackID(var45.tag), 22, var8, class391.Client_plane, var3, var4, var5, false, var45.renderable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else if (class240.field2760 == var0) {
|
||||
var2 = var1.readUnsignedShort();
|
||||
var3 = var1.method6940();
|
||||
var4 = var1.method6844();
|
||||
var5 = (var4 >> 4 & 7) + JagexCache.field1559;
|
||||
var6 = (var4 & 7) + WorldMapEvent.field2216;
|
||||
var7 = var1.readUnsignedByte();
|
||||
if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) {
|
||||
var5 = var5 * 128 + 64;
|
||||
var6 = var6 * 128 + 64;
|
||||
GraphicsObject var42 = new GraphicsObject(var3, class391.Client_plane, var5, var6, GraphicsObject.getTileHeight(var5, var6, class391.Client_plane) - var7, var2, Client.cycle);
|
||||
Client.graphicsObjects.addFirst(var42);
|
||||
@Export("addPlayerToMenu")
|
||||
static final void addPlayerToMenu(Player var0, int var1, int var2, int var3) {
|
||||
if (class67.localPlayer != var0) {
|
||||
if (Client.menuOptionsCount < 400) {
|
||||
String var4;
|
||||
int var7;
|
||||
if (var0.skillLevel == 0) {
|
||||
String var5 = var0.actions[0] + var0.username + var0.actions[1];
|
||||
var7 = var0.combatLevel;
|
||||
int var8 = class67.localPlayer.combatLevel;
|
||||
int var9 = var8 - var7;
|
||||
String var6;
|
||||
if (var9 < -9) {
|
||||
var6 = FloorUnderlayDefinition.colorStartTag(16711680);
|
||||
} else if (var9 < -6) {
|
||||
var6 = FloorUnderlayDefinition.colorStartTag(16723968);
|
||||
} else if (var9 < -3) {
|
||||
var6 = FloorUnderlayDefinition.colorStartTag(16740352);
|
||||
} else if (var9 < 0) {
|
||||
var6 = FloorUnderlayDefinition.colorStartTag(16756736);
|
||||
} else if (var9 > 9) {
|
||||
var6 = FloorUnderlayDefinition.colorStartTag(65280);
|
||||
} else if (var9 > 6) {
|
||||
var6 = FloorUnderlayDefinition.colorStartTag(4259584);
|
||||
} else if (var9 > 3) {
|
||||
var6 = FloorUnderlayDefinition.colorStartTag(8453888);
|
||||
} else if (var9 > 0) {
|
||||
var6 = FloorUnderlayDefinition.colorStartTag(12648192);
|
||||
} else {
|
||||
var6 = FloorUnderlayDefinition.colorStartTag(16776960);
|
||||
}
|
||||
|
||||
var4 = var5 + var6 + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2];
|
||||
} else {
|
||||
if (class240.field2753 == var0) {
|
||||
var37 = var1.method6901();
|
||||
var3 = var1.readUnsignedByte();
|
||||
var4 = (var3 >> 4 & 7) + JagexCache.field1559;
|
||||
var5 = (var3 & 7) + WorldMapEvent.field2216;
|
||||
var6 = var1.method6940();
|
||||
byte var38 = var1.readByte();
|
||||
var8 = var1.readUnsignedShort();
|
||||
byte var39 = var1.method6848();
|
||||
var10 = var1.method7007();
|
||||
var11 = var10 >> 2;
|
||||
var12 = var10 & 3;
|
||||
var13 = Client.field549[var11];
|
||||
byte var14 = var1.readByte();
|
||||
int var15 = var1.method6855();
|
||||
int var16 = var1.readUnsignedShort();
|
||||
Player var17;
|
||||
if (var15 == Client.localPlayerIndex) {
|
||||
var17 = class129.localPlayer;
|
||||
} else {
|
||||
var17 = Client.players[var15];
|
||||
}
|
||||
var4 = var0.actions[0] + var0.username + var0.actions[1] + " " + " (" + "skill-" + var0.skillLevel + ")" + var0.actions[2];
|
||||
}
|
||||
|
||||
if (var17 != null) {
|
||||
ObjectComposition var18 = HitSplatDefinition.getObjectDefinition(var8);
|
||||
int var19;
|
||||
int var20;
|
||||
if (var12 != 1 && var12 != 3) {
|
||||
var19 = var18.sizeX;
|
||||
var20 = var18.sizeY;
|
||||
} else {
|
||||
var19 = var18.sizeY;
|
||||
var20 = var18.sizeX;
|
||||
}
|
||||
|
||||
int var21 = var4 + (var19 >> 1);
|
||||
int var22 = var4 + (var19 + 1 >> 1);
|
||||
int var23 = var5 + (var20 >> 1);
|
||||
int var24 = var5 + (var20 + 1 >> 1);
|
||||
int[][] var25 = Tiles.Tiles_heights[class391.Client_plane];
|
||||
int var26 = var25[var21][var23] + var25[var22][var23] + var25[var21][var24] + var25[var22][var24] >> 2;
|
||||
int var27 = (var4 << 7) + (var19 << 6);
|
||||
int var28 = (var5 << 7) + (var20 << 6);
|
||||
Model var29 = var18.getModel(var11, var12, var25, var27, var26, var28);
|
||||
if (var29 != null) {
|
||||
ParamComposition.updatePendingSpawn(class391.Client_plane, var4, var5, var13, -1, 0, 0, var6 + 1, var16 + 1);
|
||||
var17.animationCycleStart = var6 + Client.cycle;
|
||||
var17.animationCycleEnd = var16 + Client.cycle;
|
||||
var17.model0 = var29;
|
||||
var17.field1058 = var19 * 64 + var4 * 128;
|
||||
var17.field1060 = var20 * 64 + var5 * 128;
|
||||
var17.tileHeight2 = var26;
|
||||
byte var30;
|
||||
if (var38 > var37) {
|
||||
var30 = var38;
|
||||
var38 = var37;
|
||||
var37 = var30;
|
||||
}
|
||||
|
||||
if (var14 > var39) {
|
||||
var30 = var14;
|
||||
var14 = var39;
|
||||
var39 = var30;
|
||||
}
|
||||
|
||||
var17.minX = var4 + var38;
|
||||
var17.maxX = var4 + var37;
|
||||
var17.minY = var5 + var14;
|
||||
var17.maxY = var5 + var39;
|
||||
}
|
||||
}
|
||||
int var10;
|
||||
if (Client.isItemSelected == 1) {
|
||||
GameBuild.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16777215) + var4, 14, var1, var2, var3);
|
||||
} else if (Client.isSpellSelected) {
|
||||
if ((ObjectComposition.selectedSpellFlags & 8) == 8) {
|
||||
GameBuild.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16777215) + var4, 15, var1, var2, var3);
|
||||
}
|
||||
|
||||
if (class240.field2757 == var0) {
|
||||
var2 = var1.method6940();
|
||||
var3 = var1.method6940();
|
||||
var4 = var1.method6940();
|
||||
var5 = var1.method6849();
|
||||
var6 = (var5 >> 4 & 7) + JagexCache.field1559;
|
||||
var7 = (var5 & 7) + WorldMapEvent.field2216;
|
||||
if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104) {
|
||||
NodeDeque var31 = Client.groundItems[class391.Client_plane][var6][var7];
|
||||
if (var31 != null) {
|
||||
for (TileItem var32 = (TileItem)var31.last(); var32 != null; var32 = (TileItem)var31.previous()) {
|
||||
if ((var4 & 32767) == var32.id && var3 == var32.quantity) {
|
||||
var32.quantity = var2;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
for (var10 = 7; var10 >= 0; --var10) {
|
||||
if (Client.playerMenuActions[var10] != null) {
|
||||
short var11 = 0;
|
||||
if (Client.playerMenuActions[var10].equalsIgnoreCase("Attack")) {
|
||||
if (Client.playerAttackOption == AttackOption.AttackOption_hidden) {
|
||||
continue;
|
||||
}
|
||||
|
||||
SoundSystem.updateItemPile(var6, var7);
|
||||
}
|
||||
}
|
||||
if (AttackOption.AttackOption_alwaysRightClick == Client.playerAttackOption || Client.playerAttackOption == AttackOption.AttackOption_dependsOnCombatLevels && var0.combatLevel > class67.localPlayer.combatLevel) {
|
||||
var11 = 2000;
|
||||
}
|
||||
|
||||
if (class67.localPlayer.team != 0 && var0.team != 0) {
|
||||
if (var0.team == class67.localPlayer.team) {
|
||||
var11 = 2000;
|
||||
} else {
|
||||
var11 = 0;
|
||||
}
|
||||
} else if (Client.playerAttackOption == AttackOption.field1237 && var0.isClanMember()) {
|
||||
var11 = 2000;
|
||||
}
|
||||
} else if (Client.playerOptionsPriorities[var10]) {
|
||||
var11 = 2000;
|
||||
}
|
||||
|
||||
boolean var12 = false;
|
||||
var7 = Client.playerMenuOpcodes[var10] + var11;
|
||||
GameBuild.insertMenuItemNoShift(Client.playerMenuActions[var10], FloorUnderlayDefinition.colorStartTag(16777215) + var4, var7, var1, var2, var3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (var10 = 0; var10 < Client.menuOptionsCount; ++var10) {
|
||||
if (Client.menuOpcodes[var10] == 23) {
|
||||
Client.menuTargets[var10] = FloorUnderlayDefinition.colorStartTag(16777215) + var4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user