Feature #377 ยป 0017-cityresult_fill-Check-city-center-result-existence-a.patch
ai/default/daisettler.c | ||
---|---|---|
/* Create a city result and set default values. */
|
||
result = cityresult_new(center);
|
||
if (!pcity) {
|
||
if (pcity == NULL) {
|
||
pcity = create_city_virtual(pplayer, result->tile, "Virtuaville");
|
||
saved_owner = tile_owner(result->tile);
|
||
saved_claimer = tile_claimer(result->tile);
|
||
... | ... | |
if (reserved < 0
|
||
|| (handicap && !map_is_known(ptile, pplayer))
|
||
|| NULL != tile_worked(ptile)) {
|
||
|| tile_worked(ptile) != NULL) {
|
||
/* Tile is reserved or we can't see it */
|
||
ptdc = tile_data_cache_new();
|
||
ptdc->shield = 0;
|
||
... | ... | |
/* ptdc->turn was set by tile_data_cache_new(). */
|
||
} else {
|
||
const struct tile_data_cache *ptdc_hit = tdc_plr_get(ait, pplayer, tindex);
|
||
if (!ptdc_hit || city_center) {
|
||
/* We cannot read city center from cache */
|
||
ptdc = tile_data_cache_new();
|
||
... | ... | |
} city_tile_iterate_index_end;
|
||
/* We need a city center. */
|
||
fc_assert_ret_val(result->city_center.tdc != NULL, NULL);
|
||
if (result->city_center.tdc == NULL) {
|
||
fc_assert(result->city_center.tdc != NULL);
|
||
return NULL;
|
||
}
|
||
if (virtual_city) {
|
||
/* Baseline is a size one city (city center + best extra tile). */
|