Movement packets fix.

This commit is contained in:
tomrus88 2010-02-01 00:36:59 +03:00
parent ad7729479c
commit 41d8f1a5d4
6 changed files with 277 additions and 241 deletions

View file

@ -724,7 +724,7 @@ void WorldSession::SaveTutorialsData()
void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo *mi)
{
data >> mi->flags;
data >> mi->unk1;
data >> mi->moveFlags2;
data >> mi->time;
data >> mi->x;
data >> mi->y;
@ -742,9 +742,12 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo *mi)
data >> mi->t_o;
data >> mi->t_time;
data >> mi->t_seat;
if(mi->moveFlags2 & MOVEFLAG2_UNK1)
data >> mi->t_time2;
}
if((mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING))) || (mi->unk1 & 0x20))
if((mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING))) || (mi->moveFlags2 & MOVEFLAG2_ALLOW_PITCHING))
{
data >> mi->s_pitch;
}
@ -753,7 +756,7 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo *mi)
if(mi->HasMovementFlag(MOVEMENTFLAG_JUMPING))
{
data >> mi->j_unk;
data >> mi->j_velocity;
data >> mi->j_sinAngle;
data >> mi->j_cosAngle;
data >> mi->j_xyspeed;
@ -770,7 +773,7 @@ void WorldSession::WriteMovementInfo(WorldPacket *data, MovementInfo *mi)
data->appendPackGUID(mi->guid);
*data << mi->flags;
*data << mi->unk1;
*data << mi->moveFlags2;
*data << mi->time;
*data << mi->x;
*data << mi->y;
@ -787,9 +790,12 @@ void WorldSession::WriteMovementInfo(WorldPacket *data, MovementInfo *mi)
*data << mi->t_o;
*data << mi->t_time;
*data << mi->t_seat;
if(mi->moveFlags2 & MOVEFLAG2_UNK1)
*data << mi->t_time2;
}
if((mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING))) || (mi->unk1 & 0x20))
if((mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING))) || (mi->moveFlags2 & MOVEFLAG2_ALLOW_PITCHING))
{
*data << mi->s_pitch;
}
@ -798,7 +804,7 @@ void WorldSession::WriteMovementInfo(WorldPacket *data, MovementInfo *mi)
if(mi->HasMovementFlag(MOVEMENTFLAG_JUMPING))
{
*data << mi->j_unk;
*data << mi->j_velocity;
*data << mi->j_sinAngle;
*data << mi->j_cosAngle;
*data << mi->j_xyspeed;