Give monorail/maglev larger realistic braking deceleration limits

This commit is contained in:
Jonathan G Rennison
2021-02-03 21:22:09 +00:00
parent 4e1b1bc91e
commit c1f1b5f3b3
3 changed files with 11 additions and 4 deletions

View File

@@ -156,7 +156,8 @@ GroundVehicleAcceleration GroundVehicle<T, Type>::GetAcceleration()
*/
int64 resistance = 0;
bool maglev = v->GetAccelerationType() == 2;
int accleration_type = v->GetAccelerationType();
bool maglev = (accleration_type == 2);
const int area = v->GetAirDragArea();
if (!maglev) {
@@ -250,7 +251,7 @@ GroundVehicleAcceleration GroundVehicle<T, Type>::GetAcceleration()
/* Defensive driving: prevent ridiculously fast deceleration.
* -130 corresponds to a braking distance of about 6.2 tiles from 160 km/h. */
braking_accel = std::max(braking_accel, -130);
braking_accel = std::max(braking_accel, -(GetTrainRealisticBrakingTargetDecelerationLimit(accleration_type) + 10));
} else {
braking_accel = ClampToI32(std::min<int64>(-braking_force - resistance, -10000) / mass);
}