*Do not clear unit movement flags when it is stunned/rooted

--HG--
branch : trunk
This commit is contained in:
megamage
2009-05-17 10:07:11 -05:00
parent d0a50c9d55
commit 98e32a041d
3 changed files with 17 additions and 3 deletions
+3 -3
View File
@@ -13251,8 +13251,8 @@ void Unit::SetStunned(bool apply)
// Creature specific
if(GetTypeId() != TYPEID_PLAYER)
((Creature*)this)->StopMoving();
else
SetUnitMovementFlags(0); //Clear movement flags
//else
// SetUnitMovementFlags(0); //Clear movement flags
WorldPacket data(SMSG_FORCE_MOVE_ROOT, 8);
data.append(GetPackGUID());
@@ -13284,7 +13284,7 @@ void Unit::SetRooted(bool apply)
if(GetTypeId() == TYPEID_PLAYER)
{
SetUnitMovementFlags(0);
//SetUnitMovementFlags(0);
WorldPacket data(SMSG_FORCE_MOVE_ROOT, 10);
data.append(GetPackGUID());
+13
View File
@@ -617,6 +617,19 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo *mi)
}
}
void WorldSession::OutMovementInfo(MovementInfo *mi)
{
sLog.outString("MovementInfo: Flag %u, Unk1 %u, Time %u, Pos %f %f %f %f, Fall %u", mi->flags, (uint32)mi->unk1, mi->time, mi->x, mi->y, mi->z, mi->o, mi->fallTime);
if(mi->flags & MOVEMENTFLAG_ONTRANSPORT)
sLog.outString("Transport: GUID " I64FMT ", Pos %f %f %f %f, Time %u, Seat %d", mi->t_guid, mi->t_x, mi->t_y, mi->t_z, mi->t_o, mi->t_time, (int32)mi->t_seat);
if((mi->flags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING2)) || (mi->unk1 & 0x20))
sLog.outString("Pitch: %f", mi->s_pitch);
if(mi->flags & MOVEMENTFLAG_JUMPING)
sLog.outString("Jump: speedz %f, sin %f, cos %f, speedxy %f", mi->j_zspeed, mi->j_sinAngle, mi->j_cosAngle, mi->j_xyspeed);
if(mi->flags & MOVEMENTFLAG_SPLINE)
sLog.outString("Spline: %f", mi->u_unk1);
}
void WorldSession::ReadAddonsInfo(WorldPacket &data)
{
if (data.rpos() + 4 > data.size())
+1
View File
@@ -112,6 +112,7 @@ class TRINITY_DLL_SPEC WorldSession
void SendAddonsInfo();
void ReadMovementInfo(WorldPacket &data, MovementInfo *mi);
void OutMovementInfo(MovementInfo *mi);
void SendPacket(WorldPacket const* packet);
void SendNotification(const char *format,...) ATTR_PRINTF(2,3);