diff options
author | Shauren <shauren.trinity@gmail.com> | 2012-03-17 18:01:56 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2012-03-17 18:01:56 +0100 |
commit | 01f3620d4534d2bdafadf9a04f09330d406bd019 (patch) | |
tree | 23d823c4396eb806ee86f6d2083fd9ee803f6fa7 /src | |
parent | 5d25dc8926dcac65c9981cd865af15aa7d780516 (diff) |
Core/Movement: Corrected movement info structure written in WriteMovementInfo
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Handlers/MovementHandler.cpp | 4 | ||||
-rwxr-xr-x | src/server/game/Server/WorldSession.cpp | 7 | ||||
-rwxr-xr-x | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 4 |
3 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp index 55c55ffb246..a93bec6a616 100755 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -528,7 +528,7 @@ void WorldSession::HandleMoveKnockBackAck(WorldPacket & recv_data) MovementInfo movementInfo; ReadMovementInfo(recv_data, &movementInfo); - + if (movementInfo.Violated) { recv_data.rfinish(); @@ -592,5 +592,3 @@ void WorldSession::HandleSummonResponseOpcode(WorldPacket& recv_data) _player->SummonIfPossible(agree); } - -#undef IF_VIOLATED_RETURN
\ No newline at end of file diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index eca96f857b2..e6634019c09 100755 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -864,9 +864,9 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi) situations it may be feasable to use .gm fly on as a GM without having .gm on, e.g. aerial combat. */ - + if (mi->HasMovementFlag(MOVEMENTFLAG_FLYING | MOVEMENTFLAG_CAN_FLY) && GetSecurity() == SEC_PLAYER && - !GetPlayer()->m_mover->HasAuraType(SPELL_AURA_FLY) && + !GetPlayer()->m_mover->HasAuraType(SPELL_AURA_FLY) && !GetPlayer()->m_mover->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED)) VIOLATE_AND_RETURN; @@ -889,6 +889,9 @@ void WorldSession::WriteMovementInfo(WorldPacket* data, MovementInfo* mi) *data << mi->t_pos.PositionXYZOStream(); *data << mi->t_time; *data << mi->t_seat; + + if (mi->HasExtraMovementFlag(MOVEMENTFLAG2_INTERPOLATED_MOVEMENT)) + *data << mi->t_time2; } if (mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || mi->HasExtraMovementFlag(MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING)) diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 3c266c7139c..bfa51219d71 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -2882,7 +2882,7 @@ void AuraEffect::HandleAuraWaterWalk(AuraApplication const* aurApp, uint8 mode, target->AddUnitMovementFlag(MOVEMENTFLAG_WATERWALKING); else target->RemoveUnitMovementFlag(MOVEMENTFLAG_WATERWALKING); - + target->SendMovementWaterWalking(); } @@ -3234,7 +3234,7 @@ void AuraEffect::HandleAuraModIncreaseFlightSpeed(AuraApplication const* aurApp, Unit* target = aurApp->GetTarget(); - //! Update ability to fly + //! Update ability to fly if (GetAuraType() == SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) { // do not remove unit flag if there are more than this auraEffect of that kind on unit on unit |