mirror of https://github.com/OpenTTD/OpenTTD
(svn r15293) -Feature [FS#2583]: Give a more meaningful message when towns refuse construction of noise-controlled airports
parent
31adec86a0
commit
d7971e5e37
|
@ -1853,6 +1853,7 @@ STR_2032_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT
|
||||||
STR_2033_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Service subsidy awarded to {COMPANY}!{}{}{STRING} service from {STATION} to {STATION} will pay triple rates for the next year!
|
STR_2033_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Service subsidy awarded to {COMPANY}!{}{}{STRING} service from {STATION} to {STATION} will pay triple rates for the next year!
|
||||||
STR_2034_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Service subsidy awarded to {COMPANY}!{}{}{STRING} service from {STATION} to {STATION} will pay quadruple rates for the next year!
|
STR_2034_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Service subsidy awarded to {COMPANY}!{}{}{STRING} service from {STATION} to {STATION} will pay quadruple rates for the next year!
|
||||||
STR_2035_LOCAL_AUTHORITY_REFUSES :{WHITE}{TOWN} local authority refuses to allow another airport to be built in this town
|
STR_2035_LOCAL_AUTHORITY_REFUSES :{WHITE}{TOWN} local authority refuses to allow another airport to be built in this town
|
||||||
|
STR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN} local authority refuses permission for airport due to noise concerns
|
||||||
STR_2036_COTTAGES :Cottages
|
STR_2036_COTTAGES :Cottages
|
||||||
STR_2037_HOUSES :Houses
|
STR_2037_HOUSES :Houses
|
||||||
STR_2038_FLATS :Flats
|
STR_2038_FLATS :Flats
|
||||||
|
|
|
@ -1895,23 +1895,27 @@ CommandCost CmdBuildAirport(TileIndex tile, uint32 flags, uint32 p1, uint32 p2,
|
||||||
uint newnoise_level = GetAirportNoiseLevelForTown(afc, nearest->xy, tile);
|
uint newnoise_level = GetAirportNoiseLevelForTown(afc, nearest->xy, tile);
|
||||||
|
|
||||||
/* Check if local auth would allow a new airport */
|
/* Check if local auth would allow a new airport */
|
||||||
bool authority_refused;
|
StringID authority_refuse_message = STR_NULL;
|
||||||
|
|
||||||
if (_settings_game.economy.station_noise_level) {
|
if (_settings_game.economy.station_noise_level) {
|
||||||
/* do not allow to build a new airport if this raise the town noise over the maximum allowed by town */
|
/* do not allow to build a new airport if this raise the town noise over the maximum allowed by town */
|
||||||
authority_refused = (nearest->noise_reached + newnoise_level) > nearest->MaxTownNoise();
|
if ((nearest->noise_reached + newnoise_level) > nearest->MaxTownNoise()) {
|
||||||
|
authority_refuse_message = STR_LOCAL_AUTHORITY_REFUSES_NOISE;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
uint num = 0;
|
uint num = 0;
|
||||||
const Station *st;
|
const Station *st;
|
||||||
FOR_ALL_STATIONS(st) {
|
FOR_ALL_STATIONS(st) {
|
||||||
if (st->town == t && st->facilities & FACIL_AIRPORT && st->airport_type != AT_OILRIG) num++;
|
if (st->town == t && st->facilities & FACIL_AIRPORT && st->airport_type != AT_OILRIG) num++;
|
||||||
}
|
}
|
||||||
authority_refused = (num >= 2);
|
if (num >= 2) {
|
||||||
|
authority_refuse_message = STR_2035_LOCAL_AUTHORITY_REFUSES;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (authority_refused) {
|
if (authority_refuse_message != STR_NULL) {
|
||||||
SetDParam(0, t->index);
|
SetDParam(0, t->index);
|
||||||
return_cmd_error(STR_2035_LOCAL_AUTHORITY_REFUSES);
|
return_cmd_error(authority_refuse_message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_settings_game.station.adjacent_stations || !HasBit(p2, 0)) {
|
if (!_settings_game.station.adjacent_stations || !HasBit(p2, 0)) {
|
||||||
|
|
Loading…
Reference in New Issue