Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 55.18 KB | None | 0 0
  1. package server.model.players;
  2.  
  3. import java.util.LinkedList;
  4. import java.util.Queue;
  5. import java.util.concurrent.Future;
  6.  
  7. import org.apache.mina.common.IoSession;
  8.  
  9. import server.Config;
  10. import server.Server;
  11. import server.model.items.ItemAssistant;
  12. import server.model.shops.ShopAssistant;
  13. import server.net.HostList;
  14. import server.net.Packet;
  15. import server.net.StaticPacketBuilder;
  16. import server.util.Misc;
  17. import server.util.Stream;
  18. import server.model.players.skills.*;
  19. import server.event.EventManager;
  20. import server.event.Event;
  21. import server.event.EventContainer;
  22.  
  23. public class Client extends Player {
  24. public int emoteChoice = 0;
  25. public int cod1 = 0;
  26. public int cod2 = 0;
  27. public int mimeChoice = 0;
  28.  
  29. public int clue1 = 0;
  30. public int clue2 = 0;
  31. public int clue3 = 0;
  32. public int clue4 = 0;
  33. public int clue5 = 0;
  34.  
  35. public byte buffer[] = null;
  36. public Stream inStream = null, outStream = null;
  37. private IoSession session;
  38. private ItemAssistant itemAssistant = new ItemAssistant(this);
  39. private ShopAssistant shopAssistant = new ShopAssistant(this);
  40. private TradeAndDuel tradeAndDuel = new TradeAndDuel(this);
  41. private PlayerAssistant playerAssistant = new PlayerAssistant(this);
  42. private CombatAssistant combatAssistant = new CombatAssistant(this);
  43. private ActionHandler actionHandler = new ActionHandler(this);
  44. private PlayerKilling playerKilling = new PlayerKilling(this);
  45. private DialogueHandler dialogueHandler = new DialogueHandler(this);
  46. private Queue<Packet> queuedPackets = new LinkedList<Packet>();
  47. private Potions potions = new Potions(this);
  48. private PotionMixing potionMixing = new PotionMixing(this);
  49. private Food food = new Food(this);
  50. /**
  51. * Skill instances
  52. */
  53. public void getScroll() {
  54. if(clue1 == 0 && clue2 == 0 && clue3 == 0 && clue4 == 0 && clue5 == 0) {
  55. int randomScroll = Misc.random(4);
  56. if (randomScroll == 0) {
  57. clue1 = 1;
  58. } else if (randomScroll == 1) {
  59. clue2 = 1;
  60. } else if (randomScroll == 2) {
  61. clue3 = 1;
  62. } else if (randomScroll == 3) {
  63. clue4 = 1;
  64. } else if (randomScroll == 4) {
  65. clue5 = 1;
  66. }
  67. }
  68. if (clue1 == 1) {
  69. sendMessage("You must dig behind the Varrock anvil room to complete this scroll.");
  70. } else if (clue2 == 1) {
  71. sendMessage("You must dig the flowers at Lumbridge graveryard to complete this scroll.");
  72. } else if (clue3 == 1) {
  73. sendMessage("You must dig at the KBD's lever to complete this scroll.");
  74. } else if (clue4 == 1) {
  75. sendMessage("You must dig next to the corpse at chaos ele to complete this scroll.");
  76. } else if (clue5 == 1) {
  77. sendMessage("You must dig at the back of Lumbridge castle to complete this scroll.");
  78. }
  79. }
  80.  
  81. public void treasureReward() {
  82. if (getItems().freeSlots() < 3) {
  83. sendMessage("You need 3 available slots to recieve a treasure trail reward!");
  84. return;
  85. }
  86. if (getItems().playerHasItem(10181,1)) {
  87. sendMessage("Congratulations, you have completed the treasure trail!");
  88. getItems().deleteItem(10181,1);
  89. int rewardChoice = Misc.random(37);
  90. int rewardAmount = Misc.random(2);
  91. if(rewardAmount >= 0) {
  92. if(rewardChoice == 0) {
  93. getItems().addItem(10740, 1);
  94. } else if (rewardChoice == 1) {
  95. getItems().addItem(10742, 1);
  96. } else if (rewardChoice == 2) {
  97. getItems().addItem(10744, 1);
  98. } else if (rewardChoice == 3) {
  99. getItems().addItem(10746, 1);
  100. } else if (rewardChoice == 4) {
  101. getItems().addItem(10748, 1);
  102. } else if (rewardChoice == 5) {
  103. getItems().addItem(10750, 1);
  104. } else if (rewardChoice == 6) {
  105. getItems().addItem(10752, 1);
  106. } else if (rewardChoice == 7) {
  107. getItems().addItem(10754, 1);
  108. } else if (rewardChoice == 8) {
  109. getItems().addItem(10756, 1);
  110. } else if (rewardChoice == 9) {
  111. getItems().addItem(10758, 1);
  112. } else if (rewardChoice == 10) {
  113. getItems().addItem(10760, 1);
  114. } else if (rewardChoice == 11) {
  115. getItems().addItem(10762, 1);
  116. } else if (rewardChoice == 12) {
  117. getItems().addItem(10764, 1);
  118. } else if (rewardChoice == 13) {
  119. getItems().addItem(10766, 1);
  120. } else if (rewardChoice == 14) {
  121. getItems().addItem(10774, 1);
  122. } else if (rewardChoice == 15) {
  123. getItems().addItem(10802, 1);
  124. } else if (rewardChoice == 16) {
  125. getItems().addItem(10804, 1);
  126. } else if (rewardChoice == 17) {
  127. getItems().addItem(10806, 1);
  128. } else if (rewardChoice == 18) {
  129. getItems().addItem(10714, 1);
  130. } else if (rewardChoice == 19) {
  131. getItems().addItem(10715, 1);
  132. } else if (rewardChoice == 20) {
  133. getItems().addItem(10716, 1);
  134. } else if (rewardChoice == 21) {
  135. getItems().addItem(10717, 1);
  136. } else if (rewardChoice == 22) {
  137. getItems().addItem(10718, 1);
  138. } else if (rewardChoice == 23) {
  139. getItems().addItem(10736, 1);
  140. } else if (rewardChoice == 24) {
  141. getItems().addItem(10738, 1);
  142. } else if (rewardChoice == 25) {
  143. getItems().addItem(10719, 1);
  144. } else if (rewardChoice == 26) {
  145. getItems().addItem(10402, 1);
  146. } else if (rewardChoice == 27) {
  147. getItems().addItem(10406, 1);
  148. } else if (rewardChoice == 28) {
  149. getItems().addItem(10410, 1);
  150. } else if (rewardChoice == 29) {
  151. getItems().addItem(10414, 1);
  152. } else if (rewardChoice == 30) {
  153. getItems().addItem(10418, 1);
  154. } else if (rewardChoice == 31) {
  155. getItems().addItem(10662, 1);
  156. } else if (rewardChoice == 32) {
  157. getItems().addItem(10686, 1);
  158. } else if (rewardChoice == 33) {
  159. getItems().addItem(10687, 1);
  160. } else if (rewardChoice == 34) {
  161. getItems().addItem(7386, 1);
  162. } else if (rewardChoice == 35) {
  163. getItems().addItem(7388, 1);
  164. } else if (rewardChoice == 36) {
  165. getItems().addItem(7396, 1);
  166. } else if (rewardChoice == 37) {
  167. getItems().addItem(7394, 1);
  168. }
  169. }
  170. if(rewardAmount >= 1) {
  171. rewardChoice = Misc.random(37);
  172. if(rewardChoice == 0) {
  173. getItems().addItem(10740, 1);
  174. } else if (rewardChoice == 1) {
  175. getItems().addItem(10742, 1);
  176. } else if (rewardChoice == 2) {
  177. getItems().addItem(10744, 1);
  178. } else if (rewardChoice == 3) {
  179. getItems().addItem(10746, 1);
  180. } else if (rewardChoice == 4) {
  181. getItems().addItem(10748, 1);
  182. } else if (rewardChoice == 5) {
  183. getItems().addItem(10750, 1);
  184. } else if (rewardChoice == 6) {
  185. getItems().addItem(10752, 1);
  186. } else if (rewardChoice == 7) {
  187. getItems().addItem(10754, 1);
  188. } else if (rewardChoice == 8) {
  189. getItems().addItem(10756, 1);
  190. } else if (rewardChoice == 9) {
  191. getItems().addItem(10758, 1);
  192. } else if (rewardChoice == 10) {
  193. getItems().addItem(10760, 1);
  194. } else if (rewardChoice == 11) {
  195. getItems().addItem(10762, 1);
  196. } else if (rewardChoice == 12) {
  197. getItems().addItem(10764, 1);
  198. } else if (rewardChoice == 13) {
  199. getItems().addItem(10766, 1);
  200. } else if (rewardChoice == 14) {
  201. getItems().addItem(10774, 1);
  202. } else if (rewardChoice == 15) {
  203. getItems().addItem(10802, 1);
  204. } else if (rewardChoice == 16) {
  205. getItems().addItem(10804, 1);
  206. } else if (rewardChoice == 17) {
  207. getItems().addItem(10806, 1);
  208. } else if (rewardChoice == 18) {
  209. getItems().addItem(10714, 1);
  210. } else if (rewardChoice == 19) {
  211. getItems().addItem(10715, 1);
  212. } else if (rewardChoice == 20) {
  213. getItems().addItem(10716, 1);
  214. } else if (rewardChoice == 21) {
  215. getItems().addItem(10717, 1);
  216. } else if (rewardChoice == 22) {
  217. getItems().addItem(10718, 1);
  218. } else if (rewardChoice == 23) {
  219. getItems().addItem(10736, 1);
  220. } else if (rewardChoice == 24) {
  221. getItems().addItem(10738, 1);
  222. } else if (rewardChoice == 25) {
  223. getItems().addItem(10719, 1);
  224. } else if (rewardChoice == 26) {
  225. getItems().addItem(10402, 1);
  226. } else if (rewardChoice == 27) {
  227. getItems().addItem(10406, 1);
  228. } else if (rewardChoice == 28) {
  229. getItems().addItem(10410, 1);
  230. } else if (rewardChoice == 29) {
  231. getItems().addItem(10414, 1);
  232. } else if (rewardChoice == 30) {
  233. getItems().addItem(10418, 1);
  234. } else if (rewardChoice == 31) {
  235. getItems().addItem(10662, 1);
  236. } else if (rewardChoice == 32) {
  237. getItems().addItem(10686, 1);
  238. } else if (rewardChoice == 33) {
  239. getItems().addItem(10687, 1);
  240. } else if (rewardChoice == 34) {
  241. getItems().addItem(7386, 1);
  242. } else if (rewardChoice == 35) {
  243. getItems().addItem(7388, 1);
  244. } else if (rewardChoice == 36) {
  245. getItems().addItem(7396, 1);
  246. } else if (rewardChoice == 37) {
  247. getItems().addItem(7394, 1);
  248. }
  249. }
  250. rewardChoice = Misc.random(37);
  251. if(rewardAmount >= 2) {
  252. if(rewardChoice == 0) {
  253. getItems().addItem(10740, 1);
  254. } else if (rewardChoice == 1) {
  255. getItems().addItem(10742, 1);
  256. } else if (rewardChoice == 2) {
  257. getItems().addItem(10744, 1);
  258. } else if (rewardChoice == 3) {
  259. getItems().addItem(10746, 1);
  260. } else if (rewardChoice == 4) {
  261. getItems().addItem(10748, 1);
  262. } else if (rewardChoice == 5) {
  263. getItems().addItem(10750, 1);
  264. } else if (rewardChoice == 6) {
  265. getItems().addItem(10752, 1);
  266. } else if (rewardChoice == 7) {
  267. getItems().addItem(10754, 1);
  268. } else if (rewardChoice == 8) {
  269. getItems().addItem(10756, 1);
  270. } else if (rewardChoice == 9) {
  271. getItems().addItem(10758, 1);
  272. } else if (rewardChoice == 10) {
  273. getItems().addItem(10760, 1);
  274. } else if (rewardChoice == 11) {
  275. getItems().addItem(10762, 1);
  276. } else if (rewardChoice == 12) {
  277. getItems().addItem(10764, 1);
  278. } else if (rewardChoice == 13) {
  279. getItems().addItem(10766, 1);
  280. } else if (rewardChoice == 14) {
  281. getItems().addItem(10774, 1);
  282. } else if (rewardChoice == 15) {
  283. getItems().addItem(10802, 1);
  284. } else if (rewardChoice == 16) {
  285. getItems().addItem(10804, 1);
  286. } else if (rewardChoice == 17) {
  287. getItems().addItem(10806, 1);
  288. } else if (rewardChoice == 18) {
  289. getItems().addItem(10714, 1);
  290. } else if (rewardChoice == 19) {
  291. getItems().addItem(10715, 1);
  292. } else if (rewardChoice == 20) {
  293. getItems().addItem(10716, 1);
  294. } else if (rewardChoice == 21) {
  295. getItems().addItem(10717, 1);
  296. } else if (rewardChoice == 22) {
  297. getItems().addItem(10718, 1);
  298. } else if (rewardChoice == 23) {
  299. getItems().addItem(10736, 1);
  300. } else if (rewardChoice == 24) {
  301. getItems().addItem(10738, 1);
  302. } else if (rewardChoice == 25) {
  303. getItems().addItem(10719, 1);
  304. } else if (rewardChoice == 26) {
  305. getItems().addItem(10402, 1);
  306. } else if (rewardChoice == 27) {
  307. getItems().addItem(10406, 1);
  308. } else if (rewardChoice == 28) {
  309. getItems().addItem(10410, 1);
  310. } else if (rewardChoice == 29) {
  311. getItems().addItem(10414, 1);
  312. } else if (rewardChoice == 30) {
  313. getItems().addItem(10418, 1);
  314. } else if (rewardChoice == 31) {
  315. getItems().addItem(10662, 1);
  316. } else if (rewardChoice == 32) {
  317. getItems().addItem(10686, 1);
  318. } else if (rewardChoice == 33) {
  319. getItems().addItem(10687, 1);
  320. } else if (rewardChoice == 34) {
  321. getItems().addItem(7386, 1);
  322. } else if (rewardChoice == 35) {
  323. getItems().addItem(7388, 1);
  324. } else if (rewardChoice == 36) {
  325. getItems().addItem(7396, 1);
  326. } else if (rewardChoice == 37) {
  327. getItems().addItem(7394, 1);
  328. }
  329. }
  330. }
  331. }
  332.  
  333. public int getKdr() {
  334. int kdr;
  335. if(kills == 0 || deaths == 0) {
  336. kdr = 0;
  337. } else {
  338. kdr = kills/deaths;
  339. }
  340. return kdr;
  341. }
  342. private Slayer slayer = new Slayer(this);
  343. private Runecrafting runecrafting = new Runecrafting(this);
  344. private Woodcutting woodcutting = new Woodcutting(this);
  345. private Mining mine = new Mining(this);
  346. private Agility agility = new Agility(this);
  347. private Cooking cooking = new Cooking(this);
  348. private Fishing fish = new Fishing(this);
  349. private Crafting crafting = new Crafting(this);
  350. private Smithing smith = new Smithing(this);
  351. private Prayer prayer = new Prayer(this);
  352. private Fletching fletching = new Fletching(this);
  353. private SmithingInterface smithInt = new SmithingInterface(this);
  354. private Farming farming = new Farming(this);
  355. private Thieving thieving = new Thieving(this);
  356. private Firemaking firemaking = new Firemaking(this);
  357. private Herblore herblore = new Herblore(this);
  358.  
  359. private int somejunk;
  360. public int lowMemoryVersion = 0;
  361. public int timeOutCounter = 0;
  362. public int returnCode = 2;
  363. private Future<?> currentTask;
  364. public String lastKilled = "";
  365. public boolean attackSkill = false;
  366. public boolean usingLevel = false;
  367. public boolean strengthSkill = false;
  368. public boolean defenceSkill = false;
  369. public boolean mageSkill = false;
  370. public boolean rangeSkill = false;
  371. public boolean prayerSkill = false;
  372. public boolean healthSkill = false;
  373. public boolean usingCarpet = false;
  374. public int itemBeforeCarpet;
  375. public int clawDelay = 0;
  376. public int previousDamage;
  377. public boolean usingClaws = false;
  378. public boolean haxTele = false;
  379. public int pureAmount = 0;
  380. public int zerkAmount = 0;
  381. public int mainAmount = 0;
  382. public int taskSelect = 0;
  383. public int taskRandom = 0;
  384. public int pureTask = 0;
  385. public int zerkTask = 0;
  386. public int mainTask = 0;
  387. public int haveTask = 0;
  388. public void getText2() {
  389. sendMessage("Not enough space in your inventory.");
  390. }
  391. public void clueScroll(int i1, int a1, int i2, int a2, int i3, int a3, int i4,int a4,int clueID){
  392. getPA().showInterface(6960);
  393. getPA().sendFrame34a(6963,i1, 0,a1);
  394. getPA().sendFrame34a(6963, i2, 1, a2);
  395. getPA().sendFrame34a(6963, i3, 2, a3);
  396. getPA().sendFrame34a(6963, i4, 3, a4);
  397. /*addItem(i1,a1);
  398. addItem(i2,a2);
  399. addItem(i3,a3);
  400. addItem(i4,a4);
  401. sendMessage("Congratulations, You Have Completed Treasure Trails");
  402. deleteItem(clueID,GetItemSlot(clueID),1);*/
  403. }
  404. public void points() {
  405. getPA().sendFrame126("PkP: "+pkPoints+" K: "+kills+" D: "+deaths+"", 663);
  406. }
  407. public Client(IoSession s, int _playerId) {
  408. super(_playerId);
  409. this.session = s;
  410. synchronized(this) {
  411. outStream = new Stream(new byte[Config.BUFFER_SIZE]);
  412. outStream.currentOffset = 0;
  413. }
  414. inStream = new Stream(new byte[Config.BUFFER_SIZE]);
  415. inStream.currentOffset = 0;
  416. buffer = new byte[Config.BUFFER_SIZE];
  417. }
  418.  
  419. public void flushOutStream() {
  420. if(disconnected || outStream.currentOffset == 0) return;
  421. synchronized(this) {
  422. StaticPacketBuilder out = new StaticPacketBuilder().setBare(true);
  423. byte[] temp = new byte[outStream.currentOffset];
  424. System.arraycopy(outStream.buffer, 0, temp, 0, temp.length);
  425. out.addBytes(temp);
  426. session.write(out.toPacket());
  427. outStream.currentOffset = 0;
  428. }
  429. }
  430.  
  431. public void sendClan(String name, String message, String clan, int rights) {
  432. outStream.createFrameVarSizeWord(217);
  433. outStream.writeString(name);
  434. outStream.writeString(message);
  435. outStream.writeString(clan);
  436. outStream.writeWord(rights);
  437. outStream.endFrameVarSize();
  438. }
  439. public void testMessage() {
  440. sendMessage("Sorry, you need to be a premium member to yell! Type ::donate for more info.");
  441. }
  442. /*public void loadAchievements() {
  443. getPA().sendFrame126("Final Pvp Achievement Diary", 8144);
  444. getPA().sendFrame126("@red@Incomplete @gre@Complete @blu@Reward", 8145);
  445. if(kills < 25) {
  446. getPA().sendFrame126("@red@Defeat 25 players", 8147);
  447. getPA().sendFrame126("@blu@Reward: One random artifact", 8147);
  448. } else {
  449. getPA().sendFrame126("@gre@Defeat 25 players", 8147);
  450. getPA().sendFrame126("@blu@Reward: One random artifact", 8147);
  451. }
  452. if(kills < 50) {
  453. getPA().sendFrame126("@red@Defeat 50 players", 8147);
  454. getPA().sendFrame126("@blu@Reward: One random artifact", 8147);
  455. } else {
  456. getPA().sendFrame126("@gre@Defeat 50 players", 8147);
  457. getPA().sendFrame126("@blu@Reward: One random artifact", 8147);
  458. }
  459. if(kills < 100) {
  460. getPA().sendFrame126("@red@Defeat 100 players", 8147);
  461. getPA().sendFrame126("@blu@Reward: One random artifact", 8147);
  462. } else {
  463. getPA().sendFrame126("@gre@Defeat 100 players", 8147);
  464. getPA().sendFrame126("@blu@Reward: One random artifact", 8147);
  465. }
  466. if(kills < 500) {
  467. getPA().sendFrame126("@red@Defeat 500 players", 8147);
  468. getPA().sendFrame126("@blu@Reward: One random artifact", 8147);
  469. } else {
  470. getPA().sendFrame126("@gre@Defeat 500 players", 8147);
  471. getPA().sendFrame126("@blu@Reward: One random artifact", 8147);
  472. }
  473. if(kills < 1000) {
  474. getPA().sendFrame126("@red@Defeat 1000 players", 8147);
  475. getPA().sendFrame126("@blu@Reward: One random artifact", 8147);
  476. } else {
  477. getPA().sendFrame126("@gre@Defeat 1000 players", 8147);
  478. getPA().sendFrame126("@blu@Reward: One random artifact", 8147);
  479. }
  480. }*/
  481. public static final int PACKET_SIZES[] = {
  482. 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, //0
  483. 0, 0, 0, 0, 8, 0, 6, 2, 2, 0, //10
  484. 0, 2, 0, 6, 0, 12, 0, 0, 0, 0, //20
  485. 0, 0, 0, 0, 0, 8, 4, 0, 0, 2, //30
  486. 2, 6, 0, 6, 0, -1, 0, 0, 0, 0, //40
  487. 0, 0, 0, 12, 0, 0, 0, 8, 8, 12, //50
  488. 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, //60
  489. 6, 0, 2, 2, 8, 6, 0, -1, 0, 6, //70
  490. 0, 0, 0, 0, 0, 1, 4, 6, 0, 0, //80
  491. 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, //90
  492. 0, 13, 0, -1, 0, 0, 0, 0, 0, 0,//100
  493. 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, //110
  494. 1, 0, 6, 0, 0, 0, -1, 0, 2, 6, //120
  495. 0, 4, 6, 8, 0, 6, 0, 0, 0, 2, //130
  496. 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, //140
  497. 0, 0, 1, 2, 0, 2, 6, 0, 0, 0, //150
  498. 0, 0, 0, 0, -1, -1, 0, 0, 0, 0,//160
  499. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //170
  500. 0, 8, 0, 3, 0, 2, 0, 0, 8, 1, //180
  501. 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, //190
  502. 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, //200
  503. 4, 0, 0, 0, 7, 8, 0, 0, 10, 0, //210
  504. 0, 0, 0, 0, 0, 0, -1, 0, 6, 0, //220
  505. 1, 0, 0, 0, 6, 0, 6, 8, 1, 0, //230
  506. 0, 4, 0, 0, 0, 0, -1, 0, -1, 4,//240
  507. 0, 0, 6, 6, 0, 0, 0 //250
  508. };
  509.  
  510. public void destruct() {
  511. if(session == null)
  512. return;
  513. //PlayerSaving.getSingleton().requestSave(playerId);
  514. getPA().removeFromCW();
  515. if (inPits)
  516. Server.fightPits.removePlayerFromPits(playerId);
  517. if (clanId >= 0)
  518. Server.clanChat.leaveClan(playerId, clanId);
  519. Misc.println("[DEREGISTERED]: "+playerName+"");
  520. HostList.getHostList().remove(session);
  521. disconnected = true;
  522. session.close();
  523. session = null;
  524. inStream = null;
  525. outStream = null;
  526. isActive = false;
  527. buffer = null;
  528. super.destruct();
  529. }
  530.  
  531.  
  532. public void sendMessage(String s) {
  533. synchronized (this) {
  534. if(getOutStream() != null) {
  535. outStream.createFrameVarSize(253);
  536. outStream.writeString(s);
  537. outStream.endFrameVarSize();
  538. }
  539. }
  540. }
  541.  
  542. public void setSidebarInterface(int menuId, int form) {
  543. synchronized (this) {
  544. if(getOutStream() != null) {
  545. outStream.createFrame(71);
  546. outStream.writeWord(form);
  547. outStream.writeByteA(menuId);
  548. }
  549. }
  550. }
  551.  
  552. public void initialize() {
  553. synchronized (this) {
  554. outStream.createFrame(249);
  555. outStream.writeByteA(1); // 1 for members, zero for free
  556. outStream.writeWordBigEndianA(playerId);
  557. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  558. if (j == playerId)
  559. continue;
  560. if (Server.playerHandler.players[j] != null) {
  561. if (Server.playerHandler.players[j].playerName.equalsIgnoreCase(playerName))
  562. disconnected = true;
  563. }
  564. }
  565. for (int i = 0; i < 25; i++) {
  566. getPA().setSkillLevel(i, playerLevel[i], playerXP[i]);
  567. getPA().refreshSkill(i);
  568. }
  569. for(int p = 0; p < PRAYER.length; p++) { // reset prayer glows
  570. prayerActive[p] = false;
  571. getPA().sendFrame36(PRAYER_GLOW[p], 0);
  572. }
  573. //if (playerName.equalsIgnoreCase("Sanity")) {
  574. getPA().sendCrashFrame();
  575. //}
  576. if(deaths >= 5 || kills >= 5) {
  577. firstCheck = 1;
  578. }
  579. //begin wild interface
  580. getPA().sendFrame126("The further north you go the more dangerous it becomes, and you can attack\nhigher levels there.", 6941);
  581. getPA().sendFrame126("There is an indicator to the bottom right that shows your level\nand remember, you can gain PkP from kills", 6942);
  582. //end wild interface
  583. //begin welcome interface
  584.  
  585.  
  586. getPA().sendFrame126("Welcome to Final Pvp",15257);
  587. getPA().sendFrame126("Check out the forum for updates and more!",15258);
  588. getPA().sendFrame126("Deaths: "+deaths+"",15259);
  589. getPA().sendFrame126("This is your kills/deaths.",15261);
  590.  
  591. // getPA().sendFrame126("KDR: "+getKdr()+"",15261);
  592. getPA().sendFrame126("PkP: "+pkPoints+"",15262);
  593. getPA().sendFrame126("Kills: "+kills+"",15270);
  594. getPA().sendFrame126("Welcome to Final Pvp",15257);
  595. getPA().sendFrame126("Check out the forum for updates and more!",15258);
  596. getPA().sendFrame126("KDR: "+getKdr()+"",15260);
  597. /*getPA().sendFrame126(" ",15260);
  598. getPA().sendFrame126(" ",15261);
  599. getPA().sendFrame126(" ",15262);
  600. getPA().sendFrame126(" ",15270);*/
  601. getPA().sendFrame126("Final Pvp Top 10", 6399);
  602. getPA().sendFrame126("You have "+kills+" kills!", 6400);
  603. getPA().sendFrame126("Close Window", 6401);
  604. getPA().sendFrame126(" ", 6402);
  605. getPA().sendFrame126(" ", 6403);
  606. getPA().sendFrame126(" ", 6404);
  607.  
  608. getPA().sendFrame126(" ", 6405);
  609. getPA().sendFrame126("Final Pvp", 640);
  610. getPA().sendFrame126(" ", 6406);
  611. getPA().sendFrame126(" ", 6407);
  612. getPA().sendFrame126(" ", 6408);
  613. getPA().sendFrame126(" ", 6409);
  614. getPA().sendFrame126(" ", 6410);
  615. getPA().sendFrame126(" ", 6411);
  616. getPA().sendFrame126(" ", 8578);
  617. getPA().sendFrame126(" ", 8579);
  618. getPA().sendFrame126(" ", 8580);
  619. getPA().sendFrame126(" ", 8581);
  620. getPA().sendFrame126(" ", 8582);
  621. getPA().sendFrame126(" ", 8583);
  622. getPA().sendFrame126(" ", 8584);
  623. getPA().sendFrame126(" ", 8585);
  624. getPA().sendFrame126(" ", 8586);
  625. getPA().sendFrame126(" ", 8587);
  626. getPA().sendFrame126(" ", 8588);
  627. getPA().sendFrame126(" ", 8589);
  628. getPA().sendFrame126(" ", 8590);
  629. getPA().sendFrame126(" ", 8591);
  630. getPA().sendFrame126(" ", 8592);
  631. getPA().sendFrame126(" ", 8593);
  632. getPA().sendFrame126(" ", 8594);
  633. getPA().sendFrame126(" ", 8595);
  634. getPA().sendFrame126(" ", 8596);
  635. getPA().sendFrame126(" ", 8597);
  636. getPA().sendFrame126(" ", 8598);
  637. getPA().sendFrame126(" ", 8599);
  638. getPA().sendFrame126(" ", 8600);
  639. getPA().sendFrame126(" ", 8601);
  640. getPA().sendFrame126(" ", 8602);
  641. getPA().sendFrame126(" ", 8603);
  642. getPA().sendFrame126(" ", 8604);
  643. getPA().sendFrame126(" ", 8605);
  644. getPA().sendFrame126(" ", 8606);
  645. getPA().sendFrame126(" ", 8607);
  646. getPA().sendFrame126(" ", 8608);
  647. getPA().sendFrame126(" ", 8609);
  648. getPA().sendFrame126(" ", 8610);
  649. getPA().sendFrame126(" ", 8611);
  650. getPA().sendFrame126(" ", 8612);
  651. getPA().sendFrame126(" ", 8613);
  652. getPA().sendFrame126(" ", 8614);
  653. getPA().sendFrame126(" ", 8615);
  654. getPA().sendFrame126(" ", 8616);
  655. getPA().sendFrame126(" ", 8617);
  656. getPA().handleWeaponStyle();
  657. getPA().handleLoginText();
  658. accountFlagged = getPA().checkForFlags();
  659. //getPA().sendFrame36(43, fightMode-1);
  660. getPA().sendFrame36(108, 0);//resets autocast button
  661. getPA().sendFrame36(172, 1);
  662. getPA().sendFrame107(); // reset screen
  663. getPA().setChatOptions(0, 0, 0); // reset private messaging options
  664. setSidebarInterface(1, 3917);
  665. setSidebarInterface(2, 638);
  666. setSidebarInterface(3, 3213);
  667. setSidebarInterface(4, 1644);
  668. setSidebarInterface(5, 5608);
  669. getCombat2();
  670. if(playerMagicBook == 0) {
  671. setSidebarInterface(6, 1151); //modern
  672. } else if (playerMagicBook == 1) {
  673. setSidebarInterface(6, 12855); // ancient
  674. } else if (playerMagicBook == 2) {
  675. setSidebarInterface(6, 29999); // lunar
  676. }
  677. correctCoordinates();
  678. setSidebarInterface(7, 18128);
  679. setSidebarInterface(8, 5065);
  680. setSidebarInterface(9, 5715);
  681. setSidebarInterface(10, 2449);
  682. //setSidebarInterface(11, 4445); // wrench tab
  683. setSidebarInterface(11, 904); // wrench tab
  684. setSidebarInterface(12, 147); // run tab
  685. setSidebarInterface(13, -1);
  686. setSidebarInterface(0, 2423);
  687. getPA().sendFrame126(" ", 13608);
  688. getPA().sendFrame126(" ", 13609);
  689. getPA().sendFrame126(" ", 13610);
  690. getPA().sendFrame126(" ", 13611);
  691. getPA().sendFrame126(" ", 13612);
  692. getPA().sendFrame126(" ", 13613);
  693. getPA().sendFrame126(" ", 13614);
  694. getPA().sendFrame126(" ", 13615);
  695. getPA().sendFrame126(" ", 13616);
  696. getPA().sendFrame126(" ", 13617);
  697. getPA().sendFrame126(" ", 13618);
  698. getPA().sendFrame126(" ", 13619);
  699. getPA().sendFrame126(" ", 13620);
  700. getPA().sendFrame126(" ", 13621);
  701. getPA().sendFrame126(" ", 13622);
  702. getPA().sendFrame126(" ", 13623);
  703. getPA().sendFrame126(" ", 13624);
  704. getPA().sendFrame126(" ", 13625);
  705. getPA().sendFrame126(" ", 13626);
  706. getPA().sendFrame126(" ", 13627);
  707. getPA().sendFrame126(" ", 13628);
  708. getPA().sendFrame126(" ", 13629);
  709. getPA().sendFrame126(" ", 13630);
  710. getPA().sendFrame126(" ", 13631);
  711. getPA().sendFrame126(" ", 13632);
  712. getPA().sendFrame126(" ", 13633);
  713. getPA().sendFrame126(" ", 13634);
  714. getPA().sendFrame126(" ", 13635);
  715. getPA().sendFrame126(" ", 13636);
  716. getPA().sendFrame126(" ", 13637);
  717. getPA().sendFrame126(" ", 13638);
  718. getPA().sendFrame126(" ", 13639);
  719. getPA().sendFrame126(" ", 13640);
  720. // begin blank rules interface
  721. getPA().sendFrame126(" ", 13601);
  722. getPA().sendFrame126(" ", 13602);
  723. getPA().sendFrame126(" ", 13603);
  724. getPA().sendFrame126(" ", 13604);
  725. getPA().sendFrame126(" ", 13605);
  726. getPA().sendFrame126(" ", 13606);
  727. getPA().sendFrame126(" ", 13607);
  728. getPA().sendFrame126(" ", 13608);
  729. getPA().sendFrame126(" ", 13609);
  730. getPA().sendFrame126(" ", 13610);
  731. getPA().sendFrame126(" ", 13611);
  732. getPA().sendFrame126(" ", 13612);
  733. getPA().sendFrame126(" ", 13613);
  734. getPA().sendFrame126(" ", 13614);
  735. getPA().sendFrame126(" ", 13615);
  736. getPA().sendFrame126(" ", 13616);
  737. getPA().sendFrame126(" ", 13617);
  738. getPA().sendFrame126(" ", 13618);
  739. getPA().sendFrame126(" ", 13619);
  740. getPA().sendFrame126(" ", 13620);
  741. getPA().sendFrame126(" ", 13621);
  742. getPA().sendFrame126(" ", 13622);
  743. getPA().sendFrame126(" ", 13623);
  744. getPA().sendFrame126(" ", 13624);
  745. getPA().sendFrame126(" ", 13625);
  746. getPA().sendFrame126(" ", 13626);
  747. getPA().sendFrame126(" ", 13627);
  748. getPA().sendFrame126(" ", 13628);
  749. getPA().sendFrame126(" ", 13629);
  750. getPA().sendFrame126(" ", 13630);
  751. getPA().sendFrame126(" ", 13631);
  752. getPA().sendFrame126(" ", 13632);
  753. getPA().sendFrame126(" ", 13633);
  754. getPA().sendFrame126(" ", 13634);
  755. getPA().sendFrame126(" ", 13635);
  756. getPA().sendFrame126(" ", 13636);
  757. getPA().sendFrame126(" ", 13637);
  758. getPA().sendFrame126(" ", 13638);
  759. getPA().sendFrame126(" ", 13639);
  760. getPA().sendFrame126(" ", 13640);
  761. getPA().sendFrame126(" ", 13641);
  762. getPA().sendFrame126(" ", 13642);
  763. getPA().sendFrame126(" ", 13643);
  764. getPA().sendFrame126(" ", 13644);
  765. getPA().sendFrame126(" ", 13645);
  766. getPA().sendFrame126(" ", 13646);
  767. getPA().sendFrame126(" ", 13647);
  768. getPA().sendFrame126(" ", 13648);
  769. getPA().sendFrame126(" ", 13649);
  770. getPA().sendFrame126(" ", 13650);
  771. getPA().sendFrame126(" ", 13651);
  772. getPA().sendFrame126(" ", 13652);
  773. getPA().sendFrame126(" ", 13653);
  774. getPA().sendFrame126(" ", 13654);
  775. getPA().sendFrame126(" ", 13655);
  776. getPA().sendFrame126(" ", 13656);
  777. getPA().sendFrame126(" ", 13657);
  778. getPA().sendFrame126(" ", 13658);
  779. getPA().sendFrame126(" ", 13659);
  780. getPA().sendFrame126(" ", 13660);
  781. getPA().sendFrame126(" ", 13661);
  782. getPA().sendFrame126(" ", 13662);
  783. getPA().sendFrame126(" ", 13663);
  784. getPA().sendFrame126(" ", 13664);
  785. getPA().sendFrame126(" ", 13665);
  786. getPA().sendFrame126(" ", 13666);
  787. getPA().sendFrame126(" ", 13667);
  788. getPA().sendFrame126(" ", 13668);
  789. getPA().sendFrame126(" ", 13669);
  790. getPA().sendFrame126(" ", 13670);
  791. getPA().sendFrame126(" ", 13671);
  792. getPA().sendFrame126(" ", 13672);
  793. getPA().sendFrame126(" ", 13673);
  794. getPA().sendFrame126(" ", 13674);
  795. getPA().sendFrame126(" ", 13675);
  796. getPA().sendFrame126(" ", 13676);
  797. getPA().sendFrame126(" ", 13677);
  798. getPA().sendFrame126(" ", 13678);
  799. getPA().sendFrame126(" ", 13679);
  800. getPA().sendFrame126(" ", 13680);
  801. getPA().sendFrame126(" ", 13681);
  802. getPA().sendFrame126(" ", 13682);
  803. getPA().sendFrame126(" ", 13683);
  804. getPA().sendFrame126(" ", 13684);
  805. getPA().sendFrame126(" ", 13685);
  806. getPA().sendFrame126(" ", 13686);
  807. getPA().sendFrame126(" ", 13687);
  808. getPA().sendFrame126(" ", 13688);
  809. getPA().sendFrame126(" ", 13689);
  810. getPA().sendFrame126(" ", 13690);
  811. getPA().sendFrame126(" ", 13691);
  812. getPA().sendFrame126(" ", 13692);
  813. getPA().sendFrame126(" ", 13693);
  814. getPA().sendFrame126(" ", 13694);
  815. getPA().sendFrame126(" ", 13695);
  816. getPA().sendFrame126(" ", 13696);
  817. getPA().sendFrame126(" ", 13697);
  818. getPA().sendFrame126(" ", 13698);
  819. getPA().sendFrame126(" ", 13699);
  820. getPA().sendFrame126(" ", 13700);
  821. // end blank rules inteface
  822. getPA().sendFrame126("Do you want to auto-bank your starter?", 15528);
  823. getPA().sendFrame126("Click To Spawn", 663);
  824. getPA().sendFrame126("@gre@Potions", 7332);
  825. getPA().sendFrame126("@gre@Vengeance Runes", 7333);
  826. getPA().sendFrame126("@gre@Barrage Runes", 7334);
  827. getPA().sendFrame126("@gre@Bolts", 7336);
  828. getPA().sendFrame126("@gre@Arrows", 7383);
  829. getPA().sendFrame126("@gre@Food", 7339);
  830. getPA().sendFrame126("", 7338);
  831.  
  832. getPA().sendFrame126("@gre@ ", 7344);
  833. getPA().sendFrame126(" ", 7345);
  834. getPA().sendFrame126("@gre@ ", 7347);
  835. getPA().sendFrame126(" ", 7348);
  836. getPA().sendFrame126(" ", 663);
  837. getPA().sendFrame126(" ", 7346);
  838. getPA().sendFrame126(" ", 7341);
  839. getPA().sendFrame126(" ", 7342);
  840. getPA().sendFrame126(" ", 7337);
  841. getPA().sendFrame126(" ", 7343);
  842. getPA().sendFrame126(" ", 7335);
  843. getPA().sendFrame126("", 4297);
  844. getPA().sendFrame126("", 4298);
  845. getPA().sendFrame126("", 4299);
  846. getPA().sendFrame126("", 4300);
  847. getPA().sendFrame126("", 4301);
  848. getPA().sendFrame126("", 4302);
  849. getPA().sendFrame126("", 4303);
  850. getPA().sendFrame126("", 4304);
  851. getPA().sendFrame126("", 14872);
  852. getPA().sendFrame126("", 664);
  853. getPA().sendFrame126("", 8971);
  854. getPA().sendFrame126("", 6570);
  855. getPA().sendFrame126("", 6572);
  856. getPA().sendFrame126("", 6664);
  857. int randomFacts = Misc.random(2);
  858. if(randomFacts == 0) {
  859. getPA().sendFrame126("Did You Know?", 13037);
  860. getPA().sendFrame126("PK Tasks Give 2x Points!", 13038);
  861. getPA().sendFrame126("Did You Know?", 13047);
  862. getPA().sendFrame126("You Can Operate DFS's!", 13048);
  863. getPA().sendFrame126("Did You Know?", 13055);
  864. getPA().sendFrame126("You Can Activate New x10 Hits!", 13056);
  865. getPA().sendFrame126("Did You Know?", 13063);
  866. getPA().sendFrame126("All New Emotes Are Added!", 13064);
  867. getPA().sendFrame126("Did You Know?", 13071);
  868. getPA().sendFrame126("You Can Pray At Lumby Church!", 13072);
  869. getPA().sendFrame126("Did You Know?", 1300);
  870. getPA().sendFrame126("Void Gives Hidden Bonuses!", 1301);
  871. getPA().sendFrame126("Did You Know?", 1325);
  872. getPA().sendFrame126("All Bolt Effects Are Correct!", 1326);
  873. getPA().sendFrame126("Did You Know?", 1350);
  874. getPA().sendFrame126("New NPC's Are Introduced!", 1351);
  875. getPA().sendFrame126("Did You Know?", 1382);
  876. getPA().sendFrame126("You Can Lock EXP!", 1383);
  877. getPA().sendFrame126("Did You Know?", 1415);
  878. getPA().sendFrame126("You Can View Equipment Stats!", 1416);
  879. getPA().sendFrame126("Did You Know?", 1438);
  880. getPA().sendFrame126("All Spells Work Perfectly!", 1439);
  881. getPA().sendFrame126("Did You Know?", 7457);
  882. getPA().sendFrame126("Vengeance Is Added!", 7458);
  883. getPA().sendFrame126("Did You Know?", 18472);
  884. getPA().sendFrame126("All Multi Spells Work!", 18473);
  885. getPA().sendFrame126("Did You Know?", 13081);
  886. getPA().sendFrame126("Updates Are Made Every Day!", 13082);
  887. getPA().sendFrame126("Did You Know?", 13089);
  888. getPA().sendFrame126("The Altar At Home Regains Spec!", 13090);
  889. getPA().sendFrame126("Did You Know?", 13097);
  890. getPA().sendFrame126("Home Teleport Needs No Runes!", 13098);
  891. } else if (randomFacts == 1) {
  892. getPA().sendFrame126("Did You Know?", 13037);
  893. getPA().sendFrame126("The Server Is Unique!", 13038);
  894. getPA().sendFrame126("Did You Know?", 13047);
  895. getPA().sendFrame126("Ring Of Recoils Work!", 13048);
  896. getPA().sendFrame126("Did You Know?", 13055);
  897. getPA().sendFrame126("All New GFX Is Added!", 13056);
  898. getPA().sendFrame126("Did You Know?", 13063);
  899. getPA().sendFrame126("You Can Change The Gameframe!", 13064);
  900. getPA().sendFrame126("Did You Know?", 13071);
  901. getPA().sendFrame126("All Prayer Effects Work!", 13072);
  902. getPA().sendFrame126("Did You Know?", 1300);
  903. getPA().sendFrame126("Dharok Can Max 120!", 1301);
  904. getPA().sendFrame126("Did You Know?", 1325);
  905. getPA().sendFrame126("All Supplies Are Free!", 1326);
  906. getPA().sendFrame126("Did You Know?", 1350);
  907. getPA().sendFrame126("Hybriding Is Perfected!", 1351);
  908. getPA().sendFrame126("Did You Know?", 1382);
  909. getPA().sendFrame126("PvP Levels Increase!", 1383);
  910. getPA().sendFrame126("Did You Know?", 1415);
  911. getPA().sendFrame126("There Are No PvP Glitches!", 1416);
  912. getPA().sendFrame126("Did You Know?", 1438);
  913. getPA().sendFrame126("HellCats Are Being Added!", 1439);
  914. getPA().sendFrame126("Did You Know?", 7457);
  915. getPA().sendFrame126("Blitz Almost Never Misses!", 7458);
  916. getPA().sendFrame126("Did You Know?", 18472);
  917. getPA().sendFrame126("Teleblock Works!", 18473);
  918. getPA().sendFrame126("Did You Know?", 13081);
  919. getPA().sendFrame126("You Can Donate For An Ags!", 13082);
  920. getPA().sendFrame126("Did You Know?", 13089);
  921. getPA().sendFrame126("Clan Chat Works!", 13090);
  922. getPA().sendFrame126("Did You Know?", 13097);
  923. getPA().sendFrame126("Teleporting Has Correct Timers!", 13098);
  924. } else if (randomFacts == 3) {
  925. getPA().sendFrame126("Did You Know?", 13037);
  926. getPA().sendFrame126("Guthans Heals You!", 13038);
  927. getPA().sendFrame126("Did You Know?", 13047);
  928. getPA().sendFrame126("Dragon Mace Maxes 50!", 13048);
  929. getPA().sendFrame126("Did You Know?", 13055);
  930. getPA().sendFrame126("Skeletal Is In The Magic Shop!", 13056);
  931. getPA().sendFrame126("Did You Know?", 13063);
  932. getPA().sendFrame126("You Can Buy x100 In Shops!", 13064);
  933. getPA().sendFrame126("Did You Know?", 13071);
  934. getPA().sendFrame126("Prayer Drains Like RuneScape!", 13072);
  935. getPA().sendFrame126("Did You Know?", 1300);
  936. getPA().sendFrame126("The Client Has Memory Settings!", 1301);
  937. getPA().sendFrame126("Did You Know?", 1325);
  938. getPA().sendFrame126("Levelling Is Instant!", 1326);
  939. getPA().sendFrame126("Did You Know?", 1350);
  940. getPA().sendFrame126("You Can Get Randomised Tasks!", 1351);
  941. getPA().sendFrame126("Did You Know?", 1382);
  942. getPA().sendFrame126("Rocktails Restore 23hp!", 1383);
  943. getPA().sendFrame126("Did You Know?", 1415);
  944. getPA().sendFrame126("Sara Brews Work!", 1416);
  945. getPA().sendFrame126("Did You Know?", 1438);
  946. getPA().sendFrame126("All Potions Are Added!", 1439);
  947. getPA().sendFrame126("Did You Know?", 7457);
  948. getPA().sendFrame126("You Have Infinite Run Energy!", 7458);
  949. getPA().sendFrame126("Did You Know?", 18472);
  950. getPA().sendFrame126("You Can Adjust Brightness!", 18473);
  951. getPA().sendFrame126("Did You Know?", 13081);
  952. getPA().sendFrame126("The Server Was Made By Power!", 13082);
  953. getPA().sendFrame126("Did You Know?", 13089);
  954. getPA().sendFrame126("There Is No PvP Timer!", 13090);
  955. getPA().sendFrame126("Did You Know?", 13097);
  956. getPA().sendFrame126("The General Store Buys Items!", 13098);
  957. }
  958. getPA().sendFrame126("Kill/Death Ratio", 7340);
  959. getPA().sendFrame126("PvP Tasks", 7346);
  960. getPA().sendFrame126("Spawn Gear Sets", 7341);
  961. getPA().sendFrame126("EP System Info", 7342);
  962. getPA().sendFrame126("@yel@Show/Hide EP", 7343);
  963. //getPA().sendFrame126("@yel@ OPEN ACHIEVEMENT TAB", 7343);
  964. sendMessage("Welcome to the Final Pvp PK Rsps.");
  965. sendMessage("There are currently a total of "+PlayerHandler.getPlayerCount()+ " players online!");
  966. sendMessage("<col=990>[News]:<col><col=1> Double Point weekend turned ON! x2 points per kill.");
  967. sendMessage("<col=990>[Updates]:<col><col=1> Full EP system added! At 100% you recieve a PvP artifact drop!");
  968. sendMessage("<col=990>[Updates]:<col><col=1> Farcasting is now aloud!!");
  969.  
  970.  
  971.  
  972.  
  973.  
  974. getPA().resetTb();
  975. getPA().sendFrame126("PkP: "+pkPoints+" K: "+kills+" D: "+deaths+"", 663);
  976. if(playerRights == 4) {
  977. //sendMessage("<col=990>Welcome premium member, thanks for donating!");
  978. }
  979. getPA().showOption(4, 0,"Trade With", 3);
  980. getPA().showOption(5, 0,"Follow", 4);
  981. getItems().resetItems(3214);
  982. getItems().sendWeapon(playerEquipment[playerWeapon], getItems().getItemName(playerEquipment[playerWeapon]));
  983. getItems().resetBonus();
  984. getItems().getBonus();
  985. getItems().writeBonus();
  986. getItems().setEquipment(playerEquipment[playerHat],1,playerHat);
  987. getItems().setEquipment(playerEquipment[playerCape],1,playerCape);
  988. getItems().setEquipment(playerEquipment[playerAmulet],1,playerAmulet);
  989. getItems().setEquipment(playerEquipment[playerArrows],playerEquipmentN[playerArrows],playerArrows);
  990. getItems().setEquipment(playerEquipment[playerChest],1,playerChest);
  991. getItems().setEquipment(playerEquipment[playerShield],1,playerShield);
  992. getItems().setEquipment(playerEquipment[playerLegs],1,playerLegs);
  993. getItems().setEquipment(playerEquipment[playerHands],1,playerHands);
  994. getItems().setEquipment(playerEquipment[playerFeet],1,playerFeet);
  995. getItems().setEquipment(playerEquipment[playerRing],1,playerRing);
  996. getItems().setEquipment(playerEquipment[playerWeapon],playerEquipmentN[playerWeapon],playerWeapon);
  997. getCombat().getPlayerAnimIndex(getItems().getItemName(playerEquipment[playerWeapon]).toLowerCase());
  998. getPA().logIntoPM();
  999. getItems().addSpecialBar(playerEquipment[playerWeapon]);
  1000. saveTimer = Config.SAVE_TIMER;
  1001. saveCharacter = true;
  1002. Misc.println("[REGISTERED]: "+playerName+"");
  1003. handler.updatePlayer(this, outStream);
  1004. handler.updateNPC(this, outStream);
  1005. flushOutStream();
  1006. getPA().clearClanChat();
  1007. getPA().resetFollow();
  1008. if(firstEnter >= 1) {
  1009. if(!inWild()) {
  1010. getPA().showInterface(15244);
  1011. }
  1012. }
  1013. getPA().sendFrame126("Final Pvp, always use the", 2451);
  1014. if (addStarter)
  1015. getPA().addStarter();
  1016. if (autoRet == 1)
  1017. getPA().sendFrame36(172, 1);
  1018. else
  1019. getPA().sendFrame36(172, 0);
  1020. }
  1021. }
  1022.  
  1023. public int toggleEP = 0;
  1024.  
  1025. public void update() {
  1026. synchronized (this) {
  1027. handler.updatePlayer(this, outStream);
  1028. handler.updateNPC(this, outStream);
  1029. flushOutStream();
  1030. }
  1031. }
  1032.  
  1033. public void logout() {
  1034. synchronized (this) {
  1035. if(System.currentTimeMillis() - logoutDelay > 10000) {
  1036. outStream.createFrame(109);
  1037. properLogout = true;
  1038. } else {
  1039. sendMessage("You must wait a few seconds from being out of combat to logout.");
  1040. }
  1041. }
  1042. }
  1043.  
  1044. public int packetSize = 0, packetType = -1;
  1045.  
  1046. public int tradeTimer;
  1047. public int firstWild = 0;
  1048. public int firstEnter = 0;
  1049. public int firstCheck = 0;
  1050. public int timedMsg = 2400;
  1051. //end highscores
  1052. public void resetRanks() {
  1053. for (int i = 0; i < 10; i++) {
  1054. ranks[i] = 0;
  1055. rankPpl[i] = "";
  1056. }
  1057. }
  1058. public void highscores() {
  1059. getPA().sendFrame126("***** SERVER", 8144); //Title
  1060. getPA().sendFrame126("Top 10 PKERS", 8145);
  1061. for(int i = 0; i < 10; i++) {
  1062. if(ranks[i] > 0) {
  1063. getPA().sendFrame126("Rank "+(i+1)+": "+rankPpl[i]+ "- Kills: " +ranks[i], 6402+i);
  1064. }
  1065. }
  1066. getPA().showInterface(6308);
  1067. flushOutStream();
  1068. resetRanks();
  1069. }
  1070. //end highscores
  1071. public int EP = 0;
  1072. public int playerRank = 0;
  1073. public static int[] ranks = new int[11];
  1074. public static String[] rankPpl = new String[11];
  1075. public int EPLong = 0;
  1076. public void process() {
  1077.  
  1078.  
  1079.  
  1080. int totalz = kills;
  1081. for (int d = 0; d <= 10; d++) {
  1082. if (totalz >= ranks[d]) {
  1083. if (d == 0) {
  1084. playerRank = d+1;
  1085. ranks[d] = totalz;
  1086. rankPpl[d] = playerName;
  1087. }else if (d < 10){
  1088. if (totalz < ranks[d-1]) {
  1089. playerRank = d+1;
  1090. ranks[d] = totalz;
  1091. rankPpl[d] = playerName;
  1092. }
  1093. }else{
  1094. if (totalz < ranks[d-1]) {
  1095. playerRank = 0;
  1096. }
  1097. }
  1098. }
  1099. }
  1100. /*if(firstCheck == 0) {
  1101. if(absX >= 3213 && absX <= 3216 && firstEnter == 0) {
  1102. getPA().walkTo(1,0);
  1103. getDH().sendDialogues(28, 945);
  1104. }
  1105.  
  1106. }
  1107. if(absX >= 3230 && absX <= 3235 && firstWild == 1) {
  1108. getPA().walkTo(-1,0);
  1109. }
  1110. if(absX == 3229 && firstWild == 1) {
  1111. firstWild = 2;
  1112. }
  1113. if(absX >= 3230 && absX <= 3235 && firstWild == 0) {
  1114. getPA().showInterface(1908);
  1115. firstWild = 1;
  1116. }*/
  1117. /*if (wcTimer > 0 && woodcut[0] > 0) {
  1118. wcTimer--;
  1119. } else if (wcTimer == 0 && woodcut[0] > 0) {
  1120. getWoodcutting().cutWood();
  1121. } else if (miningTimer > 0 && mining[0] > 0) {
  1122. miningTimer--;
  1123. } else if (miningTimer == 0 && mining[0] > 0) {
  1124. getMining().mineOre();
  1125. } else if (smeltTimer > 0 && smeltType > 0) {
  1126. smeltTimer--;
  1127. } else if (smeltTimer == 0 && smeltType > 0) {
  1128. getSmithing().smelt(smeltType);
  1129. } else if (fishing && fishTimer > 0) {
  1130. fishTimer--;
  1131. } else if (fishing && fishTimer == 0) {
  1132. getFishing().catchFish();
  1133. }*/
  1134. if (tradeTimer > 0) {
  1135. tradeTimer--;
  1136. }
  1137. if (absX == 3292 && absY == 3091 || absX == 3292 && absY == 3090) {
  1138. getPA().walkTo3(-130, -64);
  1139. }
  1140. if (absX == 3274 && absY == 3072 || absX == 3275 && absY == 3073) {
  1141. getPA().walkTo3(-130, -64);
  1142. }
  1143. if (absX == 3256 && absY == 3054 || absX == 3257 && absY == 3055) {
  1144. getPA().walkTo3(-130, -64);
  1145. }
  1146.  
  1147. if(clawDelay > 0) {
  1148. clawDelay--;
  1149. }
  1150.  
  1151. if(clawDelay == 1) {
  1152. double damage4 = 0;
  1153. if(npcIndex > 0) {
  1154. getCombat().applyNpcMeleeDamage(npcIndex, 1, previousDamage / 2);
  1155. }
  1156. if(playerIndex > 0) {
  1157. getCombat().applyPlayerMeleeDamage(playerIndex, 1, previousDamage / 2);
  1158. }
  1159. damage4 = previousDamage % 2;
  1160. if(damage4 >= 0.001) {
  1161. previousDamage = previousDamage + 1;
  1162. damage4 = 0;
  1163. }
  1164. if(npcIndex > 0) {
  1165. getCombat().applyNpcMeleeDamage(npcIndex, 2, previousDamage);
  1166. }
  1167. if(playerIndex > 0) {
  1168. getCombat().applyPlayerMeleeDamage(playerIndex, 2, previousDamage);
  1169. }
  1170. clawDelay = 0;
  1171. specEffect = 0;
  1172. previousDamage = 0;
  1173. usingClaws = false;
  1174. }
  1175.  
  1176. if (System.currentTimeMillis() - lastPoison > 20000 && poisonDamage > 0) {
  1177. int damage = poisonDamage/2;
  1178. if (damage > 0) {
  1179. //sendMessage("Applying poison damage.");
  1180. if (!getHitUpdateRequired()) {
  1181. setHitUpdateRequired(true);
  1182. setHitDiff(damage);
  1183. updateRequired = true;
  1184. poisonMask = 1;
  1185. } else if (!getHitUpdateRequired2()) {
  1186. setHitUpdateRequired2(true);
  1187. setHitDiff2(damage);
  1188. updateRequired = true;
  1189. poisonMask = 2;
  1190. }
  1191. lastPoison = System.currentTimeMillis();
  1192. poisonDamage--;
  1193. dealDamage(damage);
  1194. } else {
  1195. poisonDamage = -1;
  1196. sendMessage("You feel the poison leave from your body.");
  1197. }
  1198. }
  1199.  
  1200. if(System.currentTimeMillis() - duelDelay > 800 && duelCount > 0) {
  1201. if(duelCount != 1) {
  1202. forcedChat(""+(--duelCount));
  1203. duelDelay = System.currentTimeMillis();
  1204. } else {
  1205. damageTaken = new int[Config.MAX_PLAYERS];
  1206. forcedChat("FIGHT!");
  1207. duelCount = 0;
  1208. }
  1209. }
  1210.  
  1211. if(System.currentTimeMillis() - specDelay > Config.INCREASE_SPECIAL_AMOUNT) {
  1212. specDelay = System.currentTimeMillis();
  1213. if(specAmount < 10) {
  1214. specAmount += .5;
  1215. if (specAmount > 10)
  1216. specAmount = 10;
  1217. getItems().addSpecialBar(playerEquipment[playerWeapon]);
  1218. }
  1219. }
  1220.  
  1221. if(clickObjectType > 0 && goodDistance(objectX + objectXOffset, objectY + objectYOffset, getX(), getY(), objectDistance)) {
  1222. if(clickObjectType == 1) {
  1223. getActions().firstClickObject(objectId, objectX, objectY);
  1224. }
  1225. if(clickObjectType == 2) {
  1226. getActions().secondClickObject(objectId, objectX, objectY);
  1227. }
  1228. if(clickObjectType == 3) {
  1229. getActions().thirdClickObject(objectId, objectX, objectY);
  1230. }
  1231. }
  1232.  
  1233. if((clickNpcType > 0) && Server.npcHandler.npcs[npcClickIndex] != null) {
  1234. if(goodDistance(getX(), getY(), Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY(), 1)) {
  1235. if(clickNpcType == 1) {
  1236. turnPlayerTo(Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY());
  1237. Server.npcHandler.npcs[npcClickIndex].facePlayer(playerId);
  1238. getActions().firstClickNpc(npcType);
  1239. }
  1240. if(clickNpcType == 2) {
  1241. turnPlayerTo(Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY());
  1242. Server.npcHandler.npcs[npcClickIndex].facePlayer(playerId);
  1243. getActions().secondClickNpc(npcType);
  1244. }
  1245. if(clickNpcType == 3) {
  1246. turnPlayerTo(Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY());
  1247. Server.npcHandler.npcs[npcClickIndex].facePlayer(playerId);
  1248. getActions().thirdClickNpc(npcType);
  1249. }
  1250. }
  1251. }
  1252.  
  1253. if(walkingToItem) {
  1254. if(getX() == pItemX && getY() == pItemY || goodDistance(getX(), getY(), pItemX, pItemY,1)) {
  1255. walkingToItem = false;
  1256. Server.itemHandler.removeGroundItem(this, pItemId, pItemX, pItemY, true);
  1257. }
  1258. }
  1259.  
  1260. if(followId > 0) {
  1261. getPA().followPlayer();
  1262. } else if (followId2 > 0) {
  1263. getPA().followNpc();
  1264. }
  1265.  
  1266. getCombat().handlePrayerDrain();
  1267.  
  1268. if(System.currentTimeMillis() - singleCombatDelay > 3300) {
  1269. underAttackBy = 0;
  1270. }
  1271. if (System.currentTimeMillis() - singleCombatDelay2 > 3300) {
  1272. underAttackBy2 = 0;
  1273. }
  1274.  
  1275. if(System.currentTimeMillis() - restoreStatsDelay > 60000) {
  1276. restoreStatsDelay = System.currentTimeMillis();
  1277. for (int level = 0; level < playerLevel.length; level++) {
  1278. if (playerLevel[level] < getLevelForXP(playerXP[level])) {
  1279. if(level != 5) { // prayer doesn't restore
  1280. playerLevel[level] += 1;
  1281. getPA().setSkillLevel(level, playerLevel[level], playerXP[level]);
  1282. getPA().refreshSkill(level);
  1283. }
  1284. } else if (playerLevel[level] > getLevelForXP(playerXP[level])) {
  1285. playerLevel[level] -= 1;
  1286. getPA().setSkillLevel(level, playerLevel[level], playerXP[level]);
  1287. getPA().refreshSkill(level);
  1288. }
  1289. }
  1290. }
  1291.  
  1292. if(System.currentTimeMillis() - teleGrabDelay > 1550 && usingMagic) {
  1293. usingMagic = false;
  1294. if(Server.itemHandler.itemExists(teleGrabItem, teleGrabX, teleGrabY)) {
  1295. Server.itemHandler.removeGroundItem(this, teleGrabItem, teleGrabX, teleGrabY, true);
  1296. }
  1297. }
  1298. if(toggleEP == 0) {
  1299. getPA().sendFrame126(""+EP+"%", 12281);
  1300. } else {
  1301. getPA().sendFrame126(" ", 12281);
  1302. }
  1303. if(EP >= 100 && EPLong == 0) {
  1304. EP = 100;
  1305. EPLong = 1;
  1306. }
  1307. if(inWild()) {
  1308. if((playerEquipment[playerHat] != -1) || (playerEquipment[playerCape] != -1) || (playerEquipment[playerAmulet] != -1) || (playerEquipment[playerChest] != -1) || (playerEquipment[playerShield] != -1) || (playerEquipment[playerLegs] != -1) || (playerEquipment[playerHands] != -1) || (playerEquipment[playerFeet] != -1) || (playerEquipment[playerWeapon] != -1)) {
  1309. if(EP < 100) {
  1310. EPLong += 1;
  1311. }
  1312. }
  1313.  
  1314. if(EP < 100 && EPLong == 36) {
  1315. EP += 1;
  1316. EPLong = 0;
  1317. }
  1318.  
  1319. int modY = absY > 6400 ? absY - 6400 : absY;
  1320. int increaseCheck = ((absY - 3195) / 8 + 1);
  1321. wildLevel = 6 + increaseCheck;
  1322. int L = (combatLevel - 6 - increaseCheck);
  1323. int H = (combatLevel + 6 + increaseCheck);
  1324. if(H > 126) {
  1325. H = 126;
  1326. }
  1327. if(L < 3) {
  1328. L = 3;
  1329. }
  1330. getPA().walkableInterface(12278);
  1331. if(Config.SINGLE_AND_MULTI_ZONES) {
  1332. // if(!inMulti()) {
  1333. if(toggleEP == 0) {
  1334. if(EP == 100) {
  1335. getPA().sendFrame126("@yel@"+ L +" - "+ H + "", 12280);
  1336. } else {
  1337. getPA().sendFrame126("@or1@"+ L +" - "+ H + "", 12280);
  1338. }
  1339. } else {
  1340. if(L <= 100 && H <= 100) {
  1341. if(EP == 100) {
  1342. getPA().sendFrame126("@yel@ "+ L +" - "+ H + "", 12280);
  1343. } else {
  1344. getPA().sendFrame126("@or1@ "+ L +" - "+ H + "", 12280);
  1345. }
  1346. } else {
  1347. if(EP == 100) {
  1348. getPA().sendFrame126("@yel@ "+ L +" - "+ H + "", 12280);
  1349. } else {
  1350. getPA().sendFrame126("@or1@ "+ L +" - "+ H + "", 12280);
  1351. }
  1352. }
  1353. }
  1354. /* } else {
  1355. if(toggleEP == 0) {
  1356. getPA().sendFrame126("@or1@"+ L +" - "+ H + "", 12280);
  1357. } else {
  1358. if(L <= 100 && H <= 100) {
  1359. getPA().sendFrame126("@or1@ "+ L +" - "+ H + "", 12280);
  1360. } else {
  1361. getPA().sendFrame126("@or1@ "+ L +" - "+ H + "", 12280);
  1362. }
  1363. }
  1364. }*/
  1365. } else {
  1366. getPA().multiWay(-1);
  1367. if(toggleEP == 0) {
  1368. getPA().sendFrame126("@or1@"+ L +" - "+ H + "", 12280);
  1369. } else {
  1370. getPA().sendFrame126("@or1@ "+ L +" - "+ H + "", 12280);
  1371. }
  1372. }
  1373. getPA().showOption(3, 0, "Attack", 1);
  1374.  
  1375. }/* else if (inDuelArena()) {
  1376. if(emoteChoice == 0) {
  1377. getPA().walkableInterface(201);
  1378. if(duelStatus == 5) {
  1379. getPA().showOption(3, 0, "Attack", 1);
  1380. } else {
  1381. getPA().showOption(3, 0, "Challenge", 1);
  1382. }
  1383. }
  1384. } else if (inCwGame || inPits) {
  1385. if(emoteChoice == 0) {
  1386. getPA().showOption(3, 0, "Attack", 1);
  1387. }
  1388. } else if (getPA().inPitsWait()) {
  1389. if(emoteChoice == 0) {
  1390. getPA().showOption(3, 0, "Null", 1);
  1391. }
  1392. }*/else if (!inCwWait) {
  1393. if(emoteChoice == 0) {
  1394. getPA().sendFrame99(0);
  1395. if(!inMulti()) {
  1396. if(toggleEP == 0) {
  1397. if(EP == 100) {
  1398. getPA().sendFrame126("@yel@Safe Zone", 12280);
  1399. } else {
  1400. getPA().sendFrame126("@or1@Safe Zone", 12280);
  1401. }
  1402. } else {
  1403. if(EP == 100) {
  1404. getPA().sendFrame126("@yel@ Safe Zone", 12280);
  1405. } else {
  1406. getPA().sendFrame126("@or1@ Safe Zone", 12280);
  1407. }
  1408. }
  1409. }
  1410. getPA().showOption(3, 0, "Null", 1);
  1411. if(inMulti()) {
  1412. if(toggleEP == 0) {
  1413. if(EP == 100) {
  1414. getPA().sendFrame126("@yel@Multi Zone", 12280);
  1415. } else {
  1416. getPA().sendFrame126("@or1@Multi Zone", 12280);
  1417. }
  1418. } else {
  1419. if(EP == 100) {
  1420. getPA().sendFrame126("@yel@ Multi Zone", 12280);
  1421. } else {
  1422. getPA().sendFrame126("@or1@ Multi Zone", 12280);
  1423. }
  1424. }
  1425. }
  1426. }
  1427. }
  1428.  
  1429. if(!hasMultiSign && inMulti()) {
  1430. hasMultiSign = true;
  1431. getPA().multiWay(1);
  1432. }
  1433.  
  1434. if(hasMultiSign && !inMulti()) {
  1435. hasMultiSign = false;
  1436. getPA().multiWay(-1);
  1437. }
  1438. if(skullTimer > 0) {
  1439. skullTimer--;
  1440. if(skullTimer == 1) {
  1441. isSkulled = false;
  1442. attackedPlayers.clear();
  1443. headIconPk = -1;
  1444. skullTimer = -1;
  1445. getPA().requestUpdates();
  1446. }
  1447. }
  1448.  
  1449. if(isDead && respawnTimer == -6) {
  1450. getPA().applyDead();
  1451. }
  1452.  
  1453. if(respawnTimer == 7) {
  1454. respawnTimer = -6;
  1455. getPA().giveLife();
  1456. } else if(respawnTimer == 12) {
  1457. respawnTimer--;
  1458. startAnimation(0x900);
  1459. poisonDamage = -1;
  1460. }
  1461.  
  1462. if(respawnTimer > -6) {
  1463. respawnTimer--;
  1464. }
  1465. if(freezeTimer > -6) {
  1466. freezeTimer--;
  1467. if (frozenBy > 0) {
  1468. if (Server.playerHandler.players[frozenBy] == null) {
  1469. freezeTimer = -1;
  1470. frozenBy = -1;
  1471. } else if (!goodDistance(absX, absY, Server.playerHandler.players[frozenBy].absX, Server.playerHandler.players[frozenBy].absY, 20)) {
  1472. freezeTimer = -1;
  1473. frozenBy = -1;
  1474. }
  1475. }
  1476. }
  1477.  
  1478. if(hitDelay > 0) {
  1479. hitDelay--;
  1480. }
  1481.  
  1482. if(teleTimer > 0) {
  1483. teleTimer--;
  1484. if (!isDead) {
  1485. if(teleTimer == 1 && newLocation > 0) {
  1486. teleTimer = 0;
  1487. getPA().changeLocation();
  1488. }
  1489. if(teleTimer == 5) {
  1490. teleTimer--;
  1491. getPA().processTeleport();
  1492. }
  1493. if(teleTimer == 9 && teleGfx > 0) {
  1494. teleTimer--;
  1495. if (teleGfx == 678) {
  1496. gfx0(teleGfx);
  1497. } else {
  1498. gfx100(teleGfx);
  1499. }
  1500. }
  1501. } else {
  1502. teleTimer = 0;
  1503. }
  1504. }
  1505.  
  1506. if(hitDelay == 1) {
  1507. if(oldNpcIndex > 0) {
  1508. getCombat().delayedHit(oldNpcIndex);
  1509. }
  1510. if(oldPlayerIndex > 0) {
  1511. getCombat().playerDelayedHit(oldPlayerIndex);
  1512. }
  1513. }
  1514.  
  1515. if(attackTimer > 0) {
  1516. attackTimer--;
  1517. }
  1518.  
  1519. if(attackTimer == 1){
  1520. if(npcIndex > 0 && clickNpcType == 0) {
  1521. getCombat().attackNpc(npcIndex);
  1522. }
  1523. if(playerIndex > 0) {
  1524. getCombat().attackPlayer(playerIndex);
  1525. }
  1526. } else if (attackTimer <= 0 && (npcIndex > 0 || playerIndex > 0)) {
  1527. if (npcIndex > 0) {
  1528. attackTimer = 0;
  1529. getCombat().attackNpc(npcIndex);
  1530. } else if (playerIndex > 0) {
  1531. attackTimer = 0;
  1532. getCombat().attackPlayer(playerIndex);
  1533. }
  1534. }
  1535.  
  1536. if(timeOutCounter > Config.TIMEOUT) {
  1537. disconnected = true;
  1538. }
  1539.  
  1540. timeOutCounter++;
  1541.  
  1542. if(inTrade && tradeResetNeeded){
  1543. Client o = (Client) Server.playerHandler.players[tradeWith];
  1544. if(o != null){
  1545. if(o.tradeResetNeeded){
  1546. getTradeAndDuel().resetTrade();
  1547. o.getTradeAndDuel().resetTrade();
  1548. }
  1549. }
  1550. }
  1551. }
  1552.  
  1553. public void setCurrentTask(Future<?> task) {
  1554. currentTask = task;
  1555. }
  1556.  
  1557. public Future<?> getCurrentTask() {
  1558. return currentTask;
  1559. }
  1560.  
  1561. public synchronized Stream getInStream() {
  1562. return inStream;
  1563. }
  1564.  
  1565. public synchronized int getPacketType() {
  1566. return packetType;
  1567. }
  1568.  
  1569. public synchronized int getPacketSize() {
  1570. return packetSize;
  1571. }
  1572.  
  1573. public synchronized Stream getOutStream() {
  1574. return outStream;
  1575. }
  1576.  
  1577. public ItemAssistant getItems() {
  1578. return itemAssistant;
  1579. }
  1580.  
  1581. public PlayerAssistant getPA() {
  1582. return playerAssistant;
  1583. }
  1584.  
  1585. public DialogueHandler getDH() {
  1586. return dialogueHandler;
  1587. }
  1588.  
  1589. public ShopAssistant getShops() {
  1590. return shopAssistant;
  1591. }
  1592.  
  1593. public TradeAndDuel getTradeAndDuel() {
  1594. return tradeAndDuel;
  1595. }
  1596.  
  1597. public CombatAssistant getCombat() {
  1598. return combatAssistant;
  1599. }
  1600.  
  1601. public ActionHandler getActions() {
  1602. return actionHandler;
  1603. }
  1604.  
  1605. public PlayerKilling getKill() {
  1606. return playerKilling;
  1607. }
  1608.  
  1609. public IoSession getSession() {
  1610. return session;
  1611. }
  1612.  
  1613. public Potions getPotions() {
  1614. return potions;
  1615. }
  1616.  
  1617. public PotionMixing getPotMixing() {
  1618. return potionMixing;
  1619. }
  1620.  
  1621. public Food getFood() {
  1622. return food;
  1623. }
  1624.  
  1625. /**
  1626. * Skill Constructors
  1627. */
  1628. public Slayer getSlayer() {
  1629. return slayer;
  1630. }
  1631.  
  1632. public Runecrafting getRunecrafting() {
  1633. return runecrafting;
  1634. }
  1635.  
  1636. public Woodcutting getWoodcutting() {
  1637. return woodcutting;
  1638. }
  1639.  
  1640. public Mining getMining() {
  1641. return mine;
  1642. }
  1643.  
  1644. public Cooking getCooking() {
  1645. return cooking;
  1646. }
  1647.  
  1648. public Agility getAgility() {
  1649. return agility;
  1650. }
  1651.  
  1652. public Fishing getFishing() {
  1653. return fish;
  1654. }
  1655.  
  1656. public Crafting getCrafting() {
  1657. return crafting;
  1658. }
  1659.  
  1660. public Smithing getSmithing() {
  1661. return smith;
  1662. }
  1663.  
  1664. public Farming getFarming() {
  1665. return farming;
  1666. }
  1667.  
  1668. public Thieving getThieving() {
  1669. return thieving;
  1670. }
  1671.  
  1672. public Herblore getHerblore() {
  1673. return herblore;
  1674. }
  1675.  
  1676. public Firemaking getFiremaking() {
  1677. return firemaking;
  1678. }
  1679.  
  1680. public SmithingInterface getSmithingInt() {
  1681. return smithInt;
  1682. }
  1683.  
  1684. public Prayer getPrayer() {
  1685. return prayer;
  1686. }
  1687.  
  1688. public Fletching getFletching() {
  1689. return fletching;
  1690. }
  1691.  
  1692. /**
  1693. * End of Skill Constructors
  1694. */
  1695.  
  1696. public void queueMessage(Packet arg1) {
  1697. synchronized(queuedPackets) {
  1698. //if (arg1.getId() != 41)
  1699. queuedPackets.add(arg1);
  1700. //else
  1701. //processPacket(arg1);
  1702. }
  1703. }
  1704.  
  1705. public synchronized boolean processQueuedPackets() {
  1706. Packet p = null;
  1707. synchronized(queuedPackets) {
  1708. p = queuedPackets.poll();
  1709. }
  1710. if(p == null) {
  1711. return false;
  1712. }
  1713. inStream.currentOffset = 0;
  1714. packetType = p.getId();
  1715. packetSize = p.getLength();
  1716. inStream.buffer = p.getData();
  1717. if(packetType > 0) {
  1718. //sendMessage("PacketType: " + packetType);
  1719. PacketHandler.processPacket(this, packetType, packetSize);
  1720. }
  1721. timeOutCounter = 0;
  1722. return true;
  1723. }
  1724.  
  1725. public synchronized boolean processPacket(Packet p) {
  1726. synchronized (this) {
  1727. if(p == null) {
  1728. return false;
  1729. }
  1730. inStream.currentOffset = 0;
  1731. packetType = p.getId();
  1732. packetSize = p.getLength();
  1733. inStream.buffer = p.getData();
  1734. if(packetType > 0) {
  1735. //sendMessage("PacketType: " + packetType);
  1736. PacketHandler.processPacket(this, packetType, packetSize);
  1737. }
  1738. timeOutCounter = 0;
  1739. return true;
  1740. }
  1741. }
  1742.  
  1743.  
  1744. public void correctCoordinates() {
  1745. if (inPcGame()) {
  1746. getPA().movePlayer(2657, 2639, 0);
  1747. }
  1748. if (inFightCaves()) {
  1749. getPA().movePlayer(absX, absY, playerId * 4);
  1750. sendMessage("Your wave will start in 10 seconds.");
  1751. EventManager.getSingleton().addEvent(new Event() {
  1752. public void execute(EventContainer c) {
  1753. Server.fightCaves.spawnNextWave((Client)Server.playerHandler.players[playerId]);
  1754. c.stop();
  1755. }
  1756. }, 10000);
  1757.  
  1758. }
  1759.  
  1760. }
  1761.  
  1762. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement