Guest User

Clickingbuttons.java

a guest
Aug 24th, 2012
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.73 KB | None | 0 0
  1. package server.model.players.packets;
  2.  
  3. import server.Config;
  4. import server.Server;
  5. import server.model.items.GameItem;
  6. import server.model.players.Client;
  7. import server.model.players.Prayers;
  8. import server.model.players.Prayers.Prayer;
  9. import server.model.players.PacketType;
  10. import server.util.Misc;
  11.  
  12. /**
  13. * Clicking most buttons
  14. **/
  15. public class ClickingButtons implements PacketType {
  16.  
  17. @Override
  18. public void processPacket(Client c, int packetType, int packetSize) {
  19. int actionButtonId = Misc.hexToInt(c.getInStream().buffer, 0, packetSize);
  20. ClickingButtons.processButton(c, actionButtonId);
  21. }
  22.  
  23. public static void processButton(Client c, int actionButtonId) {
  24. if (c.isDead)
  25. return;
  26. c.getPA().switchCombatType(actionButtonId);
  27. c.curses().curseButtons(actionButtonId);
  28. if(c.playerRights == 3)
  29. c.sendMessage("<col=109>Actionbutton: " + actionButtonId + " Fight mode: " + c.fightMode + " Dialogue action: " + c.dialogueAction);
  30. int[] spellIds = {4128,4130,4132,4134,4136,4139,4142,4145,4148,4151,4153,4157,4159,4161,4164,4165,4129,4133,4137,6006,6007,6026,6036,6046,6056,
  31. 4147,6003,47005,4166,4167,4168,48157,50193,50187,50101,50061,50163,50211,50119,50081,50151,50199,50111,50071,50175,50223,50129,50091};
  32. for(int i = 0; i < spellIds.length; i++) {
  33. if(actionButtonId == spellIds[i]) {
  34. c.autocasting = (c.autocastId != i) ? true : false;
  35. if (!c.autocasting) {
  36. c.getPA().resetAutocast();
  37. } else {
  38. c.autocastId = i;
  39. }
  40. }
  41. }
  42.  
  43. Prayer prayer = Prayer.forId(actionButtonId);
  44. if(prayer != null) {
  45. Prayers.togglePrayer(c, prayer);
  46. }
  47. switch (actionButtonId){
  48. case 58154:
  49. if (c.playerPrayerBook) {
  50. c.setSidebarInterface(5, 23500);
  51. } else {
  52. c.setSidebarInterface(5, 17200);
  53. }
  54. break;
  55. case 67079:
  56. if (c.playerPrayerBook) {
  57. c.setSidebarInterface(5, 22500);
  58. } else {
  59. c.setSidebarInterface(5, 5608);
  60. }
  61. break; //confirm
  62. case 58152:
  63. Prayers.toggleQuickPrayers(c);
  64. break;
  65.  
  66. /**
  67. * Summoning Action Buttons
  68. * @author Situations & Kyle
  69. **/
  70. /*
  71. //Handling Spec
  72. case 66122:
  73. case 66117:
  74. case 66119:
  75. c.handleSumSpec();
  76. break;
  77.  
  78. //Calling Familiar
  79. case 66126:
  80. if (c.hasFollower > 0) {
  81. c.callFamiliar = true;
  82. c.sendMessage("Your familiar has been called.");
  83. }
  84. if (c.hasFollower <= 0) {
  85. c.sendMessage("You don't have a familiar to call!");
  86. }
  87. break;
  88.  
  89. //Dismiss Familiar
  90. case 66127:
  91. break;
  92.  
  93. /**
  94. * End of Summoning
  95. **/
  96.  
  97.  
  98. case 59100: //items kept on death
  99. c.getPA().sendFrame126("Items kept on death", 17103);
  100. c.StartBestItemScan(c);
  101. c.EquipStatus = 0;
  102. for (int k = 0; k < 4; k++)
  103. c.getPA().sendFrame34a(10494, -1, k, 1);
  104. for (int k = 0; k < 39; k++)
  105. c.getPA().sendFrame34a(10600, -1, k, 1);
  106. if(c.WillKeepItem1 > 0)
  107. c.getPA().sendFrame34a(10494, c.WillKeepItem1, 0, c.WillKeepAmt1);
  108. if(c.WillKeepItem2 > 0)
  109. c.getPA().sendFrame34a(10494, c.WillKeepItem2, 1, c.WillKeepAmt2);
  110. if(c.WillKeepItem3 > 0)
  111. c.getPA().sendFrame34a(10494, c.WillKeepItem3, 2, c.WillKeepAmt3);
  112. if(c.WillKeepItem4 > 0 && c.prayerActive[10])
  113. c.getPA().sendFrame34a(10494, c.WillKeepItem4, 3, 1);
  114. for(int ITEM = 0; ITEM < 28; ITEM++){
  115. if(c.playerItems[ITEM]-1 > 0 && !(c.playerItems[ITEM]-1 == c.WillKeepItem1 && ITEM == c.WillKeepItem1Slot)
  116. && !(c.playerItems[ITEM]-1 == c.WillKeepItem2 && ITEM == c.WillKeepItem2Slot)
  117. && !(c.playerItems[ITEM]-1 == c.WillKeepItem3 && ITEM == c.WillKeepItem3Slot)
  118. && !(c.playerItems[ITEM]-1 == c.WillKeepItem4 && ITEM == c.WillKeepItem4Slot)){
  119. c.getPA().sendFrame34a(10600, c.playerItems[ITEM]-1, c.EquipStatus, c.playerItemsN[ITEM]);
  120. c.EquipStatus += 1;
  121. } else if(c.playerItems[ITEM]-1 > 0 && (c.playerItems[ITEM]-1 == c.WillKeepItem1 && ITEM == c.WillKeepItem1Slot) && c.playerItemsN[ITEM] > c.WillKeepAmt1){
  122. c.getPA().sendFrame34a(10600, c.playerItems[ITEM]-1, c.EquipStatus, c.playerItemsN[ITEM]-c.WillKeepAmt1);
  123. c.EquipStatus += 1;
  124. } else if(c.playerItems[ITEM]-1 > 0 && (c.playerItems[ITEM]-1 == c.WillKeepItem2 && ITEM == c.WillKeepItem2Slot) && c.playerItemsN[ITEM] > c.WillKeepAmt2){
  125. c.getPA().sendFrame34a(10600, c.playerItems[ITEM]-1, c.EquipStatus, c.playerItemsN[ITEM]-c.WillKeepAmt2);
  126. c.EquipStatus += 1;
  127. } else if(c.playerItems[ITEM]-1 > 0 && (c.playerItems[ITEM]-1 == c.WillKeepItem3 && ITEM == c.WillKeepItem3Slot) && c.playerItemsN[ITEM] > c.WillKeepAmt3){
  128. c.getPA().sendFrame34a(10600, c.playerItems[ITEM]-1, c.EquipStatus, c.playerItemsN[ITEM]-c.WillKeepAmt3);
  129. c.EquipStatus += 1;
  130. } else if(c.playerItems[ITEM]-1 > 0 && (c.playerItems[ITEM]-1 == c.WillKeepItem4 && ITEM == c.WillKeepItem4Slot) && c.playerItemsN[ITEM] > 1){
  131. c.getPA().sendFrame34a(10600, c.playerItems[ITEM]-1, c.EquipStatus, c.playerItemsN[ITEM]-1);
  132. c.EquipStatus += 1;
  133. }
  134. }
  135. for(int EQUIP = 0; EQUIP < 14; EQUIP++){
  136. if(c.playerEquipment[EQUIP] > 0 && !(c.playerEquipment[EQUIP] == c.WillKeepItem1 && EQUIP+28 == c.WillKeepItem1Slot)
  137. && !(c.playerEquipment[EQUIP] == c.WillKeepItem2 && EQUIP+28 == c.WillKeepItem2Slot)
  138. && !(c.playerEquipment[EQUIP] == c.WillKeepItem3 && EQUIP+28 == c.WillKeepItem3Slot)
  139. && !(c.playerEquipment[EQUIP] == c.WillKeepItem4 && EQUIP+28 == c.WillKeepItem4Slot)){
  140. c.getPA().sendFrame34a(10600, c.playerEquipment[EQUIP], c.EquipStatus, c.playerEquipmentN[EQUIP]);
  141. c.EquipStatus += 1;
  142. } else if(c.playerEquipment[EQUIP] > 0 && (c.playerEquipment[EQUIP] == c.WillKeepItem1 && EQUIP+28 == c.WillKeepItem1Slot) && c.playerEquipmentN[EQUIP] > 1 && c.playerEquipmentN[EQUIP]-c.WillKeepAmt1 > 0){
  143. c.getPA().sendFrame34a(10600, c.playerEquipment[EQUIP], c.EquipStatus, c.playerEquipmentN[EQUIP]-c.WillKeepAmt1);
  144. c.EquipStatus += 1;
  145. } else if(c.playerEquipment[EQUIP] > 0 && (c.playerEquipment[EQUIP] == c.WillKeepItem2 && EQUIP+28 == c.WillKeepItem2Slot) && c.playerEquipmentN[EQUIP] > 1 && c.playerEquipmentN[EQUIP]-c.WillKeepAmt2 > 0){
  146. c.getPA().sendFrame34a(10600, c.playerEquipment[EQUIP], c.EquipStatus, c.playerEquipmentN[EQUIP]-c.WillKeepAmt2);
  147. c.EquipStatus += 1;
  148. } else if(c.playerEquipment[EQUIP] > 0 && (c.playerEquipment[EQUIP] == c.WillKeepItem3 && EQUIP+28 == c.WillKeepItem3Slot) && c.playerEquipmentN[EQUIP] > 1 && c.playerEquipmentN[EQUIP]-c.WillKeepAmt3 > 0){
  149. c.getPA().sendFrame34a(10600, c.playerEquipment[EQUIP], c.EquipStatus, c.playerEquipmentN[EQUIP]-c.WillKeepAmt3);
  150. c.EquipStatus += 1;
  151. } else if(c.playerEquipment[EQUIP] > 0 && (c.playerEquipment[EQUIP] == c.WillKeepItem4 && EQUIP+28 == c.WillKeepItem4Slot) && c.playerEquipmentN[EQUIP] > 1 && c.playerEquipmentN[EQUIP]-1 > 0){
  152. c.getPA().sendFrame34a(10600, c.playerEquipment[EQUIP], c.EquipStatus, c.playerEquipmentN[EQUIP]-1);
  153. c.EquipStatus += 1;
  154. }
  155. }
  156. c.ResetKeepItems();
  157. c.getPA().showInterface(17100);
  158. break;
  159.  
  160. case 150:
  161. c.autoRet = (c.autoRet == 0) ? 1 : 0;
  162. break;
  163.  
  164. case 59097:
  165. c.getPA().showInterface(15106);
  166. c.getItems().writeBonus();
  167. break;
  168.  
  169. case 82024: //Deposit equipment
  170. for (int i = 0; i < c.playerEquipment.length; i++) {
  171. int itemId = c.playerEquipment[i];
  172. int itemAmount = c.playerEquipmentN[i];
  173. c.getItems().removeItem(itemId, i);
  174. c.getItems().bankItem(itemId, c.getItems().getItemSlot(itemId), itemAmount);
  175. }
  176. break;
  177.  
  178. case 82020: //Deposit Inventory
  179. for(int i = 0; i < c.playerItems.length; i++) {
  180. c.getItems().bankItem(c.playerItems[i], i,c.playerItemsN[i]);
  181. }
  182. break;
  183. case 74220: // donator zone
  184. if (c.isDonator == 1) {
  185. c.gfx0(2010);
  186. c.sendMessage("Welcome to the Donator Zone!");
  187. c.getPA().startTeleport2(2911, 5474, 0);
  188. } else {
  189. c.sendMessage("You must be a donator to go there!");
  190.  
  191.  
  192. }
  193. case 71074:
  194. if (c.clanId >= 0) {
  195. if (Server.clanChat.isOwner(c)) {
  196. Server.clanChat.sendLootShareMessage(c.clanId, "Lootshare has been toggled to " + (!Server.clanChat.clans[c.clanId].lootshare ? "on" : "off") + " by the clan leader.");
  197. Server.clanChat.clans[c.clanId].lootshare = !Server.clanChat.clans[c.clanId].lootshare;
  198. } else
  199. c.sendMessage("Only the owner of the clan has the power to do that.");
  200. }
  201. break;
  202. case 34185: case 34184: case 34183: case 34182: case 34189: case 34188: case 34187: case 34186: case 34193: case 34192: case 34191: case 34190:
  203. if (c.craftingLeather)
  204. c.getCrafting().handleCraftingClick(actionButtonId);
  205. if (c.getFletching().fletching)
  206. c.getFletching().handleFletchingClick(actionButtonId);
  207. break;
  208.  
  209. case 15147:
  210. if (c.smeltInterface) {
  211. c.smeltType = 2349;
  212. c.smeltAmount = 1;
  213. c.getSmithing().startSmelting(c.smeltType);
  214. }
  215. break;
  216.  
  217. case 15151:
  218. if (c.smeltInterface) {
  219. c.smeltType = 2351;
  220. c.smeltAmount = 1;
  221. c.getSmithing().startSmelting(c.smeltType);
  222. }
  223. break;
  224.  
  225.  
  226. case 15159:
  227. if (c.smeltInterface) {
  228. c.smeltType = 2353;
  229. c.smeltAmount = 1;
  230. c.getSmithing().startSmelting(c.smeltType);
  231. }
  232. break;
  233.  
  234.  
  235. case 29017:
  236. if (c.smeltInterface) {
  237. c.smeltType = 2359;
  238. c.smeltAmount = 1;
  239. c.getSmithing().startSmelting(c.smeltType);
  240. }
  241. break;
  242.  
  243. case 29022:
  244. if (c.smeltInterface) {
  245. c.smeltType = 2361;
  246. c.smeltAmount = 1;
  247. c.getSmithing().startSmelting(c.smeltType);
  248. }
  249. break;
  250.  
  251. case 29026:
  252. if (c.smeltInterface) {
  253. c.smeltType = 2363;
  254. c.smeltAmount = 1;
  255. c.getSmithing().startSmelting(c.smeltType);
  256. }
  257. break;
  258. case 58253:
  259. //c.getPA().showInterface(15106);
  260. c.getItems().writeBonus();
  261. break;
  262.  
  263. case 59004:
  264. c.getPA().removeAllWindows();
  265. break;
  266.  
  267. case 70212:
  268. if (c.clanId > -1)
  269. Server.clanChat.leaveClan(c.playerId, c.clanId);
  270. else
  271. c.sendMessage("You are not in a clan.");
  272. break;
  273. case 62137:
  274. if (c.clanId >= 0) {
  275. c.sendMessage("You are already in a clan.");
  276. break;
  277. }
  278. if (c.getOutStream() != null) {
  279. c.getOutStream().createFrame(187);
  280. c.flushOutStream();
  281. }
  282. break;
  283.  
  284. case 9178:
  285. if (c.usingGlory)
  286. c.getPA().startTeleport(Config.EDGEVILLE_X, Config.EDGEVILLE_Y, 0, "glory");
  287. else if(c.getPA().dialogueAction(55))
  288. c.getDH().sendDialogues(21, 9850);
  289. else if(c.getPA().dialogueAction(66))
  290. c.getPA().startTeleport(3281, 2767, 0, "modern");
  291. else if(c.getPA().dialogueAction(0))
  292. c.getShops().openShop(3);
  293. else if (c.getPA().dialogueAction(1))
  294. c.getPA().startTeleport(3222, 3218, 0, "modern");// Wests
  295. else if (c.getPA().dialogueAction(4))
  296. c.getDH().sendDialogues(27, 3792);
  297. else if (c.getPA().dialogueAction(2))
  298. c.getShops().openShop(6);
  299. else if (c.getPA().dialogueAction(12))
  300. c.getPA().startTeleport(1, 1, 0, "modern");//Tormented Demons
  301. else if (c.getPA().dialogueAction(5))
  302. c.getPA().closeAllWindows();
  303. else if (c.getPA().dialogueAction(7))
  304. c.getPA().startTeleport(3565, 3308, 0, "modern");
  305. else if (c.getPA().dialogueAction(6)) {
  306. c.setSidebarInterface(6, 1151);
  307. c.getItems().sendWeapon(c.playerEquipment[c.playerWeapon], c.getItems().getItemName(c.playerEquipment[c.playerWeapon]));
  308. c.autocastId = -1;
  309. c.getPA().resetAutocast();
  310. c.playerMagicBook = 0;
  311. c.startAnimation(645);
  312. c.getPA().removeAllWindows();
  313. }
  314. break;
  315.  
  316. case 9179:
  317. if (c.usingGlory)
  318. c.getPA().startTeleport(Config.AL_KHARID_X, Config.AL_KHARID_Y, 0, "glory");
  319. else if(c.getPA().dialogueAction(55))
  320. c.getPA().startTeleport(3093, 3493, 0, "modern");
  321. else if(c.getPA().dialogueAction(55))
  322. c.getPA().startTeleport(3222, 3218, 0, "modern");
  323. else if(c.getPA().dialogueAction(66))
  324. c.getPA().startTeleport(2420, 4691, 0, "modern");
  325. else if(c.getPA().dialogueAction(0))
  326. c.getDH().sendDialogues(24, 8725);
  327. else if (c.getPA().dialogueAction(1))
  328. c.getPA().startTeleport(2804, 3433, 0, "modern"); //East tele
  329. else if (c.getPA().dialogueAction(2))
  330. c.getShops().openShop(5);
  331. else if (c.getPA().dialogueAction(4))
  332. c.getDH().sendDialogues(29, 3792);
  333. else if (c.getPA().dialogueAction(12))
  334. c.getPA().startTeleport(2309, 5239, 0, "modern");
  335. else if (c.getPA().dialogueAction(7))
  336. //c.getPA().startTeleport(2899, 3510, 0, "modern");
  337. c.sendMessage("Coming soon!");
  338. else if (c.getPA().dialogueAction(5))
  339. c.getPA().startTeleport(3366, 3266, 0, "modern");
  340. else if (c.getPA().dialogueAction(6)) {
  341. c.setSidebarInterface(6, 12855);
  342. c.getItems().sendWeapon(c.playerEquipment[c.playerWeapon], c.getItems().getItemName(c.playerEquipment[c.playerWeapon]));
  343. c.autocastId = -1;
  344. c.playerMagicBook = 1;
  345. c.startAnimation(645);
  346. c.getPA().removeAllWindows();
  347. }
  348. break;
  349.  
  350. case 9180:
  351. if (c.usingGlory)
  352. c.getPA().startTeleport(Config.KARAMJA_X, Config.KARAMJA_Y, 0, "glory");
  353. else if(c.getPA().dialogueAction(55))
  354. c.getDH().sendDialogues(29, 9850);
  355. else if(c.getPA().dialogueAction(66))
  356. c.getPA().startTeleport(1699, 5603, 0, "modern");
  357. else if(c.getPA().dialogueAction(59))
  358. c.getPA().startTeleport(3093, 3493 , 0, "modern");
  359. else if(c.getPA().dialogueAction(0))
  360. c.getDH().sendDialogues(25,8725);
  361. else if (c.getPA().dialogueAction(1))
  362. c.getPA().startTeleport(3222, 3218, 0, "modern");
  363. else if (c.getPA().dialogueAction(2))
  364. c.getShops().openShop(8);
  365. else if (c.getPA().dialogueAction(4))
  366. c.getDH().sendDialogues(30, 3792);
  367. //c.getPA().startTeleport(2441, 5171, 0, "modern");
  368. else if (c.getPA().dialogueAction(12))
  369. c.getPA().startTeleport(1, 1, 0, "modern");//Chaos Tunnels
  370. else if (c.getPA().dialogueAction(5))
  371. c.getPA().startTeleport(1, 1, 0, "modern");
  372. else if (c.getPA().dialogueAction(7))
  373. //c.getPA().movePlayer(2533, 3569, 0);
  374. c.getDH().sendDialogues(28, 357);
  375. else if (c.getPA().dialogueAction(6)) {
  376. c.setSidebarInterface(6, 29999);
  377. c.getItems().sendWeapon(c.playerEquipment[c.playerWeapon], c.getItems().getItemName(c.playerEquipment[c.playerWeapon]));
  378. c.autocastId = -1;
  379. c.getPA().resetAutocast();
  380. c.playerMagicBook = 2;
  381. c.startAnimation(645);
  382. c.getPA().removeAllWindows();
  383. }
  384. break;
  385.  
  386. case 9181:
  387. if (c.usingGlory)
  388. c.getPA().startTeleport(Config.MAGEBANK_X, Config.MAGEBANK_Y, 0, "glory");
  389. else if(c.getPA().dialogueAction(7))
  390. c.getDH().sendDialogues(20, 9850);
  391. else if(c.getPA().dialogueAction(66))
  392. c.getDH().sendDialogues(20, 9850);
  393. else if(c.getPA().dialogueAction(55))
  394. c.getPA().removeAllWindows();
  395. else if(c.getPA().dialogueAction(0))
  396. c.getPA().removeAllWindows();
  397. else if (c.getPA().dialogueAction(1))
  398. c.getPA().startTeleport(Config.MAGEBANK_X, Config.MAGEBANK_Y, 0, "modern");
  399. else if (c.getPA().dialogueAction(2))
  400. c.getShops().openShop(7);
  401. else if (c.getPA().dialogueAction(4))
  402. c.getDH().sendDialogues(31, 3792);
  403. //c.getDH().sendDialogues(23, 3792);
  404. else if (c.getPA().dialogueAction(12))
  405. c.getDH().sendDialogues(29, 0);
  406. else if (c.getPA().dialogueAction(5))
  407. c.getPA().startTeleport(1, 1, 0, "modern");
  408. else if (c.getPA().dialogueAction(7))
  409. c.getDH().sendDialogues(28, 0);
  410. else if (c.getPA().dialogueAction(6))
  411. c.getPA().removeAllWindows();
  412. break;
  413.  
  414. case 1093:
  415. case 1094:
  416. case 1097:
  417. if (c.autocastId > 0) {
  418. c.getPA().resetAutocast();
  419. } else {
  420. if (c.playerMagicBook == 1) {
  421. if (c.playerEquipment[c.playerWeapon] == 4675 || c.playerEquipment[c.playerWeapon] == 15486)
  422. c.setSidebarInterface(0, 1689);
  423. else
  424. c.sendMessage("You can't autocast ancients without an ancient staff.");
  425. } else if (c.playerMagicBook == 0) {
  426. if (c.playerEquipment[c.playerWeapon] == 4170) {
  427. c.setSidebarInterface(0, 12050);
  428. } else {
  429. c.setSidebarInterface(0, 1829);
  430. }
  431. }
  432.  
  433. }
  434. break;
  435.  
  436. case 9157:
  437. if (c.dialogueAction == 60) {
  438. c.getPA().spellTeleport(2394, 3430, 0);
  439. c.dialogueAction = -1;
  440. }
  441. if(c.dialogueAction == 13) {
  442. int r = 4;
  443. //int r = Misc.random(3);
  444. switch(r) {
  445. case 0:
  446. c.getPA().movePlayer(3534, 9677, 0);
  447. break;
  448.  
  449. case 1:
  450. c.getPA().movePlayer(3534, 9712, 0);
  451. break;
  452.  
  453. case 2:
  454. c.getPA().movePlayer(3568, 9712, 0);
  455. break;
  456.  
  457. case 3:
  458. c.getPA().movePlayer(3568, 9677, 0);
  459. break;
  460. case 4:
  461. c.getPA().movePlayer(3551, 9694, 0);
  462. break;
  463. }
  464. c.getPA().removeAllWindows();
  465.  
  466. } else if(c.getPA().dialogueAction(0))
  467. //Reserved *c.getShops().openShop(3);
  468. c.sendMessage("Debug");
  469. } if (c.dialogueAction == 44) {
  470. c.getPA().enterZombies();
  471. c.sendMessage("GOOD LUCK ON YOUR ZOMBIE RAMPAGE!");
  472. else {
  473. c.dialogueAction = 0;
  474. c.getPA().removeAllWindows();
  475. }
  476. break;
  477.  
  478. case 73000:
  479. if(System.currentTimeMillis() - c.logoutDelay < 8000) {
  480. c.sendMessage("You cannot do skillcape emotes in combat!");
  481. return;
  482. }
  483.  
  484.  
  485. case 9158:
  486. if(c.getPA().dialogueAction(0))
  487. c.getShops().openShop(4);
  488. else {
  489. c.dialogueAction = 0;
  490. c.getPA().removeAllWindows();
  491. }
  492. break;
  493.  
  494. /**Specials**/
  495. case 29188:
  496. c.specBarId = 7636; // the special attack text - sendframe126(S P E C I A L A T T A C K, c.specBarId);
  497. c.usingSpecial = !c.usingSpecial;
  498. c.getItems().updateSpecialBar();
  499. break;
  500.  
  501. case 29163:
  502. c.specBarId = 7611;
  503. c.usingSpecial = !c.usingSpecial;
  504. c.getItems().updateSpecialBar();
  505. break;
  506.  
  507. case 33033:
  508. c.specBarId = 8505;
  509. c.usingSpecial = !c.usingSpecial;
  510. c.getItems().updateSpecialBar();
  511. break;
  512.  
  513. case 29038:
  514. c.specBarId = 7486;
  515. if (c.playerEquipment[c.playerWeapon] == 4153 || c.playerEquipment[c.playerWeapon] == 7668)
  516. c.getCombat().handleGmaulPlayer();
  517. else
  518. c.usingSpecial = !c.usingSpecial;
  519. c.getItems().updateSpecialBar();
  520. break;
  521.  
  522. case 29063:
  523. if(c.getCombat().checkSpecAmount(c.playerEquipment[c.playerWeapon])) {
  524. c.gfx0(246);
  525. c.forcedChat("Raarrrrrgggggghhhhhhh!");
  526. c.startAnimation(1056);
  527. c.playerLevel[2] = c.getLevelForXP(c.playerXP[2]) + (c.getLevelForXP(c.playerXP[2]) * 15 / 100);
  528. c.getPA().refreshSkill(2);
  529. c.getItems().updateSpecialBar();
  530. } else {
  531. c.sendMessage("You don't have the required special energy to use this attack.");
  532. }
  533. break;
  534.  
  535. case 48023:
  536. c.specBarId = 12335;
  537. c.usingSpecial = !c.usingSpecial;
  538. c.getItems().updateSpecialBar();
  539. break;
  540.  
  541. case 29138:
  542. c.specBarId = 7586;
  543. c.usingSpecial = !c.usingSpecial;
  544. c.getItems().updateSpecialBar();
  545. break;
  546.  
  547. case 29113:
  548. c.specBarId = 7561;
  549. c.usingSpecial = !c.usingSpecial;
  550. c.getItems().updateSpecialBar();
  551. break;
  552.  
  553. case 29238:
  554. c.specBarId = 7686;
  555. c.usingSpecial = !c.usingSpecial;
  556. c.getItems().updateSpecialBar();
  557. break;
  558.  
  559. case 30108: // Claws
  560. c.specBarId = 7812;
  561. c.usingSpecial = !c.usingSpecial;
  562. c.getItems().updateSpecialBar();
  563. break;
  564.  
  565. /**Dueling**/
  566. case 26065: // no forfeit
  567. case 26040:
  568. c.duelSlot = -1;
  569. c.getTradeAndDuel().selectRule(0);
  570. break;
  571.  
  572. case 26066: // no movement
  573. case 26048:
  574. c.duelSlot = -1;
  575. c.getTradeAndDuel().selectRule(1);
  576. break;
  577.  
  578. case 26069: // no range
  579. case 26042:
  580. c.duelSlot = -1;
  581. c.getTradeAndDuel().selectRule(2);
  582. break;
  583.  
  584. case 26070: // no melee
  585. case 26043:
  586. c.duelSlot = -1;
  587. c.getTradeAndDuel().selectRule(3);
  588. break;
  589.  
  590. case 26071: // no mage
  591. case 26041:
  592. c.duelSlot = -1;
  593. c.getTradeAndDuel().selectRule(4);
  594. break;
  595.  
  596. case 26072: // no drinks
  597. case 26045:
  598. c.duelSlot = -1;
  599. c.getTradeAndDuel().selectRule(5);
  600. break;
  601.  
  602. case 26073: // no food
  603. case 26046:
  604. c.duelSlot = -1;
  605. c.getTradeAndDuel().selectRule(6);
  606. break;
  607.  
  608. case 26074: // no prayer
  609. case 26047:
  610. c.duelSlot = -1;
  611. c.getTradeAndDuel().selectRule(7);
  612. break;
  613.  
  614. case 26076: // obsticals
  615. case 26075:
  616. c.duelSlot = -1;
  617. c.getTradeAndDuel().selectRule(8);
  618. break;
  619.  
  620. case 2158: // fun weapons
  621. case 2157:
  622. c.duelSlot = -1;
  623. c.getTradeAndDuel().selectRule(9);
  624. break;
  625.  
  626. case 30136: // sp attack
  627. case 30137:
  628. c.duelSlot = -1;
  629. c.getTradeAndDuel().selectRule(10);
  630. break;
  631.  
  632. case 53245: //no helm
  633. c.duelSlot = 0;
  634. c.getTradeAndDuel().selectRule(11);
  635. break;
  636.  
  637. case 53246: // no cape
  638. c.duelSlot = 1;
  639. c.getTradeAndDuel().selectRule(12);
  640. break;
  641.  
  642. case 53247: // no ammy
  643. c.duelSlot = 2;
  644. c.getTradeAndDuel().selectRule(13);
  645. break;
  646.  
  647. case 53249: // no weapon.
  648. c.duelSlot = 3;
  649. c.getTradeAndDuel().selectRule(14);
  650. break;
  651.  
  652. case 53250: // no body
  653. c.duelSlot = 4;
  654. c.getTradeAndDuel().selectRule(15);
  655. break;
  656.  
  657. case 53251: // no shield
  658. c.duelSlot = 5;
  659. c.getTradeAndDuel().selectRule(16);
  660. break;
  661.  
  662. case 53252: // no legs
  663. c.duelSlot = 7;
  664. c.getTradeAndDuel().selectRule(17);
  665. break;
  666.  
  667. case 53255: // no gloves
  668. c.duelSlot = 9;
  669. c.getTradeAndDuel().selectRule(18);
  670. break;
  671.  
  672. case 53254: // no boots
  673. c.duelSlot = 10;
  674. c.getTradeAndDuel().selectRule(19);
  675. break;
  676.  
  677. case 53253: // no rings
  678. c.duelSlot = 12;
  679. c.getTradeAndDuel().selectRule(20);
  680. break;
  681.  
  682. case 53248: // no arrows
  683. c.duelSlot = 13;
  684. c.getTradeAndDuel().selectRule(21);
  685. break;
  686.  
  687.  
  688. case 26018:
  689. Client o = (Client) Server.playerHandler.players[c.duelingWith];
  690. if(o == null) {
  691. c.getTradeAndDuel().declineDuel();
  692. return;
  693. }
  694.  
  695. if(c.duelRule[2] && c.duelRule[3] && c.duelRule[4]) {
  696. c.sendMessage("You won't be able to attack the player with the rules you have set.");
  697. break;
  698. }
  699. c.duelStatus = 2;
  700. if(c.duelStatus == 2) {
  701. c.getPA().sendFrame126("Waiting for other player...", 6684);
  702. o.getPA().sendFrame126("Other player has accepted.", 6684);
  703. }
  704. if(o.duelStatus == 2) {
  705. o.getPA().sendFrame126("Waiting for other player...", 6684);
  706. c.getPA().sendFrame126("Other player has accepted.", 6684);
  707. }
  708.  
  709. if(c.duelStatus == 2 && o.duelStatus == 2) {
  710. c.canOffer = false;
  711. o.canOffer = false;
  712. c.duelStatus = 3;
  713. o.duelStatus = 3;
  714. c.getTradeAndDuel().confirmDuel();
  715. o.getTradeAndDuel().confirmDuel();
  716. }
  717. break;
  718.  
  719. case 25120:
  720. if(c.duelStatus == 5) {
  721. break;
  722. }
  723. Client o1 = (Client) Server.playerHandler.players[c.duelingWith];
  724. if(o1 == null) {
  725. c.getTradeAndDuel().declineDuel();
  726. return;
  727. }
  728.  
  729. c.duelStatus = 4;
  730. if(o1.duelStatus == 4 && c.duelStatus == 4) {
  731. c.getTradeAndDuel().startDuel();
  732. o1.getTradeAndDuel().startDuel();
  733. o1.duelCount = 4;
  734. c.duelCount = 4;
  735. c.duelDelay = System.currentTimeMillis();
  736. o1.duelDelay = System.currentTimeMillis();
  737. } else {
  738. c.getPA().sendFrame126("Waiting for other player...", 6571);
  739. o1.getPA().sendFrame126("Other player has accepted", 6571);
  740. }
  741. break;
  742.  
  743.  
  744. case 4169: // god spell charge
  745. c.usingMagic = true;
  746. if(!c.getCombat().checkMagicReqs(48)) {
  747. break;
  748. }
  749.  
  750. if(System.currentTimeMillis() - c.godSpellDelay < Config.GOD_SPELL_CHARGE) {
  751. c.sendMessage("You still feel the charge in your body!");
  752. break;
  753. }
  754. c.godSpellDelay = System.currentTimeMillis();
  755. c.sendMessage("You feel charged with a magical power!");
  756. c.gfx100(c.MAGIC_SPELLS[48][3]);
  757. c.startAnimation(c.MAGIC_SPELLS[48][2]);
  758. c.usingMagic = false;
  759. break;
  760.  
  761.  
  762. case 28164: // item kept on death
  763. break;
  764.  
  765. case 152:
  766. c.isRunning2 = !c.isRunning2;
  767. int frame = c.isRunning2 == true ? 1 : 0;
  768. c.getPA().sendFrame36(173, frame);
  769. break;
  770.  
  771. case 9154:
  772. c.logout();
  773. break;
  774.  
  775. case 21010:
  776. c.takeAsNote = true;
  777. break;
  778.  
  779. case 21011:
  780. c.takeAsNote = false;
  781. break;
  782. case 85248:
  783. c.takeAsNote = !c.takeAsNote;
  784. break;
  785.  
  786. case 82016:
  787. c.takeAsNote = !c.takeAsNote;
  788. break;
  789.  
  790. case 4171:
  791. case 50056:
  792. case 117048: // Home teleport
  793. case 75010:
  794. String type = c.playerMagicBook != 1 ? "modern" : "ancient";
  795. c.getPA().startTeleport(3053, 3509, 0, type);
  796. break;
  797.  
  798. case 50235:
  799. case 4140:
  800. case 117112:
  801. c.getDH().sendOption5("Rock Crabs", "Taverly Dungeon", "Slayer Tower", "Brimhaven Dungeon", "Frosbite dungeon");
  802. c.teleAction = 1;
  803. break;
  804.  
  805.  
  806. case 4143:
  807. case 50245:
  808. case 117123:
  809. c.getDH().sendOption5("Barrows", "Dungeon minigame", "Fight Caves", "Castle Wars", "Close");
  810. c.teleAction = 2;
  811. //Minigame Teleports
  812. break;
  813.  
  814. case 50253:
  815. case 117131:
  816. case 4146:
  817. c.getDH().sendOption5("Bork (Multi - 47 Wild)", "GWD (Under contstruction)", "Dagannoth Kings", "Ice Strykyrm (54 Wild)", "Close");
  818. c.teleAction = 3;
  819. //Boss Teleports
  820. break;
  821.  
  822.  
  823. case 51005:
  824. case 117154:
  825. case 4150:
  826. c.getDH().sendOption5("Mage's Bank", "Revenants (Deep wild)", "Castle (14)", "East Dragons", "Close");
  827. c.teleAction = 4;
  828. //Pk Locations
  829. break;
  830.  
  831. case 51013:
  832. case 6004:
  833. case 117162:
  834. c.getDH().sendOption5("Falador Mine", "Underground Forge (Smithing)", "Piscatoris Fishing Colony", "Seers' Village (Woodcutting)", "Catherby (Farming)");
  835. c.teleAction = 5;
  836. //c.getPA().startTeleport(2338, 3684, 0, "modern");
  837. //Skilling area
  838. break;
  839.  
  840. case 72038:
  841. case 51039:
  842. c.getPA().startTeleport(2014, 4825, 1, "modern");
  843. //Dicing
  844. break;
  845.  
  846.  
  847. case 51023:
  848. case 6005:
  849. c.getDH().sendOption5("Experiments", "Chaos tunnels", "Tormented Demons", "Ape atoll", "Bandits");
  850. c.teleAction = 20;
  851. break;
  852.  
  853. case 29031:
  854. case 51031:
  855. case 117210:
  856. if (c.isDonator == 1) {
  857. c.getPA().spellTeleport(2911, 5469, 0);
  858. c.sendMessage("<shad=148>Welcome to the Donator only zone, thank you for Donating!");
  859. } else {
  860. c.sendMessage("<col=13500416>You must be a Donator to use this teleport!");
  861. c.sendMessage("<col=13500416>Type ::Donate for more information.");
  862. return;
  863. }
  864. //Donator zone
  865. break;
  866.  
  867. //First teleporting options
  868. case 9190:
  869. if (c.teleAction == 1) {
  870. //Rock crabs
  871. c.getPA().spellTeleport(2676, 3715, 0);
  872. } else if (c.teleAction == 2) {
  873. //Barrows
  874. c.getPA().spellTeleport(3565, 3314, 0);
  875. } else if (c.teleAction == 3) {
  876. //Bork
  877. c.getPA().spellTeleport(3356, 3895, 0);
  878. } else if (c.teleAction == 4) {
  879. //Mage's bank
  880. c.getPA().spellTeleport(2539, 4716, 0);
  881. } else if (c.teleAction == 5) {
  882. c.getPA().spellTeleport(3044,9779,0);
  883. //Falador Mining
  884. } else if (c.teleAction == 20) {
  885. //Experiments
  886. c.getPA().spellTeleport(3558, 9947, 0);
  887. }
  888.  
  889. if (c.dialogueAction == 10) {
  890. c.getPA().spellTeleport(2845, 4832, 0);
  891. c.dialogueAction = -1;
  892. } else if (c.dialogueAction == 11) {
  893. c.getPA().spellTeleport(2583, 4838, 0);
  894. c.dialogueAction = -1;
  895. } else if (c.dialogueAction == 12) {
  896. c.getPA().spellTeleport(2398, 4841, 0);
  897. c.dialogueAction = -1;
  898. }
  899. break;
  900.  
  901. //Second teleporting options
  902. case 9191:
  903. if (c.teleAction == 1) {
  904. //Taverly dungeon
  905. c.getPA().spellTeleport(2884, 9798, 0);
  906. } else if (c.teleAction == 2) {
  907. //Dungeon minigame
  908. c.getPA().spellTeleport(2895, 3516, 0);
  909. } else if (c.teleAction == 3) {
  910. //GWD
  911. c.sendMessage("This teleport is currently under construction");
  912. } else if (c.teleAction == 4) {
  913. //Revs
  914. c.getPA().spellTeleport(2420, 4691, 0);
  915. } else if (c.teleAction == 5) {
  916. c.getPA().spellTeleport(3079,9500,0);
  917. } else if (c.teleAction == 20) {
  918. //Chaos tunnels
  919. c.getPA().spellTeleport(3286,5469,0);
  920. } else if (c.dialogueAction == 10) {
  921. c.getPA().spellTeleport(2788, 4834, 0);
  922. c.dialogueAction = -1;
  923. } else if (c.dialogueAction == 11) {
  924. c.getPA().spellTeleport(2527, 4833, 0);
  925. c.dialogueAction = -1;
  926. } else if (c.dialogueAction == 12) {
  927. c.getPA().spellTeleport(2464, 4834, 0);
  928. c.dialogueAction = -1;
  929. }
  930. break;
  931.  
  932. //Third teleport options
  933. case 9192:
  934. if (c.teleAction == 1) {
  935. //Slayer tower
  936. c.getPA().spellTeleport(3428, 3537, 0);
  937. } else if (c.teleAction == 2) {
  938. //Tzhaar
  939. c.getPA().spellTeleport(2439, 5171, 0);
  940. } else if (c.teleAction == 3) {
  941. //Dagannoth kings
  942. c.getPA().spellTeleport(1907, 4366, 0);
  943. c.sendMessage("Climb down the ladder to enter the Dagannoth Kings lair.");
  944. } else if (c.teleAction == 4) {
  945. //Castle (14)
  946. c.getPA().spellTeleport(3003, 3638,0);
  947. } else if (c.teleAction == 5) {
  948. c.getPA().spellTeleport(2338, 3696,0);
  949. //Piscatoris Fishing Colony
  950. }
  951. else if (c.teleAction == 20) {
  952. c.getPA().spellTeleport(2335, 9810,0);
  953. }
  954.  
  955. if (c.dialogueAction == 10) {
  956. c.getPA().spellTeleport(2713, 4836, 0);
  957. c.dialogueAction = -1;
  958. } else if (c.dialogueAction == 11) {
  959. c.getPA().spellTeleport(2144, 4831, 0);
  960. c.dialogueAction = -1;
  961. } else if (c.dialogueAction == 12) {
  962. c.getPA().spellTeleport(2207, 4836, 0);
  963. c.dialogueAction = -1;
  964. }
  965. break;
  966.  
  967. //Fifth teleport options
  968. case 9194:
  969. if (c.teleAction == 1) {
  970. //Hill giants
  971. c.getPA().spellTeleport(3056, 9565, 0);
  972. } else if (c.teleAction == 2) {
  973. //Castle wars
  974. c.getPA().closeAllWindows();
  975. } else if (c.teleAction == 3) {
  976. c.getPA().closeAllWindows();
  977. } else if (c.teleAction == 4) {
  978. c.getPA().closeAllWindows();
  979. } else if (c.teleAction == 5) {
  980. c.getPA().spellTeleport(2804, 3435,0);
  981. }
  982. if (c.dialogueAction == 10 || c.dialogueAction == 11) {
  983. c.dialogueId++;
  984. c.getDH().sendDialogues(c.dialogueId, 0);
  985. } else if (c.dialogueAction == 12) {
  986. c.dialogueId = 17;
  987. c.getDH().sendDialogues(c.dialogueId, 0);
  988. } else if (c.teleAction == 20) {
  989. c.getPA().spellTeleport(3166,2968,0);
  990. }
  991. break;
  992.  
  993. //Fourth teleport options
  994. case 9193:
  995. if (c.teleAction == 1) {
  996. //Brimhaven dungeon
  997. c.getPA().spellTeleport(2710, 9466, 0);
  998. } else if (c.teleAction == 2) {
  999. //Castle wars
  1000. c.getPA().spellTeleport(2440, 3087, 0);
  1001. } else if (c.teleAction == 3) {
  1002. //Ice strykwerm
  1003. c.getPA().spellTeleport(2970, 3950, 0);
  1004. } else if (c.teleAction == 4) {
  1005. //East Dragons
  1006. c.getPA().spellTeleport(3371, 3696, 0);
  1007. } else if (c.teleAction == 5) {
  1008. c.getPA().spellTeleport(2724, 3484,0);
  1009. c.sendMessage("Talk to Bob to buy a hatchet or to be transported to the Magic trees.");
  1010. //Seers' Village
  1011. }
  1012. if (c.dialogueAction == 10) {
  1013. c.getPA().spellTeleport(2660, 4839, 0);
  1014. c.dialogueAction = -1;
  1015. } else if (c.dialogueAction == 11) {
  1016. //c.getPA().spellTeleport(2527, 4833, 0); astrals here
  1017. c.getRunecrafting().craftRunes(2489);
  1018. c.dialogueAction = -1;
  1019. } else if (c.dialogueAction == 12) {
  1020. //c.getPA().spellTeleport(2464, 4834, 0); bloods here
  1021. c.getRunecrafting().craftRunes(2489);
  1022. c.dialogueAction = -1;
  1023. } else if (c.teleAction == 20) {
  1024. c.getPA().spellTeleport(2787,2786,0);
  1025. }
  1026. break;
  1027.  
  1028. /**Prayers**/
  1029. case 21233: // thick skin
  1030. c.getCombat().activatePrayer(0);
  1031. break;
  1032. case 21234: // burst of str
  1033. c.getCombat().activatePrayer(1);
  1034. break;
  1035. case 21235: // charity of thought
  1036. c.getCombat().activatePrayer(2);
  1037. break;
  1038. case 70080: // range
  1039. c.getCombat().activatePrayer(3);
  1040. break;
  1041. case 70082: // mage
  1042. c.getCombat().activatePrayer(4);
  1043. break;
  1044. case 21236: // rockskin
  1045. c.getCombat().activatePrayer(5);
  1046. break;
  1047. case 21237: // super human
  1048. c.getCombat().activatePrayer(6);
  1049. break;
  1050. case 21238: // improved reflexes
  1051. c.getCombat().activatePrayer(7);
  1052. break;
  1053. case 21239: //hawk eye
  1054. c.getCombat().activatePrayer(8);
  1055. break;
  1056. case 21240:
  1057. c.getCombat().activatePrayer(9);
  1058. break;
  1059. case 21241:
  1060. if (!c.inFoG()) {
  1061. c.getCombat().activatePrayer(10);
  1062. } else {
  1063. c.sendMessage("Protect item does NOT work in FoG");
  1064. }
  1065. break;
  1066. case 70084: // 26 range
  1067. c.getCombat().activatePrayer(11);
  1068. break;
  1069. case 70086: // 27 mage
  1070. c.getCombat().activatePrayer(12);
  1071. break;
  1072. case 21242: // steel skin
  1073. c.getCombat().activatePrayer(13);
  1074. break;
  1075. case 21243: // ultimate str
  1076. c.getCombat().activatePrayer(14);
  1077. break;
  1078. case 21244: // incredible reflex
  1079. c.getCombat().activatePrayer(15);
  1080. break;
  1081. case 21245: // protect from magic
  1082. c.getCombat().activatePrayer(16);
  1083. break;
  1084. case 21246: // protect from range
  1085. c.getCombat().activatePrayer(17);
  1086. break;
  1087. case 21247: // protect from melee
  1088. c.getCombat().activatePrayer(18);
  1089. break;
  1090. case 70088: // 44 range
  1091. c.getCombat().activatePrayer(19);
  1092. break;
  1093. case 70090: // 45 mystic
  1094. c.getCombat().activatePrayer(20);
  1095. break;
  1096. case 2171: // retrui
  1097. c.getCombat().activatePrayer(21);
  1098. break;
  1099. case 2172: // redem
  1100. c.getCombat().activatePrayer(22);
  1101. break;
  1102. case 2173: // smite
  1103. c.getCombat().activatePrayer(23);
  1104. break;
  1105. case 70092: // chiv
  1106. c.getCombat().activatePrayer(24);
  1107. break;
  1108. case 70094: // piety
  1109. c.getCombat().activatePrayer(25);
  1110. break;
  1111.  
  1112. case 13092:
  1113. Client ot = (Client) Server.playerHandler.players[c.tradeWith];
  1114. if(ot == null) {
  1115. c.getTradeAndDuel().declineTrade();
  1116. c.sendMessage("Trade declined as the other player has disconnected.");
  1117. break;
  1118. }
  1119. c.getPA().sendFrame126("Waiting for other player...", 3431);
  1120. ot.getPA().sendFrame126("Other player has accepted", 3431);
  1121. c.goodTrade= true;
  1122. ot.goodTrade= true;
  1123.  
  1124. for (GameItem item : c.getTradeAndDuel().offeredItems) {
  1125. if (item.id > 0) {
  1126. if(ot.getItems().freeSlots() < c.getTradeAndDuel().offeredItems.size()) {
  1127. c.sendMessage(ot.playerName +" only has "+ot.getItems().freeSlots()+" free slots, please remove "+(c.getTradeAndDuel().offeredItems.size() - ot.getItems().freeSlots())+" items.");
  1128. ot.sendMessage(c.playerName +" has to remove "+(c.getTradeAndDuel().offeredItems.size() - ot.getItems().freeSlots())+" items or you could offer them "+(c.getTradeAndDuel().offeredItems.size() - ot.getItems().freeSlots())+" items.");
  1129. c.goodTrade= false;
  1130. ot.goodTrade= false;
  1131. c.getPA().sendFrame126("Not enough inventory space...", 3431);
  1132. ot.getPA().sendFrame126("Not enough inventory space...", 3431);
  1133. break;
  1134. } else {
  1135. c.getPA().sendFrame126("Waiting for other player...", 3431);
  1136. ot.getPA().sendFrame126("Other player has accepted", 3431);
  1137. c.goodTrade= true;
  1138. ot.goodTrade= true;
  1139. }
  1140. }
  1141. }
  1142. if (c.inTrade && !c.tradeConfirmed && ot.goodTrade && c.goodTrade) {
  1143. c.tradeConfirmed = true;
  1144. if(ot.tradeConfirmed) {
  1145. c.getTradeAndDuel().confirmScreen();
  1146. ot.getTradeAndDuel().confirmScreen();
  1147. break;
  1148. }
  1149.  
  1150. }
  1151.  
  1152.  
  1153. break;
  1154.  
  1155. case 13218:
  1156. c.tradeAccepted = true;
  1157. Client ot1 = (Client) Server.playerHandler.players[c.tradeWith];
  1158. if (ot1 == null) {
  1159. c.getTradeAndDuel().declineTrade();
  1160. c.sendMessage("Trade declined as the other player has disconnected.");
  1161. break;
  1162. }
  1163.  
  1164. if (c.inTrade && c.tradeConfirmed && ot1.tradeConfirmed && !c.tradeConfirmed2) {
  1165. c.tradeConfirmed2 = true;
  1166. if(ot1.tradeConfirmed2) {
  1167. c.acceptedTrade = true;
  1168. ot1.acceptedTrade = true;
  1169. c.getTradeAndDuel().giveItems();
  1170. ot1.getTradeAndDuel().giveItems();
  1171. break;
  1172. }
  1173. ot1.getPA().sendFrame126("Other player has accepted.", 3535);
  1174. c.getPA().sendFrame126("Waiting for other player...", 3535);
  1175. }
  1176.  
  1177. break;
  1178. /* Rules Interface Buttons */
  1179. case 125011: //Click agree
  1180. if(!c.ruleAgreeButton) {
  1181. c.ruleAgreeButton = true;
  1182. c.getPA().sendFrame36(701, 1);
  1183. } else {
  1184. c.ruleAgreeButton = false;
  1185. c.getPA().sendFrame36(701, 0);
  1186. }
  1187. break;
  1188. case 125003://Accept
  1189. if(c.ruleAgreeButton) {
  1190. c.getPA().showInterface(3559);
  1191. c.newPlayer = false;
  1192. } else if(!c.ruleAgreeButton) {
  1193. c.sendMessage("You need to click on you agree before you can continue on.");
  1194. }
  1195. break;
  1196. case 125006://Decline
  1197. c.sendMessage("You have chosen to decline, Client will be disconnected from the server.");
  1198. break;
  1199. /* End Rules Interface Buttons */
  1200. /* Player Options */
  1201. case 74176:
  1202. if(!c.mouseButton) {
  1203. c.mouseButton = true;
  1204. c.getPA().sendFrame36(500, 1);
  1205. c.getPA().sendFrame36(170,1);
  1206. } else if(c.mouseButton) {
  1207. c.mouseButton = false;
  1208. c.getPA().sendFrame36(500, 0);
  1209. c.getPA().sendFrame36(170,0);
  1210. }
  1211. break;
  1212. case 74184:
  1213. if(!c.splitChat) {
  1214. c.splitChat = true;
  1215. c.getPA().sendFrame36(502, 1);
  1216. c.getPA().sendFrame36(287, 1);
  1217. } else {
  1218. c.splitChat = false;
  1219. c.getPA().sendFrame36(502, 0);
  1220. c.getPA().sendFrame36(287, 0);
  1221. }
  1222. break;
  1223. case 74180:
  1224. if(!c.chatEffects) {
  1225. c.chatEffects = true;
  1226. c.getPA().sendFrame36(501, 1);
  1227. c.getPA().sendFrame36(171, 0);
  1228. } else {
  1229. c.chatEffects = false;
  1230. c.getPA().sendFrame36(501, 0);
  1231. c.getPA().sendFrame36(171, 1);
  1232. }
  1233. break;
  1234. case 74188:
  1235. if(!c.acceptAid) {
  1236. c.acceptAid = true;
  1237. c.getPA().sendFrame36(503, 1);
  1238. c.getPA().sendFrame36(427, 1);
  1239. } else {
  1240. c.acceptAid = false;
  1241. c.getPA().sendFrame36(503, 0);
  1242. c.getPA().sendFrame36(427, 0);
  1243. }
  1244. break;
  1245. case 74192:
  1246. if(!c.isRunning2) {
  1247. c.isRunning2 = true;
  1248. c.getPA().sendFrame36(504, 1);
  1249. c.getPA().sendFrame36(173, 1);
  1250. } else {
  1251. c.isRunning2 = false;
  1252. c.getPA().sendFrame36(504, 0);
  1253. c.getPA().sendFrame36(173, 0);
  1254. }
  1255. break;
  1256. case 74201://brightness1
  1257. c.getPA().sendFrame36(505, 1);
  1258. c.getPA().sendFrame36(506, 0);
  1259. c.getPA().sendFrame36(507, 0);
  1260. c.getPA().sendFrame36(508, 0);
  1261. c.getPA().sendFrame36(166, 1);
  1262. break;
  1263. case 74203://brightness2
  1264. c.getPA().sendFrame36(505, 0);
  1265. c.getPA().sendFrame36(506, 1);
  1266. c.getPA().sendFrame36(507, 0);
  1267. c.getPA().sendFrame36(508, 0);
  1268. c.getPA().sendFrame36(166,2);
  1269. break;
  1270.  
  1271. case 74204://brightness3
  1272. c.getPA().sendFrame36(505, 0);
  1273. c.getPA().sendFrame36(506, 0);
  1274. c.getPA().sendFrame36(507, 1);
  1275. c.getPA().sendFrame36(508, 0);
  1276. c.getPA().sendFrame36(166,3);
  1277. break;
  1278.  
  1279. case 74205://brightness4
  1280. c.getPA().sendFrame36(505, 0);
  1281. c.getPA().sendFrame36(506, 0);
  1282. c.getPA().sendFrame36(507, 0);
  1283. c.getPA().sendFrame36(508, 1);
  1284. c.getPA().sendFrame36(166,4);
  1285. break;
  1286. case 74206://area1
  1287. c.getPA().sendFrame36(509, 1);
  1288. c.getPA().sendFrame36(510, 0);
  1289. c.getPA().sendFrame36(511, 0);
  1290. c.getPA().sendFrame36(512, 0);
  1291. break;
  1292. case 74207://area2
  1293. c.getPA().sendFrame36(509, 0);
  1294. c.getPA().sendFrame36(510, 1);
  1295. c.getPA().sendFrame36(511, 0);
  1296. c.getPA().sendFrame36(512, 0);
  1297. break;
  1298. case 74208://area3
  1299. c.getPA().sendFrame36(509, 0);
  1300. c.getPA().sendFrame36(510, 0);
  1301. c.getPA().sendFrame36(511, 1);
  1302. c.getPA().sendFrame36(512, 0);
  1303. break;
  1304. case 74209://area4
  1305. c.getPA().sendFrame36(509, 0);
  1306. c.getPA().sendFrame36(510, 0);
  1307. c.getPA().sendFrame36(511, 0);
  1308. c.getPA().sendFrame36(512, 1);
  1309. break;
  1310. case 168:
  1311. c.startAnimation(855);
  1312. break;
  1313. case 169:
  1314. c.startAnimation(856);
  1315. break;
  1316. case 162:
  1317. c.startAnimation(857);
  1318. break;
  1319. case 164:
  1320. c.startAnimation(858);
  1321. break;
  1322. case 165:
  1323. c.startAnimation(859);
  1324. break;
  1325. case 161:
  1326. c.startAnimation(860);
  1327. break;
  1328. case 170:
  1329. c.startAnimation(861);
  1330. break;
  1331. case 171:
  1332. c.startAnimation(862);
  1333. break;
  1334. case 163:
  1335. c.startAnimation(863);
  1336. break;
  1337. case 167:
  1338. c.startAnimation(864);
  1339. break;
  1340. case 172:
  1341. c.startAnimation(865);
  1342. break;
  1343. case 166:
  1344. c.startAnimation(866);
  1345. break;
  1346. case 52050:
  1347. c.startAnimation(2105);
  1348. break;
  1349. case 52051:
  1350. c.startAnimation(2106);
  1351. break;
  1352. case 52052:
  1353. c.startAnimation(2107);
  1354. break;
  1355. case 52053:
  1356. c.startAnimation(2108);
  1357. break;
  1358. case 52054:
  1359. c.startAnimation(2109);
  1360. break;
  1361. case 52055:
  1362. c.startAnimation(2110);
  1363. break;
  1364. case 52056:
  1365. c.startAnimation(2111);
  1366. break;
  1367. case 52057:
  1368. c.startAnimation(2112);
  1369. break;
  1370. case 52058:
  1371. c.startAnimation(2113);
  1372. break;
  1373. case 43092:
  1374. c.startAnimation(0x558);
  1375. break;
  1376. case 2155:
  1377. c.startAnimation(0x46B);
  1378. break;
  1379. case 25103:
  1380. c.startAnimation(0x46A);
  1381. break;
  1382. case 25106:
  1383. c.startAnimation(0x469);
  1384. break;
  1385. case 2154:
  1386. c.startAnimation(0x468);
  1387. break;
  1388. case 52071:
  1389. c.startAnimation(0x84F);
  1390. break;
  1391. case 52072:
  1392. c.startAnimation(0x850);
  1393. break;
  1394. case 59062:
  1395. c.startAnimation(2836);
  1396. break;
  1397. case 72032:
  1398. c.startAnimation(3544);
  1399. break;
  1400. case 72033:
  1401. c.startAnimation(3543);
  1402. break;
  1403. case 72254:
  1404. c.startAnimation(6111);
  1405. break;
  1406. case 118098: // Vengeance
  1407. c.getPA().vengMe();
  1408. break;
  1409.  
  1410. case 47130:
  1411. c.forcedText = "I must slay another " + c.taskAmount + " " + Server.npcHandler.getNpcListName(c.slayerTask) + ".";
  1412. c.forcedChatUpdateRequired = true;
  1413. c.updateRequired = true;
  1414. break;
  1415.  
  1416. case 24017:
  1417. c.getPA().resetAutocast();
  1418. c.getItems().sendWeapon(c.playerEquipment[c.playerWeapon], c.getItems().getItemName(c.playerEquipment[c.playerWeapon]));
  1419. break;
  1420.  
  1421. case 55095:
  1422. c.getPA().destroyItem(c.destroyItem);
  1423. case 55096:
  1424. c.getPA().closeAllWindows();
  1425. break;
  1426. case 154:
  1427. ClickingButtons.handleSkillCape(c);
  1428. break;
  1429. }
  1430. if (c.isAutoButton(actionButtonId))
  1431. c.assignAutocast(actionButtonId);
  1432. }
  1433.  
  1434. public static void handleSkillCape(Client c) {
  1435. if (c.playerEquipment[c.playerCape] == 9747 || c.playerEquipment[c.playerCape] == 9748) {
  1436. c.startAnimation(4959);
  1437. c.gfx0(823);
  1438. } else if (c.playerEquipment[c.playerCape] == 9750 || c.playerEquipment[c.playerCape] == 9751) {
  1439. c.startAnimation(4981);
  1440. c.gfx0(828);
  1441. } else if (c.playerEquipment[c.playerCape] == 9753 || c.playerEquipment[c.playerCape] == 9754) {
  1442. c.startAnimation(4961);
  1443. c.gfx0(824);
  1444. } else if (c.playerEquipment[c.playerCape] == 9756 || c.playerEquipment[c.playerCape] == 9757) {
  1445. c.startAnimation(4973);
  1446. c.gfx0(832);
  1447. } else if (c.playerEquipment[c.playerCape] == 9759 || c.playerEquipment[c.playerCape] == 9760) {
  1448. c.startAnimation(4979);
  1449. c.gfx0(829);
  1450. } else if (c.playerEquipment[c.playerCape] == 9762 || c.playerEquipment[c.playerCape] == 9763) {
  1451. c.startAnimation(4939);
  1452. c.gfx0(813);
  1453. } else if (c.playerEquipment[c.playerCape] == 9765 || c.playerEquipment[c.playerCape] == 9766) {
  1454. c.startAnimation(4947);
  1455. c.gfx0(817);
  1456. } else if (c.playerEquipment[c.playerCape] == 9768 || c.playerEquipment[c.playerCape] == 9769) {
  1457. c.startAnimation(4971);
  1458. c.gfx0(833);
  1459. } else if (c.playerEquipment[c.playerCape] == 9771 || c.playerEquipment[c.playerCape] == 9772) {
  1460. c.startAnimation(4977);
  1461. c.gfx0(830);
  1462. } else if (c.playerEquipment[c.playerCape] == 9774 || c.playerEquipment[c.playerCape] == 9775) {
  1463. c.startAnimation(4969);
  1464. c.gfx0(835);
  1465. } else if (c.playerEquipment[c.playerCape] == 9777 || c.playerEquipment[c.playerCape] == 9778) {
  1466. c.startAnimation(4965);
  1467. c.gfx0(826);
  1468. } else if (c.playerEquipment[c.playerCape] == 9780 || c.playerEquipment[c.playerCape] == 9781) {
  1469. c.startAnimation(4949);
  1470. c.gfx0(818);
  1471. } else if (c.playerEquipment[c.playerCape] == 9783 || c.playerEquipment[c.playerCape] == 9784) {
  1472. c.startAnimation(4937);
  1473. c.gfx0(812);
  1474. } else if (c.playerEquipment[c.playerCape] == 9786 || c.playerEquipment[c.playerCape] == 9787) {
  1475. c.startAnimation(4967);
  1476. c.gfx0(827);
  1477. } else if (c.playerEquipment[c.playerCape] == 9789 || c.playerEquipment[c.playerCape] == 9790) {
  1478. c.startAnimation(4953);
  1479. c.gfx0(820);
  1480. } else if (c.playerEquipment[c.playerCape] == 9792 || c.playerEquipment[c.playerCape] == 9793) {
  1481. c.startAnimation(4941);
  1482. c.gfx0(814);
  1483. } else if (c.playerEquipment[c.playerCape] == 9795 || c.playerEquipment[c.playerCape] == 9796) {
  1484. c.startAnimation(4943);
  1485. c.gfx0(815);
  1486. } else if (c.playerEquipment[c.playerCape] == 9798 || c.playerEquipment[c.playerCape] == 9799) {
  1487. c.startAnimation(4951);
  1488. c.gfx0(819);
  1489. } else if (c.playerEquipment[c.playerCape] == 9801 || c.playerEquipment[c.playerCape] == 9802) {
  1490. c.startAnimation(4955);
  1491. c.gfx0(821);
  1492. } else if (c.playerEquipment[c.playerCape] == 9804 || c.playerEquipment[c.playerCape] == 9805) {
  1493. c.startAnimation(4975);
  1494. c.gfx0(831);
  1495. } else if (c.playerEquipment[c.playerCape] == 9807 || c.playerEquipment[c.playerCape] == 9808) {
  1496. c.startAnimation(4957);
  1497. c.gfx0(822);
  1498. } else if (c.playerEquipment[c.playerCape] == 9810 || c.playerEquipment[c.playerCape] == 9811) {
  1499. c.startAnimation(4963);
  1500. c.gfx0(825);
  1501. } else if (c.playerEquipment[c.playerCape] == 9813) {
  1502. c.startAnimation(4945);
  1503. c.gfx0(816);
  1504. } else if (c.playerEquipment[c.playerCape] == 9948 || c.playerEquipment[c.playerCape] == 9949) {
  1505. c.startAnimation(5158);
  1506. c.gfx0(907);
  1507. } else {
  1508. c.sendMessage("You need a skillcape to perform this emote.");
  1509. }
  1510. }
  1511. }
Advertisement
Add Comment
Please, Sign In to add comment