RuneHive-Game
Loading...
Searching...
No Matches
RopeSwingInteraction.java
Go to the documentation of this file.
1package com.runehive.content.skill.impl.agility.obstacle.impl;
2
3import com.runehive.content.skill.impl.agility.obstacle.ObstacleInteraction;
4import com.runehive.game.world.entity.mob.Direction;
5import com.runehive.game.world.entity.mob.player.Player;
6import com.runehive.game.world.position.Position;
7import com.runehive.game.world.object.GameObject;
8import com.runehive.net.packet.out.SendObjectAnimation;
9
10public interface RopeSwingInteraction extends ObstacleInteraction {
11 @Override
12 default void start(Player player) { }
13
14 @Override
15 default void onExecution(Player player, Position start, Position end) {
16 int modX = end.getX() - player.getPosition().getX();
17 int modY = end.getY() - player.getPosition().getY();
18
19 Position destination = Position.create(modX, modY);
20 Direction direction = Direction.getFollowDirection(player.getPosition(), end);
21 GameObject object = player.attributes.get("AGILITY_OBJ", GameObject.class);
22
23 player.send(new SendObjectAnimation(497, object));
24 player.forceMove(3, 751, 33, 60, destination, direction);
25 }
26
27 @Override
28 default void onCancellation(Player player) { }
29}
void forceMove(int animation, int x, int y)
Definition Mob.java:255
final GenericAttributes attributes
Definition Mob.java:95
This class represents a character controlled by a player.
Definition Player.java:125
Represents a single tile on the game world.
Definition Position.java:14
int getY()
Gets the absolute y coordinate.
Definition Position.java:46
int getX()
Gets the absolute x coordinate.
Definition Position.java:41
static Position create(int x, int y, int z)
Creates a location.
public< K, E > E get(K key)
Gets a generic attribute.
Represents the enumerated directions an entity can walk or face.
static Direction getFollowDirection(Position source, Position target)
default void onExecution(Player player, Position start, Position end)