diff --git a/crates/net/src/client/pad_aim.rs b/crates/net/src/client/pad_aim.rs index ae5acbd..9ee3e61 100644 --- a/crates/net/src/client/pad_aim.rs +++ b/crates/net/src/client/pad_aim.rs @@ -171,16 +171,11 @@ pub fn pad_look_frame( let wanted = [-input.pad_look[1] * max_pitch, -input.pad_look[0] * max_yaw]; for (rate, goal) in input.pad_turn_rate.iter_mut().zip(wanted) { - if input.pad_acceleration - && ((goal.abs() > rate.abs() && goal.signum() == rate.signum()) - || (*rate == 0.0 && goal != 0.0)) - { - let step = TURN_ACCEL * zoom * dt; - *rate = if goal > *rate { - (*rate + step).min(goal) - } else { - (*rate - step).max(goal) - }; + if input.pad_acceleration && goal.abs() > rate.abs() { + // IW4x ramps speed magnitude, then applies the requested direction. + // Acceleration follows base sensitivity, independently of FOV and ADS. + let step = TURN_ACCEL * input.pad_sensitivity * dt; + *rate = (rate.abs() + step).min(goal.abs()) * goal.signum(); } else { *rate = goal; }