@@ -160,7 +160,6 @@ public class mudclient extends e {
160160 int [] oy ;
161161 int [] py ;
162162 int [] qy ;
163- int ry ;
164163 String [] sy ;
165164 String [] ty ;
166165 int uy ;
@@ -833,7 +832,7 @@ public void al() {
833832 this .zz .gd (var1 , var6 , "on how you play the game." , 0 , true );
834833 var6 += 73 ;
835834 this .zz .ic (var1 , var6 , 215 , 125 );
836- String [] var4 = new String []{"Adventurer" , "Warrior" , "Wizard" , "Ranger " , "Miner " };
835+ String [] var4 = new String []{"Adventurer" , "Warrior" , "Wizard" , "Necromancer " , "Ranger " };
837836 this .lbb = this .zz .ac (var1 , var6 + 2 , var4 , 3 , true );
838837 var6 += 75 ;
839838 this .zz .ic (var1 , var6 + 21 , 215 , 60 );
@@ -1035,7 +1034,7 @@ public void dl() {
10351034 this .qt .rk = false ;
10361035 this .qt .df ();
10371036 if (this .bz == 0 ) {
1038- this .qt .if (256 , 95 , this .az + 10 );
1037+ this .qt ._if (256 , 95 , this .az + 10 );
10391038 }
10401039
10411040 if (this .bz == 0 ) {
@@ -2641,20 +2640,19 @@ public void bb(int var1, int var2, byte[] var3) {
26412640 if (var1 == 243 ) {
26422641 var4 = 1 ;
26432642
2644- for (var21 = 0 ; var21 < 16 ; ++var21 ) {
2643+ for (var21 = 0 ; var21 < 19 ; ++var21 ) {
26452644 this .oy [var21 ] = o .sm (var3 [var4 ++]);
26462645 }
26472646
2648- for (var6 = 0 ; var6 < 16 ; ++var6 ) {
2647+ for (var6 = 0 ; var6 < 19 ; ++var6 ) {
26492648 this .py [var6 ] = o .sm (var3 [var4 ++]);
26502649 }
26512650
2652- this .ry = o .sm (var3 [var4 ++]);
26532651 return ;
26542652 }
26552653
26562654 if (var1 == 242 ) {
2657- for (var4 = 0 ; var4 < 5 ; ++var4 ) {
2655+ for (var4 = 0 ; var4 < 6 ; ++var4 ) {
26582656 this .qy [var4 ] = o .sm (var3 [1 + var4 ]);
26592657 }
26602658
@@ -3412,7 +3410,7 @@ public void uk(int var1, int var2, int var3, int var4, int var5, int var6, int v
34123410 var14 = var1 + 10 * var7 / 100 ;
34133411 }
34143412
3415- this .qt .if (var14 + var3 / 2 , var2 + var4 / 2 , this .az + 12 );
3413+ this .qt ._if (var14 + var3 / 2 , var2 + var4 / 2 , this .az + 12 );
34163414 this .qt .mg (String .valueOf (var8 .rr ), var14 + var3 / 2 - 1 , var2 + var4 / 2 + 5 , 3 , 16777215 );
34173415 }
34183416 }
@@ -3558,7 +3556,7 @@ public void il(int var1, int var2, int var3, int var4, int var5, int var6, int v
35583556 var14 = var1 + 10 * var7 / 100 ;
35593557 }
35603558
3561- this .qt .if (var14 + var3 / 2 , var2 + var4 / 2 , this .az + 11 );
3559+ this .qt ._if (var14 + var3 / 2 , var2 + var4 / 2 , this .az + 11 );
35623560 this .qt .mg (String .valueOf (var8 .rr ), var14 + var3 / 2 - 1 , var2 + var4 / 2 + 5 , 3 , 16777215 );
35633561 }
35643562 }
@@ -4815,8 +4813,10 @@ public void wl(boolean var1) {
48154813 if (var7 < this .ox ) {
48164814 int var8 = this .px [var7 ];
48174815 if (this .lcb >= 0 ) {
4818- if (r .vjb [this .lcb ] == 3 ) {
4819- this .mv [this .iv ] = this .mcb + r .rjb [this .lcb ] + " on" ;
4816+ int scb = this .lcb & 0xFF ;
4817+ boolean pcb = (this .lcb & 0x100 ) == 0 ;
4818+ if ((pcb && r .vjb [scb ] == 3 ) || (!pcb && r .vkb [scb ] == 3 )) {
4819+ this .mv [this .iv ] = this .mcb + (pcb ? r .rjb [scb ] : r .rkb [scb ]) + " on" ;
48204820 this .lv [this .iv ] = "@lre@" + r .vfb [var8 ][0 ];
48214821 this .nv [this .iv ] = 600 ;
48224822 this .qv [this .iv ] = var7 ;
@@ -4973,26 +4973,24 @@ public void sk(boolean var1) {
49734973 this .qt .nf (var2 , 36 , var3 , var4 , i .fg (181 , 181 , 181 ), 160 );
49744974 byte var5 = 48 ;
49754975 this .qt .ef ("Skills" , var2 + 5 , var5 , 3 , 16776960 );
4976- int var8 = var5 + 13 ;
4976+ int var8 = var5 + 12 ;
49774977
4978- for (int var6 = 0 ; var6 < 8 ; ++var6 ) {
4979- this .qt .ef (this .sy [var6 ] + ":@yel@" + this .oy [var6 ] + "/" + this .py [var6 ], var2 + 5 , var8 , 1 , 16777215 );
4980- this .qt .ef (this .sy [var6 + 8 ] + ":@yel@" + this .oy [var6 + 8 ] + "/" + this .py [var6 + 8 ], var2 + var3 / 2 - 8 , var8 - 13 , 1 , 16777215 );
4981- var8 += 13 ;
4978+ for (int var6 = 0 ; var6 < 10 ; ++var6 ) {
4979+ if (var6 < 9 ) {
4980+ this .qt .ef (this .sy [var6 ] + ":@yel@" + this .oy [var6 ] + "/" + this .py [var6 ], var2 + 5 , var8 , 2 , 16777215 );
4981+ }
4982+ this .qt .ef (this .sy [var6 + 9 ] + ":@yel@" + this .oy [var6 + 9 ] + "/" + this .py [var6 + 9 ], var2 + var3 / 2 - 8 , var8 - 12 , 2 , 16777215 );
4983+ var8 += 12 ;
49824984 }
4985+ var8 -= 4 ;
49834986
4984- this .qt .ef ("Quest Points:@yel@" + this .ry , var2 + var3 / 2 - 8 , var8 - 13 , 1 , 16777215 );
4985- var8 += 8 ;
49864987 this .qt .ef ("Equipment Status" , var2 + 5 , var8 , 3 , 16776960 );
49874988 var8 += 12 ;
49884989
49894990 for (int var7 = 0 ; var7 < 3 ; ++var7 ) {
4990- this .qt .ef (this .ty [var7 ] + ":@yel@" + this .qy [var7 ], var2 + 5 , var8 , 1 , 16777215 );
4991- if (var7 < 2 ) {
4992- this .qt .ef (this .ty [var7 + 3 ] + ":@yel@" + this .qy [var7 + 3 ], var2 + var3 / 2 + 25 , var8 , 1 , 16777215 );
4993- }
4994-
4995- var8 += 13 ;
4991+ this .qt .ef (this .ty [var7 ] + ":@yel@" + this .qy [var7 ], var2 + 5 , var8 , 2 , 16777215 );
4992+ this .qt .ef (this .ty [var7 + 3 ] + ":@yel@" + this .qy [var7 + 3 ], var2 + var3 / 2 + 25 , var8 , 2 , 16777215 );
4993+ var8 += 12 ;
49964994 }
49974995
49984996 }
@@ -5018,8 +5016,8 @@ public void xl(boolean var1) {
50185016 this .qt .kg (var2 , var3 + 24 , var4 , 0 );
50195017 this .qt .og (var2 + var4 / 2 , var3 , 24 , 0 );
50205018 this .qt .kg (var2 , var3 + 113 , var4 , 0 );
5021- this .qt .mg ("Magic " , var2 + var4 / 4 , var3 + 16 , 4 , 0 );
5022- this .qt .mg ("Prayers " , var2 + var4 / 4 + var4 / 2 , var3 + 16 , 4 , 0 );
5019+ this .qt .mg ("Good magic " , var2 + var4 / 4 , var3 + 16 , 4 , 0 );
5020+ this .qt .mg ("Evil magic " , var2 + var4 / 4 + var4 / 2 , var3 + 16 , 4 , 0 );
50235021 int var8 ;
50245022 int var9 ;
50255023 int var11 ;
@@ -5040,7 +5038,7 @@ public void xl(boolean var1) {
50405038 }
50415039 }
50425040
5043- var12 = this .oy [6 ];
5041+ var12 = this .oy [9 ];
50445042 if (r .tjb [var9 ] > var12 ) {
50455043 var10 = "@bla@" ;
50465044 }
@@ -5071,6 +5069,53 @@ public void xl(boolean var1) {
50715069 }
50725070 }
50735071
5072+ if (this .gcb == 1 ) {
5073+ this .ecb .kc (this .fcb );
5074+ var8 = 0 ;
5075+
5076+ int var12 ;
5077+ for (var9 = 0 ; var9 < r .qkb ; ++var9 ) {
5078+ String var10 = "@yel@" ;
5079+
5080+ for (var11 = 0 ; var11 < r .ukb [var9 ]; ++var11 ) {
5081+ var12 = r .xkb [var9 ][var11 ];
5082+ if (!this .mk (var12 , r .ykb [var9 ][var11 ])) {
5083+ var10 = "@whi@" ;
5084+ break ;
5085+ }
5086+ }
5087+
5088+ var12 = this .oy [10 ];
5089+ if (r .tkb [var9 ] > var12 ) {
5090+ var10 = "@bla@" ;
5091+ }
5092+
5093+ this .ecb .ad (this .fcb , var8 ++, var10 + "Level " + r .tkb [var9 ] + ": " + r .rkb [var9 ]);
5094+ }
5095+
5096+ this .ecb .fc ();
5097+ var17 = this .ecb .hc (this .fcb );
5098+ if (var17 != -1 ) {
5099+ this .qt .ef ("Level " + r .tkb [var17 ] + ": " + r .rkb [var17 ], var2 + 2 , var3 + 124 , 1 , 0 );
5100+ this .qt .ef (r .skb [var17 ], var2 + 2 , var3 + 136 , 0 , 0 );
5101+
5102+ for (var11 = 0 ; var11 < r .ukb [var17 ]; ++var11 ) {
5103+ var12 = r .xkb [var17 ][var11 ];
5104+ this .qt .rg (var2 + 2 + var11 * 44 , var3 + 150 , this .nw + r .zfb [var12 ]);
5105+ int var13 = this .dk (var12 );
5106+ int var14 = r .ykb [var17 ][var11 ];
5107+ String var15 = "@red@" ;
5108+ if (this .mk (var12 , var14 )) {
5109+ var15 = "@gre@" ;
5110+ }
5111+
5112+ this .qt .ef (var15 + var13 + "/" + var14 , var2 + 2 + var11 * 44 , var3 + 150 , 1 , 16777215 );
5113+ }
5114+ } else {
5115+ this .qt .ef ("Point at a spell for a description" , var2 + 2 , var3 + 124 , 1 , 0 );
5116+ }
5117+ }
5118+
50745119 if (var1 ) {
50755120 var2 = super .mq - (this .qt .sj - 199 );
50765121 int var16 = super .nq - 36 ;
@@ -5089,9 +5134,9 @@ public void xl(boolean var1) {
50895134 if (this .mx == 1 && this .gcb == 0 ) {
50905135 var8 = this .ecb .hc (this .fcb );
50915136 if (var8 != -1 ) {
5092- var9 = this .oy [6 ];
5137+ var9 = this .oy [9 ];
50935138 if (r .tjb [var8 ] > var9 ) {
5094- this .gk ("Your magic ability is not high enough for this spell" , 3 );
5139+ this .gk ("Your good magic ability is not high enough for this spell" , 3 );
50955140 } else {
50965141 for (var17 = 0 ; var17 < r .ujb [var8 ]; ++var17 ) {
50975142 var11 = r .xjb [var8 ][var17 ];
@@ -5103,7 +5148,32 @@ public void xl(boolean var1) {
51035148 }
51045149
51055150 if (var17 == r .ujb [var8 ]) {
5106- this .lcb = var8 ;
5151+ this .lcb = var8 + (0 << 8 );
5152+ this .sx = -1 ;
5153+ this .mcb = "Cast " ;
5154+ }
5155+ }
5156+ }
5157+ }
5158+
5159+ if (this .mx == 1 && this .gcb == 1 ) {
5160+ var8 = this .ecb .hc (this .fcb );
5161+ if (var8 != -1 ) {
5162+ var9 = this .oy [10 ];
5163+ if (r .tkb [var8 ] > var9 ) {
5164+ this .gk ("Your evil magic ability is not high enough for this spell" , 3 );
5165+ } else {
5166+ for (var17 = 0 ; var17 < r .ukb [var8 ]; ++var17 ) {
5167+ var11 = r .xkb [var8 ][var17 ];
5168+ if (!this .mk (var11 , r .ykb [var8 ][var17 ])) {
5169+ this .gk ("You don't have all the reagents you need for this spell" , 3 );
5170+ var17 = -1 ;
5171+ break ;
5172+ }
5173+ }
5174+
5175+ if (var17 == r .ukb [var8 ]) {
5176+ this .lcb = var8 + (1 << 8 );
51075177 this .sx = -1 ;
51085178 this .mcb = "Cast " ;
51095179 }
@@ -5456,8 +5526,10 @@ public void tk() {
54565526 var11 = this .hx [var10 ];
54575527 if (!this .ix [var10 ]) {
54585528 if (this .lcb >= 0 ) {
5459- if (r .vjb [this .lcb ] == 4 ) {
5460- this .mv [this .iv ] = this .mcb + r .rjb [this .lcb ] + " on" ;
5529+ int scb = this .lcb & 0xFF ;
5530+ boolean pcb = (this .lcb & 0x100 ) == 0 ;
5531+ if ((pcb && r .vjb [scb ] == 4 ) || (!pcb && r .vkb [scb ] == 4 )) {
5532+ this .mv [this .iv ] = this .mcb + (pcb ? r .rjb [scb ] : r .rkb [scb ]) + " on" ;
54615533 this .lv [this .iv ] = "@cya@" + r .mib [var11 ][0 ];
54625534 this .nv [this .iv ] = 300 ;
54635535 this .ov [this .iv ] = this .ex [var10 ];
@@ -5510,8 +5582,10 @@ public void tk() {
55105582 var11 = this .xw [var10 ];
55115583 if (!this .ax [var10 ]) {
55125584 if (this .lcb >= 0 ) {
5513- if (r .vjb [this .lcb ] == 5 ) {
5514- this .mv [this .iv ] = this .mcb + r .rjb [this .lcb ] + " on" ;
5585+ int scb = this .lcb & 0xFF ;
5586+ boolean pcb = (this .lcb & 0x100 ) == 0 ;
5587+ if ((pcb && r .vjb [scb ] == 5 ) || (!pcb && r .vkb [scb ] == 5 )) {
5588+ this .mv [this .iv ] = this .mcb + (pcb ? r .rjb [scb ] : r .rkb [scb ]) + " on" ;
55155589 this .lv [this .iv ] = "@cya@" + r .bib [var11 ][0 ];
55165590 this .nv [this .iv ] = 400 ;
55175591 this .ov [this .iv ] = this .vw [var10 ];
@@ -5624,8 +5698,11 @@ public void tk() {
56245698 }
56255699
56265700 if (this .lcb >= 0 ) {
5627- if (r .vjb [this .lcb ] == 1 || r .vjb [this .lcb ] == 2 && var14 == 1 && this .aw .vr == 1 ) {
5628- this .mv [this .iv ] = this .mcb + r .rjb [this .lcb ] + " on" ;
5701+ int scb = this .lcb & 0xFF ;
5702+ boolean pcb = (this .lcb & 0x100 ) == 0 ;
5703+ if ((pcb && (r .vjb [scb ] == 1 || r .vjb [scb ] == 2 && var14 == 1 && this .aw .vr == 1 ))
5704+ || (!pcb && (r .vkb [scb ] == 1 || r .vkb [scb ] == 2 && var14 == 1 && this .aw .vr == 1 ))) {
5705+ this .mv [this .iv ] = this .mcb + (pcb ? r .rjb [scb ] : r .rkb [scb ]) + " on" ;
56295706 this .lv [this .iv ] = "@whi@" + this .zv [var10 ].zq ;
56305707 this .nv [this .iv ] = 800 ;
56315708 this .ov [this .iv ] = this .zv [var10 ].cr ;
@@ -5672,8 +5749,10 @@ public void tk() {
56725749 }
56735750 } else if (var11 == 2 ) {
56745751 if (this .lcb >= 0 ) {
5675- if (r .vjb [this .lcb ] == 3 ) {
5676- this .mv [this .iv ] = this .mcb + r .rjb [this .lcb ] + " on" ;
5752+ int scb = this .lcb & 0xFF ;
5753+ boolean pcb = (this .lcb & 0x100 ) == 0 ;
5754+ if ((pcb && r .vjb [scb ] == 3 ) || (!pcb && r .vkb [scb ] == 3 )) {
5755+ this .mv [this .iv ] = this .mcb + (pcb ? r .rjb [scb ] : r .rkb [scb ]) + " on" ;
56775756 this .lv [this .iv ] = "@lre@" + r .vfb [this .qw [var10 ]][0 ];
56785757 this .nv [this .iv ] = 200 ;
56795758 this .ov [this .iv ] = this .ow [var10 ];
@@ -5750,8 +5829,10 @@ public void tk() {
57505829 }
57515830
57525831 if (this .lcb >= 0 ) {
5753- if (r .vjb [this .lcb ] == 2 ) {
5754- this .mv [this .iv ] = this .mcb + r .rjb [this .lcb ] + " on" ;
5832+ int scb = this .lcb & 0xFF ;
5833+ boolean pcb = (this .lcb & 0x100 ) == 0 ;
5834+ if ((pcb && r .vjb [scb ] == 2 ) || (!pcb && r .vkb [scb ] == 2 )) {
5835+ this .mv [this .iv ] = this .mcb + (pcb ? r .rjb [scb ] : r .rkb [scb ]) + " on" ;
57555836 this .lv [this .iv ] = "@yel@" + r .pgb [this .hw [var10 ].er ][0 ];
57565837 this .nv [this .iv ] = 700 ;
57575838 this .ov [this .iv ] = this .hw [var10 ].cr ;
@@ -5803,7 +5884,9 @@ public void tk() {
58035884 }
58045885 }
58055886
5806- if (this .lcb >= 0 && r .vjb [this .lcb ] <= 1 ) {
5887+ int scb = this .lcb & 0xFF ;
5888+ boolean pcb = (this .lcb & 0x100 ) == 0 ;
5889+ if (this .lcb >= 0 && ((pcb && r .vjb [scb ] <= 1 ) || (!pcb && r .vkb [scb ] <= 1 ))) {
58075890 this .mv [this .iv ] = this .mcb + "on self" ;
58085891 this .lv [this .iv ] = "" ;
58095892 this .nv [this .iv ] = 1000 ;
@@ -5813,7 +5896,7 @@ public void tk() {
58135896
58145897 if (var1 != -1 ) {
58155898 if (this .lcb >= 0 ) {
5816- if (r .vjb [this . lcb ] == 6 ) {
5899+ if (( pcb && r .vjb [scb ] == 6 ) || (! pcb && r . vkb [ scb ] == 6 ) ) {
58175900 this .mv [this .iv ] = this .mcb + "on ground" ;
58185901 this .lv [this .iv ] = "" ;
58195902 this .nv [this .iv ] = 900 ;
@@ -6341,11 +6424,11 @@ public mudclient() {
63416424 this .ly = new int [256 ];
63426425 this .my = -1 ;
63436426 this .ny = -2 ;
6344- this .oy = new int [16 ];
6345- this .py = new int [16 ];
6346- this .qy = new int [5 ];
6347- this .sy = new String []{"Attack" , "Defense" , "Strength" , "Hits" , "Ranged" , "Prayer " , "Magic " , "Cooking " , "Woodcutting " , "Fletching " , "Fishing " , "Firemaking" , "Crafting" , "Smithing" , "Mining" , "Herblaw" };
6348- this .ty = new String []{"Armour" , "WeaponAim" , "WeaponPower" , "Magic" , "Prayer" };
6427+ this .oy = new int [19 ];
6428+ this .py = new int [19 ];
6429+ this .qy = new int [6 ];
6430+ this .sy = new String []{"Attack" , "Defense" , "Strength" , "Hits" , "Ranged" , "Thieving " , "Influence " , "PrayGood " , "PrayEvil " , "GoodMagic " , "EvilMagic" , "Cooking" , "Tailoring" , "Woodcutting " , "Firemaking" , "Crafting" , "Smithing" , "Mining" , "Herblaw" };
6431+ this .ty = new String []{"Armour" , "WeaponAim" , "WeaponPower" , "Magic" , "Prayer" , "Hiding" };
63496432 this .vy = new int [500 ];
63506433 this .wy = false ;
63516434 this .yy = new String [5 ];
0 commit comments