diff -Nurd -x*.[Poa] -x*.orig -x *.rej -x*.bak -x*.pot -x*.deps -x Makefile -xlibintl.h -xFreeciv.h -xintl -xpo freeciv/server/cityturn.c freeciv-mar9+citymindsettler/server/cityturn.c --- freeciv/server/cityturn.c Thu Feb 10 15:42:54 2000 +++ freeciv-mar9+citymindsettler/server/cityturn.c Thu Mar 9 23:54:58 2000 @@ -680,6 +680,18 @@ set_worker_city(pcity, 2, 2, C_TILE_WORKER); foodneed=(pcity->size *2 -get_food_tile(2,2, pcity)) + settler_eats(pcity); prodneed = 0; + if (pcity->shield_stock>=unit_value(pcity->currently_building) && + pcity->turn_last_built == game.year && + unit_flag(pcity->currently_building, F_CITIES)) { + /* + * bug squashed by rp, 9 mar 00: + * we are building a city size decreasing unit this very turn + * it is in fact the reason we're here! + * take its own upkeep into account in placing workers + */ + prodneed += unit_value(pcity->currently_building); + } + prodneed -= get_shields_tile(2,2,pcity); prodneed -= citygov_free_shield(pcity, g);