changeset 18498:8971d7064cbe draft

(svn r23342) -Fix (r23300): for arctic and desert towns you were required to deliver more than 4 billion units, instead of one or more units
author rubidium <rubidium@openttd.org>
date Sun, 27 Nov 2011 11:42:52 +0000
parents c00013b414be
children c56e1b0e583b
files src/town_cmd.cpp
diffstat 1 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/town_cmd.cpp
+++ b/src/town_cmd.cpp
@@ -2778,9 +2778,17 @@
 	if (t->fund_buildings_months == 0) {
 		/* Check if all goals are reached for this town to grow (given we are not funding it) */
 		for (int i = TE_BEGIN; i < TE_END; i++) {
-			if (t->goal[i] == TOWN_GROWTH_WINTER && TileHeight(t->xy) >= GetSnowLine() && t->received[i].old_act == 0 && t->population > 90) return;
-			if (t->goal[i] == TOWN_GROWTH_DESERT && GetTropicZone(t->xy) == TROPICZONE_DESERT && t->received[i].old_act == 0 && t->population > 60) return;
-			if (t->goal[i] > t->received[i].old_act) return;
+			switch (t->goal[i]) {
+				case TOWN_GROWTH_WINTER:
+					if (TileHeight(t->xy) >= GetSnowLine() && t->received[i].old_act == 0 && t->population > 90) return;
+					break;
+				case TOWN_GROWTH_DESERT:
+					if (GetTropicZone(t->xy) == TROPICZONE_DESERT && t->received[i].old_act == 0 && t->population > 60) return;
+					break;
+				default:
+					if (t->goal[i] > t->received[i].old_act) return;
+					break;
+			}
 		}
 	}