Backports key Quake Live movement mechanics to Q3:
- Auto-hop: remove PMF_JUMP_HELD gate so holding jump bunny-hops
continuously. The Pmove() outer loop already forces upmove=20.
- Air steps: remove Q3's velocity[2]>0 gate in PM_StepSlideMove,
allowing step-ups while airborne for bunny-hop stair traversal.
- Conditional velocity clip: only clip velocity to step-down surface
when moving INTO it. Preserve upward momentum when velocity is
already moving away from the surface. This is the key mechanic
for smooth stair hopping.
- 100ms jump cooldown via lastJumpTime (networked in playerState_t)
to prevent same-frame double-fires.
- PM_Jump/PM_CanJump extracted for reuse by future features
(step jump, double jump, etc).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>