diff -Nur -Xfreecivdiff.ignore freeciv-cvs/server/unittools.c freeciv-patched/server/unittools.c --- freeciv-cvs/server/unittools.c Sat Oct 6 12:54:31 2001 +++ freeciv-patched/server/unittools.c Thu Oct 11 15:18:20 2001 @@ -676,31 +676,27 @@ **************************************************************************/ static void city_landlocked_sell_coastal_improvements(int x, int y) { - /* FIXME: this should come from buildings.ruleset */ - static int coastal_improvements[] = - { - B_HARBOUR, - B_PORT, - B_COASTAL, - B_OFFSHORE - }; - -#define coastal_improvements_count ARRAY_SIZE(coastal_improvements) - +/* N.B. Now uses info from buildings.ruleset to decide which buildings + to sell. In theory this could (should?) be generalised to sell + relevant buildings after any change of terrain/special type */ adjc_iterate(x, y, x1, y1) { struct city *pcity = map_get_city(x1, y1); if (pcity && !is_terrain_near_tile(x1, y1, T_OCEAN)) { struct player *pplayer = city_owner(pcity); int k; - for (k=0; kname, - improvement_value(coastal_improvements[k])); + improvement_value(k)); } } }