mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-02 19:42:05 -04:00
Move LookAt's same position check to the one that takes in an X and Y
position
This commit is contained in:
parent
9b566abb3d
commit
9889b6011b
@ -652,7 +652,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
|
|
||||||
public void LookAt(Actor actor)
|
public void LookAt(Actor actor)
|
||||||
{
|
{
|
||||||
if (actor != null && actor != this)
|
if (actor != null)
|
||||||
{
|
{
|
||||||
LookAt(actor.positionX, actor.positionZ);
|
LookAt(actor.positionX, actor.positionZ);
|
||||||
}
|
}
|
||||||
@ -672,16 +672,20 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
|
|
||||||
public void LookAt(float x, float z)
|
public void LookAt(float x, float z)
|
||||||
{
|
{
|
||||||
var rot1 = this.rotation;
|
//Don't rotate if the lookat position is same as our current position
|
||||||
|
if (positionX != x || positionZ != z)
|
||||||
|
{
|
||||||
|
var rot1 = this.rotation;
|
||||||
|
|
||||||
var dX = this.positionX - x;
|
var dX = this.positionX - x;
|
||||||
var dY = this.positionZ - z;
|
var dY = this.positionZ - z;
|
||||||
var rot2 = Math.Atan2(dY, dX);
|
var rot2 = Math.Atan2(dY, dX);
|
||||||
var dRot = Math.PI - rot2 + Math.PI / 2;
|
var dRot = Math.PI - rot2 + Math.PI / 2;
|
||||||
|
|
||||||
// pending move, dont need to unset it
|
// pending move, dont need to unset it
|
||||||
this.updateFlags |= ActorUpdateFlags.Position;
|
this.updateFlags |= ActorUpdateFlags.Position;
|
||||||
rotation = (float)dRot;
|
rotation = (float)dRot;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo: is this legit?
|
// todo: is this legit?
|
||||||
|
Loading…
Reference in New Issue
Block a user