Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 55.89 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.  
  1026. public void startCountDown() {
  1027. EventManager.getSingleton().addEvent(new Event() {
  1028. public void execute(EventContainer c) {
  1029. if(isInBank() && combatTimer > 0 && eventstarted == true) {
  1030. sendMessage("<col=389>Safe in [" +combatTimer+ "] seconds.");
  1031. combatTimer--;
  1032. }
  1033. if(isInBank() && combatTimer <= 0) {
  1034. eventstarted = false;
  1035. getPA().showOption(3, 0, "Null", 1);
  1036. getCombat().resetPlayerAttack();
  1037. c.stop();
  1038. }
  1039. if(!isInBank()) {
  1040. eventstarted = false;
  1041. c.stop();
  1042. }
  1043. }
  1044. }, 1000);//Execute in one second!
  1045. }
  1046.  
  1047.  
  1048. public void update() {
  1049. synchronized (this) {
  1050. handler.updatePlayer(this, outStream);
  1051. handler.updateNPC(this, outStream);
  1052. flushOutStream();
  1053. }
  1054. }
  1055.  
  1056. public void logout() {
  1057. synchronized (this) {
  1058. if(System.currentTimeMillis() - logoutDelay > 10000) {
  1059. outStream.createFrame(109);
  1060. properLogout = true;
  1061. } else {
  1062. sendMessage("You must wait a few seconds from being out of combat to logout.");
  1063. }
  1064. }
  1065. }
  1066.  
  1067. public int packetSize = 0, packetType = -1;
  1068.  
  1069. public int tradeTimer;
  1070. public int firstWild = 0;
  1071. public int firstEnter = 0;
  1072. public int firstCheck = 0;
  1073. public int timedMsg = 2400;
  1074. //end highscores
  1075. public void resetRanks() {
  1076. for (int i = 0; i < 10; i++) {
  1077. ranks[i] = 0;
  1078. rankPpl[i] = "";
  1079. }
  1080. }
  1081. public void highscores() {
  1082. getPA().sendFrame126("***** SERVER", 8144); //Title
  1083. getPA().sendFrame126("Top 10 PKERS", 8145);
  1084. for(int i = 0; i < 10; i++) {
  1085. if(ranks[i] > 0) {
  1086. getPA().sendFrame126("Rank "+(i+1)+": "+rankPpl[i]+ "- Kills: " +ranks[i], 6402+i);
  1087. }
  1088. }
  1089. getPA().showInterface(6308);
  1090. flushOutStream();
  1091. resetRanks();
  1092. }
  1093. //end highscores
  1094. public int EP = 0;
  1095. public int playerRank = 0;
  1096. public static int[] ranks = new int[11];
  1097. public static String[] rankPpl = new String[11];
  1098. public int EPLong = 0;
  1099. public void process() {
  1100.  
  1101.  
  1102. f(isInBank() && combatTimer >= 0 && eventstarted == false) {
  1103. startCountDown();
  1104. eventstarted = true;
  1105. }
  1106. int totalz = kills;
  1107. for (int d = 0; d <= 10; d++) {
  1108. if (totalz >= ranks[d]) {
  1109. if (d == 0) {
  1110. playerRank = d+1;
  1111. ranks[d] = totalz;
  1112. rankPpl[d] = playerName;
  1113. }else if (d < 10){
  1114. if (totalz < ranks[d-1]) {
  1115. playerRank = d+1;
  1116. ranks[d] = totalz;
  1117. rankPpl[d] = playerName;
  1118. }
  1119. }else{
  1120. if (totalz < ranks[d-1]) {
  1121. playerRank = 0;
  1122. }
  1123. }
  1124. }
  1125. }
  1126. /*if(firstCheck == 0) {
  1127. if(absX >= 3213 && absX <= 3216 && firstEnter == 0) {
  1128. getPA().walkTo(1,0);
  1129. getDH().sendDialogues(28, 945);
  1130. }
  1131.  
  1132. }
  1133. if(absX >= 3230 && absX <= 3235 && firstWild == 1) {
  1134. getPA().walkTo(-1,0);
  1135. }
  1136. if(absX == 3229 && firstWild == 1) {
  1137. firstWild = 2;
  1138. }
  1139. if(absX >= 3230 && absX <= 3235 && firstWild == 0) {
  1140. getPA().showInterface(1908);
  1141. firstWild = 1;
  1142. }*/
  1143. /*if (wcTimer > 0 && woodcut[0] > 0) {
  1144. wcTimer--;
  1145. } else if (wcTimer == 0 && woodcut[0] > 0) {
  1146. getWoodcutting().cutWood();
  1147. } else if (miningTimer > 0 && mining[0] > 0) {
  1148. miningTimer--;
  1149. } else if (miningTimer == 0 && mining[0] > 0) {
  1150. getMining().mineOre();
  1151. } else if (smeltTimer > 0 && smeltType > 0) {
  1152. smeltTimer--;
  1153. } else if (smeltTimer == 0 && smeltType > 0) {
  1154. getSmithing().smelt(smeltType);
  1155. } else if (fishing && fishTimer > 0) {
  1156. fishTimer--;
  1157. } else if (fishing && fishTimer == 0) {
  1158. getFishing().catchFish();
  1159. }*/
  1160. if (tradeTimer > 0) {
  1161. tradeTimer--;
  1162. }
  1163. if (absX == 3292 && absY == 3091 || absX == 3292 && absY == 3090) {
  1164. getPA().walkTo3(-130, -64);
  1165. }
  1166. if (absX == 3274 && absY == 3072 || absX == 3275 && absY == 3073) {
  1167. getPA().walkTo3(-130, -64);
  1168. }
  1169. if (absX == 3256 && absY == 3054 || absX == 3257 && absY == 3055) {
  1170. getPA().walkTo3(-130, -64);
  1171. }
  1172.  
  1173. if(clawDelay > 0) {
  1174. clawDelay--;
  1175. }
  1176.  
  1177. if(clawDelay == 1) {
  1178. double damage4 = 0;
  1179. if(npcIndex > 0) {
  1180. getCombat().applyNpcMeleeDamage(npcIndex, 1, previousDamage / 2);
  1181. }
  1182. if(playerIndex > 0) {
  1183. getCombat().applyPlayerMeleeDamage(playerIndex, 1, previousDamage / 2);
  1184. }
  1185. damage4 = previousDamage % 2;
  1186. if(damage4 >= 0.001) {
  1187. previousDamage = previousDamage + 1;
  1188. damage4 = 0;
  1189. }
  1190. if(npcIndex > 0) {
  1191. getCombat().applyNpcMeleeDamage(npcIndex, 2, previousDamage);
  1192. }
  1193. if(playerIndex > 0) {
  1194. getCombat().applyPlayerMeleeDamage(playerIndex, 2, previousDamage);
  1195. }
  1196. clawDelay = 0;
  1197. specEffect = 0;
  1198. previousDamage = 0;
  1199. usingClaws = false;
  1200. }
  1201.  
  1202. if (System.currentTimeMillis() - lastPoison > 20000 && poisonDamage > 0) {
  1203. int damage = poisonDamage/2;
  1204. if (damage > 0) {
  1205. //sendMessage("Applying poison damage.");
  1206. if (!getHitUpdateRequired()) {
  1207. setHitUpdateRequired(true);
  1208. setHitDiff(damage);
  1209. updateRequired = true;
  1210. poisonMask = 1;
  1211. } else if (!getHitUpdateRequired2()) {
  1212. setHitUpdateRequired2(true);
  1213. setHitDiff2(damage);
  1214. updateRequired = true;
  1215. poisonMask = 2;
  1216. }
  1217. lastPoison = System.currentTimeMillis();
  1218. poisonDamage--;
  1219. dealDamage(damage);
  1220. } else {
  1221. poisonDamage = -1;
  1222. sendMessage("You feel the poison leave from your body.");
  1223. }
  1224. }
  1225.  
  1226. if(System.currentTimeMillis() - duelDelay > 800 && duelCount > 0) {
  1227. if(duelCount != 1) {
  1228. forcedChat(""+(--duelCount));
  1229. duelDelay = System.currentTimeMillis();
  1230. } else {
  1231. damageTaken = new int[Config.MAX_PLAYERS];
  1232. forcedChat("FIGHT!");
  1233. duelCount = 0;
  1234. }
  1235. }
  1236.  
  1237. if(System.currentTimeMillis() - specDelay > Config.INCREASE_SPECIAL_AMOUNT) {
  1238. specDelay = System.currentTimeMillis();
  1239. if(specAmount < 10) {
  1240. specAmount += .5;
  1241. if (specAmount > 10)
  1242. specAmount = 10;
  1243. getItems().addSpecialBar(playerEquipment[playerWeapon]);
  1244. }
  1245. }
  1246.  
  1247. if(clickObjectType > 0 && goodDistance(objectX + objectXOffset, objectY + objectYOffset, getX(), getY(), objectDistance)) {
  1248. if(clickObjectType == 1) {
  1249. getActions().firstClickObject(objectId, objectX, objectY);
  1250. }
  1251. if(clickObjectType == 2) {
  1252. getActions().secondClickObject(objectId, objectX, objectY);
  1253. }
  1254. if(clickObjectType == 3) {
  1255. getActions().thirdClickObject(objectId, objectX, objectY);
  1256. }
  1257. }
  1258.  
  1259. if((clickNpcType > 0) && Server.npcHandler.npcs[npcClickIndex] != null) {
  1260. if(goodDistance(getX(), getY(), Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY(), 1)) {
  1261. if(clickNpcType == 1) {
  1262. turnPlayerTo(Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY());
  1263. Server.npcHandler.npcs[npcClickIndex].facePlayer(playerId);
  1264. getActions().firstClickNpc(npcType);
  1265. }
  1266. if(clickNpcType == 2) {
  1267. turnPlayerTo(Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY());
  1268. Server.npcHandler.npcs[npcClickIndex].facePlayer(playerId);
  1269. getActions().secondClickNpc(npcType);
  1270. }
  1271. if(clickNpcType == 3) {
  1272. turnPlayerTo(Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY());
  1273. Server.npcHandler.npcs[npcClickIndex].facePlayer(playerId);
  1274. getActions().thirdClickNpc(npcType);
  1275. }
  1276. }
  1277. }
  1278.  
  1279. if(walkingToItem) {
  1280. if(getX() == pItemX && getY() == pItemY || goodDistance(getX(), getY(), pItemX, pItemY,1)) {
  1281. walkingToItem = false;
  1282. Server.itemHandler.removeGroundItem(this, pItemId, pItemX, pItemY, true);
  1283. }
  1284. }
  1285.  
  1286. if(followId > 0) {
  1287. getPA().followPlayer();
  1288. } else if (followId2 > 0) {
  1289. getPA().followNpc();
  1290. }
  1291.  
  1292. getCombat().handlePrayerDrain();
  1293.  
  1294. if(System.currentTimeMillis() - singleCombatDelay > 3300) {
  1295. underAttackBy = 0;
  1296. }
  1297. if (System.currentTimeMillis() - singleCombatDelay2 > 3300) {
  1298. underAttackBy2 = 0;
  1299. }
  1300.  
  1301. if(System.currentTimeMillis() - restoreStatsDelay > 60000) {
  1302. restoreStatsDelay = System.currentTimeMillis();
  1303. for (int level = 0; level < playerLevel.length; level++) {
  1304. if (playerLevel[level] < getLevelForXP(playerXP[level])) {
  1305. if(level != 5) { // prayer doesn't restore
  1306. playerLevel[level] += 1;
  1307. getPA().setSkillLevel(level, playerLevel[level], playerXP[level]);
  1308. getPA().refreshSkill(level);
  1309. }
  1310. } else if (playerLevel[level] > getLevelForXP(playerXP[level])) {
  1311. playerLevel[level] -= 1;
  1312. getPA().setSkillLevel(level, playerLevel[level], playerXP[level]);
  1313. getPA().refreshSkill(level);
  1314. }
  1315. }
  1316. }
  1317.  
  1318. if(System.currentTimeMillis() - teleGrabDelay > 1550 && usingMagic) {
  1319. usingMagic = false;
  1320. if(Server.itemHandler.itemExists(teleGrabItem, teleGrabX, teleGrabY)) {
  1321. Server.itemHandler.removeGroundItem(this, teleGrabItem, teleGrabX, teleGrabY, true);
  1322. }
  1323. }
  1324. if(toggleEP == 0) {
  1325. getPA().sendFrame126(""+EP+"%", 12281);
  1326. } else {
  1327. getPA().sendFrame126(" ", 12281);
  1328. }
  1329. if(EP >= 100 && EPLong == 0) {
  1330. EP = 100;
  1331. EPLong = 1;
  1332. }
  1333. if(inWild()) {
  1334. 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)) {
  1335. if(EP < 100) {
  1336. EPLong += 1;
  1337. }
  1338. }
  1339.  
  1340. if(EP < 100 && EPLong == 36) {
  1341. EP += 1;
  1342. EPLong = 0;
  1343. }
  1344.  
  1345. int modY = absY > 6400 ? absY - 6400 : absY;
  1346. int increaseCheck = ((absY - 3195) / 8 + 1);
  1347. wildLevel = 6 + increaseCheck;
  1348. int L = (combatLevel - 6 - increaseCheck);
  1349. int H = (combatLevel + 6 + increaseCheck);
  1350. if(H > 126) {
  1351. H = 126;
  1352. }
  1353. if(L < 3) {
  1354. L = 3;
  1355. }
  1356. getPA().walkableInterface(12278);
  1357. if(Config.SINGLE_AND_MULTI_ZONES) {
  1358. // if(!inMulti()) {
  1359. if(toggleEP == 0) {
  1360. if(EP == 100) {
  1361. getPA().sendFrame126("@yel@"+ L +" - "+ H + "", 12280);
  1362. } else {
  1363. getPA().sendFrame126("@or1@"+ L +" - "+ H + "", 12280);
  1364. }
  1365. } else {
  1366. if(L <= 100 && H <= 100) {
  1367. if(EP == 100) {
  1368. getPA().sendFrame126("@yel@ "+ L +" - "+ H + "", 12280);
  1369. } else {
  1370. getPA().sendFrame126("@or1@ "+ L +" - "+ H + "", 12280);
  1371. }
  1372. } else {
  1373. if(EP == 100) {
  1374. getPA().sendFrame126("@yel@ "+ L +" - "+ H + "", 12280);
  1375. } else {
  1376. getPA().sendFrame126("@or1@ "+ L +" - "+ H + "", 12280);
  1377. }
  1378. }
  1379. }
  1380. /* } else {
  1381. if(toggleEP == 0) {
  1382. getPA().sendFrame126("@or1@"+ L +" - "+ H + "", 12280);
  1383. } else {
  1384. if(L <= 100 && H <= 100) {
  1385. getPA().sendFrame126("@or1@ "+ L +" - "+ H + "", 12280);
  1386. } else {
  1387. getPA().sendFrame126("@or1@ "+ L +" - "+ H + "", 12280);
  1388. }
  1389. }
  1390. }*/
  1391. } else {
  1392. getPA().multiWay(-1);
  1393. if(toggleEP == 0) {
  1394. getPA().sendFrame126("@or1@"+ L +" - "+ H + "", 12280);
  1395. } else {
  1396. getPA().sendFrame126("@or1@ "+ L +" - "+ H + "", 12280);
  1397. }
  1398. }
  1399. getPA().showOption(3, 0, "Attack", 1);
  1400.  
  1401. }/* else if (inDuelArena()) {
  1402. if(emoteChoice == 0) {
  1403. getPA().walkableInterface(201);
  1404. if(duelStatus == 5) {
  1405. getPA().showOption(3, 0, "Attack", 1);
  1406. } else {
  1407. getPA().showOption(3, 0, "Challenge", 1);
  1408. }
  1409. }
  1410. } else if (inCwGame || inPits) {
  1411. if(emoteChoice == 0) {
  1412. getPA().showOption(3, 0, "Attack", 1);
  1413. }
  1414. } else if (getPA().inPitsWait()) {
  1415. if(emoteChoice == 0) {
  1416. getPA().showOption(3, 0, "Null", 1);
  1417. }
  1418. }*/else if (!inCwWait) {
  1419. if(emoteChoice == 0) {
  1420. getPA().sendFrame99(0);
  1421. if(!inMulti()) {
  1422. if(toggleEP == 0) {
  1423. if(EP == 100) {
  1424. getPA().sendFrame126("@yel@Safe Zone", 12280);
  1425. } else {
  1426. getPA().sendFrame126("@or1@Safe Zone", 12280);
  1427. }
  1428. } else {
  1429. if(EP == 100) {
  1430. getPA().sendFrame126("@yel@ Safe Zone", 12280);
  1431. } else {
  1432. getPA().sendFrame126("@or1@ Safe Zone", 12280);
  1433. }
  1434. }
  1435. }
  1436. getPA().showOption(3, 0, "Null", 1);
  1437. if(inMulti()) {
  1438. if(toggleEP == 0) {
  1439. if(EP == 100) {
  1440. getPA().sendFrame126("@yel@Multi Zone", 12280);
  1441. } else {
  1442. getPA().sendFrame126("@or1@Multi Zone", 12280);
  1443. }
  1444. } else {
  1445. if(EP == 100) {
  1446. getPA().sendFrame126("@yel@ Multi Zone", 12280);
  1447. } else {
  1448. getPA().sendFrame126("@or1@ Multi Zone", 12280);
  1449. }
  1450. }
  1451. }
  1452. }
  1453. }
  1454.  
  1455. if(!hasMultiSign && inMulti()) {
  1456. hasMultiSign = true;
  1457. getPA().multiWay(1);
  1458. }
  1459.  
  1460. if(hasMultiSign && !inMulti()) {
  1461. hasMultiSign = false;
  1462. getPA().multiWay(-1);
  1463. }
  1464. if(skullTimer > 0) {
  1465. skullTimer--;
  1466. if(skullTimer == 1) {
  1467. isSkulled = false;
  1468. attackedPlayers.clear();
  1469. headIconPk = -1;
  1470. skullTimer = -1;
  1471. getPA().requestUpdates();
  1472. }
  1473. }
  1474.  
  1475. if(isDead && respawnTimer == -6) {
  1476. getPA().applyDead();
  1477. }
  1478.  
  1479. if(respawnTimer == 7) {
  1480. respawnTimer = -6;
  1481. getPA().giveLife();
  1482. } else if(respawnTimer == 12) {
  1483. respawnTimer--;
  1484. startAnimation(0x900);
  1485. poisonDamage = -1;
  1486. }
  1487.  
  1488. if(respawnTimer > -6) {
  1489. respawnTimer--;
  1490. }
  1491. if(freezeTimer > -6) {
  1492. freezeTimer--;
  1493. if (frozenBy > 0) {
  1494. if (Server.playerHandler.players[frozenBy] == null) {
  1495. freezeTimer = -1;
  1496. frozenBy = -1;
  1497. } else if (!goodDistance(absX, absY, Server.playerHandler.players[frozenBy].absX, Server.playerHandler.players[frozenBy].absY, 20)) {
  1498. freezeTimer = -1;
  1499. frozenBy = -1;
  1500. }
  1501. }
  1502. }
  1503.  
  1504. if(hitDelay > 0) {
  1505. hitDelay--;
  1506. }
  1507.  
  1508. if(teleTimer > 0) {
  1509. teleTimer--;
  1510. if (!isDead) {
  1511. if(teleTimer == 1 && newLocation > 0) {
  1512. teleTimer = 0;
  1513. getPA().changeLocation();
  1514. }
  1515. if(teleTimer == 5) {
  1516. teleTimer--;
  1517. getPA().processTeleport();
  1518. }
  1519. if(teleTimer == 9 && teleGfx > 0) {
  1520. teleTimer--;
  1521. if (teleGfx == 678) {
  1522. gfx0(teleGfx);
  1523. } else {
  1524. gfx100(teleGfx);
  1525. }
  1526. }
  1527. } else {
  1528. teleTimer = 0;
  1529. }
  1530. }
  1531.  
  1532. if(hitDelay == 1) {
  1533. if(oldNpcIndex > 0) {
  1534. getCombat().delayedHit(oldNpcIndex);
  1535. }
  1536. if(oldPlayerIndex > 0) {
  1537. getCombat().playerDelayedHit(oldPlayerIndex);
  1538. }
  1539. }
  1540.  
  1541. if(attackTimer > 0) {
  1542. attackTimer--;
  1543. }
  1544.  
  1545. if(attackTimer == 1){
  1546. if(npcIndex > 0 && clickNpcType == 0) {
  1547. getCombat().attackNpc(npcIndex);
  1548. }
  1549. if(playerIndex > 0) {
  1550. getCombat().attackPlayer(playerIndex);
  1551. }
  1552. } else if (attackTimer <= 0 && (npcIndex > 0 || playerIndex > 0)) {
  1553. if (npcIndex > 0) {
  1554. attackTimer = 0;
  1555. getCombat().attackNpc(npcIndex);
  1556. } else if (playerIndex > 0) {
  1557. attackTimer = 0;
  1558. getCombat().attackPlayer(playerIndex);
  1559. }
  1560. }
  1561.  
  1562. if(timeOutCounter > Config.TIMEOUT) {
  1563. disconnected = true;
  1564. }
  1565.  
  1566. timeOutCounter++;
  1567.  
  1568. if(inTrade && tradeResetNeeded){
  1569. Client o = (Client) Server.playerHandler.players[tradeWith];
  1570. if(o != null){
  1571. if(o.tradeResetNeeded){
  1572. getTradeAndDuel().resetTrade();
  1573. o.getTradeAndDuel().resetTrade();
  1574. }
  1575. }
  1576. }
  1577. }
  1578.  
  1579. public void setCurrentTask(Future<?> task) {
  1580. currentTask = task;
  1581. }
  1582.  
  1583. public Future<?> getCurrentTask() {
  1584. return currentTask;
  1585. }
  1586.  
  1587. public synchronized Stream getInStream() {
  1588. return inStream;
  1589. }
  1590.  
  1591. public synchronized int getPacketType() {
  1592. return packetType;
  1593. }
  1594.  
  1595. public synchronized int getPacketSize() {
  1596. return packetSize;
  1597. }
  1598.  
  1599. public synchronized Stream getOutStream() {
  1600. return outStream;
  1601. }
  1602.  
  1603. public ItemAssistant getItems() {
  1604. return itemAssistant;
  1605. }
  1606.  
  1607. public PlayerAssistant getPA() {
  1608. return playerAssistant;
  1609. }
  1610.  
  1611. public DialogueHandler getDH() {
  1612. return dialogueHandler;
  1613. }
  1614.  
  1615. public ShopAssistant getShops() {
  1616. return shopAssistant;
  1617. }
  1618.  
  1619. public TradeAndDuel getTradeAndDuel() {
  1620. return tradeAndDuel;
  1621. }
  1622.  
  1623. public CombatAssistant getCombat() {
  1624. return combatAssistant;
  1625. }
  1626.  
  1627. public ActionHandler getActions() {
  1628. return actionHandler;
  1629. }
  1630.  
  1631. public PlayerKilling getKill() {
  1632. return playerKilling;
  1633. }
  1634.  
  1635. public IoSession getSession() {
  1636. return session;
  1637. }
  1638.  
  1639. public Potions getPotions() {
  1640. return potions;
  1641. }
  1642.  
  1643. public PotionMixing getPotMixing() {
  1644. return potionMixing;
  1645. }
  1646.  
  1647. public Food getFood() {
  1648. return food;
  1649. }
  1650.  
  1651. /**
  1652. * Skill Constructors
  1653. */
  1654. public Slayer getSlayer() {
  1655. return slayer;
  1656. }
  1657.  
  1658. public Runecrafting getRunecrafting() {
  1659. return runecrafting;
  1660. }
  1661.  
  1662. public Woodcutting getWoodcutting() {
  1663. return woodcutting;
  1664. }
  1665.  
  1666. public Mining getMining() {
  1667. return mine;
  1668. }
  1669.  
  1670. public Cooking getCooking() {
  1671. return cooking;
  1672. }
  1673.  
  1674. public Agility getAgility() {
  1675. return agility;
  1676. }
  1677.  
  1678. public Fishing getFishing() {
  1679. return fish;
  1680. }
  1681.  
  1682. public Crafting getCrafting() {
  1683. return crafting;
  1684. }
  1685.  
  1686. public Smithing getSmithing() {
  1687. return smith;
  1688. }
  1689.  
  1690. public Farming getFarming() {
  1691. return farming;
  1692. }
  1693.  
  1694. public Thieving getThieving() {
  1695. return thieving;
  1696. }
  1697.  
  1698. public Herblore getHerblore() {
  1699. return herblore;
  1700. }
  1701.  
  1702. public Firemaking getFiremaking() {
  1703. return firemaking;
  1704. }
  1705.  
  1706. public SmithingInterface getSmithingInt() {
  1707. return smithInt;
  1708. }
  1709.  
  1710. public Prayer getPrayer() {
  1711. return prayer;
  1712. }
  1713.  
  1714. public Fletching getFletching() {
  1715. return fletching;
  1716. }
  1717.  
  1718. /**
  1719. * End of Skill Constructors
  1720. */
  1721.  
  1722. public void queueMessage(Packet arg1) {
  1723. synchronized(queuedPackets) {
  1724. //if (arg1.getId() != 41)
  1725. queuedPackets.add(arg1);
  1726. //else
  1727. //processPacket(arg1);
  1728. }
  1729. }
  1730.  
  1731. public synchronized boolean processQueuedPackets() {
  1732. Packet p = null;
  1733. synchronized(queuedPackets) {
  1734. p = queuedPackets.poll();
  1735. }
  1736. if(p == null) {
  1737. return false;
  1738. }
  1739. inStream.currentOffset = 0;
  1740. packetType = p.getId();
  1741. packetSize = p.getLength();
  1742. inStream.buffer = p.getData();
  1743. if(packetType > 0) {
  1744. //sendMessage("PacketType: " + packetType);
  1745. PacketHandler.processPacket(this, packetType, packetSize);
  1746. }
  1747. timeOutCounter = 0;
  1748. return true;
  1749. }
  1750.  
  1751. public synchronized boolean processPacket(Packet p) {
  1752. synchronized (this) {
  1753. if(p == null) {
  1754. return false;
  1755. }
  1756. inStream.currentOffset = 0;
  1757. packetType = p.getId();
  1758. packetSize = p.getLength();
  1759. inStream.buffer = p.getData();
  1760. if(packetType > 0) {
  1761. //sendMessage("PacketType: " + packetType);
  1762. PacketHandler.processPacket(this, packetType, packetSize);
  1763. }
  1764. timeOutCounter = 0;
  1765. return true;
  1766. }
  1767. }
  1768.  
  1769.  
  1770. public void correctCoordinates() {
  1771. if (inPcGame()) {
  1772. getPA().movePlayer(2657, 2639, 0);
  1773. }
  1774. if (inFightCaves()) {
  1775. getPA().movePlayer(absX, absY, playerId * 4);
  1776. sendMessage("Your wave will start in 10 seconds.");
  1777. EventManager.getSingleton().addEvent(new Event() {
  1778. public void execute(EventContainer c) {
  1779. Server.fightCaves.spawnNextWave((Client)Server.playerHandler.players[playerId]);
  1780. c.stop();
  1781. }
  1782. }, 10000);
  1783.  
  1784. }
  1785.  
  1786. }
  1787.  
  1788. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement