Do not allow RV curves/reversing to override lower max speed
This commit is contained in:
@@ -494,13 +494,12 @@ inline int RoadVehicle::GetCurrentMaxSpeed() const
|
||||
for (const RoadVehicle *u = this; u != nullptr; u = u->Next()) {
|
||||
if (_settings_game.vehicle.roadveh_acceleration_model == AM_REALISTIC) {
|
||||
if (this->state <= RVSB_TRACKDIR_MASK && IsReversingRoadTrackdir((Trackdir)this->state)) {
|
||||
max_speed = this->gcache.cached_max_track_speed / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
max_speed = std::min(max_speed, this->gcache.cached_max_track_speed / 2);
|
||||
} else if ((u->direction & 1) == 0) {
|
||||
// Are we in a curve and should slow down?
|
||||
if (((u->direction & 1) == 0) && _settings_game.vehicle.slow_road_vehicles_in_curves) {
|
||||
max_speed = this->gcache.cached_max_track_speed * 3 / 4;
|
||||
if (_settings_game.vehicle.slow_road_vehicles_in_curves) {
|
||||
max_speed = std::min(max_speed, this->gcache.cached_max_track_speed * 3 / 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user