[12111] Add Unit::KnockBackWithAngle function

Also wrap up the packet sending for a knockbacked player to WorldSession::SendKnockBack

Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This commit is contained in:
Reamer 2012-08-23 13:01:29 +02:00 committed by Antz
parent 68fe5fb4b0
commit e90caf7349
5 changed files with 25 additions and 11 deletions

View file

@ -447,6 +447,21 @@ void WorldSession::HandleMoveKnockBackAck(WorldPacket& recv_data)
mover->SendMessageToSetExcept(&data, _player);
}
void WorldSession::SendKnockBack(float angle, float horizontalSpeed, float verticalSpeed)
{
float vsin = sin(angle);
float vcos = cos(angle);
WorldPacket data(SMSG_MOVE_KNOCK_BACK, 9 + 4 + 4 + 4 + 4 + 4);
data << GetPlayer()->GetPackGUID();
data << uint32(0); // Sequence
data << float(vcos); // x direction
data << float(vsin); // y direction
data << float(horizontalSpeed); // Horizontal speed
data << float(-verticalSpeed); // Z Movement speed (vertical)
SendPacket(&data);
}
void WorldSession::HandleMoveHoverAck(WorldPacket& recv_data)
{
DEBUG_LOG("CMSG_MOVE_HOVER_ACK");