[10653] Implemented MSG_MOVE_KNOCK_BACK opcode

* Player's knockback movement now smooth and doesn't looks like teleporting
 * Cleanup WorldSession::HandleMovementOpcodes, separated opcode specific and generic movement handlers code
 * Handle Feign Death aura interrupting into more appropriate place
This commit is contained in:
SilverIce 2010-10-28 05:48:43 +03:00
parent 81d3368e29
commit 1871cf977f
6 changed files with 159 additions and 123 deletions

View file

@ -6042,6 +6042,8 @@ bool Player::SetPosition(float x, float y, float z, float orientation, bool tele
else
RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_TURNING);
RemoveSpellsCausingAura(SPELL_AURA_FEIGN_DEATH);
// move and update visible state if need
m->PlayerRelocation(this, x, y, z, orientation);
@ -6056,7 +6058,7 @@ bool Player::SetPosition(float x, float y, float z, float orientation, bool tele
SetGroupUpdateFlag(GROUP_UPDATE_FLAG_POSITION);
if (GetTrader() && !IsWithinDistInMap(GetTrader(), INTERACTION_DISTANCE))
GetSession()->SendCancelTrade(); // will clode both side trade windows
GetSession()->SendCancelTrade(); // will close both side trade windows
}
// code block for underwater state update