physics: apply server flight speed to flying mount movement

serverFlightSpeed_ (from SMSG_FORCE_FLIGHT_SPEED_CHANGE) was stored but
never synced to CameraController. Add getServerFlightSpeed() accessor,
flightSpeedOverride_ field, and use it in the flying physics path so
normal vs epic flying mounts actually move at their correct speeds.
This commit is contained in:
Kelsi 2026-03-10 13:25:10 -07:00
parent 27d18b2189
commit a1ee9827d8
4 changed files with 8 additions and 1 deletions

View file

@ -94,6 +94,7 @@ public:
void setRunSpeedOverride(float speed) { runSpeedOverride_ = speed; }
void setWalkSpeedOverride(float speed) { walkSpeedOverride_ = speed; }
void setSwimSpeedOverride(float speed) { swimSpeedOverride_ = speed; }
void setFlightSpeedOverride(float speed) { flightSpeedOverride_ = speed; }
void setMovementRooted(bool rooted) { movementRooted_ = rooted; }
bool isMovementRooted() const { return movementRooted_; }
void setGravityDisabled(bool disabled) { gravityDisabled_ = disabled; }
@ -278,6 +279,7 @@ private:
float runSpeedOverride_ = 0.0f;
float walkSpeedOverride_ = 0.0f;
float swimSpeedOverride_ = 0.0f;
float flightSpeedOverride_ = 0.0f;
// Server-driven root state: when true, block all horizontal movement input.
bool movementRooted_ = false;
// Server-driven gravity disable (levitate/hover): skip gravity accumulation.