aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorIntel <chemicstry@gmail.com>2014-11-30 16:25:37 +0200
committerIntel <chemicstry@gmail.com>2014-11-30 16:25:47 +0200
commitdc8a7812eca0b8ff56356e6aa64de4b90fed1e7c (patch)
tree6c5c23e4d1e4d602f907350479983dc4bb89f59d /src/server/game/Server
parente3b23c2513a651242d3c04e222ac05aa0330400c (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.cpp12
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h20
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp6
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h6
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,