diff -ur -X diff_ignore freeciv-cvs/client/options.c freeciv-build/client/options.c --- freeciv-cvs/client/options.c Wed Sep 13 19:45:00 2000 +++ freeciv-build/client/options.c Fri Dec 22 22:28:45 2000 @@ -133,6 +133,9 @@ N_("First Contact"), /* E_FIRST_CONTACT */ N_("City May Soon Grow"), /* E_CITY_MAY_SOON_GROW */ N_("Wonder Made Obsolete"), /* E_WONDER_OBSOLETE */ + N_("Famine may soon be feared in City"), /* E_CITY_FAMINE_MAY_BE_FEARED */ + N_("Wonder will be finished next turn"), /* E_CITY_WONDER_WILL_BE_BUILT */ + N_("Learned new government"), /* E_NEW_GOVERNMENT */ }; /************************************************************************** diff -ur -X diff_ignore freeciv-cvs/common/events.h freeciv-build/common/events.h --- freeciv-cvs/common/events.h Fri Jul 28 00:28:08 2000 +++ freeciv-build/common/events.h Fri Dec 22 22:30:19 2000 @@ -56,6 +56,9 @@ E_FIRST_CONTACT, E_CITY_MAY_SOON_GROW, E_WONDER_OBSOLETE, + E_CITY_FAMINE_WILL_BE_FEARED, + E_CITY_WONDER_WILL_BE_BUILT, + E_NEW_GOVERNMENT, /* Note: If you add a new event, make sure you make a similar change to message_text in client/options.c */ diff -ur -X diff_ignore freeciv-cvs/server/cityturn.c freeciv-build/server/cityturn.c --- freeciv-cvs/server/cityturn.c Fri Dec 22 12:24:26 2000 +++ freeciv-build/server/cityturn.c Fri Dec 22 22:26:03 2000 @@ -764,6 +764,15 @@ { int turns_growth, turns_granary; + if (is_wonder(pcity->currently_building) && + (pcity->shield_stock + pcity->shield_surplus) >= improvement_value(pcity->currently_building)) + { + notify_conn_ex(dest, pcity->x, pcity->y, + E_CITY_WONDER_WILL_BE_BUILT, + _("Game: Warning: Wonder %s in %s will be finished next turn"), + get_improvement_name(pcity->currently_building), pcity->name); + } + if (pcity->food_surplus > 0) { turns_growth = (((pcity->size+1) * game.foodbox) - pcity->food_stock - 1) / pcity->food_surplus; @@ -791,6 +800,16 @@ pcity->name, pcity->size + 1); } } + else + { + if (pcity->food_stock + pcity->food_surplus <= 0) { + notify_conn_ex(dest, pcity->x, pcity->y, + E_CITY_FAMINE_WILL_BE_FEARED, + _("Game: Warning: Famine may soon be feared in %s."), + pcity->name); + } + } + } /************************************************************************** diff -ur -X diff_ignore freeciv-cvs/server/plrhand.c freeciv-build/server/plrhand.c --- freeciv-cvs/server/plrhand.c Fri Dec 22 12:24:26 2000 +++ freeciv-build/server/plrhand.c Fri Dec 22 22:15:27 2000 @@ -206,6 +206,7 @@ void found_new_tech(struct player *plr, int tech_found, char was_discovery, char saving_bulbs) { + int i; int philohack=0; int was_first=0; int saved_bulbs; @@ -220,6 +221,17 @@ get_nation_name_plural(plr->nation), advances[tech_found].name ); + + for (i=0;i<=game.government_count;i++) + { + if (tech_found == governments[i].required_tech) + { + notify_player_ex(plr,-1,-1, E_NEW_GOVERNMENT, + _("Game: Discovery of %s contains a new government %s. You may want to start revolution."), + advances[tech_found].name, get_government_name(i)); + } + } + /* Alert the owners of any wonders that have been made obsolete */ for (wonder = 0; wonder < game.num_impr_types; wonder++) if (game.global_wonders[wonder] && is_wonder(wonder) &&