Guest User

Untitled

a guest
Oct 22nd, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.78 KB | None | 0 0
  1. package server.model.players.skills;
  2.  
  3. import server.model.players.Client;
  4. import server.event.CycleEventHandler;
  5. import server.event.CycleEvent;
  6. import server.event.CycleEventContainer;
  7. import server.model.objects.Objects;
  8. import server.world.map.VirtualWorld;
  9. import server.*;
  10. import server.world.*;
  11.  
  12. public class Firemaking extends SkillHandler {
  13.  
  14. private static Tiles currentTile;
  15.  
  16. private static int[][] data = {
  17. {1511, 1, 40, 2732}, // LOG
  18. {7406, 1, 250, 11406}, // RED LOG
  19. {7405, 1, 250, 11405}, // BLUE LOG
  20. {7404, 1, 250, 11404}, // RED LOG
  21. {2862, 1, 40, 2732}, // ACHEY
  22. {1521, 15, 60, 2732}, // OAK
  23. {1519, 30, 105, 2732}, // WILLOW
  24. {6333, 35, 105, 2732}, // TEAK
  25. {1517, 45, 135, 2732}, // MAPLE
  26. {10810,45, 135, 2732}, // ARTIC PINE
  27. {6332, 50, 158, 2732}, // MAHOGANY
  28. {1515, 60, 203, 2732}, // YEW
  29. {1513, 75, 304, 2732}, // MAGIC
  30. };
  31.  
  32. public static boolean playerLogs(Client c, int i, int l) {
  33. boolean flag = false;
  34. for(int kl = 0; kl < data.length; kl++) {
  35. if((i == data[kl][0] && requiredItem(c, l)) || (requiredItem(c, i) && l == data[kl][0])) {
  36. flag = true;
  37. }
  38. }
  39. return flag;
  40. }
  41.  
  42. private static int getAnimation(Client c, int item, int item1) {
  43. int[][] data = {
  44. {841, 6714}, {843, 6715}, {849, 6716}, {853, 6717},
  45. {857, 6718}, {861, 6719},
  46. };
  47. for(int i = 0; i < data.length; i++) {
  48. if(item == data[i][0] || item1 == data[i][0]) {
  49. return data[i][1];
  50. }
  51. }
  52. return 733;
  53. }
  54.  
  55. private static boolean requiredItem(Client c, int i) {
  56. int[] data = {
  57. 841, 843, 849, 853, 857, 861, 590
  58. };
  59. for(int l = 0; l < data.length; l++) {
  60. if(i == data[l]) {
  61. return true;
  62. }
  63. }
  64. return false;
  65. }
  66.  
  67. public static void grabData(final Client c, final int useWith, final int withUse) {
  68. final int[] coords = new int[2];
  69. coords[0] = c.absX;
  70. coords[1] = c.absY;
  71. if(c.playerIsWoodcutting) {
  72. Woodcutting.resetWoodcutting(c);
  73. }
  74. for(int i = 0; i < data.length; i++) {
  75. if((requiredItem(c, useWith) && withUse == data[i][0] || useWith == data[i][0] && requiredItem(c, withUse))) {
  76. if(c.playerLevel[11] < data[i][1]) {
  77. c.sendMessage("You don't have the correct Firemaking level to light this log!");
  78. c.sendMessage("You need the Firemaking level of at least "+ data[i][1] +".");
  79. return;
  80. }
  81. if (System.currentTimeMillis() - c.lastFire > 1200) {
  82.  
  83. if(c.playerIsFiremaking) {
  84. return;
  85. }
  86.  
  87. final int[] time = new int[3];
  88. final int log = data[i][0];
  89. final int fire = data[i][3];
  90. if(System.currentTimeMillis() - c.lastFire > 3000) {
  91. c.startAnimation(getAnimation(c, useWith, withUse));
  92. time[0] = 4;
  93. time[1] = 3;
  94. } else {
  95. time[0] = 1;
  96. time[1] = 2;
  97. }
  98.  
  99. c.playerIsFiremaking = true;
  100.  
  101. Server.itemHandler.createGroundItem(c, log, coords[0], coords[1], 1, c.getId());
  102.  
  103. CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
  104. @Override
  105. public void execute(CycleEventContainer container) {
  106. Server.objectHandler.createAnObject(c, fire, coords[0], coords[1]);
  107. Server.itemHandler.removeGroundItem(c, log, coords[0], coords[1], false);
  108. c.playerIsFiremaking = false;
  109. container.stop();
  110. }
  111. @Override
  112. public void stop() {
  113.  
  114. }
  115. }, time[0]);
  116.  
  117. //if(VirtualWorld.I(c.heightLevel, c.absX, c.absY, c.absX-1, c.absY, 0)) {
  118. c.getPA().walkTo(-1, 0);
  119. //} else {
  120. //c.getPA().walkTo(1, 0);
  121. //}
  122.  
  123. currentTile = new Tiles(c.absX - 1, c.absY, c.heightLevel);
  124.  
  125. //if(!WalkingCheck.tiles.containsKey(currentTile.getH() << 28 | currentTile.getX() << 14 | currentTile.getY())){
  126. c.getPA().walkTo(-1, 0);
  127. //} else {
  128. //c.getPA().walkTo(1, 0);
  129. //}
  130.  
  131. c.sendMessage("You light the logs.");
  132.  
  133. CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
  134. @Override
  135. public void execute(CycleEventContainer container) {
  136. c.startAnimation(65535);
  137. container.stop();
  138. }
  139. @Override
  140. public void stop() {
  141.  
  142. }
  143. }, time[1]);
  144.  
  145. CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
  146. @Override
  147. public void execute(CycleEventContainer container) {
  148. Server.objectHandler.createAnObject(c, -1, coords[0], coords[1]);
  149. Server.itemHandler.createGroundItem(c, 592, coords[0], coords[1], 1, c.getId());
  150. container.stop();
  151. }
  152. @Override
  153. public void stop() {
  154.  
  155. }
  156. }, 100);
  157.  
  158. c.getPA().addSkillXP(data[i][2] * FIREMAKING_XP, 11);
  159. c.turnPlayerTo(c.absX+1, c.absY);
  160. c.getItems().deleteItem(data[i][0], c.getItems().getItemSlot(data[i][0]), 1);
  161. c.lastFire = System.currentTimeMillis();
  162. }
  163. }
  164. }
  165. }
  166. }
Add Comment
Please, Sign In to add comment