# HG changeset patch # User smatz # Date 2008-05-27 18:20:14 # Node ID 4eb453b0ce1cb07f1ad47398a6867a36fb84666b # Parent 81915f98961f9b3a0b04386a339a6b6e2c03d87c (svn r13293) -Fix (r13226): airport far from a town generated too much noise diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -1688,11 +1688,11 @@ uint8 GetAirportNoiseLevelForTown(const /* now, we want to have the distance segmented using the distance judged bareable by town * This will give us the coefficient of reduction the distance provides. */ - uint noise_reduction = min(afc->noise_level, distance / town_tolerance_distance); - - /* If the noise reduction equals the airport noise itself, don't give it for free. Use it all minus 1. + uint noise_reduction = distance / town_tolerance_distance; + + /* If the noise reduction equals the airport noise itself, don't give it for free. * Otherwise, simply reduce the airport's level. */ - return max(1U, noise_reduction == afc->noise_level ? afc->noise_level - 1 : afc->noise_level - noise_reduction); + return noise_reduction >= afc->noise_level ? 1 : afc->noise_level - noise_reduction; } /** Place an Airport.