diff options
| author | Shauren <shauren.trinity@gmail.com> | 2015-04-04 23:49:14 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2015-04-04 23:49:14 +0200 |
| commit | 14b475e865058c1804cd6fb4dcaf307a4d895745 (patch) | |
| tree | e7ec36a39adeaa62f5019d165fe19df59acdaee7 /src/server/game/Server/Packets | |
| parent | 38b326d27ba211b80a5028a3ce3e4381fd019b73 (diff) | |
Core/PacketIO: Enabled CMSG_MOVE_KNOCK_BACK_ACK, SMSG_MOVE_UPDATE_KNOCK_BACK and SMSG_MOVE_UPDATE
Diffstat (limited to 'src/server/game/Server/Packets')
| -rw-r--r-- | src/server/game/Server/Packets/MovementPackets.cpp | 16 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/MovementPackets.h | 10 |
2 files changed, 22 insertions, 4 deletions
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp index 836c00b70ca..0733bc5dbc0 100644 --- a/src/server/game/Server/Packets/MovementPackets.cpp +++ b/src/server/game/Server/Packets/MovementPackets.cpp @@ -56,6 +56,8 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo) data.WriteBit(0); // HeightChangeFailed data.WriteBit(0); // RemoteTimeValid + data.FlushBits(); + if (hasTransportData) data << movementInfo.transport; @@ -65,6 +67,7 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo) data << movementInfo.jump.zspeed; data.WriteBit(hasFallDirection); + data.FlushBits(); if (hasFallDirection) { data << movementInfo.jump.sinAngle; @@ -73,8 +76,6 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo) } } - data.FlushBits(); - return data; } @@ -167,14 +168,14 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo::TransportInfo const& tran data.WriteBit(hasPrevTime); data.WriteBit(hasVehicleId); + data.FlushBits(); + if (hasPrevTime) data << transportInfo.prevTime; // PrevMoveTime if (hasVehicleId) data << transportInfo.vehicleId; // VehicleRecID - data.FlushBits(); - return data; } @@ -620,3 +621,10 @@ WorldPacket const* WorldPackets::Movement::MoveSetActiveMover::Write() return &_worldPacket; } + +WorldPacket const* WorldPackets::Movement::MoveUpdateKnockBack::Write() +{ + _worldPacket << *movementInfo; + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h index b84f3592d05..139f6077b0a 100644 --- a/src/server/game/Server/Packets/MovementPackets.h +++ b/src/server/game/Server/Packets/MovementPackets.h @@ -328,6 +328,16 @@ namespace WorldPackets ObjectGuid MoverGUID; }; + + class MoveUpdateKnockBack final : public ServerPacket + { + public: + MoveUpdateKnockBack() : ServerPacket(SMSG_MOVE_UPDATE_KNOCK_BACK) { } + + WorldPacket const* Write() override; + + MovementInfo* movementInfo = nullptr; + }; } ByteBuffer& operator<<(ByteBuffer& data, Movement::MonsterSplineFilterKey const& monsterSplineFilterKey); |
