Merge pull request #1325 from WooxSolo/actor-server-world-location

Fix Actor.getWorldLocation to use pathX/pathY instead of getX/getY
This commit is contained in:
Adam
2018-04-08 16:27:45 -04:00
committed by GitHub
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();