Add: new town council "indifferent" attitude

Closes: #184
This commit is contained in:
Yourself
2020-08-26 22:05:59 -07:00
committed by Jonathan G Rennison
parent ed9410aba9
commit 310bb876a2
6 changed files with 25 additions and 9 deletions

View File

@@ -809,7 +809,10 @@ static CommandCost ClearTile_Town(TileIndex tile, DoCommandFlag flags)
Town *t = Town::GetByTile(tile);
if (Company::IsValidID(_current_company)) {
if (rating > t->ratings[_current_company] && !(flags & DC_NO_TEST_TOWN_RATING) && !_cheats.magic_bulldozer.value) {
if (rating > t->ratings[_current_company]
&& !(flags & DC_NO_TEST_TOWN_RATING)
&& !_cheats.magic_bulldozer.value
&& _settings_game.difficulty.town_council_tolerance != TOWN_COUNCIL_INDIFFERENT) {
SetDParam(0, t->index);
return_cmd_error(STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS);
}
@@ -3886,7 +3889,7 @@ CommandCost CheckIfAuthorityAllowsNewStation(TileIndex tile, DoCommandFlag flags
Town *t = ClosestTownFromTile(tile, _settings_game.economy.dist_local_authority);
if (t == nullptr) return CommandCost();
if (t->ratings[_current_company] > RATING_VERYPOOR) return CommandCost();
if (t->ratings[_current_company] > RATING_VERYPOOR || _settings_game.difficulty.town_council_tolerance == TOWN_COUNCIL_INDIFFERENT) return CommandCost();
SetDParam(0, t->index);
return_cmd_error(STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS);
@@ -4047,6 +4050,10 @@ CommandCost CheckforTownRating(DoCommandFlag flags, Town *t, TownRatingCheckType
return CommandCost();
}
if (_settings_game.difficulty.town_council_tolerance == TOWN_COUNCIL_INDIFFERENT) {
return CommandCost();
}
/* minimum rating needed to be allowed to remove stuff */
static const int needed_rating[][TOWN_RATING_CHECK_TYPE_COUNT] = {
/* ROAD_REMOVE, TUNNELBRIDGE_REMOVE */