RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
RopeSwingInteraction.java
1package com.osroyale.content.skill.impl.agility.obstacle.impl;
2
3import com.osroyale.content.skill.impl.agility.obstacle.ObstacleInteraction;
4import com.osroyale.game.world.entity.mob.Direction;
5import com.osroyale.game.world.entity.mob.player.Player;
6import com.osroyale.game.world.position.Position;
7import com.osroyale.game.world.object.GameObject;
8import com.osroyale.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}