aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Player.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 09468436aa9..4f931a24aad 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -5646,10 +5646,12 @@ bool Player::SetPosition(float x, float y, float z, float orientation, bool tele
// mover->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_TURNING);
//AURA_INTERRUPT_FLAG_JUMP not sure
- if(GetOrientation() != orientation)
+ bool turn = (GetOrientation() != orientation);
+ bool move2d = (teleport || GetPositionX() != x || GetPositionY() != y);
+
+ if(turn)
RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_TURNING);
- bool move2d = (teleport || GetPositionX() != x || GetPositionY() != y);
if(move2d || GetPositionZ() != z)
{
RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_MOVE);
@@ -5669,6 +5671,10 @@ bool Player::SetPosition(float x, float y, float z, float orientation, bool tele
CheckExploreSystem();
}
+ else if(turn)
+ {
+ SetOrientation(orientation);
+ }
return true;
}