This patch does two things with wonders: * Wonders that are currently under construction come up in the wonders display (F7) diff -ru -Xno.freeciv freeciv/server/plrhand.c freeciv-mod/server/plrhand.c --- freeciv/server/plrhand.c Fri May 19 11:16:11 2000 +++ freeciv-mod/server/plrhand.c Wed May 24 01:07:59 2000 @@ -197,16 +210,41 @@ int i; struct city *pcity; char buffer[4096]; + int p, first; buffer[0]=0; for (i=0;iname, - get_nation_name(game.players[pcity->owner].nation)); + if(is_wonder(i)) { + if(game.global_wonders[i]) { + if((pcity=find_city_by_id(game.global_wonders[i]))) { + cat_snprintf(buffer, sizeof(buffer), Q_("?wonder:%s in %s (%s)\n"), + get_impr_name_ex(pcity, i), pcity->name, + get_nation_name(game.players[pcity->owner].nation)); + } else { + cat_snprintf(buffer, sizeof(buffer), _("%s has been DESTROYED\n"), + get_improvement_type(i)->name); + } } else { - cat_snprintf(buffer, sizeof(buffer), _("%s has been DESTROYED\n"), - get_improvement_type(i)->name); + first = 1; + for (p=0;pcurrently_building == i && !pcity->is_building_unit) { + if (first) { + first = 0; + cat_snprintf(buffer, sizeof(buffer), + Q_("?wonder:(building %s in %s (%s)"), + get_improvement_type(i)->name, pcity->name, + get_nation_name(game.players[pcity->owner].nation)); + } else { + cat_snprintf(buffer, sizeof(buffer), Q_("?wonder:, %s (%s)"), + pcity->name, get_nation_name(game.players[p].nation)); + } + } + } + city_list_iterate_end; + } + if (!first) { + cat_snprintf(buffer, sizeof(buffer), Q_("?wonder:)\n")); + } } } }