From e5d56a23d4c19335f6317f5069825854ec853bd4 Mon Sep 17 00:00:00 2001 From: megamage Date: Thu, 18 Jun 2009 20:53:32 -0500 Subject: *Fix the bug that player turn is not updated in server side. --HG-- branch : trunk --- src/game/Player.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') 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; } -- cgit v1.2.3