mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Add missing movement ACK responses to avoid server stalls
Implement generic handlers for force speed changes (walk, run back, swim, swim back, flight, flight back, turn rate, pitch rate), movement flag toggles (CAN_FLY, HOVER, feather fall, water walk), and knockback ACKs. Fix SMSG_TIME_SYNC_REQ to respond with CMSG_TIME_SYNC_RESP instead of silently dropping.
This commit is contained in:
parent
923260c90c
commit
1c07e87b7e
3 changed files with 199 additions and 14 deletions
|
|
@ -1175,9 +1175,12 @@ private:
|
|||
void handleTeleportAck(network::Packet& packet);
|
||||
void handleNewWorld(network::Packet& packet);
|
||||
|
||||
// ---- Speed change handler ----
|
||||
// ---- Movement ACK handlers ----
|
||||
void handleForceRunSpeedChange(network::Packet& packet);
|
||||
void handleForceSpeedChange(network::Packet& packet, const char* name, Opcode ackOpcode, float* speedStorage);
|
||||
void handleForceMoveRootState(network::Packet& packet, bool rooted);
|
||||
void handleForceMoveFlagChange(network::Packet& packet, const char* name, Opcode ackOpcode, uint32_t flag, bool set);
|
||||
void handleMoveKnockBack(network::Packet& packet);
|
||||
|
||||
// ---- Arena / Battleground handlers ----
|
||||
void handleBattlefieldStatus(network::Packet& packet);
|
||||
|
|
@ -1759,6 +1762,14 @@ private:
|
|||
uint32_t currentMountDisplayId_ = 0;
|
||||
uint32_t mountAuraSpellId_ = 0; // Spell ID of the aura that caused mounting (for CMSG_CANCEL_AURA fallback)
|
||||
float serverRunSpeed_ = 7.0f;
|
||||
float serverWalkSpeed_ = 2.5f;
|
||||
float serverRunBackSpeed_ = 4.5f;
|
||||
float serverSwimSpeed_ = 4.722f;
|
||||
float serverSwimBackSpeed_ = 2.5f;
|
||||
float serverFlightSpeed_ = 7.0f;
|
||||
float serverFlightBackSpeed_ = 4.5f;
|
||||
float serverTurnRate_ = 3.14159f;
|
||||
float serverPitchRate_ = 3.14159f;
|
||||
bool playerDead_ = false;
|
||||
bool releasedSpirit_ = false;
|
||||
uint64_t pendingSpiritHealerGuid_ = 0;
|
||||
|
|
|
|||
|
|
@ -399,6 +399,7 @@ enum class MovementFlags : uint32_t {
|
|||
ASCENDING = 0x00400000,
|
||||
CAN_FLY = 0x00800000,
|
||||
FLYING = 0x01000000,
|
||||
HOVER = 0x02000000,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue