Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public enum AgilityCourse {
- GNOME_COURSE(
- new Obstacle(
- "Log balance",
- new RSArea(new RSTile[]{
- new RSTile(2468, 3435, 0),
- new RSTile(2491, 3436, 0),
- new RSTile(2487, 3441, 0),
- new RSTile(2472, 3441, 0)
- })
- ),
- new Obstacle(
- "Obstacle net",
- new RSArea(new RSTile[]{
- new RSTile(2470, 3430, 0),
- new RSTile(2470, 3425, 0),
- new RSTile(2478, 3425, 0),
- new RSTile(2478, 3430, 0)
- })
- ),
- new Obstacle(
- "Tree branch",
- new RSArea(new RSTile[]{
- new RSTile(2471, 3425, 1),
- new RSTile(2471, 3422, 1),
- new RSTile(2477, 3422, 1),
- new RSTile(2477, 3425, 1)
- })
- ),
- new Obstacle(
- "Balancing rope",
- new RSArea(new RSTile[]{
- new RSTile(2472, 3422, 2),
- new RSTile(2472, 3418, 2),
- new RSTile(2478, 3418, 2),
- new RSTile(2478, 3422, 2)
- })
- ),
- new Obstacle(
- "Tree branch",
- new RSArea(new RSTile[]{
- new RSTile(2483, 3418, 2),
- new RSTile(2489, 3418, 2),
- new RSTile(2489, 3422, 2),
- new RSTile(2483, 3422, 2)
- })
- ),
- new Obstacle(
- "Obstacle net",
- new RSArea(new RSTile[]{
- new RSTile(2483, 3416, 0),
- new RSTile(2489, 3416, 0),
- new RSTile(2488, 3426, 0),
- new RSTile(2483, 3426, 0)
- })
- ),
- new Obstacle(
- "Obstacle pipe",
- new RSArea(new RSTile[]{
- new RSTile(2483, 3427, 0),
- new RSTile(2489, 3427, 0),
- new RSTile(2489, 3432, 0),
- new RSTile(2483, 3432, 0)
- })
- )
- ),
- DRAYNOR_ROOF(
- new Obstacle(
- "Rough wall",
- new RSArea(new RSTile[] {
- new RSTile(3102, 3259, 0),
- new RSTile(3105, 3259, 0),
- new RSTile(3106, 3282, 0),
- new RSTile(3103, 3282, 0)
- })),
- new Obstacle(
- "Tightrope",
- new RSArea(new RSTile[] {
- new RSTile(3097, 3277, 3),
- new RSTile(3103, 3277, 3),
- new RSTile(3103, 3282, 3),
- new RSTile(3097, 3282, 3)
- })),
- new Obstacle(
- "Tightrope",
- new RSArea(new RSTile[] {
- new RSTile(3093, 3275, 3),
- new RSTile(3090, 3278, 3),
- new RSTile(3087, 3274, 3),
- new RSTile(3090, 3270, 3)
- })),
- new Obstacle(
- "Narrow wall",
- new RSArea(new RSTile[] {
- new RSTile(3089, 3265, 3),
- new RSTile(3096, 3264, 3),
- new RSTile(3096, 3269, 3),
- new RSTile(3089, 3268, 3)
- })),
- new Obstacle(
- "Wall",
- new RSArea(new RSTile[] {
- new RSTile(3089, 3262, 3),
- new RSTile(3089, 3256, 3),
- new RSTile(3087, 3256, 3),
- new RSTile(3087, 3261, 3)
- })),
- new Obstacle("Gap",
- new RSArea(new RSTile[] {
- new RSTile(3087, 3256, 3),
- new RSTile(3095, 3256, 3),
- new RSTile(3095, 3254, 3),
- new RSTile(3087, 3254, 3)
- })),
- new Obstacle("Crate",
- new RSArea(new RSTile[] {
- new RSTile(3096, 3262, 3),
- new RSTile(3102, 3262, 3),
- new RSTile(3101, 3256, 3),
- new RSTile(3096, 3256, 3)
- }))
- ),
- AL_KHARID_ROOF(
- new Obstacle(
- "Rough wall",
- new RSArea(new RSTile[] {
- new RSTile(3301, 3195, 0),
- new RSTile(3298, 3198, 0),
- new RSTile(3270, 3199, 0),
- new RSTile(3270, 3195, 0),
- new RSTile(3296, 3191, 0)
- })),
- new Obstacle(
- "Tightrope",
- new RSArea(new RSTile[] {
- new RSTile(3270, 3196, 3),
- new RSTile(3279, 3196, 3),
- new RSTile(3278, 3179, 3),
- new RSTile(3270, 3179, 3)
- })),
- new Obstacle(
- "Cable",
- new RSArea(new RSTile[] {
- new RSTile(3273, 3174, 3),
- new RSTile(3265, 3174, 3),
- new RSTile(3265, 3161, 3),
- new RSTile(3272, 3161, 3)
- })),
- new Obstacle(
- "Zip line",
- new RSArea(new RSTile[] {
- new RSTile(3303, 3159, 3),
- new RSTile(3303, 3170, 3),
- new RSTile(3289, 3169, 3),
- new RSTile(3288, 3177, 3),
- new RSTile(3283, 3177, 3),
- new RSTile(3283, 3160, 3)
- })),
- new Obstacle(
- "Tropical tree",
- new RSArea(new RSTile[] {
- new RSTile(3313, 3166, 1),
- new RSTile(3313, 3160, 1),
- new RSTile(3319, 3160, 1),
- new RSTile(3319, 3166, 1)
- })),
- new Obstacle(
- "Roof top beams",
- new RSArea(new RSTile[] {
- new RSTile(3319, 3171, 2),
- new RSTile(3319, 3180, 2),
- new RSTile(3311, 3180, 2),
- new RSTile(3312, 3172, 2)
- })),
- new Obstacle(
- "Tightrope",
- new RSArea(new RSTile[] {
- new RSTile(3319, 3180, 3),
- new RSTile(3319, 3187, 3),
- new RSTile(3312, 3187, 3),
- new RSTile(3312, 3180, 3)
- })),
- new Obstacle(
- "Gap",
- new RSArea(new RSTile[] {
- new RSTile(3306, 3188, 3),
- new RSTile(3303, 3185, 3),
- new RSTile(3297, 3191, 3),
- new RSTile(3301, 3194, 3)
- }))
- );
- private final Obstacle[] obstacles;
- AgilityCourse(Obstacle... obstacles) {
- this.obstacles = obstacles;
- }
- /**
- * Gets the next obstacle by checking if the player is inside the obstacle's area
- * @return the next {@link scripts.alpharunner.Obstacle}
- */
- public Obstacle getNextObstacle() {
- for (Obstacle obstacle : obstacles) {
- if (obstacle.area.contains(Player.getPosition()) && obstacle.area.plane == Game.getPlane()) {
- return obstacle;
- }
- }
- return null;
- }
- /**
- * Gets the nearest obstacle based on the center of the obstacle's area
- * @return the nearest {@link scripts.alpharunner.Obstacle}
- */
- public Obstacle getNearestObstacle() {
- Obstacle nearest = null;
- int distance = Integer.MAX_VALUE;
- for (Obstacle obstacle : obstacles) {
- if (obstacle.area.plane != Game.getPlane()) continue;
- final int tempDist = Utility.getCenterTile(obstacle.area).distanceTo(Player.getPosition());
- if (tempDist < distance) {
- distance = tempDist;
- nearest = obstacle;
- }
- }
- return nearest;
- }
- /**
- * @return <tt>true</tt> if the course is a rooftop course
- */
- public boolean isRoof() {
- return toString().toLowerCase().contains("roof");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement