Fix Actor.getWorldLocation to use pathX/pathY instead of getX/getY

This commit is contained in:
WooxSolo
2018-04-08 12:43:00 +02:00
committed by Adam
parent f54ba0f2a7
commit 92c8e9e9e6
3 changed files with 15 additions and 1 deletions

View File

@@ -42,6 +42,11 @@ public interface Actor extends Renderable
int getHealth();
/**
* Retrieve the server location of the actor. Note that this is typically
* a couple steps ahead of where the client renders the actor.
* @return Returns the server location of the actor.
*/
WorldPoint getWorldLocation();
LocalPoint getLocalLocation();

View File

@@ -127,7 +127,10 @@ public abstract class RSActorMixin implements RSActor
@Inject
public WorldPoint getWorldLocation()
{
return WorldPoint.fromLocal(client, getX(), getY(), client.getPlane());
return WorldPoint.fromLocal(client,
this.getPathX()[0] * Perspective.LOCAL_TILE_SIZE + Perspective.LOCAL_TILE_SIZE / 2,
this.getPathY()[0] * Perspective.LOCAL_TILE_SIZE + Perspective.LOCAL_TILE_SIZE / 2,
client.getPlane());
}
@Inject

View File

@@ -41,6 +41,12 @@ public interface RSActor extends RSRenderable, Actor
@Import("y")
int getY();
@Import("pathX")
int[] getPathX();
@Import("pathY")
int[] getPathY();
@Import("animation")
@Override
int getAnimation();