package org.runite.client; import java.util.Objects; final class Player extends Class140_Sub4 { static int[] anIntArray3951 = new int[4]; static int rights = 0; int anInt3952 = -1; static byte aByte3953; static int[] anIntArray3954 = new int[100]; int headIcon = -1; int teamId = 0; private int anInt3958 = 0; static int[] anIntArray3959 = new int[2]; int COMBAT_LEVEL = 0; Class52 class52; int anInt3963 = -1; int combatLevel = 0; int anInt3966 = -1; RSString displayName; boolean aBoolean3968 = false; int anInt3969 = 0; int anInt3970 = -1; int skullIcon = -1; int anInt3973 = -1; int anInt3974 = 0; static RSString combatLevelColor(int otherPlayer, byte levelByte, int yourPlayer) { try { int playerLevelDiff = -otherPlayer + yourPlayer; if (levelByte > -52) return (RSString)null; if (playerLevelDiff < -9) return ColorCore.LvlDiffN9;//Solid Red if (playerLevelDiff < -6) return ColorCore.LvlDiffN6;//Dark Orange if (playerLevelDiff < -3) return ColorCore.LvlDiffN3;//Orange if (playerLevelDiff < 0) return ColorCore.LvlDiffN0;//Yellow-Orange if (playerLevelDiff > 9) return ColorCore.LvlDiffP9;//Bright Green if (playerLevelDiff > 6) return ColorCore.LvlDiffP6;//Green if (playerLevelDiff > 3) return ColorCore.LvlDiffP3;//Yellow-Green if (playerLevelDiff > 0) return ColorCore.LvlDiffP0;//Yellow return ColorCore.LvlDiffDefault;//Yellow } catch (RuntimeException var4) { throw ClientErrorException.clientError(var4, "jj.E(" + otherPlayer + ',' + levelByte + ',' + yourPlayer + ')'); } } /** * Gets the properly colored string for the combat level difference. * @param otherPlayer Their combat level * @param yourPlayer Your combat level * @returns the RSString color */ static RSString getCombatLevelDifferenceColor(int otherPlayer, int yourPlayer) { int playerLevelDiff = -otherPlayer + yourPlayer; if (playerLevelDiff < -9) return ColorCore.LvlDiffN9;//Solid Red if (playerLevelDiff < -6) return ColorCore.LvlDiffN6;//Dark Orange if (playerLevelDiff < -3) return ColorCore.LvlDiffN3;//Orange if (playerLevelDiff < 0) return ColorCore.LvlDiffN0;//Yellow-Orange if (playerLevelDiff > 9) return ColorCore.LvlDiffP9;//Bright Green if (playerLevelDiff > 6) return ColorCore.LvlDiffP6;//Green if (playerLevelDiff > 3) return ColorCore.LvlDiffP3;//Yellow-Green if (playerLevelDiff > 0) return ColorCore.LvlDiffP0;//Yellow return ColorCore.LvlDiffDefault;//Yellow } final int getSize() { try { if(null == this.class52 || this.class52.pnpcId == -1) { return super.getSize(); } else { return NPCDefinition.getNPCDefinition(this.class52.pnpcId).size; } } catch (RuntimeException var3) { throw ClientErrorException.clientError(var3, "e.H(" + (byte) 114 + ')'); } } final int getRenderAnimationId() { try { return this.renderAnimationId; } catch (RuntimeException var3) { throw ClientErrorException.clientError(var3, "e.B(" + -1 + ')'); } } final void parseAppearance(int var1, DataBuffer buffer) { try { buffer.index = 0; int var3 = buffer.readUnsignedByte(); int npcId = -1; int var4 = 1 & var3; boolean var6 = (var3 & 4) != 0; int var7 = super.getSize(); int[] look = new int[12]; this.setSize(1 + (var3 >> 3 & 7), 2); this.anInt3958 = 3 & var3 >> 6; this.anInt2819 += (-var7 + this.getSize()) * 64; this.anInt2829 += 64 * (this.getSize() + -var7); this.skullIcon = buffer.readSignedByte(); this.headIcon = buffer.readSignedByte(); this.teamId = 0; int var11; int var12; int outfit; int var14; for(int var10 = 0; var10 < 12; ++var10) { var11 = buffer.readUnsignedByte(); if(var11 == 0) { look[var10] = 0; } else { var12 = buffer.readUnsignedByte(); outfit = (var11 << 8) + var12; if(var10 == 0 && outfit == 65535) { npcId = buffer.readUnsignedShort(); this.teamId = buffer.readUnsignedByte(); break; } if('\u8000' <= outfit) { int equipId = outfit - '\u8000'; if (equipId > Class75_Sub4.anIntArray2664.length) { System.err.println("Player->parseAppearance()-> Array length = " + Class75_Sub4.anIntArray2664.length + ", equipId=" + equipId + ", item def size=" + Class3_Sub13_Sub23.itemDefinitionSize); continue; } outfit = Class75_Sub4.anIntArray2664[equipId]; look[var10] = Class3_Sub13_Sub29.bitwiseOr(1073741824, outfit); var14 = ItemDefinition.getItemDefinition(outfit).teamId; if(var14 != 0) { this.teamId = var14; } } else { look[var10] = Class3_Sub13_Sub29.bitwiseOr(-256 + outfit, Integer.MIN_VALUE); } } } int[] colors = new int[5]; for(var11 = 0; var11 < 5; ++var11) { var12 = buffer.readUnsignedByte(); if(var12 < 0 || var12 >= Class15.aShortArrayArray344[var11].length) { var12 = 0; } colors[var11] = var12; } this.renderAnimationId = buffer.readUnsignedShort(); long var20 = buffer.readLong(); this.displayName = Objects.requireNonNull(Unsorted.method1052(var20)).longToRSString(); this.COMBAT_LEVEL = buffer.readUnsignedByte(); if(var6) { this.anInt3974 = buffer.readUnsignedShort(); this.combatLevel = this.COMBAT_LEVEL; this.anInt3970 = -1; } else { this.anInt3974 = 0; this.combatLevel = buffer.readUnsignedByte(); this.anInt3970 = buffer.readUnsignedByte(); if(this.anInt3970 == 255) { this.anInt3970 = -1; } } outfit = this.anInt3969; this.anInt3969 = buffer.readUnsignedByte(); if(this.anInt3969 == 0) { Class162.method2203(this); } else { int var15 = this.anInt3966; int var16 = this.anInt3963; int var17 = this.anInt3973; var14 = this.anInt3952; this.anInt3952 = buffer.readUnsignedShort(); this.anInt3966 = buffer.readUnsignedShort(); this.anInt3963 = buffer.readUnsignedShort(); this.anInt3973 = buffer.readUnsignedShort(); if(this.anInt3969 != outfit || var14 != this.anInt3952 || var15 != this.anInt3966 || var16 != this.anInt3963 || var17 != this.anInt3973) { Unsorted.method518(this); } } if(null == this.class52) { this.class52 = new Class52(); } var14 = this.class52.pnpcId; this.class52.method1161(colors, npcId, var4 == 1, look, this.renderAnimationId); if(npcId != var14) { this.anInt2819 = 128 * this.anIntArray2767[0] + this.getSize() * 64; this.anInt2829 = 128 * this.anIntArray2755[0] - -(64 * this.getSize()); } } catch (RuntimeException var18) { throw ClientErrorException.clientError(var18, "e.P(" + var1 + ',' + (buffer != null?"{...}":"null") + ')'); } } final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) { try { if(this.class52 != null) { SequenceDefinition var13 = this.anInt2771 != -1 && 0 == this.anInt2828? SequenceDefinition.getAnimationDefinition(this.anInt2771):null; SequenceDefinition var14 = this.anInt2764 != -1 && !this.aBoolean3968 && (this.method1965().anInt368 != this.anInt2764 || var13 == null)? SequenceDefinition.getAnimationDefinition(this.anInt2764):null; Model var15 = this.class52.method1165(this.aClass145Array2809, this.anInt2776, var14, var13, this.anInt2802, this.anInt2793, -120, this.anInt2760, this.anInt2832, this.anInt2813); int var16 = Unsorted.method1727((byte)123); if(HDToolKit.highDetail && Class3_Sub24_Sub3.maxClientMemory < 96 && var16 > 50) { Class3_Sub1.method90(1); } int var17; if(0 != Class3_Sub13_Sub13.paramModeWhat && var16 < 50) { for(var17 = 50 - var16; Class56.anInt893 < var17; ++Class56.anInt893) { Class3_Sub6.aByteArrayArray2287[Class56.anInt893] = new byte[102400]; } while(Class56.anInt893 > var17) { --Class56.anInt893; Class3_Sub6.aByteArrayArray2287[Class56.anInt893] = null; } } if(var15 != null) { this.anInt2820 = var15.method1871(); Model var23; if(Class140_Sub6.aBoolean2910 && (-1 == this.class52.pnpcId || NPCDefinition.getNPCDefinition(this.class52.pnpcId).aBoolean1249)) { var23 = Class140_Sub3.method1957(160, this.aBoolean2810, var14 == null?var13:var14, this.anInt2819, 0, this.anInt2829, 0, 1, var15, var1, null != var14?this.anInt2813:this.anInt2832, this.anInt2831, 240); if(HDToolKit.highDetail) { float var18 = HDToolKit.method1852(); float var19 = HDToolKit.method1839(); HDToolKit.depthBufferWritingDisabled(); HDToolKit.method1825(var18, -150.0F + var19); var23.animate(0, var2, var3, var4, var5, var6, var7, var8, -1L, var11, (Class127_Sub1)null); HDToolKit.method1830(); HDToolKit.method1825(var18, var19); } else { var23.animate(0, var2, var3, var4, var5, var6, var7, var8, -1L, var11, (Class127_Sub1)null); } } if(Class102.player == this) { for(var17 = ClientErrorException.aClass96Array2114.length + -1; var17 >= 0; --var17) { Class96 var27 = ClientErrorException.aClass96Array2114[var17]; if(var27 != null && var27.anInt1355 != -1) { int var21; int var20; if(var27.anInt1360 == 1 && 0 <= var27.anInt1359 && var27.anInt1359 < NPC.npcs.length) { NPC var24 = NPC.npcs[var27.anInt1359]; if(null != var24) { var20 = var24.anInt2819 / 32 - Class102.player.anInt2819 / 32; var21 = -(Class102.player.anInt2829 / 32) + var24.anInt2829 / 32; this.method1979((Class127_Sub1)null, var21, var15, var20, var6, var11, var1, var8, var5, var4, var2, var27.anInt1355, var3, var7); } } if(var27.anInt1360 == 2) { int var29 = 4 * (-Class131.anInt1716 + var27.anInt1356) + 2 + -(Class102.player.anInt2819 / 32); var20 = 2 + (4 * (var27.anInt1347 - Class82.anInt1152) - Class102.player.anInt2829 / 32); this.method1979((Class127_Sub1)null, var20, var15, var29, var6, var11, var1, var8, var5, var4, var2, var27.anInt1355, var3, var7); } if(var27.anInt1360 == 10 && var27.anInt1359 >= 0 && var27.anInt1359 < Class3_Sub13_Sub22.players.length) { Player var28 = Class3_Sub13_Sub22.players[var27.anInt1359]; if(null != var28) { var20 = -(Class102.player.anInt2819 / 32) + var28.anInt2819 / 32; var21 = var28.anInt2829 / 32 + -(Class102.player.anInt2829 / 32); this.method1979((Class127_Sub1)null, var21, var15, var20, var6, var11, var1, var8, var5, var4, var2, var27.anInt1355, var3, var7); } } } } } this.method1971(var15, (byte)-103); this.method1969((byte)110, var15, var1); var23 = null; if(!this.aBoolean3968 && this.anInt2842 != -1 && this.anInt2805 != -1) { GraphicDefinition var26 = GraphicDefinition.getGraphicDefinition((byte)42, this.anInt2842); var23 = var26.method966(this.anInt2826, this.anInt2805, this.anInt2761); if(var23 != null) { var23.method1897(0, -this.anInt2799, 0); if(var26.aBoolean536) { if(Class3_Sub13_Sub16.anInt3198 != 0) { var23.method1896(Class3_Sub13_Sub16.anInt3198); } if(0 != Class3_Sub28_Sub9.anInt3623) { var23.method1886(Class3_Sub28_Sub9.anInt3623); } if(Class3_Sub13_Sub9.anInt3111 != 0) { var23.method1897(0, Class3_Sub13_Sub9.anInt3111, 0); } } } } Model var25 = null; if(!this.aBoolean3968 && this.anObject2796 != null) { if(Class44.anInt719 >= this.anInt2778) { this.anObject2796 = null; } if(Class44.anInt719 >= this.anInt2797 && this.anInt2778 > Class44.anInt719) { if(this.anObject2796 instanceof Class140_Sub3) { var25 = (Model)((Class140_Sub3)this.anObject2796).method1963(); } else { var25 = (Model)this.anObject2796; } Objects.requireNonNull(var25).method1897(this.anInt2782 + -this.anInt2819, this.anInt2812 + -this.anInt2831, this.anInt2833 + -this.anInt2829); if(this.anInt2806 == 512) { var25.method1900(); } else if (this.anInt2806 == 1024) { var25.method1874(); } else if (this.anInt2806 == 1536) { var25.method1885(); } } } if(HDToolKit.highDetail) { var15.aBoolean2699 = true; var15.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2801); if(var23 != null) { var23.aBoolean2699 = true; var23.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2801); } } else { if(null != var23) { var15 = ((Class140_Sub1_Sub2)var15).method1943(var23); } if(var25 != null) { var15 = ((Class140_Sub1_Sub2)var15).method1943(var25); } var15.aBoolean2699 = true; var15.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2801); } if(null != var25) { if(this.anInt2806 == 512) { var25.method1885(); } else if(1024 == this.anInt2806) { var25.method1874(); } else if(1536 == this.anInt2806) { var25.method1900(); } var25.method1897(-this.anInt2782 + this.anInt2819, -this.anInt2812 + this.anInt2831, -this.anInt2833 + this.anInt2829); } } } } catch (RuntimeException var22) { throw ClientErrorException.clientError(var22, "e.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')'); } } private void method1979(Class127_Sub1 var1, int var2, Model var3, int var4, int var5, int var6, int var8, int var9, int var10, int var11, int var12, int var13, int var14, int var15) { try { int var16 = var4 * var4 - -(var2 * var2); if(var16 >= 16 && var16 <= 360000) { int var17 = (int)(325.949D * Math.atan2((double)var4, (double)var2)) & 2047; Model var18 = Class128.method1763(var17, this.anInt2829, var13, this.anInt2819, var3, this.anInt2831); if(var18 != null) { if(HDToolKit.highDetail) { float var19 = HDToolKit.method1852(); float var20 = HDToolKit.method1839(); HDToolKit.depthBufferWritingDisabled(); HDToolKit.method1825(var19, var20 - 150.0F); var18.animate(0, var12, var14, var11, var10, var5, var15, var9, -1L, var6, var1); HDToolKit.method1830(); HDToolKit.method1825(var19, var20); } else { var18.animate(0, var12, var14, var11, var10, var5, var15, var9, -1L, var6, var1); } } } } catch (RuntimeException var21) { throw ClientErrorException.clientError(var21, "e.N(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + var6 + ',' + 2047 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ',' + var12 + ',' + var13 + ',' + var14 + ',' + var15 + ')'); } } final boolean hasDefinitions() { try { return this.class52 != null; } catch (RuntimeException var3) { throw ClientErrorException.clientError(var3, "e.L(" + (byte) 17 + ')'); } } final RSString getName() { try { RSString var2 = this.displayName; if(Class3_Sub30_Sub1.aClass94Array3802 != null) { var2 = RSString.stringCombiner(new RSString[]{Class3_Sub30_Sub1.aClass94Array3802[this.anInt3958], var2}); } if(null != Unsorted.aClass94Array45) { var2 = RSString.stringCombiner(new RSString[]{var2, Unsorted.aClass94Array45[this.anInt3958]}); } return var2; } catch (RuntimeException var3) { throw ClientErrorException.clientError(var3, "e.Q(" + 0 + ')'); } } final void method1867(int var1, int var2, int var3, int var4, int var5) {} final void method1981(int var2, boolean var3, int var4) { try { super.method1967(this.getSize(), var2, var4, var3); } catch (RuntimeException var6) { throw ClientErrorException.clientError(var6, "e.O(" + (byte) 126 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); } } protected final void finalize() {} final int method1871() { try { return this.anInt2820; } catch (RuntimeException var2) { throw ClientErrorException.clientError(var2, "e.MA()"); } } }