Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.asteria.world.entity.player.skill;
- import java.util.HashMap;
- import com.asteria.world.entity.Animation;
- import com.asteria.world.entity.UpdateFlags.Flag;
- import com.asteria.world.entity.player.Player;
- import com.asteria.world.map.Position;
- public class Agility {
- /**
- *
- * Booleans for more experience at the end
- */
- public static boolean isDoingLog, isObstacleNet, isTreeBranch, isBalancingRope;
- /**
- *
- * Enum to store objectIds, experience, level
- * @author Emre
- *
- */
- public enum AgilityObjects {
- LOG(2295, 1, 1000),
- OBSTACLE_NET(2285, 1, 2000),
- TREE_BRANCH(2313, 1, 3000),
- BALANCING_ROPE(2312, 1, 4000);
- private int objectId;
- private int levelRequired;
- private int experience;
- /**
- *
- * HashMap stores the objectIds
- */
- public static HashMap<Integer, AgilityObjects> agility = new HashMap<>();
- static {
- for(AgilityObjects a : AgilityObjects.values()) {
- agility.put(a.objectId, a);
- }
- }
- /**
- *
- * Constructor for enum
- * @param objectId
- * @param levelRequired
- * @param experience
- */
- AgilityObjects(final int objectId, final int levelRequired, final int experience) {
- this.objectId = objectId;
- this.levelRequired = levelRequired;
- this.experience = experience;
- }
- /**
- *
- * Getter for objectId
- * @return
- */
- public int getObjectId() {
- return objectId;
- }
- /**
- *
- * Getter for levelRequired
- * @return
- */
- public int getLevelRequired() {
- return levelRequired;
- }
- /**
- *
- * getter for experience
- * @return
- */
- public int getExperience() {
- return experience;
- }
- }
- /**
- *
- * Method for the agility
- * @param player
- * @param objectId
- */
- public static void gnomeCourse(Player player, int objectId) {
- AgilityObjects a = AgilityObjects.agility.get(objectId);
- /**
- *
- * Checks of the play has a high enough agility level
- */
- if(player.getSkills()[Skills.AGILITY].getLevel() < a.getLevelRequired()) {
- player.getPacketBuilder().sendMessage("You need a higher agility level");
- return;
- }
- /**
- *
- * The objects
- */
- switch(objectId) {
- case 2295:
- agilityWalk(player, 0, -7, 762);
- Skills.experience(player, a.getExperience(), Skills.AGILITY);
- isDoingLog = true;
- if(player.getPosition().getX() == 2474 && player.getPosition().getY() == 3428) {
- player.getPacketBuilder().resetAnimation();
- }
- break;
- case 2285:
- player.animation(new Animation(828));
- player.move(new Position(player.getPosition().getX(), 3424, 1));
- Skills.experience(player, a.getExperience(), Skills.AGILITY);
- isObstacleNet = true;
- break;
- case 2313:
- player.animation(new Animation(828));
- Skills.experience(player, a.getExperience(), Skills.AGILITY);
- player.move(new Position(2473, 3420, 2));
- isTreeBranch = true;
- break;
- case 2312:
- agilityWalk(player, +6, 0, 762);
- Skills.experience(player, a.getExperience(), Skills.AGILITY);
- isBalancingRope = true;
- break;
- }
- }
- /**
- *
- * The agility walk
- * @param player
- * @param x
- * @param y
- * @param walkAnimation
- */
- public static void agilityWalk(Player player, int x, int y, int walkAnimation) {
- player.getMovementQueue().walk(x, y);
- player.getUpdateAnimation().setWalkingAnimation(walkAnimation);
- player.getUpdateAnimation().setRunningAnimation(walkAnimation);
- player.getFlags().flag(Flag.APPEARANCE);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement