Advertisement
Emrage

Untitled

Aug 20th, 2014
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. package com.asteria.world.entity.player.skill;
  2.  
  3. import java.util.HashMap;
  4.  
  5. import com.asteria.world.entity.Animation;
  6. import com.asteria.world.entity.UpdateFlags.Flag;
  7. import com.asteria.world.entity.player.Player;
  8. import com.asteria.world.map.Position;
  9.  
  10. public class Agility {
  11.  
  12. /**
  13. *
  14. * Booleans for more experience at the end
  15. */
  16. public static boolean isDoingLog, isObstacleNet, isTreeBranch, isBalancingRope;
  17.  
  18.  
  19. /**
  20. *
  21. * Enum to store objectIds, experience, level
  22. * @author Emre
  23. *
  24. */
  25. public enum AgilityObjects {
  26. LOG(2295, 1, 1000),
  27. OBSTACLE_NET(2285, 1, 2000),
  28. TREE_BRANCH(2313, 1, 3000),
  29. BALANCING_ROPE(2312, 1, 4000);
  30.  
  31. private int objectId;
  32. private int levelRequired;
  33. private int experience;
  34.  
  35. /**
  36. *
  37. * HashMap stores the objectIds
  38. */
  39. public static HashMap<Integer, AgilityObjects> agility = new HashMap<>();
  40. static {
  41. for(AgilityObjects a : AgilityObjects.values()) {
  42. agility.put(a.objectId, a);
  43. }
  44. }
  45. /**
  46. *
  47. * Constructor for enum
  48. * @param objectId
  49. * @param levelRequired
  50. * @param experience
  51. */
  52. AgilityObjects(final int objectId, final int levelRequired, final int experience) {
  53. this.objectId = objectId;
  54. this.levelRequired = levelRequired;
  55. this.experience = experience;
  56. }
  57. /**
  58. *
  59. * Getter for objectId
  60. * @return
  61. */
  62. public int getObjectId() {
  63. return objectId;
  64. }
  65. /**
  66. *
  67. * Getter for levelRequired
  68. * @return
  69. */
  70. public int getLevelRequired() {
  71. return levelRequired;
  72. }
  73. /**
  74. *
  75. * getter for experience
  76. * @return
  77. */
  78. public int getExperience() {
  79. return experience;
  80. }
  81. }
  82. /**
  83. *
  84. * Method for the agility
  85. * @param player
  86. * @param objectId
  87. */
  88. public static void gnomeCourse(Player player, int objectId) {
  89. AgilityObjects a = AgilityObjects.agility.get(objectId);
  90.  
  91. /**
  92. *
  93. * Checks of the play has a high enough agility level
  94. */
  95. if(player.getSkills()[Skills.AGILITY].getLevel() < a.getLevelRequired()) {
  96. player.getPacketBuilder().sendMessage("You need a higher agility level");
  97. return;
  98. }
  99. /**
  100. *
  101. * The objects
  102. */
  103. switch(objectId) {
  104. case 2295:
  105. agilityWalk(player, 0, -7, 762);
  106. Skills.experience(player, a.getExperience(), Skills.AGILITY);
  107. isDoingLog = true;
  108. if(player.getPosition().getX() == 2474 && player.getPosition().getY() == 3428) {
  109. player.getPacketBuilder().resetAnimation();
  110. }
  111. break;
  112. case 2285:
  113. player.animation(new Animation(828));
  114. player.move(new Position(player.getPosition().getX(), 3424, 1));
  115. Skills.experience(player, a.getExperience(), Skills.AGILITY);
  116. isObstacleNet = true;
  117. break;
  118. case 2313:
  119. player.animation(new Animation(828));
  120. Skills.experience(player, a.getExperience(), Skills.AGILITY);
  121. player.move(new Position(2473, 3420, 2));
  122. isTreeBranch = true;
  123. break;
  124. case 2312:
  125. agilityWalk(player, +6, 0, 762);
  126. Skills.experience(player, a.getExperience(), Skills.AGILITY);
  127. isBalancingRope = true;
  128. break;
  129. }
  130. }
  131. /**
  132. *
  133. * The agility walk
  134. * @param player
  135. * @param x
  136. * @param y
  137. * @param walkAnimation
  138. */
  139. public static void agilityWalk(Player player, int x, int y, int walkAnimation) {
  140. player.getMovementQueue().walk(x, y);
  141. player.getUpdateAnimation().setWalkingAnimation(walkAnimation);
  142. player.getUpdateAnimation().setRunningAnimation(walkAnimation);
  143. player.getFlags().flag(Flag.APPEARANCE);
  144. }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement