trilogyreborn

trilogy client.java

Jun 5th, 2015
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 78.42 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. import java.net.URL;
  7. import java.net.MalformedURLException;
  8. import java.io.InputStreamReader;
  9. import java.io.BufferedReader;
  10. import java.io.IOException;
  11. import org.apache.mina.common.IoSession;
  12. import server.Config;
  13. import server.Server;
  14. import java.net.URL;
  15. import server.model.npcs.*;
  16. import java.net.MalformedURLException;
  17. import java.io.InputStreamReader;
  18. import java.io.BufferedReader;
  19. import java.io.IOException;
  20. import server.model.items.ItemAssistant;
  21. import server.model.shops.ShopAssistant;
  22. import server.net.HostList;
  23. import server.net.Packet;
  24. import server.net.StaticPacketBuilder;
  25. import server.util.Misc;
  26. import server.model.npcs.NPC;
  27.  
  28. import server.model.players.skills.Summoning;
  29. import server.util.Stream;
  30. import server.util.MadTurnipConnection;
  31. import server.model.players.skills.*;
  32. import server.event.EventManager;
  33. import server.event.Event;
  34. import server.model.players.PlayerSave;
  35. import server.model.players.PlayerHandler;
  36. import server.event.EventContainer;
  37. import server.model.minigames.WarriorsGuild;
  38. import server.model.minigames.Gambling;
  39.  
  40. public class Client extends Player {
  41. public void resetRanks() {
  42. for (int i = 0; i < 10; i++) {
  43. ranks[i] = 0;
  44. rankPpl[i] = "";
  45. }
  46. }
  47. public void highscores() {
  48. getPA().sendFrame126(""+ Config.SERVER_NAME +" Top 10 Players", 6399);
  49. for(int i = 0; i < 10; i++) {
  50. if(ranks[i] > 0) {
  51. getPA().sendFrame126("Rank "+(i+1)+": "+rankPpl[i]+ "- Total Level: " +ranks[i], 6402+i);
  52. }
  53. }
  54. getPA().showInterface(6308);
  55. flushOutStream();
  56. resetRanks();
  57. }
  58. public int playerRank = 0;
  59. public static int[] ranks = new int[11];
  60. public static String[] rankPpl = new String[11];
  61. public byte buffer[] = null;
  62. public int cannonTimer = 0;
  63. public int s;
  64. public Stream inStream = null, outStream = null;
  65. private IoSession session;
  66. public static PlayerSave save;
  67. public static Client cliento2;
  68. public int totalstored;
  69. public int currentDamage = 0;
  70. public int followPlayer;
  71. public int ZombiesToKill;
  72. public int ZombiesKilled;
  73. public int RoundId;
  74. public int npcslot;
  75. public int summoningnpcid;
  76. public int timer;
  77. private TradeLog tradeLog = new TradeLog(this);
  78. private ItemAssistant itemAssistant = new ItemAssistant(this);
  79. private ShopAssistant shopAssistant = new ShopAssistant(this);
  80. private TradeAndDuel tradeAndDuel = new TradeAndDuel(this);
  81. private PlayerAssistant playerAssistant = new PlayerAssistant(this);
  82. private CombatAssistant combatAssistant = new CombatAssistant(this);
  83. private ActionHandler actionHandler = new ActionHandler(this);
  84. private PlayerKilling playerKilling = new PlayerKilling(this);
  85. private DialogueHandler dialogueHandler = new DialogueHandler(this);
  86. private Potions potion = new Potions(this);
  87. private Queue<Packet> queuedPackets = new LinkedList<Packet>();
  88. private WarriorsGuild warriorsGuild = new WarriorsGuild();
  89. private PotionMixing potionMixing = new PotionMixing(this);
  90. private Food food = new Food(this);
  91. private Gambling gamble = new Gambling(this);
  92. /**
  93. * Skill instances
  94. */
  95. private Slayer slayer = new Slayer(this);
  96. private Runecrafting runecrafting = new Runecrafting(this);
  97. private Woodcutting woodcutting = new Woodcutting(this);
  98. private Mining mine = new Mining(this);
  99. public Agility ag = new Agility(this);
  100. private Cooking cooking = new Cooking(this);
  101. private Fishing fish = new Fishing(this);
  102. private Crafting crafting = new Crafting(this);
  103. private Smithing smith = new Smithing(this);
  104. private Prayer prayer = new Prayer(this);
  105. private Curse curse = new Curse(this);
  106. private Fletching fletching = new Fletching(this);
  107. private SmithingInterface smithInt = new SmithingInterface(this);
  108. private Farming farming = new Farming(this);
  109. private Thieving thieving = new Thieving(this);
  110. private Firemaking firemaking = new Firemaking(this);
  111. private Herblore herblore = new Herblore(this);
  112. public Summoning Summoning = new Summoning(this);
  113. private int somejunk;
  114. public int lowMemoryVersion = 0;
  115. public int timeOutCounter = 0;
  116. public int dungRest = 0;
  117. public int returnCode = 2;
  118. public int clawDamage;
  119. public int clawIndex;
  120. public int clawType = 0;
  121. private Future<?> currentTask;
  122. public boolean officialClient = true;
  123. public boolean isSmelting = false;
  124. public boolean slayerHelmEffect;
  125. public boolean basket = false;
  126. public long lastRefresh = 0;
  127. public boolean slayerHelmetEffect;
  128. public String lastKilled = "";
  129.  
  130. private final String[] randomMessages = {
  131. "pie", "kebab", "chocolate", "bagel", "triangle",
  132. "square", "bread"
  133. };
  134.  
  135. private final int[][] responseButtons = {
  136. { 63013, 0 }, { 63014, 1 }, { 63015, 2 }, { 63009, 3 },
  137. { 63010, 4 }, { 63011, 5 }, { 63012, 6 }
  138. };
  139.  
  140. public void executeRandom() {
  141. getPA().sendFrame126("", 16131);
  142. getPA().showInterface(16135);
  143. foodType = Misc.random(6);
  144. getPA().sendFrame126("Please select the " + randomMessages[foodType] + " for a cash reward!", 16145);
  145. }
  146.  
  147. public void checkResponse(int button) {
  148. for (int i = 0; i < responseButtons.length; i ++) {
  149. if (responseButtons[i][0] == button) {
  150. if (responseButtons[i][1] == foodType) {
  151. sendMessage("Congratulations! You've completed the random event.");
  152. getPA().closeAllWindows();
  153. getItems().addItem(995, Misc.random(2000));
  154. return;
  155. }
  156.  
  157. /**
  158. * You can add other things here, such as a teleport or something.
  159. * This is where it fails and they click the wrong food type.
  160. */
  161. sendMessage("Please select the " + randomMessages[foodType] + " to continue");
  162. }
  163. }
  164. }
  165.  
  166. public int foodType = -1;
  167. public long lastRandom;
  168. public void walk(int EndX, int EndY, int Emote) {
  169. walkToEmote(Emote);
  170. getPA().walkTo2(EndX, EndY);
  171. }
  172. public void walkToEmote(int id) {
  173. isRunning2 = false;
  174. playerWalkIndex = id;
  175. getPA().requestUpdates(); //this was needed to make the agility work
  176. }
  177.  
  178. public void stopEmote() {
  179. playerWalkIndex = 0x333;
  180. agilityEmote = false;
  181. getPA().requestUpdates(); //this was needed to make the agility work
  182. }
  183. public void obsticle(int Emote, int Req, int newX, int newY, final int agilityTimer, int amtEXP, String message) {
  184. if (playerLevel[16] >= Req) {
  185. agilityEmote = true;
  186. walk(newX, newY, Emote);
  187. sendMessage(message);
  188. getPA().addSkillXP(amtEXP, playerAgility);
  189. EventManager.getSingleton().addEvent(new Event() {
  190. public void execute(EventContainer c) {
  191. stopEmote();
  192. c.stop();
  193. }
  194. }, agilityTimer);
  195. } else {
  196. sendMessage("You Need " + Req + " Agility To Do This Obsticle");
  197. }
  198. }
  199.  
  200. public void agilityDelay(int Emote, final int X, final int Y, final int H, int Req, int amtEXP, String message) {
  201. if (playerLevel[16] >= Req) {
  202. sendMessage(message);
  203. startAnimation(Emote);
  204. agilityEmote = true;
  205. getPA().addSkillXP(amtEXP, playerAgility);
  206. EventManager.getSingleton().addEvent(new Event() {
  207. public void execute(EventContainer c) {
  208. getPA().movePlayer(X, Y, H);
  209. agilityEmote = false;
  210. c.stop();
  211. }
  212. }, 1000);
  213. } else {
  214. sendMessage("You Need " + Req + " Agility To Do This Obsticle");
  215. }
  216. }
  217.  
  218. public void applyFollowing()
  219. {
  220. if (follow2 > 0)
  221. {
  222. //Client p = Server.playerHandler.client[followId];
  223. Client p = (Client) Server.playerHandler.players[follow2];
  224. if (p != null)
  225. {
  226. if (isDead)
  227. {
  228. follow(0, 3, 1);
  229. return;
  230. }
  231. if (!goodDistance(p.absX, p.absY, absX, absY, 25))
  232. {
  233. follow(0, 3, 1);
  234. return;
  235. }
  236. }
  237. else if (p == null)
  238. {
  239. follow(0, 3, 1);
  240. }
  241. }
  242. else if (follow2 > 0)
  243. {
  244. //Server.npcHandler.npcs.NPC npc = Server.npcHandler.npcs[followId2];
  245. if (Server.npcHandler.npcs[followId2] != null)
  246. {
  247. if (Server.npcHandler.npcs[followId2].isDead)
  248. {
  249. follow(0, 3, 1);
  250. return;
  251. }
  252. if (!goodDistance(Server.npcHandler.npcs[followId2].absX, Server.npcHandler.npcs[followId2].absY, absX, absY, 25))
  253. {
  254. follow(0, 3, 1);
  255. return;
  256. }
  257. }
  258. else if (Server.npcHandler.npcs[followId2] == null)
  259. {
  260. follow(0, 3, 1);
  261. }
  262. }
  263. }
  264.  
  265. public int followDistance = 0;
  266.  
  267. public void follow(int slot, int type, int distance)
  268. {
  269. if (slot > 0 && slot == follow2 && type == 1 && follow2 > 0 && followDistance != distance && (/*usingOtherRangeWeapons || */usingBow || usingMagic))
  270. return;
  271. else if (slot > 0 && slot == followId2 && type == 0 && followId2 > 0 && followDistance >= distance && distance != 1)
  272. return;
  273. //else if (type == 3 && followId2 == 0 && follow2 == 0)
  274. //return;
  275. outStream.createFrame(174);
  276. if (freezeTimer > 0) {
  277. outStream.writeWord(0);
  278. } else {
  279. outStream.writeWord(slot);
  280. if (type == 0) {
  281. follow2 = 0;
  282. followId2 = slot;
  283. faceUpdate(followId2);
  284. } else if (type == 1) {
  285. followId2 = 0;
  286. follow2 = slot;
  287. faceUpdate(32768 + follow2);
  288. } else if (type == 3) {
  289. followId2 = 0;
  290. follow2 = 0;
  291. followDistance = 0;
  292. faceUpdate(65535);
  293. }
  294. followDistance = distance;
  295. }
  296. outStream.writeByte(type);
  297. outStream.writeWord(distance);
  298. }
  299. public Client(IoSession s, int _playerId) {
  300. super(_playerId);
  301. this.session = s;
  302. synchronized(this) {
  303. outStream = new Stream(new byte[Config.BUFFER_SIZE]);
  304. outStream.currentOffset = 0;
  305. }
  306. inStream = new Stream(new byte[Config.BUFFER_SIZE]);
  307. inStream.currentOffset = 0;
  308. buffer = new byte[Config.BUFFER_SIZE];
  309. }
  310. public void frame1() // cancels all player and npc emotes within area!
  311. {
  312. for (Player p : PlayerHandler.players) {
  313. if (p != null) {
  314. Client c = (Client) p;
  315. c.outStream.createFrame(1);
  316. }
  317. }
  318. updateRequired = true;
  319. appearanceUpdateRequired = true;
  320. }
  321. public Client getClient(String name) {
  322. name = name.toLowerCase();
  323. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  324. if(validClient(i)) {
  325. Client client = getClient(i);
  326. if(client.playerName.toLowerCase().equalsIgnoreCase(name)) {
  327. return client;
  328. }
  329. }
  330. }
  331. return null;
  332. }
  333. public Client getClient(int id) {
  334. return (Client) Server.playerHandler.players[id];
  335. }
  336. public boolean validClient(int id) {
  337. if (id < 0 || id > Config.MAX_PLAYERS) {
  338. return false;
  339. }
  340. return validClient(getClient(id));
  341. }
  342. public boolean validClient(String name) {
  343. return validClient(getClient(name));
  344. }
  345. public boolean validClient(Client client) {
  346. return (client != null && !client.disconnected);
  347. }
  348. public boolean validNpc(int index) {
  349. if (index < 0 || index >= Config.MAX_NPCS) {
  350. return false;
  351. }
  352. NPC n = getNpc(index);
  353. if (n != null) {
  354. return true;
  355. }
  356. return false;
  357. }
  358. public NPC getNpc(int index) {
  359. return ((NPC) Server.npcHandler.npcs[index]);
  360. }
  361. public void yell(String s) {
  362. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  363. if (validClient(i)) {
  364. getClient(i).sendMessage(s);
  365. }
  366. }
  367. }
  368.  
  369. public void degradeVls() {
  370. if(playerEquipment[playerWeapon] == 13901 && vlsLeft < 1){
  371. playerEquipment[playerWeapon] = -1;
  372. playerEquipmentN[playerWeapon] = 0;
  373. getItems().wearItem(-1, 1, 3);
  374. sendMessage("Your Vesta longsword crumbles to dust!");
  375. vlsLeft = 1000;
  376. }
  377. }
  378. public void degradeVSpear() {
  379. if(playerEquipment[playerWeapon] == 13907 && vSpearLeft < 1){
  380. playerEquipment[playerWeapon] = -1;
  381. playerEquipmentN[playerWeapon] = 0;
  382. getItems().wearItem(-1, 1, 3);
  383. sendMessage("Your Vesta spear crumbles to dust!");
  384. vSpearLeft = 1000;
  385. }
  386. }
  387. public void degradeStat() {
  388. if(playerEquipment[playerWeapon] == 13904 && statLeft < 1){
  389. playerEquipment[playerWeapon] = -1;
  390. playerEquipmentN[playerWeapon] = 0;
  391. getItems().wearItem(-1, 1, 3);
  392. sendMessage("Your Statius warhammer crumbles to dust!");
  393. statLeft = 1000;
  394. }
  395. }
  396. public void degradeVTop() {//vesta top
  397. if(playerEquipment[playerChest] == 13889 && vTopLeft < 1){
  398. playerEquipment[playerChest] = -1;
  399. playerEquipmentN[playerChest] = 0;
  400. getItems().wearItem(-1, 1, playerChest);
  401. sendMessage("Your Vesta chainbody crumbles to dust!");
  402. vTopLeft = 1000;
  403. }
  404. }
  405. public void degradeVLegs() {//vesta legs
  406. if(playerEquipment[playerLegs] == 13895 && vLegsLeft < 1){
  407. playerEquipment[playerLegs] = -1;
  408. playerEquipmentN[playerLegs] = 0;
  409. getItems().wearItem(-1, 1, playerLegs);
  410. sendMessage("Your Vesta plateskirt crumbles to dust!");
  411. vLegsLeft = 1000;
  412. }
  413. }
  414. public void degradeSTop() {//statius top
  415. if(playerEquipment[playerChest] == 13886 && sTopLeft < 1){
  416. playerEquipment[playerChest] = -1;
  417. playerEquipmentN[playerChest] = 0;
  418. getItems().wearItem(-1, 1, playerChest);
  419. sendMessage("Your Statius platebody crumbles to dust!");
  420. sTopLeft = 1000;
  421. }
  422. }
  423. public void degradeSLegs() {//statius legs
  424. if(playerEquipment[playerLegs] == 13892 && sLegsLeft < 1){
  425. playerEquipment[playerLegs] = -1;
  426. playerEquipmentN[playerLegs] = 0;
  427. getItems().wearItem(-1, 1, playerLegs);
  428. sendMessage("Your Statius platelegs crumbles to dust!");
  429. sLegsLeft = 1000;
  430. }
  431. }
  432. public void degradeSHelm() {//statius helm
  433. if(playerEquipment[playerHat] == 13898 && sHelmLeft < 1){
  434. playerEquipment[playerHat] = -1;
  435. playerEquipmentN[playerHat] = 0;
  436. getItems().wearItem(-1, 1, playerHat);
  437. sendMessage("Your Statius full helm crumbles to dust!");
  438. sHelmLeft = 1000;
  439. }
  440. }
  441. public void degradeZHood() {//zuriel hood
  442. if(playerEquipment[playerHat] == 13866 && zHoodLeft < 1){
  443. playerEquipment[playerHat] = -1;
  444. playerEquipmentN[playerHat] = 0;
  445. getItems().wearItem(-1, 1, playerHat);
  446. sendMessage("Your Zuriel hood crumbles to dust!");
  447. zHoodLeft = 1000;
  448. }
  449. }
  450. public void degradeZTop() {//zuriel top
  451. if(playerEquipment[playerChest] == 13860 && zTopLeft < 1){
  452. playerEquipment[playerChest] = -1;
  453. playerEquipmentN[playerChest] = 0;
  454. getItems().wearItem(-1, 1, playerChest);
  455. sendMessage("Your Zuriel robe top crumbles to dust!");
  456. zTopLeft = 1000;
  457. }
  458. }
  459. public void degradeZBottom() {//zuriel hood
  460. if(playerEquipment[playerLegs] == 13863 && zBottomLeft < 1){
  461. playerEquipment[playerLegs] = -1;
  462. playerEquipmentN[playerLegs] = 0;
  463. getItems().wearItem(-1, 1, playerLegs);
  464. sendMessage("Your Zuriel robe bottom crumbles to dust!");
  465. zBottomLeft = 1000;
  466. }
  467. }
  468. public void degradeZStaff() {//zuriel staff
  469. if(playerEquipment[playerWeapon] == 13870 && zStaffLeft < 1){
  470. playerEquipment[playerWeapon] = -1;
  471. playerEquipmentN[playerWeapon] = 0;
  472. getItems().wearItem(-1, 1, 3);
  473. sendMessage("Your Zuriel staff crumbles to dust!");
  474. zStaffLeft = 1000;
  475. }
  476. }
  477. public void degradeMBody() {//morrigans body
  478. if(playerEquipment[playerChest] == 13872 && mBodyLeft < 1){
  479. playerEquipment[playerChest] = -1;
  480. playerEquipmentN[playerChest] = 0;
  481. getItems().wearItem(-1, 1, playerChest);
  482. sendMessage("Your Morrigans leather body crumbles to dust!");
  483. mBodyLeft = 1000;
  484. }
  485. }
  486. public void degradeMChaps() {//morrigans chaps
  487. if(playerEquipment[playerLegs] == 13875 && mChapsLeft < 1){
  488. playerEquipment[playerLegs] = -1;
  489. playerEquipmentN[playerLegs] = 0;
  490. getItems().wearItem(-1, 1, playerLegs);
  491. sendMessage("Your Morrigans chaps crumbles to dust!");
  492. mChapsLeft = 1000;
  493. }
  494. }
  495.  
  496.  
  497. public int maxstore = 0;
  498.  
  499. public void storesummon(int npcType) {
  500. switch (npcType) {
  501.  
  502. case 6807:
  503.  
  504. if (lastsummon > 0) {
  505. for (int i = 0; i < Server.npcHandler.maxNPCs; i++) {
  506. if (Server.npcHandler.npcs[i] != null) {
  507. if (Server.npcHandler.npcs[i].summon == true) {
  508. if (Server.npcHandler.npcs[i].spawnedBy == getId()
  509. && Server.npcHandler.npcs[i].npcId == npcslot) {
  510. sendMessage("You are now storing items inside your npc");
  511. Summoning().store();
  512. }
  513. }
  514. }
  515. }
  516.  
  517. }
  518. break;
  519.  
  520. }
  521. }
  522.  
  523. public void firstslot() {
  524. for (summoningslot = 0; occupied[summoningslot] == true; summoningslot += 1) {
  525.  
  526. }
  527. }
  528.  
  529. public int summoningslot = 0;
  530.  
  531. public int storeditems[] = new int[29];
  532.  
  533. public boolean picking = false;
  534.  
  535. public int amount[] = new int[29];
  536. public boolean occupied[] = new boolean[29];
  537.  
  538. public boolean storing = false;
  539.  
  540.  
  541. public int attackingplayer;
  542. public int lastsummon;
  543. public boolean summon;
  544.  
  545.  
  546. public void jadSpawn() {
  547. //getPA().movePlayer(absX, absY, playerId * 4);
  548. getDH().sendDialogues(41, 2618);
  549. EventManager.getSingleton().addEvent(new Event() {
  550. public void execute(EventContainer c) {
  551. Server.fightCaves.spawnNextWave((Client)Server.playerHandler.players[playerId]);
  552. c.stop();
  553. }
  554. }, 10000);
  555. }
  556. /* public void handCannonDestory() {
  557. cannonTimer = 0;
  558. int chance = playerLevel[playerFiremaking] * 5 + 25;
  559. if(specGfx)
  560. chance/=2;
  561. if(Misc.random(chance) == 1)
  562. EventManager.getSingleton().addEvent(new Event() {
  563. public void execute(EventContainer c) {
  564. if(cannonTimer <= 0) {
  565. gfx0(2140);
  566. playerEquipment[playerWeapon] = -1;
  567. sendMessage("Your hand cannon explodes!");
  568. int damage = Misc.random(15) + 1;
  569. setHitDiff(damage);
  570. setHitUpdateRequired(true);
  571. dealDamage(Misc.random(15) + 1);
  572. updateRequired = true;
  573. getItems().sendWeapon(playerEquipment[playerWeapon], getItems().getItemName(playerEquipment[playerWeapon]));
  574. getCombat().getPlayerAnimIndex(getItems().getItemName(playerEquipment[playerWeapon]).toLowerCase());
  575. getItems().resetBonus();
  576. getItems().getBonus();
  577. getItems().writeBonus();
  578. getPA().requestUpdates();getOutStream().createFrame(34);
  579. getOutStream().writeWord(6);
  580. getOutStream().writeWord(1688);
  581. getOutStream().writeByte(playerWeapon);
  582. getOutStream().writeWord(0);
  583. getOutStream().writeByte(0);
  584. updateRequired = true;
  585. setAppearanceUpdateRequired(true);
  586. c.stop();
  587. } else {
  588. cannonTimer--;
  589. }
  590. }
  591. }, 500);
  592. }*/
  593.  
  594. public boolean specGfx = false;
  595. public void handCannonSpec() {
  596. cannonTimer = 0;
  597. EventManager.getSingleton().addEvent(new Event() {
  598. public void execute(EventContainer c) {
  599. cannonTimer--;
  600. if(cannonTimer == 0) {
  601. gfx0(2141);
  602. specGfx = true;
  603. }
  604. if(cannonTimer == 1) {
  605. if (playerIndex > 0)
  606. getCombat().fireProjectilePlayer();
  607. else if (npcIndex > 0)
  608. getCombat().fireProjectileNpc();
  609. c.stop();
  610. }
  611. }
  612. }, 25);
  613. }
  614.  
  615. public void clearQInterface() {
  616. for(int iD = 29172; iD <= 29264;iD++){
  617. getPA().sendFrame126("", iD);
  618. }
  619. getPA().sendFrame126("@whi@"+ Config.SERVER_NAME +": "+PlayerHandler.getPlayerCount()+" @whi@Online", 29155); //Tab Title
  620. //getPA().sendFrame126("Time Played:", 663);
  621.  
  622. getPA().sendFrame126("@whi@Owners @gre@Co-Owner", 29161); //1st section title
  623. getPA().sendFrame126("@whi@"+ Config.OWNER +" @gre@"+ Config.CO_OWNER +"", 29162); //1rd section content
  624.  
  625. getPA().sendFrame126("@whi@"+ Config.SERVER_NAME +" Website:", 29163); //2nd section title
  626.  
  627. }
  628.  
  629. public int specRestore = 0;
  630. public int antiqueSelect = 0;
  631. public int lampused = 0;
  632. public int lampxp = 0;
  633.  
  634. public int totalLevel() {
  635. int total = 0;
  636. for(int i = 0; i <= 20; i++) {
  637. total += getPA().getLevelForXP(playerXP[i]);
  638. }
  639. return total;
  640. }
  641. public int getCombatLevel() {
  642. int mag = (int) ((getLevelForXP(playerXP[6])) * 1.5);
  643. int ran = (int) ((getLevelForXP(playerXP[4])) * 1.5);
  644. int attstr = (int) ((double) (getLevelForXP(playerXP[0])) + (double) (getLevelForXP(playerXP[2])));
  645. if (ran > attstr) {
  646. combatLevel = (int) (((getLevelForXP(playerXP[1])) * 0.25)
  647. + ((getLevelForXP(playerXP[3])) * 0.25)
  648. + ((getLevelForXP(playerXP[5])) * 0.125)
  649. + ((getLevelForXP(playerXP[4])) * 0.4875)
  650. + ((getLevelForXP(playerXP[22])) * 0.121212));
  651. } else if (mag > attstr) {
  652. combatLevel = (int) (((getLevelForXP(playerXP[1])) * 0.25)
  653. + ((getLevelForXP(playerXP[3])) * 0.25)
  654. + ((getLevelForXP(playerXP[5])) * 0.125)
  655. + ((getLevelForXP(playerXP[6])) * 0.4875)
  656. + ((getLevelForXP(playerXP[22])) * 0.121212));
  657. } else {
  658. combatLevel = (int) (((getLevelForXP(playerXP[1])) * 0.25)
  659. + ((getLevelForXP(playerXP[3])) * 0.25)
  660. + ((getLevelForXP(playerXP[5])) * 0.125)
  661. + ((getLevelForXP(playerXP[0])) * 0.325)
  662. + ((getLevelForXP(playerXP[2])) * 0.325)
  663. + ((getLevelForXP(playerXP[22])) * 0.121212));
  664. }
  665. return combatLevel;
  666. }
  667.  
  668. public void HighAndLow(){
  669. if (combatLevel < 15){
  670. int Low = 3;
  671. int High = combatLevel + 12;
  672. getPA().sendFrame126("@gre@"+Low+"@yel@ - @red@"+High+"", 199);
  673.  
  674. }
  675. if (combatLevel > 15 && combatLevel < 114){
  676. int Low = combatLevel - 12;
  677. int High = combatLevel + 12;
  678. getPA().sendFrame126("@gre@"+Low+"@yel@ - @red@"+High+"", 199);
  679.  
  680. }
  681. if (combatLevel > 114){
  682. int Low = combatLevel - 12;
  683. int High = 138;
  684. getPA().sendFrame126("@gre@"+Low+"@yel@ - @red@"+High+"", 199);
  685.  
  686. }
  687. }
  688.  
  689.  
  690.  
  691. public void flushOutStream() {
  692. if(disconnected || outStream.currentOffset == 0) return;
  693. synchronized(this) {
  694. StaticPacketBuilder out = new StaticPacketBuilder().setBare(true);
  695. byte[] temp = new byte[outStream.currentOffset];
  696. System.arraycopy(outStream.buffer, 0, temp, 0, temp.length);
  697. out.addBytes(temp);
  698. session.write(out.toPacket());
  699. outStream.currentOffset = 0;
  700. }
  701. }
  702.  
  703. public void sendClan(String name, String message, String clan, int rights) {
  704. outStream.createFrameVarSizeWord(217);
  705. outStream.writeString(name);
  706. outStream.writeString(message);
  707. outStream.writeString(clan);
  708. outStream.writeWord(rights);
  709. outStream.endFrameVarSize();
  710. }
  711.  
  712. public static final int PACKET_SIZES[] = {
  713. 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, //0
  714. 0, 0, 0, 0, 8, 0, 6, 2, 2, 0, //10
  715. 0, 2, 0, 6, 0, 12, 0, 0, 0, 0, //20
  716. 0, 0, 0, 0, 0, 8, 4, 0, 0, 2, //30
  717. 2, 6, 0, 6, 0, -1, 0, 0, 0, 0, //40
  718. 0, 0, 0, 12, 0, 0, 0, 8, 8, 12, //50
  719. 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, //60
  720. 6, 0, 2, 2, 8, 6, 0, -1, 0, 6, //70
  721. 0, 0, 0, 0, 0, 1, 4, 6, 0, 0, //80
  722. 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, //90
  723. 0, 13, 0, -1, 0, 0, 0, 0, 0, 0,//100
  724. 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, //110
  725. 1, 0, 6, 0, 0, 0, -1, 0, 2, 6, //120
  726. 0, 4, 6, 8, 0, 6, 0, 0, 0, 2, //130
  727. 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, //140
  728. 0, 0, 1, 2, 0, 2, 6, 0, 0, 0, //150
  729. 0, 0, 0, 0, -1, -1, 0, 0, 0, 0,//160
  730. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //170
  731. 0, 8, 0, 3, 0, 2, 0, 0, 8, 1, //180
  732. 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, //190
  733. 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, //200
  734. 4, 0, 0, 0, 7, 8, 0, 0, 10, 0, //210
  735. 0, 0, 0, 0, 0, 0, -1, 0, 6, 0, //220
  736. 1, 0, 0, 0, 6, 0, 6, 8, 1, 0, //230
  737. 0, 4, 0, 0, 0, 0, -1, 0, -1, 4,//240
  738. 0, 0, 6, 6, 0, 0, 0 //250
  739. };
  740.  
  741. public void destruct() {
  742. synchronized (this) {
  743. PlayerSave.saveGame(this);
  744. if(disconnected == true) {
  745. saveCharacter = true;
  746. }
  747. if(disconnected == true){
  748. getTradeAndDuel().declineTrade();
  749. }
  750. if(session == null)
  751. return;
  752. Server.panel.removeEntity(playerName);
  753. PlayerSave.saveGame(this);
  754. if (clanId >= 0)
  755. Server.clanChat.leaveClan(playerId, clanId);
  756. getPA().removeFromCW();
  757. if (inPits) {
  758. Server.fightPits.removePlayerFromPits(playerId);
  759. }
  760. Misc.println("[DEREGISTERED]: "+playerName+" from IP: " +connectedFrom+ "");
  761. PlayerSave.saveGame(this);
  762. saveCharacter = true;
  763. HostList.getHostList().remove(session);
  764. disconnected = true;
  765. session.close();
  766. session = null;
  767. inStream = null;
  768. outStream = null;
  769. isActive = false;
  770. buffer = null;
  771. super.destruct();
  772. }
  773. }
  774.  
  775. public void mymessage() {
  776. EventManager.getSingleton().addEvent(new Event() {
  777. public void execute(EventContainer c) {
  778. int r3 = 0;
  779. r3 = Misc.random(6);
  780. if (r3 == 0) {
  781. sendMessage(""+ Config.NEWS_ONE +"");
  782. } else if (r3 == 3) {
  783. sendMessage(""+ Config.NEWS_TWO +"");
  784. } else if (r3 == 4) {
  785. sendMessage(""+ Config.NEWS_THREE +"");
  786. } else if (r3 == 5) {
  787. sendMessage(""+ Config.NEWS_FOUR +"");
  788. }
  789. }
  790. }, 160000); //milisecondsservermessage
  791. };
  792.  
  793. /**public void AutoSaveGame() {
  794. EventManager.getSingleton().addEvent(new Event() {
  795. public void execute(EventContainer c) {
  796. int r3 = 0;
  797. r3 = Misc.random(6);
  798. if (r3 == 0) {
  799. SaveGame();
  800. } else if (r3 == 3) {
  801. SaveGame();
  802. } else if (r3 == 4) {
  803. SaveGame();
  804. } else if (r3 == 5) {
  805. SaveGame();
  806. }
  807. }
  808. }, 9000); ///Server Auto Save
  809. };*/
  810.  
  811. public void sendMessage(String s) {
  812. synchronized (this) {
  813. if(getOutStream() != null) {
  814. outStream.createFrameVarSize(253);
  815. outStream.writeString(s);
  816. outStream.endFrameVarSize();
  817. }
  818. }
  819. }
  820.  
  821. public void sendDelayedMessage(String s,int secsUntilDisplay) {
  822. synchronized (this) {
  823. if(getOutStream() != null) {
  824. outStream.createFrameVarSize(253);
  825. outStream.writeString(s);
  826. outStream.endFrameVarSize();
  827. }
  828. }
  829. }
  830. public String[] qCS = { "Attack", "Strength", "Defence", "Ranged", "Prayer", "Magic", "Runecrafting"
  831. , "Hitpoint", "Agility", "Herblore", "Thieving", "Crafting", "Fletching", "Slayer"
  832. , "Mining", "Smithing", "Fishing", "Cooking", "Firemaking", "Woodcutting", "Farming"
  833. };
  834.  
  835. public int[][] qCAB = { {33206, 0},
  836. {33209, 2},
  837. {33212, 1},
  838. {33215, 4},
  839. {33218, 5},
  840. {33221, 6},
  841. {33224, 20},
  842. {33207, 3},
  843. {33210, 16},
  844. {33213, 15},
  845. {33216, 17},
  846. {33219, 12},
  847. {33222, 9},
  848. {47130, 18},
  849. {33208, 14},
  850. {33211, 13},
  851. {33214, 10},
  852. {33217, 7},
  853. {33220, 11},
  854. {33223, 8},
  855. {54104, 19}
  856. };
  857. public String qC = "[Quick Chat] ";
  858. public void setSidebarInterface(int menuId, int form) {
  859. synchronized (this) {
  860. if(getOutStream() != null) {
  861. outStream.createFrame(71);
  862. outStream.writeWord(form);
  863. outStream.writeByteA(menuId);
  864. }
  865. }
  866. }
  867. public void CatchimpNpc(String npcName, int Net, int npcId, int itemId, int AmtExp, int Req, int playerId) {
  868. npcName = Server.npcHandler.getNpcListName(npcId);
  869. if (System.currentTimeMillis() - foodDelay >= 1500) { //anti spamm
  870. if (playerLevel[21] >= Req) { //first we check if he's high enough to catch
  871. if (playerEquipment[playerWeapon] == 10010 || playerEquipment[playerWeapon] == 11259) { //player got net?
  872. if (playerLevel[21] + Misc.random(10) >= Misc.random(20) + Req) { //catch chance
  873. if (Misc.random(1000) == 1) {
  874. sendMessage("You caught a GIGANTIC Impling and gained triple Experience!"); //looks like player got a net
  875. getItems().addItem(722, 1); //itemid is different so its defined in the method
  876. startAnimation(6999); //this always stays 6999, no need to change this
  877. getPA().addSkillXP(AmtExp*3, 21); //AmtExp is different so its defined in the method
  878. } else {
  879. sendMessage("You Catched an Impling!"); //looks like player got a net
  880. getItems().addItem(itemId, 1); //itemid is different so its defined in the method
  881. startAnimation(6999); //this always stays 6999, no need to change this
  882. getPA().addSkillXP(AmtExp, 21); //AmtExp is different so its defined in the method
  883. }
  884. } else {
  885. sendMessage("You Failed To Catch The Impling");
  886. startAnimation(6999);
  887. }
  888. } else { //player got net?
  889. sendMessage("You need to wear a butterfly net!"); //looks like he doesn't
  890. return;
  891. }
  892. } else {
  893. sendMessage("You need atleast "+ Req +" Hunter To catch that Impling!");
  894. return;
  895. }
  896. foodDelay = System.currentTimeMillis();// we use food timer but it really doesn't mather, this is just used for anti-spamm :)
  897. }
  898. }
  899.  
  900.  
  901. public void CatchHunterNpc(String npcName, int Net, int npcId, int itemId, int AmtExp, int Req, int playerId) {
  902. npcName = Server.npcHandler.getNpcListName(npcId);
  903. if (System.currentTimeMillis() - foodDelay >= 1500) { //anti spamm
  904. if (playerLevel[21] >= Req) { //first we check if he's high enough to catch
  905. if (playerEquipment[playerWeapon] == 10010 || playerEquipment[playerWeapon] == 11259) { //player got net?
  906. if (playerLevel[21] + Misc.random(10) >= Misc.random(20) + Req) { //catch chance
  907. if (Misc.random(1000) == 1) {
  908. sendMessage("You caught a GIGANTIC butterfly and gained triple Experience!"); //looks like player got a net
  909. getItems().addItem(722, 1); //itemid is different so its defined in the method
  910. startAnimation(6999); //this always stays 6999, no need to change this
  911. getPA().addSkillXP(AmtExp*3, 21); //AmtExp is different so its defined in the method
  912. } else {
  913. sendMessage("You Caught a Butterfly!"); //looks like player got a net
  914. getItems().addItem(itemId, 1); //itemid is different so its defined in the method
  915. startAnimation(6999); //this always stays 6999, no need to change this
  916. getPA().addSkillXP(AmtExp, 21); //AmtExp is different so its defined in the method
  917. }
  918. } else {
  919. sendMessage("You Failed To Catch The Butterfly");
  920. startAnimation(6999);
  921. }
  922. } else { //player got net?
  923. sendMessage("You need to wear a butterfly net!"); //looks like he doesn't
  924. return;
  925. }
  926. } else {
  927. sendMessage("You need atleast "+ Req +" Hunter To catch that Butterfly!");
  928. return;
  929. }
  930. foodDelay = System.currentTimeMillis();// we use food timer but it really doesn't mather, this is just used for anti-spamm :)
  931. }
  932. }
  933. public boolean checkVotes(String playerName) {
  934. try {
  935. String urlString = "http://mrzeerak8520.wix.com/xenon"+playerName;
  936. urlString = urlString.replaceAll(" ", "%20");
  937. URL url = new URL(urlString);
  938. BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
  939. String results = reader.readLine();
  940. if(results.length() > 0) {
  941. if(results.equals("user needs reward..."))
  942. return true;
  943. else
  944. return false;
  945. }
  946. } catch (MalformedURLException e) {
  947. System.out.println("Malformed URL Exception in checkVotes(String playerName)");
  948. } catch (IOException e) {
  949. System.out.println("IO Exception in checkVotes(String playerName)");
  950. }
  951. return false;
  952. }
  953. public void initialize() {
  954.  
  955. recordLogin = System.currentTimeMillis();
  956. updateRequired = true;
  957. String staffNames[] = { ""+Config.OWNER+"", ""+Config.CO_OWNER+"", ""+Config.HEAD_ADMIN+"", ""+Config.ADMIN+"", ""+Config.HEAD_MOD+"", ""+Config.MOD1+"", ""+Config.MOD2+"", ""+Config.MOD3+"", ""+Config.MOD4+"" };
  958. updateRequired = true;
  959. //Staff Spot 1 Online/Offline
  960. for(int i=0, i2=28000; i < staffNames.length; i++, i2+=2){
  961. getPA().sendFrame126(staffNames[i], i2);
  962. getPA().sendFrame126( ((PlayerHandler.isPlayerOn(staffNames[i]))? "@gre@World 1" : "@red@Offline") , i2 + 1);
  963. updateRequired = true;
  964. }
  965. mymessage();
  966. ///AutoSaveGame();
  967. if(MoneyCash > 99999 && MoneyCash <= 999999) {
  968. getPA().sendFrame126(""+MoneyCash/1000+"K", 8134);
  969. } else if(MoneyCash > 999999 && MoneyCash <= 2147483647) {
  970. getPA().sendFrame126(""+MoneyCash/1000000+"M", 8134);
  971. } else {
  972. getPA().sendFrame126(""+MoneyCash+"", 8134);
  973. }
  974. getPA().sendFrame126(""+MoneyCash+"", 8135);
  975.  
  976. synchronized (this) {
  977. Server.panel.addEntity(playerName);
  978.  
  979.  
  980. sendMessage("Alert##Welcome to Xenon!##X is your owner!##Apply for staff on forums!");
  981. outStream.createFrame(249);
  982. outStream.writeByteA(1); // 1 for members, zero for free
  983. outStream.writeWordBigEndianA(playerId);
  984. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  985. if (j == playerId)
  986. continue;
  987. if (Server.playerHandler.players[j] != null) {
  988. if (Server.playerHandler.players[j].playerName.equalsIgnoreCase(playerName))
  989. disconnected = true;
  990. }
  991. }
  992. getPA().sendFrame126(""+ Config.SERVER_NAME +" Top 10", 6399);
  993. getPA().sendFrame126("Close Window", 6401);
  994. getPA().sendFrame126(" ", 6402);
  995. getPA().sendFrame126(" ", 6403);
  996. getPA().sendFrame126(" ", 6404);
  997.  
  998. getPA().sendFrame126(" ", 6405);
  999. getPA().sendFrame126(""+ Config.SERVER_NAME +"", 640);
  1000. getPA().sendFrame126(" ", 6406);
  1001. getPA().sendFrame126(" ", 6407);
  1002. getPA().sendFrame126(" ", 6408);
  1003. getPA().sendFrame126(" ", 6409);
  1004. getPA().sendFrame126(" ", 6410);
  1005. getPA().sendFrame126(" ", 6411);
  1006. getPA().sendFrame126(" ", 8578);
  1007. getPA().sendFrame126(" ", 8579);
  1008. getPA().sendFrame126(" ", 8580);
  1009. getPA().sendFrame126(" ", 8581);
  1010. getPA().sendFrame126(" ", 8582);
  1011. getPA().sendFrame126(" ", 8583);
  1012. getPA().sendFrame126(" ", 8584);
  1013. getPA().sendFrame126(" ", 8585);
  1014. getPA().sendFrame126(" ", 8586);
  1015. getPA().sendFrame126(" ", 8587);
  1016. getPA().sendFrame126(" ", 8588);
  1017. getPA().sendFrame126(" ", 8589);
  1018. getPA().sendFrame126(" ", 8590);
  1019. getPA().sendFrame126(" ", 8591);
  1020. getPA().sendFrame126(" ", 8592);
  1021. getPA().sendFrame126(" ", 8593);
  1022. getPA().sendFrame126(" ", 8594);
  1023. getPA().sendFrame126(" ", 8595);
  1024. getPA().sendFrame126(" ", 8596);
  1025. getPA().sendFrame126(" ", 8597);
  1026. getPA().sendFrame126(" ", 8598);
  1027. getPA().sendFrame126(" ", 8599);
  1028. getPA().sendFrame126(" ", 8600);
  1029. getPA().sendFrame126(" ", 8601);
  1030. getPA().sendFrame126(" ", 8602);
  1031. getPA().sendFrame126(" ", 8603);
  1032. getPA().sendFrame126(" ", 8604);
  1033. getPA().sendFrame126(" ", 8605);
  1034. getPA().sendFrame126(" ", 8606);
  1035. getPA().sendFrame126(" ", 8607);
  1036. getPA().sendFrame126(" ", 8608);
  1037. getPA().sendFrame126(" ", 8609);
  1038. getPA().sendFrame126(" ", 8610);
  1039. getPA().sendFrame126(" ", 8611);
  1040. getPA().sendFrame126(" ", 8612);
  1041. getPA().sendFrame126(" ", 8613);
  1042. getPA().sendFrame126(" ", 8614);
  1043. getPA().sendFrame126(" ", 8615);
  1044. getPA().sendFrame126(" ", 8616);
  1045. getPA().sendFrame126(" ", 8617);
  1046. for (int i = 0; i < 25; i++) {
  1047. getPA().setSkillLevel(i, playerLevel[i], playerXP[i]);
  1048. getPA().refreshSkill(i);
  1049. }
  1050. for(int p = 0; p < PRAYER.length; p++) { // reset prayer glows
  1051. prayerActive[p] = false;
  1052. getPA().sendFrame36(PRAYER_GLOW[p], 0);
  1053. }
  1054. for(int p = 0; p < CURSE.length; p++) { // reset prayer glows
  1055. curseActive[p] = false;
  1056. getPA().sendFrame36(CURSE_GLOW[p], 0);
  1057. }
  1058. //getPA().sendCrashFrame();
  1059. if (!finishedTut) {
  1060. getDH().sendDialogues(850, -1);
  1061. }
  1062. getPA().handleWeaponStyle();
  1063. getPA().handleLoginText();
  1064. accountFlagged = getPA().checkForFlags();
  1065. //getPA().sendFrame36(43, fightMode-1);
  1066. getPA().sendFrame36(505, 0);
  1067. getPA().sendFrame36(506, 0);
  1068. getPA().sendFrame36(507, 0);
  1069. getPA().sendFrame36(508, 1);
  1070. getPA().sendFrame36(166,4);
  1071. getPA().sendFrame36(108, 0);//resets autocast button
  1072. getPA().sendFrame36(172, 1);
  1073. getPA().sendFrame36(287, 1);
  1074. getPA().sendFrame107(); // reset screen
  1075. getPA().setChatOptions(0, 0, 0); // reset private messaging options
  1076. /**
  1077. *Interfaces For Tabs Start Here.
  1078. **/
  1079. getPA().totallevelsupdate();
  1080. if(playerMagicBook == 0) {
  1081. setSidebarInterface(6, 1151); //modern
  1082. }
  1083. if(playerMagicBook == 1){
  1084. setSidebarInterface(6, 12855); // ancient
  1085. }
  1086. if(playerMagicBook == 2){
  1087. setSidebarInterface(6, 16640);///MAGIC
  1088. }
  1089. if(altarPrayed == 0) {
  1090. setSidebarInterface(5, 5608);///MAGIC
  1091. } else {
  1092. setSidebarInterface(5, 22500); ///MAGIC
  1093. }
  1094. correctCoordinates();
  1095. setSidebarInterface(0, 2423);///Combat
  1096. setSidebarInterface(1, 7101);///Level Tab
  1097. setSidebarInterface(2, 638);///Quest Options
  1098. setSidebarInterface(3, 3213);///Inventory
  1099. setSidebarInterface(4, 1644);///Equpitment
  1100. setSidebarInterface(5, 5608);///Magic
  1101. setSidebarInterface(7, 18128);///Clan Chat
  1102. setSidebarInterface(8, 5065);///Friends List
  1103. ///setSidebarInterface(15, 24500);///Game Options
  1104. setSidebarInterface(9, 24500);///Ingore Tab / ///Game Options
  1105. setSidebarInterface(10, 2449);///Logout Button
  1106. setSidebarInterface(11, 904); ///wrench tab
  1107. setSidebarInterface(12, 147); ///Emote TAB
  1108. setSidebarInterface(13, 962); ///music tab 6299 for lowdetail. 962 for highdetail
  1109. setSidebarInterface(14, 24999); ///Staff List.
  1110. ///setSidebarInterface(14, 4445); ///Game Options with brightness.
  1111. ///setSidebarInterface(15, 24500);///Game Options
  1112. ///setSidebarInterface(15, 9583);///blank
  1113. setSidebarInterface(15, 48700);//SOF TAB
  1114. setSidebarInterface(16, 17011); ///summon
  1115. /**
  1116. *Interfaces for Tabs ends here.
  1117. **/
  1118. getPA().sendFrame126(""+Wheel+" ", 48508);
  1119. getPA().sendFrame126(" "+playersPked+" ", 48512);
  1120. getPA().sendFrame126("@gre@ "+playersPked+" ", 21886);
  1121. getPA().sendFrame126("@gre@ 0", 23886);
  1122. clearQInterface();
  1123. if(lastsummon > 0) {
  1124. Summoning().SummonNewNPC(lastsummon);
  1125. }
  1126. /*if(totalstored > 0) {
  1127. Server.itemHandler.createGroundItem(storeditems[int storeditems], getX(), getY(), 1, getId());
  1128. storeditems[int storeditems] = -1;
  1129. }*/
  1130. if(xpLock == true) {
  1131. sendMessage("<shad=15695415>Your XP is </shad><col=255>locked</col>, <shad=15695415>Didnt mean to lock it? Unlick it under the Equipt Tab!</shad>");
  1132. }
  1133. if(inWarriorG() && heightLevel == 2) {
  1134. getPA().movePlayer(2846, 3540, 2);
  1135. }
  1136. //MadTurnipConnection.addDonateItems(this,playerName);
  1137. getPA().loadAnnouncements();
  1138. getPA().showOption(4, 0,"Follow", 4);
  1139. getPA().showOption(5, 0,"Trade With", 3);
  1140. safeTimer = 0;
  1141. getItems().resetItems(3214);
  1142. getItems().sendWeapon(playerEquipment[playerWeapon], getItems().getItemName(playerEquipment[playerWeapon]));
  1143. getItems().resetBonus();
  1144. getItems().getBonus();
  1145. getPA().sendFrame126("Combat Level: "+getCombatLevel()+"", 3983);
  1146. getItems().writeBonus();
  1147. getItems().setEquipment(playerEquipment[playerHat],1,playerHat);
  1148. getItems().setEquipment(playerEquipment[playerCape],1,playerCape);
  1149. getItems().setEquipment(playerEquipment[playerAmulet],1,playerAmulet);
  1150. getItems().setEquipment(playerEquipment[playerArrows],playerEquipmentN[playerArrows],playerArrows);
  1151. getItems().setEquipment(playerEquipment[playerChest],1,playerChest);
  1152. getItems().setEquipment(playerEquipment[playerShield],1,playerShield);
  1153. getItems().setEquipment(playerEquipment[playerLegs],1,playerLegs);
  1154. getItems().setEquipment(playerEquipment[playerHands],1,playerHands);
  1155. getItems().setEquipment(playerEquipment[playerFeet],1,playerFeet);
  1156. getItems().setEquipment(playerEquipment[playerRing],1,playerRing);
  1157. getItems().setEquipment(playerEquipment[playerWeapon],playerEquipmentN[playerWeapon],playerWeapon);
  1158. getCombat().getPlayerAnimIndex(getItems().getItemName(playerEquipment[playerWeapon]).toLowerCase());
  1159. getPA().logIntoPM();
  1160. getItems().addSpecialBar(playerEquipment[playerWeapon]);
  1161. saveTimer = Config.SAVE_TIMER;
  1162. saveCharacter = true;
  1163. Misc.println("[REGISTERED]: "+playerName+" from IP: " +connectedFrom+ "");
  1164. int size = playerListSize;
  1165. handler.updatePlayer(this, outStream);
  1166. handler.updateNPC(this, outStream);
  1167. flushOutStream();
  1168. getPA().clearClanChat();
  1169. if (addStarter)
  1170. getPA().addStarter();
  1171.  
  1172. if(playerName.equalsIgnoreCase(""+ Config.OWNER +"")) {
  1173. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  1174. if (Server.playerHandler.players[j] != null) {
  1175. Client c2 = (Client)Server.playerHandler.players[j];
  1176. getDH().sendDialogues(28, npcType);
  1177. c2.sendMessage("<col=63487><shad=4980991><img=3> [Main-Owner] <img=3> "+ Config.OWNER +" has just logged in.");
  1178. }
  1179. }
  1180. }
  1181. if(playerName.equalsIgnoreCase(""+ Config.CO_OWNER +"")) {
  1182. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  1183. if (Server.playerHandler.players[j] != null) {
  1184. Client c2 = (Client)Server.playerHandler.players[j];
  1185. getDH().sendDialogues(28, npcType);
  1186. c2.sendMessage("<col=16777215><shad=14024897><img=3> [Co-Owner] <img=3> "+ Config.CO_OWNER +" has just logged in.");
  1187. }
  1188. }
  1189. }
  1190. if (playerRights == 0 && (npcKills >= 1000)) {
  1191. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  1192. if (Server.playerHandler.players[j] != null) {
  1193. Client c2 = (Client)Server.playerHandler.players[j];
  1194. getDH().sendDialogues(28, npcType);
  1195. c2.sendMessage("<shad=7534554>[Member] " +playerName+ " has just logged in.");
  1196. }
  1197. }
  1198. }
  1199. if (playerRights == 0 && (npcKills <= 1000)) {
  1200. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  1201. if (Server.playerHandler.players[j] != null) {
  1202. getDH().sendDialogues(28, npcType);
  1203. }
  1204. }
  1205. }
  1206. if (playerRights == 1) {
  1207. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  1208. if (Server.playerHandler.players[j] != null) {
  1209. Client c2 = (Client)Server.playerHandler.players[j];
  1210. getDH().sendDialogues(28, npcType);
  1211. c2.sendMessage("<col=16777215><shad=58879><img=1> [Moderator] <img=1> " +playerName+ " has just logged in.");
  1212. }
  1213. }
  1214. }
  1215. if (playerRights == 8) {
  1216. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  1217. if (Server.playerHandler.players[j] != null) {
  1218. Client c2 = (Client)Server.playerHandler.players[j];
  1219. getDH().sendDialogues(28, npcType);
  1220. c2.sendMessage("<col=16515072><shad=16712669><img=8> [Graphics Team] <img=8> " +playerName+ " has just logged in.");
  1221. }
  1222. }
  1223. }
  1224. if (playerRights == 5) {
  1225. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  1226. if (Server.playerHandler.players[j] != null) {
  1227. Client c2 = (Client)Server.playerHandler.players[j];
  1228. getDH().sendDialogues(28, npcType);
  1229. c2.sendMessage("<col=16777215><shad=16711705><img=5> [Administrator] <img=5> " +playerName+ " has just logged in.");
  1230. }
  1231. }
  1232. }
  1233. if (playerRights == 4) {
  1234. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  1235. if (Server.playerHandler.players[j] != null) {
  1236. Client c2 = (Client)Server.playerHandler.players[j];
  1237. getDH().sendDialogues(28, npcType);
  1238. c2.sendMessage("<col=16515072><shad=5766915><img=4> [Donator] <img=4> " +playerName+ " has just logged in.");
  1239. }
  1240. }
  1241. }
  1242. if (playerRights == 6) {
  1243. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  1244. if (Server.playerHandler.players[j] != null) {
  1245. Client c2 = (Client)Server.playerHandler.players[j];
  1246. getDH().sendDialogues(28, npcType);
  1247. c2.sendMessage("<col=16515072><shad=262025><img=6> [Super Donator] <img=6> " +playerName+ " has just logged in.");
  1248. }
  1249. }
  1250. }
  1251. if (playerRights == 7) {
  1252. for (int j = 0; j < Server.playerHandler.players.length; j++) {
  1253. if (Server.playerHandler.players[j] != null) {
  1254. Client c2 = (Client)Server.playerHandler.players[j];
  1255. getDH().sendDialogues(28, npcType);
  1256. c2.sendMessage("<col=16515072><shad=65297><img=7> [Extreme Donator] <img=7> " +playerName+ " has just logged in.");
  1257. }
  1258. }
  1259. }
  1260.  
  1261. if (autoRet == 1)
  1262. getPA().sendFrame36(172, 1);
  1263. else
  1264. getPA().sendFrame36(172, 0);
  1265. }
  1266. if (acceptAid) {
  1267. acceptAid = false;
  1268. getPA().sendFrame36(503, 0);
  1269. getPA().sendFrame36(427, 0);
  1270.  
  1271. } else
  1272.  
  1273. acceptAid = true;
  1274. getPA().sendFrame36(503, 1);
  1275. getPA().sendFrame36(427, 1);
  1276. }
  1277.  
  1278.  
  1279.  
  1280. public void update() {
  1281. synchronized (this) {
  1282. handler.updatePlayer(this, outStream);
  1283. handler.updateNPC(this, outStream);
  1284. flushOutStream();
  1285. }
  1286. }
  1287.  
  1288. public boolean wearingArmor() {
  1289. if(playerEquipment[playerHat] > 0)
  1290. return true;
  1291. else if (playerEquipment[playerChest] > 0)
  1292. return true;
  1293. else if(playerEquipment[playerLegs] > 0)
  1294. return true;
  1295. else if(playerEquipment[playerFeet] > 0)
  1296. return true;
  1297. else if(playerEquipment[playerWeapon] > 0)
  1298. return true;
  1299. else if(playerEquipment[playerCape] > 0)
  1300. return true;
  1301. else if(playerEquipment[playerArrows] > 0)
  1302. return true;
  1303. else if(playerEquipment[playerAmulet] > 0)
  1304. return true;
  1305. else if(playerEquipment[playerHands] > 0)
  1306. return true;
  1307. else if(playerEquipment[playerShield] > 0)
  1308. return true;
  1309. else if(playerEquipment[playerRing] > 0)
  1310. return true;
  1311. else
  1312. return false;
  1313. }
  1314.  
  1315.  
  1316.  
  1317. public void logout() {
  1318. pTime += System.currentTimeMillis() - recordLogin;
  1319. synchronized (this) {
  1320. if(System.currentTimeMillis() - logoutDelay > 10000) {
  1321. outStream.createFrame(109);
  1322. properLogout = true;
  1323. PlayerSave.saveGame(this);
  1324. if (lastsummon > 0) {
  1325. for (int i = 0; i < Server.npcHandler.maxNPCs; i++) {
  1326. if (Server.npcHandler.npcs[i] != null) {
  1327. if (Server.npcHandler.npcs[i].summon == true) {
  1328. if (Server.npcHandler.npcs[i].spawnedBy == getId()) {
  1329. Server.npcHandler.npcs[i].isDead = true;
  1330. Server.npcHandler.npcs[i].applyDead = true;
  1331. Server.npcHandler.npcs[i].summon = false;
  1332. }
  1333. }
  1334. }
  1335. }
  1336. }
  1337. saveCharacter = true;
  1338. } else {
  1339. sendMessage("You must wait a few seconds from being out of combat before you can do this.");
  1340. }
  1341. }
  1342. }
  1343. public void SaveGame() {
  1344. synchronized (this) {
  1345. PlayerSave.saveGame(this);
  1346. }
  1347. }
  1348. public int packetSize = 0, packetType = -1;
  1349. public long saveGameDelay;
  1350.  
  1351. public long appendPlayTime(){
  1352. return (System.currentTimeMillis() - recordLogin) + pTime;
  1353. }
  1354. public long totalPlaytime(){
  1355. return (appendPlayTime() / 1000);
  1356. }
  1357. public String getPlaytime(){
  1358. long DAY = (totalPlaytime() / 86400);
  1359. long HR = (totalPlaytime() / 3600) - (DAY * 24);
  1360. long MIN = (totalPlaytime() / 60) - (DAY * 1440) - (HR * 60);
  1361. return ("@gre@Days:@cya@"+DAY+" @gre@Hours:@cya@"+HR+" @gre@Minutes:@cya@"+MIN+"");
  1362. }
  1363. public String getSmallPlaytime(){
  1364. long DAY = (totalPlaytime() / 86400);
  1365. long HR = (totalPlaytime() / 3600) - (DAY * 24);
  1366. long MIN = (totalPlaytime() / 60) - (DAY * 1440) - (HR * 60);
  1367. long SEC = totalPlaytime() - (DAY * 86400) - (HR * 3600) - (MIN * 60);
  1368. return ("Day:"+DAY+"/Hr:"+HR+"/Min:"+MIN+"/Sec:"+SEC);
  1369. }
  1370.  
  1371. public void process() {
  1372. /**applyFollowing();
  1373.  
  1374. if(followId > 0) {
  1375.  
  1376. getPA().followPlayer();
  1377.  
  1378. } else if (followId2 > 0) {
  1379.  
  1380. getPA().followNpc();
  1381.  
  1382. }*/
  1383. int totalz = (getLevelForXP(playerXP[0]) + getLevelForXP(playerXP[1]) + getLevelForXP(playerXP[2]) + getLevelForXP(playerXP[3]) + getLevelForXP(playerXP[4]) + getLevelForXP(playerXP[5]) + getLevelForXP(playerXP[6]) + getLevelForXP(playerXP[7]) + getLevelForXP(playerXP[8]) + getLevelForXP(playerXP[9]) + getLevelForXP(playerXP[10]) + getLevelForXP(playerXP[11]) + getLevelForXP(playerXP[12]) + getLevelForXP(playerXP[13]) + getLevelForXP(playerXP[14]) + getLevelForXP(playerXP[15]) + getLevelForXP(playerXP[16]) + getLevelForXP(playerXP[17]) + getLevelForXP(playerXP[18]) + getLevelForXP(playerXP[19]) + getLevelForXP(playerXP[20]));;
  1384. for (int d = 0; d <= 10; d++) {
  1385. if (totalz >= ranks[d]) {
  1386. if (d == 0) {
  1387. if (d == 0) {
  1388. playerRank = d+1;
  1389. ranks[d] = totalz;
  1390. rankPpl[d] = playerName;
  1391. }else if (d < 10){
  1392. if (totalz < ranks[d-1]) {
  1393. playerRank = d+1;
  1394. ranks[d] = totalz;
  1395. rankPpl[d] = playerName;
  1396. }
  1397. }else{
  1398. if (totalz < ranks[d-1]) {
  1399. playerRank = 0;
  1400. }
  1401. }
  1402. }
  1403. }
  1404. }
  1405. if(dungRest > 0) {
  1406. dungRest --;
  1407. }
  1408. if(lastRefresh == 0 || (System.currentTimeMillis() - lastRefresh >= 60000)){
  1409. lastRefresh = System.currentTimeMillis();
  1410. getPA().sendFrame126("Time Played", 663);
  1411. }
  1412. getPA().sendFrame126(""+dungPoints+"", 18071);
  1413. FetchDice();
  1414. for (int d = 0; d <= 10; d++) {
  1415. if (totalz >= ranks[d]) {
  1416. if (d == 0) {
  1417. if (d == 0) {
  1418. playerRank = d+1;
  1419. ranks[d] = totalz;
  1420. rankPpl[d] = playerName;
  1421. }else if (d < 10){
  1422. if (totalz < ranks[d-1]) {
  1423. playerRank = d+1;
  1424. ranks[d] = totalz;
  1425. rankPpl[d] = playerName;
  1426. }
  1427. }else{
  1428. if (totalz < ranks[d-1]) {
  1429. playerRank = 0;
  1430. }
  1431. }
  1432. }
  1433. }
  1434. }
  1435.  
  1436.  
  1437. if(inWild()) {
  1438. safeTimer = 10;
  1439. }
  1440. if(safeTimer > 0 && !inWild()) {
  1441. safeTimer--;
  1442. }
  1443. /**
  1444. *Staff Tab
  1445. **/
  1446. ///getPA().sendFrame126(""+Config.OWNER+"", 28000);
  1447. ///getPA().sendFrame126("@Gre@World 1", 28001);
  1448. getPA().sendFrame126("@gre@Staff Title", 17228);
  1449. getPA().sendFrame126("M-Owner", 17229);
  1450. getPA().sendFrame126("[Main]", 17230);
  1451. getPA().sendFrame126("C-Owner", 17231);
  1452. getPA().sendFrame126("[Co]", 17232);
  1453. getPA().sendFrame126("H-Admin", 17233);
  1454. getPA().sendFrame126("[Head-A]", 17234);
  1455. getPA().sendFrame126("Admin", 17235);
  1456. getPA().sendFrame126("[Admin]", 17236);
  1457. getPA().sendFrame126("H-Mod", 17237);
  1458. getPA().sendFrame126("[Head-M]", 17238);
  1459. getPA().sendFrame126("Mod", 17239);
  1460. getPA().sendFrame126("[Mod]", 17240);
  1461. getPA().sendFrame126("Donator", 17241);
  1462. getPA().sendFrame126("[Donator]", 17242);
  1463. getPA().sendFrame126("Graphics", 17243);
  1464. getPA().sendFrame126("[G-Team]", 17244);
  1465. /**
  1466. *Achievement Tab
  1467. **/
  1468. getPA().sendFrame126("@or1@"+Config.SERVER_NAME+" Staff:", 29295);
  1469. getPA().sendFrame126("@whi@Main Owner: @gre@"+ Config.OWNER +"", 29296);
  1470. getPA().sendFrame126("@whi@Co Owner: @gre@"+ Config.CO_OWNER +"", 29297);
  1471. getPA().sendFrame126("@whi@Head Admin: @gre@"+ Config.HEAD_ADMIN +"", 29298);
  1472. getPA().sendFrame126("@whi@Admin: @gre@"+ Config.ADMIN +"", 29299);
  1473. getPA().sendFrame126("@whi@Head Mod: @gre@"+ Config.HEAD_MOD +"", 29300);
  1474. getPA().sendFrame126("@whi@Mod 1: @gre@ "+ Config.MOD1 +"", 29301);
  1475. getPA().sendFrame126("@whi@Mod 2: @gre@"+ Config.MOD2 +"", 29302);
  1476. getPA().sendFrame126("@whi@Mod 3: @gre@ "+ Config.MOD3 +"", 29303);
  1477. getPA().sendFrame126("@whi@Mod 4: @gre@ "+ Config.MOD4 +"", 29304);
  1478. getPA().sendFrame126("@whi@Graphics Team: @gre@"+ Config.GRAPHICS_TEAM +"", 29305);
  1479. getPA().sendFrame126("@gre@--------------------------------------", 29306);
  1480. getPA().sendFrame126("@or1@Donaotr Options:", 29307);
  1481. if (isDonator >= 1)
  1482. getPA().sendFrame126("@gre@Donator Chest Points: @cya@ " +donatorChest+ " ", 29308);
  1483. if (isDonator >= 1)
  1484. getPA().sendFrame126("@gre@Spins Left: @cya@"+Wheel+" ", 29309);
  1485. if (isDonator >= 1)
  1486. getPA().sendFrame126("@gre@Donator Points: @cya@ " +donorPoints+ " ", 29310);
  1487. if (isDonator >= 1)
  1488. getPA().sendFrame126("@gre@Refil your Special Attack", 29311);
  1489. if (isDonator >= 1)
  1490. getPA().sendFrame126("Donator Player Title", 29312);
  1491. /**
  1492. *Queat Tab Starts Here
  1493. **/
  1494. getPA().sendFrame126("@gre@"+ Config.SERVER_NAME +": @whi@" + PlayerHandler.getPlayerCount() + " @Cya@Online", 29155);
  1495. getPA().sendFrame126("@cya@"+ Config.FORUMS +"", 29164);
  1496. getPA().sendFrame126("" + getPlaytime() + "", 29165);
  1497. ///Staff List Ends Here
  1498. getPA().sendFrame126("@gre@--------------------------------------", 29166);
  1499. getPA().sendFrame126("@or1@Xenon Options:", 29167);
  1500. getPA().sendFrame126("@gre@Level Points: @cya@ " + lvlPoints + "", 29168);
  1501. getPA().sendFrame126("@gre@Vote Points: @cya@"+votePoints+"", 29169);
  1502. getPA().sendFrame126("@gre@Zombie Points: @cya@ " +pfPoints+" ", 29170);
  1503. getPA().sendFrame126("@gre@Dung Points: @cya@" +dungPoints+" ", 29171);
  1504. getPA().sendFrame126("@gre@Pk Points: @cya@"+pkPoints+" ", 29172);
  1505. getPA().sendFrame126("@gre@You voted @cya@" + voteAmount + " @gre@times", 29173);
  1506. getPA().sendFrame126("@gre@KillStreak: @cya@" + killStreak + " ", 29174);
  1507. getPA().sendFrame126("@gre@You killed @cya@" + npcKills + " @gre@Npcs", 29175);
  1508. getPA().sendFrame126("@gre@---------------------------------------", 29176);
  1509. getPA().sendFrame126("@or1@Player Options:", 29177);
  1510. getPA().sendFrame126("@cya@Playername: @whi@"+ Misc.optimizeText(playerName) +" " , 29178);
  1511. if (playerName.equalsIgnoreCase("Jordan"))
  1512. getPA().sendFrame126("@cya@Rank: @whi@Server Dicer", 29179);
  1513. else if (playerName.equalsIgnoreCase("X"))
  1514. getPA().sendFrame126("@cya@Rank: @whi@Main-Owner", 29179);
  1515. else if (playerRights == 4)
  1516. getPA().sendFrame126("@cya@Rank: @whi@Donator", 29179);
  1517. else if (playerRights == 3)
  1518. getPA().sendFrame126("@cya@Rank: @whi@Owner", 29179);
  1519. else if (playerRights == 5)
  1520. getPA().sendFrame126("@cya@Rank: @whi@Admin", 29179);
  1521. else if (playerRights == 1)
  1522. getPA().sendFrame126("@cya@Rank: @whi@Mod", 29179);
  1523. else if (playerRights == 0)
  1524. getPA().sendFrame126("@cya@Rank: @whi@Player", 29179);
  1525. getPA().sendFrame126("@cya@Save Game ", 29180);
  1526. getPA().sendFrame126("@cya@Items kept on death ", 29181);
  1527. getPA().sendFrame126("@cya@Combat Level: @whi@" +combatLevel+ " ", 29182);
  1528. if (npcKills >= 1000)
  1529. getPA().sendFrame126("@whi@[Member]Members Title", 29183);
  1530. getPA().sendFrame126("", 29184);
  1531. getPA().sendFrame126("@cya@Player Kills: @whi@" +playersPked+" ", 29185);
  1532. getPA().sendFrame126("@cya@Player Deaths: @whi@" +amountDied+"", 29186);
  1533. getPA().sendFrame126("@cya@Exp Lock Status: @whi@"+xpLock+" ", 29187);
  1534. getPA().sendFrame126("@or1@-----------------------------------------------", 29188);
  1535. getPA().sendFrame126("@gre@Slayer Options:", 29189);
  1536. getPA().sendFrame126("@gre@Slayer Points: @cya@" + SPoints + "", 29190);
  1537. getPA().sendFrame126("@gre@Slayer Task: @cya@"+Server.npcHandler.getNpcListName(slayerTask)+" ", 29191);
  1538. getPA().sendFrame126(" @cya@ Amount: @cya@"+taskAmount+" ", 29192);
  1539. /**
  1540. *Quest Tab Options End Here
  1541. **/
  1542. ///c.getDH().sendDialogues(28, npcType);
  1543. getPA().sendFrame126(" Welcome To Xenon", 15257);
  1544. getPA().sendFrame126("@bla@You last logged in from IP: @red@" +connectedFrom+ " @bla@Withe the username: @red@"+playerName+"", 15258);
  1545. getPA().sendFrame126("Register to the fun on the forums", 15259);
  1546. getPA().sendFrame126("@gre@Staff spots open", 15260);
  1547. getPA().sendFrame126("@gre@X will @red@NEVER @gre@ask for your Password.", 15261);
  1548. if (npcKills >= 1000)
  1549. getPA().sendFrame126("Player Status: @cya@ Member", 15262);
  1550. if (npcKills <= 999)
  1551. getPA().sendFrame126("Player Status: @cya@ Guest", 15262);
  1552. getPA().sendFrame126("CLICK HERE TO PLAY", 15263);
  1553. getPA().sendFrame126("Character Username: @gre@"+playerName+" @Gre@[@red@"+combatLevel+"@gre@] Level.", 15270);
  1554.  
  1555. getPA().sendFrame126("@gre@KC: ", 11005);
  1556. getPA().sendFrame126("@red@DC: ", 11006);
  1557. getPA().sendFrame126("@yel@Level: ", 11007);
  1558. getPA().sendFrame126("@gre@"+playersPked+"", 11008);
  1559. getPA().sendFrame126("@red@"+amountDied+"", 11009);
  1560. /**
  1561. *Option Tab Options Starts Here
  1562. **/
  1563. /**getPA().sendFrame126("Xenon", 29266);
  1564. getPA().sendFrame126("Xenon Staff List:", 29295);
  1565. getPA().sendFrame126("Main Owner: "+ Config.OWNER +"", 29296);
  1566. getPA().sendFrame126("Co-Owner: "+ Config.CO_OWNER +"", 29297);
  1567. getPA().sendFrame126("Admin: "+ Config.ADMIN +"", 29298);
  1568. getPA().sendFrame126("Head Mod: "+ Config.HEAD_MOD +"", 29299);
  1569. getPA().sendFrame126("Mod: "+ Config.MOD +"", 29300);
  1570. getPA().sendFrame126("Xenon Points:", 29302);
  1571. getPA().sendFrame126("@cya@Donator Points: @blu@ " +donorPoints+ " ", 29303);
  1572. getPA().sendFrame126("@whi@Spins Left: @cya@"+Wheel+" ", 29304);
  1573. getPA().sendFrame126("@whi@Level Points: @cya@ " + lvlPoints + " ", 29305);
  1574. getPA().sendFrame126("@cya@TXPoints: @blu@ " +pfPoints+" ", 29306);
  1575. getPA().sendFrame126("@cya@Dung Points: @blu@" +dungPoints+" ", 29307);
  1576. getPA().sendFrame126("@cya@"+ Config.SERVER_NAME +" points: @blu@"+pkPoints+" ", 29308);
  1577. getPA().sendFrame126("@whi@KillStreak: @cya@" + killStreak + " ", 29309);
  1578. /**
  1579. *Option Tab Options End Here
  1580. **/
  1581.  
  1582. /**Client all = (Client)Server.playerHandler.players[i];
  1583. if (killStreak == 2) {
  1584. getItems().addItem(995,2000000);
  1585. }*/
  1586. if (getItems().updateInventory)
  1587. getItems().updateInventory();
  1588.  
  1589. if (SpeDelay > 0) {
  1590. startAnimation(3170);//if loading 602 (3170)
  1591. dealDamage(10);
  1592. handleHitMask(10);
  1593. SpeDelay -= 1;
  1594. getPA().refreshSkill(3);
  1595. }
  1596.  
  1597.  
  1598.  
  1599. if(trade11 > 0) {
  1600. trade11--;
  1601. }
  1602. if(vestaDelay > 0) {
  1603. vestaDelay--;
  1604. }
  1605. if(gwdelay > 0) {
  1606. gwdelay--;
  1607. }
  1608. if(summonSpec > 0) {
  1609. summonSpec--;
  1610. }
  1611. if(clawDelay > 0) {
  1612. clawDelay--;
  1613. }
  1614. if(clawDelay == 1) {
  1615. delayedDamage = clawDamage/4;
  1616. delayedDamage2 = (clawDamage/4)+1;
  1617. if(clawType == 2) {
  1618. getCombat().applyNpcMeleeDamage(clawIndex, 1, clawDamage/4);
  1619. }
  1620. if(clawType == 1) {
  1621. getCombat().applyPlayerMeleeDamage(clawIndex, 1, clawDamage/4);
  1622. }
  1623. if(clawType == 2) {
  1624. getCombat().applyNpcMeleeDamage(clawIndex, 2, (clawDamage/4) + 1);
  1625. }
  1626. if(clawType == 1) {
  1627. getCombat().applyPlayerMeleeDamage(clawIndex, 2, (clawDamage/4) + 1);
  1628. }
  1629. clawDelay = 0;
  1630. specEffect = 0;
  1631. previousDamage = 0;
  1632. usingClaws = false;
  1633. clawType = 0;
  1634. }
  1635.  
  1636. } else if (miningTimer > 0 && mining[0] > 0) {
  1637. miningTimer--;
  1638. } else if (miningTimer == 0 && mining[0] > 0) {
  1639. getMining().mineOre();
  1640. if (smeltTimer > 0 && smeltType > 0) {
  1641. smeltTimer--;
  1642. if (smeltTimer == 0 && smeltType > 0) {
  1643. getSmithing().smelt(smeltType);
  1644. getSmithing().smelt(smeltType);
  1645. }
  1646. }
  1647. if(System.currentTimeMillis() - saveGameDelay > Config.SAVE_TIMER && !disconnected) {
  1648. saveCharacter = true;
  1649. saveGameDelay = System.currentTimeMillis();
  1650. }
  1651.  
  1652.  
  1653. if (System.currentTimeMillis() - lastPoison > 20000 && poisonDamage > 0) {
  1654. int damage = poisonDamage/2;
  1655. if (damage > 0) {
  1656. if (!getHitUpdateRequired()) {
  1657. setHitUpdateRequired(true);
  1658. setHitDiff(damage);
  1659. updateRequired = true;
  1660. poisonMask = 1;
  1661. } else if (!getHitUpdateRequired2()) {
  1662. setHitUpdateRequired2(true);
  1663. setHitDiff2(damage);
  1664. updateRequired = true;
  1665. poisonMask = 2;
  1666. }
  1667. lastPoison = System.currentTimeMillis();
  1668. poisonDamage--;
  1669. dealDamage(damage);
  1670. } else {
  1671. poisonDamage = -1;
  1672. sendMessage("You are no longer poisoned.");
  1673. }
  1674. }
  1675.  
  1676.  
  1677.  
  1678. if(System.currentTimeMillis() - duelDelay > 800 && duelCount > 0) {
  1679. if(duelCount != 1) {
  1680. forcedChat(""+(--duelCount));
  1681. duelDelay = System.currentTimeMillis();
  1682. } else {
  1683. damageTaken = new int[Config.MAX_PLAYERS];
  1684. forcedChat("FIGHT!");
  1685. duelCount = 0;
  1686. }
  1687. }
  1688.  
  1689. if(System.currentTimeMillis() - specDelay > Config.INCREASE_SPECIAL_AMOUNT_WITH_RING && playerEquipment[playerRing] == 19669) {
  1690. specDelay = System.currentTimeMillis();
  1691. if(specAmount < 10) {
  1692. specAmount += .5;
  1693. if (specAmount > 10)
  1694. specAmount = 10;
  1695. getItems().addSpecialBar(playerEquipment[playerWeapon]);
  1696. }
  1697. } else if(System.currentTimeMillis() - specDelay > Config.INCREASE_SPECIAL_AMOUNT) {
  1698. specDelay = System.currentTimeMillis();
  1699. if(specAmount < 10) {
  1700. specAmount += .5;
  1701. if (specAmount > 10)
  1702. specAmount = 10;
  1703. getItems().addSpecialBar(playerEquipment[playerWeapon]);
  1704. }
  1705. }
  1706.  
  1707. if(clickObjectType > 0 && goodDistance(objectX + objectXOffset, objectY + objectYOffset, getX(), getY(), objectDistance)) {
  1708. if(clickObjectType == 1) {
  1709. getActions().firstClickObject(objectId, objectX, objectY);
  1710. }
  1711. if(clickObjectType == 2) {
  1712. getActions().secondClickObject(objectId, objectX, objectY);
  1713. }
  1714. if(clickObjectType == 3) {
  1715. getActions().thirdClickObject(objectId, objectX, objectY);
  1716. }
  1717. }
  1718.  
  1719. if((clickNpcType > 0) && Server.npcHandler.npcs[npcClickIndex] != null) {
  1720. if(goodDistance(getX(), getY(), Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY(), 1)) {
  1721. if(clickNpcType == 1) {
  1722. turnPlayerTo(Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY());
  1723. Server.npcHandler.npcs[npcClickIndex].facePlayer(playerId);
  1724. getActions().firstClickNpc(npcType);
  1725. }
  1726. if(clickNpcType == 2) {
  1727. turnPlayerTo(Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY());
  1728. Server.npcHandler.npcs[npcClickIndex].facePlayer(playerId);
  1729. getActions().secondClickNpc(npcType);
  1730. }
  1731. if(clickNpcType == 3) {
  1732. turnPlayerTo(Server.npcHandler.npcs[npcClickIndex].getX(), Server.npcHandler.npcs[npcClickIndex].getY());
  1733. Server.npcHandler.npcs[npcClickIndex].facePlayer(playerId);
  1734. getActions().thirdClickNpc(npcType);
  1735. }
  1736. }
  1737. }
  1738.  
  1739. if(walkingToItem) {
  1740. if(getX() == pItemX && getY() == pItemY || goodDistance(getX(), getY(), pItemX, pItemY,1)) {
  1741. walkingToItem = false;
  1742. Server.itemHandler.removeGroundItem(this, pItemId, pItemX, pItemY, true);
  1743. }
  1744. }
  1745.  
  1746. if(followId > 0) {
  1747. getPA().followPlayer(playerIndex);
  1748. } else if (followId2 > 0) {
  1749. getPA().followNpc();
  1750. }
  1751. getFishing().FishingProcess();
  1752. if (easyMode || mediumMode)
  1753. getCombat().handlePrayerDrain();
  1754.  
  1755. if(System.currentTimeMillis() - singleCombatDelay > 3300) {
  1756. underAttackBy = 0;
  1757. }
  1758. if (System.currentTimeMillis() - singleCombatDelay2 > 3300) {
  1759. underAttackBy2 = 0;
  1760. }
  1761.  
  1762. if(System.currentTimeMillis() - restoreStatsDelay > 60000) {
  1763. restoreStatsDelay = System.currentTimeMillis();
  1764. for (int level = 0; level < playerLevel.length; level++) {
  1765. if (playerLevel[level] < getLevelForXP(playerXP[level])) {
  1766. if(level != 5 && level != 3) { // prayer doesn't restore
  1767. playerLevel[level] += 1;
  1768. getPA().setSkillLevel(level, playerLevel[level], playerXP[level]);
  1769. getPA().refreshSkill(level);
  1770. }
  1771. } else if (playerLevel[level] > getLevelForXP(playerXP[level])) {
  1772. if(level != 5 && level != 3) { // prayer doesn't restore
  1773. playerLevel[level] -= 1;
  1774. getPA().setSkillLevel(level, playerLevel[level], playerXP[level]);
  1775. getPA().refreshSkill(level);
  1776. }
  1777. }
  1778. }
  1779. if (playerLevel[3] > calculateMaxLifePoints()) {
  1780. playerLevel[3] -= 1;
  1781. getPA().setSkillLevel(3, playerLevel[3], playerXP[3]);
  1782. getPA().refreshSkill(3);
  1783. } else if (playerLevel[3] < calculateMaxLifePoints()) {
  1784. playerLevel[3] += 1;
  1785. getPA().setSkillLevel(3, playerLevel[3], playerXP[3]);
  1786. getPA().refreshSkill(3);
  1787. }
  1788. }
  1789.  
  1790. if(System.currentTimeMillis() - teleGrabDelay > 1550 && usingMagic) {
  1791. usingMagic = false;
  1792. if(Server.itemHandler.itemExists(teleGrabItem, teleGrabX, teleGrabY)) {
  1793. Server.itemHandler.removeGroundItem(this, teleGrabItem, teleGrabX, teleGrabY, true);
  1794. }
  1795. }
  1796. if(inWild() && !isInPbox() && !isInArd() && !isInFala() && !inFunPk()) {
  1797. int modY = absY > 6400 ? absY - 6400 : absY;
  1798. wildLevel = (((modY - 3520) / 8) + 1);
  1799. EarningPotential.checkPotential(this);
  1800. getPA().walkableInterface(11021);
  1801. if(Config.SINGLE_AND_MULTI_ZONES) {
  1802. if(inMulti()) {
  1803. getPA().sendFrame126("@yel@"+wildLevel, 11010);
  1804. } else {
  1805. getPA().sendFrame126("@yel@"+wildLevel, 11010);
  1806. }
  1807. } else {
  1808. getPA().multiWay(-1);
  1809. getPA().sendFrame126("@yal@"+wildLevel, 11010);
  1810. }
  1811. getPA().showOption(3, 0, "Attack", 1);
  1812. } else if (!inWild() && !inDuelArena() && safeTimer <= 0 && !inGWD() && !inPcBoat() && !inPcGame()){ //this makes it so attack option is visible on wild and challenge in duel =)
  1813. getPA().showOption(3, 0, "@or1@Browse Goods", 1);
  1814. getPA().walkableInterface(-1);
  1815. } else if (!inWild() && safeTimer > 0){
  1816. getPA().walkableInterface(11021);
  1817. wildLevel = (60);
  1818. getPA().showOption(3, 0, "Attack", 1);
  1819. getPA().sendFrame126("@or1@"+safeTimer, 11010);
  1820. getPA().sendFrame126("@gre@SafeZone", 11007);
  1821. } else if(safeZone()) {
  1822. getPA().walkableInterface(11021);
  1823. getPA().sendFrame126("@gre@SafeZone", 11010);
  1824. } else if(inPcBoat()) {
  1825. getPA().walkableInterface(21005);
  1826. } else if(!inWild() && !inPcBoat() && !inPcGame() && snowOn == 0) {
  1827. getPA().walkableInterface(11021);
  1828. } else if(inFunPk()) {
  1829. getPA().walkableInterface(11021);
  1830. getPA().sendFrame126("@gre@FunPk", 11010);
  1831. getPA().showOption(3, 0, "Attack", 1);
  1832. wildLevel = 55;
  1833. } else if(inPcGame()) {
  1834. getPA().walkableInterface(21100);
  1835. } else if (inDuelArena()) {
  1836. getPA().walkableInterface(11021);
  1837. getPA().sendFrame126("@gre@Duel Arena", 11010);
  1838. if(duelStatus == 5) {
  1839. getPA().showOption(3, 0, "Attack", 1);
  1840. getPA().sendFrame126("@gre@Duel Arena", 11010);
  1841. } else {
  1842. getPA().showOption(3, 0, "Challenge", 1);
  1843. getPA().sendFrame126("@gre@Duel Arena", 11010);
  1844. }
  1845. /**} else if (nHome()) {
  1846. getPA().walkableInterface(11021);
  1847. */
  1848. } else if (inFunPk()) {
  1849. getPA().walkableInterface(11021);
  1850. getPA().sendFrame126("@gre@FunPk", 11010);
  1851. getPA().showOption(3, 0, "Attack", 1);
  1852.  
  1853. getPA().showOption(3, 0, "Attack", 1);
  1854. } else if(inBarrows()){
  1855. getPA().sendFrame99(2);
  1856. getPA().sendFrame126("Kill Count: "+barrowsKillCount, 4536);
  1857. getPA().walkableInterface(4535);
  1858.  
  1859. } else if (InDung()){
  1860. getPA().sendFrame126("@gre@Dungeoneering", 11010);
  1861.  
  1862. } else if(inGWD()){
  1863. getPA().GWKC();
  1864.  
  1865.  
  1866. } else if(safeZone()){
  1867. getPA().walkableInterface(11021);
  1868. getPA().showOption(3, 0, "Attack", 1);
  1869. if(Config.SINGLE_AND_MULTI_ZONES) {
  1870. if(inMulti()) {
  1871. getPA().sendFrame126("@gre@SafeZone", 11010);
  1872. } else {
  1873. getPA().sendFrame126("@gre@SafeZone", 11010);
  1874. }
  1875. } else {
  1876. getPA().multiWay(-1);
  1877. getPA().sendFrame126("@gre@SafeZone", 11010);
  1878. }
  1879.  
  1880.  
  1881. } else if(isInFala()){
  1882. int modY = absY > 6400 ? absY - 6400 : absY;
  1883. wildLevel = 12;
  1884. getPA().walkableInterface(11021);
  1885. getPA().showOption(3, 0, "Attack", 1);
  1886. if(Config.SINGLE_AND_MULTI_ZONES) {
  1887. if(inMulti()) {
  1888. HighAndLow();
  1889. } else {
  1890. HighAndLow();
  1891. }
  1892. }
  1893. } else if(isInPbox()){
  1894. int modY = absY > 6400 ? absY - 6400 : absY;
  1895. wildLevel = 12;
  1896. getPA().walkableInterface(11021);
  1897. getPA().showOption(3, 0, "Attack", 1);
  1898. if(Config.SINGLE_AND_MULTI_ZONES) {
  1899. if(inMulti()) {
  1900. HighAndLow();
  1901. } else {
  1902. HighAndLow();
  1903. }
  1904. }
  1905. } else if(isInArd()){
  1906. int modY = absY > 6400 ? absY - 6400 : absY;
  1907. wildLevel = 12;
  1908. getPA().walkableInterface(11021);
  1909. getPA().showOption(3, 0, "Attack", 1);
  1910. if(Config.SINGLE_AND_MULTI_ZONES) {
  1911. if(inMulti()) {
  1912. HighAndLow();
  1913. } else {
  1914. HighAndLow();
  1915. }
  1916. } else {
  1917. getPA().multiWay(-1);
  1918. HighAndLow();}
  1919. getPA().showOption(3, 0, "Attack", 1);
  1920. } else if (inCwGame || inPits) {
  1921. getPA().showOption(3, 0, "Attack", 1);
  1922. } else if (getPA().inPitsWait()) {
  1923. getPA().showOption(3, 0, "Loading...", 1);
  1924. }else if (!inCwWait) {
  1925. getPA().sendFrame99(0);
  1926. getPA().walkableInterface(-1);
  1927. getPA().showOption(3, 0, "Loading...", 1);
  1928. }
  1929.  
  1930. if(!hasMultiSign && inMulti()) {
  1931. hasMultiSign = true;
  1932. getPA().multiWay(1);
  1933. }
  1934.  
  1935. if(hasMultiSign && !inMulti()) {
  1936. hasMultiSign = false;
  1937. getPA().multiWay(-1);
  1938. }
  1939.  
  1940. if(skullTimer > 0) {
  1941. skullTimer--;
  1942. if(skullTimer == 1) {
  1943. isSkulled = false;
  1944. attackedPlayers.clear();
  1945. headIconPk = -1;
  1946. skullTimer = -1;
  1947. getPA().requestUpdates();
  1948. }
  1949. }
  1950.  
  1951. if(isDead && respawnTimer == -6) {
  1952. getPA().applyDead();
  1953. }
  1954. if(specRestore > 0) {
  1955. specRestore --;
  1956. }
  1957.  
  1958.  
  1959. if(respawnTimer == 7) {
  1960. respawnTimer = -6;
  1961. getPA().giveLife();
  1962. } else if(respawnTimer == 12) {
  1963. respawnTimer--;
  1964. startAnimation(836);
  1965. poisonDamage = -1;
  1966. }
  1967.  
  1968. if(respawnTimer > -6) {
  1969. respawnTimer--;
  1970. }
  1971. if(freezeTimer > -6) {
  1972. freezeTimer--;
  1973. if (frozenBy > 0) {
  1974. if (Server.playerHandler.players[frozenBy] == null) {
  1975. freezeTimer = -1;
  1976. frozenBy = -1;
  1977. } else if (!goodDistance(absX, absY, Server.playerHandler.players[frozenBy].absX, Server.playerHandler.players[frozenBy].absY, 20)) {
  1978. freezeTimer = -1;
  1979. frozenBy = -1;
  1980. }
  1981. }
  1982. }
  1983.  
  1984. if(hitDelay > 0) {
  1985. hitDelay--;
  1986. }
  1987.  
  1988. if(teleTimer > 0) {
  1989. teleTimer--;
  1990. if (!isDead) {
  1991. if(teleTimer == 1 && newLocation > 0) {
  1992. teleTimer = 0;
  1993. getPA().changeLocation();
  1994. }
  1995. if(teleTimer == 5) {
  1996. teleTimer--;
  1997. getPA().processTeleport();
  1998. }
  1999. if(teleTimer == 9 && teleGfx > 0) {
  2000. teleTimer--;
  2001. gfx100(teleGfx);
  2002. }
  2003. } else {
  2004. teleTimer = 0;
  2005. }
  2006. }
  2007.  
  2008. if(hitDelay == 1) {
  2009. if(oldNpcIndex > 0) {
  2010. getCombat().delayedHit(oldNpcIndex);
  2011. }
  2012. if(oldPlayerIndex > 0) {
  2013. getCombat().playerDelayedHit(oldPlayerIndex);
  2014. }
  2015. }
  2016.  
  2017. if(attackTimer > 0) {
  2018. attackTimer--;
  2019. }
  2020.  
  2021. if(attackTimer == 1){
  2022. if(npcIndex > 0 && clickNpcType == 0) {
  2023. getCombat().attackNpc(npcIndex);
  2024. }
  2025. if(playerIndex > 0) {
  2026. getCombat().attackPlayer(playerIndex);
  2027. }
  2028. } else if (attackTimer <= 0 && (npcIndex > 0 || playerIndex > 0)) {
  2029. if (npcIndex > 0) {
  2030. attackTimer = 0;
  2031. getCombat().attackNpc(npcIndex);
  2032. } else if (playerIndex > 0) {
  2033. attackTimer = 0;
  2034. getCombat().attackPlayer(playerIndex);
  2035. }
  2036. }
  2037.  
  2038. if(timeOutCounter > Config.TIMEOUT) {
  2039. disconnected = true;
  2040. }
  2041.  
  2042. timeOutCounter++;
  2043.  
  2044. if(inTrade && tradeResetNeeded){
  2045. Client o = (Client) Server.playerHandler.players[tradeWith];
  2046. if(o != null){
  2047. if(o.tradeResetNeeded){
  2048. getTradeAndDuel().resetTrade();
  2049. o.getTradeAndDuel().resetTrade();
  2050. }
  2051. }
  2052. }
  2053. }
  2054.  
  2055. public void setCurrentTask;(Future<?> task) {
  2056. currentTask = task;
  2057. }
  2058.  
  2059. public Future<?> getCurrentTask() {
  2060. return currentTask;
  2061. }
  2062.  
  2063. @SuppressWarnings("null")
  2064. public void WalkTo(int x, int y) {
  2065. newWalkCmdSteps = (Math.abs((x+y)));
  2066. if (newWalkCmdSteps % 1 != 0) newWalkCmdSteps /= 1;
  2067. if (++newWalkCmdSteps > walkingQueueSize) {
  2068. println("Warning: WalkTo command contains too many steps (" + newWalkCmdSteps + ").");
  2069. newWalkCmdSteps = 0;
  2070. }
  2071. int firstStepX = absX;
  2072. firstStepX -= mapRegionX*8;
  2073.  
  2074. for (int i = 1; i < newWalkCmdSteps; i++) {
  2075. newWalkCmdX[i] = x;
  2076. newWalkCmdY[i] = y;
  2077. }
  2078. newWalkCmdX[0] = newWalkCmdY[0];
  2079. int firstStepY = absY;
  2080. firstStepY -= mapRegionY*8;
  2081. newWalkCmdIsRunning = ((inStream.readSignedByteC() == 1));
  2082. for (int q = 0; q < newWalkCmdSteps; q++) {
  2083. newWalkCmdX[q] += firstStepX;
  2084. newWalkCmdY[q] += firstStepY;
  2085. }
  2086. }
  2087. public void FetchDice()
  2088. {
  2089. int rnd;
  2090. String Message = "";
  2091. if (cDice == 0 || (System.currentTimeMillis() - diceDelay <= 1000)) {
  2092. return;
  2093. }
  2094. switch (cDice) {
  2095. //Dice
  2096. case 15096: rnd = Misc.random(19)+1; Message = ("rolled <col=16711680>"+ rnd +"</col> on a twenty-sided die."); break;
  2097. case 15094: rnd = Misc.random(11)+1; Message = ("rolled <col=16711680>"+ rnd +"</col> on a twelve-sided die."); break;
  2098. case 15092: rnd = Misc.random(9)+1; Message = ("rolled <col=16711680>"+ rnd +"</col> on a ten-sided die."); break;
  2099. case 15090: rnd = Misc.random(7)+1; Message = ("rolled <col=16711680>"+ rnd +"</col> on an eight-sided die."); break;
  2100. case 15100: rnd = Misc.random(3)+1; Message = ("rolled <col=16711680>"+ rnd +"</col> on a four-sided die."); break;
  2101. case 15086: rnd = Misc.random(5)+1; Message = ("rolled <col=16711680>"+ rnd +"</col> on a six-sided die."); break;
  2102. case 15088: rnd = Misc.random(11)+1; Message = ("rolled <col=16711680>"+ rnd +"</col> on two six-sided dice."); break;
  2103. case 15098: rnd = Misc.random(99)+1; Message = ("rolled <col=16711680>"+ rnd +"</col> on the percentile dice."); break;
  2104. }
  2105. sendMessage("You " + Message);
  2106. if (clanDice){
  2107. if (clanId >= 0) {
  2108. Server.clanChat.messageToClan("Clan Chat channel-mate <col=16711680>"+playerName+"</col> "+Message, clanId);
  2109. }
  2110. }
  2111. cDice = 0;
  2112. }
  2113.  
  2114. public void useDice(int itemId, boolean clan){
  2115. if (System.currentTimeMillis() - diceDelay >= 3000) {
  2116. sendMessage("Rolling...");
  2117. startAnimation(11900);
  2118. diceDelay = System.currentTimeMillis();
  2119. cDice = itemId;
  2120. clanDice = clan;
  2121. switch (itemId) {
  2122. //Gfx's
  2123. case 15086: gfx0(2072); break;
  2124. case 15088: gfx0(2074); break;
  2125. case 15090: gfx0(2071); break;
  2126. case 15092: gfx0(2070); break;
  2127. case 15094: gfx0(2073); break;
  2128. case 15096: gfx0(2068); break;
  2129. case 15098: gfx0(2075); break;
  2130. case 15100: gfx0(2069); break;
  2131. }
  2132. }
  2133.  
  2134. }
  2135. public void fmwalkto(int i, int j)
  2136. {
  2137. newWalkCmdSteps = 0;
  2138. if(++newWalkCmdSteps > 50)
  2139. newWalkCmdSteps = 0;
  2140. int k = absX + i;
  2141. k -= mapRegionX * 8;
  2142. newWalkCmdX[0] = newWalkCmdY[0] = tmpNWCX[0] = tmpNWCY[0] = 0;
  2143. int l = absY + j;
  2144. l -= mapRegionY * 8;
  2145. isRunning2 = false;
  2146. isRunning = false;
  2147. //for(this.i = 0; this.i < newWalkCmdSteps; this.i++)
  2148. //{
  2149. newWalkCmdX[0] += k;
  2150. newWalkCmdY[0] += l;
  2151. //}
  2152. //lastWalk = System.currentTimeMillis();
  2153. //walkDelay = 1;
  2154. poimiY = l;
  2155. poimiX = k;
  2156. }
  2157. public int tmpNWCY[] = new int[walkingQueueSize];
  2158. public int tmpNWCX[] = new int[walkingQueueSize];
  2159.  
  2160. public synchronized Stream getInStream() {
  2161. return inStream;
  2162. }
  2163.  
  2164. public synchronized int getPacketType() {
  2165. return packetType;
  2166. }
  2167.  
  2168. public synchronized int getPacketSize() {
  2169. return packetSize;
  2170. }
  2171.  
  2172. public synchronized Stream getOutStream() {
  2173. return outStream;
  2174. }
  2175.  
  2176. public ItemAssistant getItems() {
  2177. return itemAssistant;
  2178. }
  2179.  
  2180. public PlayerAssistant getPA() {
  2181. return playerAssistant;
  2182. }
  2183.  
  2184. public DialogueHandler getDH() {
  2185. return dialogueHandler;
  2186. }
  2187.  
  2188. public TradeLog getTradeLog() {
  2189. return tradeLog;
  2190. }
  2191.  
  2192. public WarriorsGuild getWarriorsGuild() {
  2193. return warriorsGuild;
  2194. }
  2195.  
  2196. public ShopAssistant getShops() {
  2197. return shopAssistant;
  2198. }
  2199.  
  2200. public Crafting getCrafting() {
  2201. return crafting;
  2202. }
  2203.  
  2204. public TradeAndDuel getTradeAndDuel() {
  2205. return tradeAndDuel;
  2206. }
  2207.  
  2208. public CombatAssistant getCombat() {
  2209. return combatAssistant;
  2210. }
  2211.  
  2212. public ActionHandler getActions() {
  2213. return actionHandler;
  2214. }
  2215.  
  2216. public PlayerKilling getKill() {
  2217. return playerKilling;
  2218. }
  2219.  
  2220. public IoSession getSession() {
  2221. return session;
  2222. }
  2223.  
  2224. public Potions getPotions() {
  2225. return potion;
  2226. }
  2227.  
  2228. public PotionMixing getPotMixing() {
  2229. return potionMixing;
  2230. }
  2231.  
  2232. public Food getFood() {
  2233. return food;
  2234. }
  2235.  
  2236. /**
  2237. * Skill Constructors
  2238. */
  2239. public Slayer getSlayer() {
  2240. return slayer;
  2241. }
  2242.  
  2243. public Runecrafting getRunecrafting() {
  2244. return runecrafting;
  2245. }
  2246.  
  2247. public Woodcutting getWoodcutting() {
  2248. return woodcutting;
  2249. }
  2250. public Summoning Summoning() {
  2251. return Summoning;
  2252. }
  2253. public Mining getMining() {
  2254. return mine;
  2255. }
  2256.  
  2257. public Cooking getCooking() {
  2258. return cooking;
  2259. }
  2260.  
  2261. public Gambling getGamble() {
  2262. return gamble;
  2263. }
  2264.  
  2265. public Agility getAgil() {
  2266. return ag;
  2267. }
  2268.  
  2269. public Fishing getFishing() {
  2270. return fish;
  2271. }
  2272.  
  2273. public Smithing getSmithing() {
  2274. return smith;
  2275. }
  2276.  
  2277. public Farming getFarming() {
  2278. return farming;
  2279. }
  2280.  
  2281. public Thieving getThieving() {
  2282. return thieving;
  2283. }
  2284.  
  2285. public Herblore getHerblore() {
  2286. return herblore;
  2287. }
  2288.  
  2289. public Firemaking getFiremaking() {
  2290. return firemaking;
  2291. }
  2292.  
  2293. public SmithingInterface getSmithingInt() {
  2294. return smithInt;
  2295. }
  2296.  
  2297. public Prayer getPrayer() {
  2298. return prayer;
  2299. }
  2300.  
  2301. public Curse getCurse() {
  2302. return curse;
  2303. }
  2304.  
  2305. public Fletching getFletching() {
  2306. return fletching;
  2307. }
  2308.  
  2309. /**
  2310. * Gets the prospecting class.
  2311. * @return The prospecting class.
  2312. */
  2313. public Prospecting getProspecting() {
  2314. return prospecting;
  2315. }
  2316.  
  2317.  
  2318. /**
  2319. * End of Skill Constructors
  2320. */
  2321.  
  2322. /**
  2323. * Second skill instances.
  2324. */
  2325. private Prospecting prospecting = new Prospecting();
  2326.  
  2327. public void queueMessage(Packet arg1) {
  2328. synchronized(queuedPackets) {
  2329. //if (arg1.getId() != 41)
  2330. queuedPackets.add(arg1);
  2331. //else
  2332. //processPacket(arg1);
  2333. }
  2334. }
  2335.  
  2336. public synchronized boolean processQueuedPackets() {
  2337. Packet p = null;
  2338. synchronized(queuedPackets) {
  2339. p = queuedPackets.poll();
  2340. }
  2341. if(p == null) {
  2342. return false;
  2343. }
  2344. inStream.currentOffset = 0;
  2345. packetType = p.getId();
  2346. packetSize = p.getLength();
  2347. inStream.buffer = p.getData();
  2348. if(packetType > 0) {
  2349. //sendMessage("PacketType: " + packetType);
  2350. PacketHandler.processPacket(this, packetType, packetSize);
  2351. processPackets++;
  2352. }
  2353. timeOutCounter = 0;
  2354. if(processPackets > Config.MAX_PROCESS_PACKETS) {
  2355. return false;
  2356. }
  2357. return true;
  2358. }
  2359.  
  2360. public synchronized boolean processPacket(Packet p) {
  2361. synchronized (this) {
  2362. if(p == null) {
  2363. return false;
  2364. }
  2365. inStream.currentOffset = 0;
  2366. packetType = p.getId();
  2367. packetSize = p.getLength();
  2368. inStream.buffer = p.getData();
  2369. if(packetType > 0) {
  2370. //sendMessage("PacketType: " + packetType);
  2371. PacketHandler.processPacket(this, packetType, packetSize);
  2372. }
  2373. timeOutCounter = 0;
  2374. return true;
  2375. }
  2376. }
  2377.  
  2378.  
  2379.  
  2380. public void correctCoordinates() {
  2381. if (inPcGame()) {
  2382. getPA().movePlayer(2657, 2639, 0);
  2383. }
  2384. if (inFightCaves()) {
  2385. getPA().movePlayer(absX, absY, playerId * 4);
  2386. sendMessage("Your wave will start in 10 seconds.");
  2387. EventManager.getSingleton().addEvent(new Event() {
  2388. public void execute(EventContainer c) {
  2389. Server.fightCaves.spawnNextWave((Client)Server.playerHandler.players[playerId]);
  2390. c.stop();
  2391. }
  2392. }, 10000);
  2393.  
  2394. }
  2395.  
  2396. if (inZombieCaves()) {
  2397. getPA().movePlayer(absX, absY, playerId * 4);
  2398. sendMessage("Your Zombie Rampage wave will begin in 5 seconds...");
  2399. EventManager.getSingleton().addEvent(new Event() {
  2400. //@Override
  2401. public void execute(EventContainer c) {
  2402. Server.zombieCaves.spawnNextWave((Client) Server.playerHandler.players[playerId]);
  2403. c.stop();
  2404. }
  2405.  
  2406. //@Override
  2407. public void stop() {
  2408. // ANYTHING YOU WANT TO DO WHEN THE EVENT STOPS, YOU CAN
  2409. // LEAVE IT EMPTY
  2410. }
  2411. }, 5000);
  2412.  
  2413. }
  2414.  
  2415. if (inRFD()) {
  2416. getPA().movePlayer(1899,5363, playerId * 4+2);
  2417. sendMessage("Your wave will start in 10 seconds.");
  2418. EventManager.getSingleton().addEvent(new Event() {
  2419. public void execute(EventContainer c) {
  2420. Server.rfd.spawnNextWave((Client)Server.playerHandler.players[playerId]);
  2421. c.stop();
  2422. }
  2423. }, 10000);
  2424.  
  2425. }
  2426.  
  2427. }
  2428.  
  2429. }
Advertisement
Add Comment
Please, Sign In to add comment