Fix movement packet format: write fallTime unconditionally

AzerothCore's ReadMovementInfo always reads fallTime regardless of flags.
Also write all four jump fields together when FALLING (remove nested
FALLINGFAR check), and use real millisecond timestamps via steady_clock.
This commit is contained in:
Kelsi 2026-02-06 09:14:22 -08:00
parent 61ec4138f7
commit a20dc947e2
2 changed files with 19 additions and 16 deletions

View file

@ -2251,8 +2251,11 @@ void GameHandler::sendMovement(Opcode opcode) {
return;
}
// Update movement time
movementInfo.time = ++movementTime;
// Use real millisecond timestamp (server validates for anti-cheat)
static auto startTime = std::chrono::steady_clock::now();
auto now = std::chrono::steady_clock::now();
movementInfo.time = static_cast<uint32_t>(
std::chrono::duration_cast<std::chrono::milliseconds>(now - startTime).count());
// Update movement flags based on opcode
switch (opcode) {