aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2010-12-29 05:45:38 +0100
committerMachiavelli <machiavelli.trinity@gmail.com>2010-12-29 05:45:38 +0100
commit68c6189201b4aa1116642c22dface686718a8211 (patch)
tree6196ce56dbc1d8d5e03462a3f02d13a07960134c /src/server/game/Server
parent13e85f861f61340b23afd1e919846a153a1bdfea (diff)
Core/Vehicles:
- Set MovementFlagsExtra (2) correctly depending on vehicle 'template' flags. This makes certain vehicles such as demolishers unable to jump/strafe (as intended) - Fix SMSG_MONSTER_MOVE_TRANSPORT stucture, prevents a client crash when entering certain vehicles, as well as *properly* broadcast position relative to the vehicle. - Send SMSG_BREAK_TARGET to player when entering vehicle. - Set MOVEMENTFLAG_ROOT on passenger when entering vehicle - Cleanup in affected code
Diffstat (limited to 'src/server/game/Server')
-rwxr-xr-xsrc/server/game/Server/WorldSession.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 7b4db102fd5..1437ae403f5 100755
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -753,7 +753,7 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo *mi)
data >> mi->time;
data >> mi->pos.PositionXYZOStream();
- if (mi->flags & MOVEMENTFLAG_ONTRANSPORT)
+ if (mi->HasMovementFlag(MOVEMENTFLAG_ONTRANSPORT))
{
data.readPackGUID(mi->t_guid);
@@ -761,24 +761,24 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo *mi)
data >> mi->t_time;
data >> mi->t_seat;
- if (mi->flags2 & MOVEMENTFLAG2_INTERPOLATED_MOVEMENT)
+ if (mi->HasExtraMovementFlag(MOVEMENTFLAG2_INTERPOLATED_MOVEMENT))
{
data >> mi->t_time2;
}
- if(mi->pos.m_positionX != mi->t_pos.m_positionX)
- if(GetPlayer()->GetTransport())
+ if (mi->pos.m_positionX != mi->t_pos.m_positionX)
+ if (GetPlayer()->GetTransport())
GetPlayer()->GetTransport()->UpdatePosition(mi);
}
- if ((mi->flags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || (mi->flags2 & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING))
+ if (mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || (mi->HasExtraMovementFlag(MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING)))
{
data >> mi->pitch;
}
data >> mi->fallTime;
- if (mi->flags & MOVEMENTFLAG_JUMPING)
+ if (mi->HasMovementFlag(MOVEMENTFLAG_JUMPING))
{
data >> mi->j_zspeed;
data >> mi->j_sinAngle;
@@ -786,7 +786,7 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo *mi)
data >> mi->j_xyspeed;
}
- if (mi->flags & MOVEMENTFLAG_SPLINE_ELEVATION)
+ if (mi->HasMovementFlag(MOVEMENTFLAG_SPLINE_ELEVATION))
{
data >> mi->splineElevation;
}
@@ -810,7 +810,7 @@ void WorldSession::WriteMovementInfo(WorldPacket *data, MovementInfo *mi)
*data << mi->t_seat;
}
- if ((mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING))) || (mi->flags & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING))
+ if (mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) && mi->HasExtraMovementFlag(MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING))
{
*data << mi->pitch;
}