diff options
| author | Intel <chemicstry@gmail.com> | 2014-11-30 16:25:37 +0200 |
|---|---|---|
| committer | Intel <chemicstry@gmail.com> | 2014-11-30 16:25:47 +0200 |
| commit | dc8a7812eca0b8ff56356e6aa64de4b90fed1e7c (patch) | |
| tree | 6c5c23e4d1e4d602f907350479983dc4bb89f59d /src/server/game/Server | |
| parent | e3b23c2513a651242d3c04e222ac05aa0330400c (diff) | |
Core/Packets: Fixed player movement speed change packets
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/MovementPackets.cpp | 12 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/MovementPackets.h | 20 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.h | 6 |
4 files changed, 30 insertions, 14 deletions
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp index 1e77fea528d..f1d69746e80 100644 --- a/src/server/game/Server/Packets/MovementPackets.cpp +++ b/src/server/game/Server/Packets/MovementPackets.cpp @@ -263,14 +263,22 @@ WorldPacket const* WorldPackets::Movement::MonsterMove::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Movement::MoveSplineSet::Write() +WorldPacket const* WorldPackets::Movement::MoveSplineSetSpeed::Write() { _worldPacket << MoverGUID; _worldPacket << Speed; return &_worldPacket; } -WorldPacket const* WorldPackets::Movement::MoveUpdate::Write() +WorldPacket const* WorldPackets::Movement::MoveSetSpeed::Write() +{ + _worldPacket << MoverGUID; + _worldPacket << SequenceIndex; + _worldPacket << Speed; + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Movement::MoveUpdateSpeed::Write() { _worldPacket << movementInfo; _worldPacket << Speed; diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h index 494064a8a90..cdaa0c79845 100644 --- a/src/server/game/Server/Packets/MovementPackets.h +++ b/src/server/game/Server/Packets/MovementPackets.h @@ -104,10 +104,10 @@ namespace WorldPackets G3D::Vector3 Pos; }; - class MoveSplineSet : public ServerPacket + class MoveSplineSetSpeed : public ServerPacket { public: - MoveSplineSet(OpcodeServer opcode) : ServerPacket(opcode, 12) { } + MoveSplineSetSpeed(OpcodeServer opcode) : ServerPacket(opcode, 12) { } WorldPacket const* Write() override; @@ -115,10 +115,22 @@ namespace WorldPackets float Speed; }; - class MoveUpdate : public ServerPacket + class MoveSetSpeed : public ServerPacket { public: - MoveUpdate(OpcodeServer opcode) : ServerPacket(opcode) { } + MoveSetSpeed(OpcodeServer opcode) : ServerPacket(opcode) { } + + WorldPacket const* Write() override; + + ObjectGuid MoverGUID; + uint32 SequenceIndex = 0; ///< Unit movement packet index, incremented each time + float Speed; + }; + + class MoveUpdateSpeed : public ServerPacket + { + public: + MoveUpdateSpeed(OpcodeServer opcode) : ServerPacket(opcode) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index b5e6e5d663e..933d1439c9d 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1099,8 +1099,6 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_COLLISION_DISABLE, STATUS_UNHANDLED); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_COLLISION_ENABLE, STATUS_UNHANDLED); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_FEATHER_FALL, STATUS_UNHANDLED); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_FORCE_RUN_SPEED_CHANGE, STATUS_UNHANDLED); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_FORCE_SWIM_SPEED_CHANGE, STATUS_UNHANDLED); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_GRAVITY_DISABLE, STATUS_NEVER); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_GRAVITY_ENABLE, STATUS_UNHANDLED); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_KNOCK_BACK, STATUS_UNHANDLED); @@ -1117,9 +1115,9 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_HOVER, STATUS_NEVER); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_PITCH_RATE, STATUS_UNHANDLED); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_RUN_BACK_SPEED, STATUS_UNHANDLED); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_RUN_SPEED, STATUS_UNHANDLED); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_RUN_SPEED, STATUS_NEVER); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_SWIM_BACK_SPEED, STATUS_UNHANDLED); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_SWIM_SPEED, STATUS_UNHANDLED); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_SWIM_SPEED, STATUS_NEVER); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_TURN_RATE, STATUS_UNHANDLED); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_WALK_SPEED, STATUS_UNHANDLED); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_TELEPORT, STATUS_UNHANDLED); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index 32362802b58..a4080371003 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -1114,8 +1114,6 @@ enum OpcodeServer : uint32 SMSG_MOVE_COLLISION_DISABLE = 0xBADD, SMSG_MOVE_COLLISION_ENABLE = 0xBADD, SMSG_MOVE_FEATHER_FALL = 0xBADD, - SMSG_MOVE_FORCE_RUN_SPEED_CHANGE = 0x08F5, - SMSG_MOVE_FORCE_SWIM_SPEED_CHANGE = 0x061A, SMSG_MOVE_GRAVITY_DISABLE = 0x02C6, SMSG_MOVE_GRAVITY_ENABLE = 0xBADD, SMSG_MOVE_KNOCK_BACK = 0xBADD, @@ -1132,9 +1130,9 @@ enum OpcodeServer : uint32 SMSG_MOVE_SET_HOVER = 0x0296, SMSG_MOVE_SET_PITCH_RATE = 0xBADD, SMSG_MOVE_SET_RUN_BACK_SPEED = 0xBADD, - SMSG_MOVE_SET_RUN_SPEED = 0xBADD, + SMSG_MOVE_SET_RUN_SPEED = 0x08F5, SMSG_MOVE_SET_SWIM_BACK_SPEED = 0xBADD, - SMSG_MOVE_SET_SWIM_SPEED = 0xBADD, + SMSG_MOVE_SET_SWIM_SPEED = 0x061A, SMSG_MOVE_SET_TURN_RATE = 0xBADD, SMSG_MOVE_SET_VEHICLE_REC_ID = 0xBADD, SMSG_MOVE_SET_WALK_IN_AIR = 0xBADD, |
