diff -Nur -X/home/thue/freeciv-dev/no.freeciv freeciv/server/cityturn.c revolution_update/server/cityturn.c --- freeciv/server/cityturn.c Sun Apr 30 15:53:41 2000 +++ revolution_update/server/cityturn.c Sun Apr 30 23:38:09 2000 @@ -482,6 +482,12 @@ int food_cost = utype_food_cost(ut, g); int gold_cost = utype_gold_cost(ut, g); + /* Save old values so ve can decide if the unit info should be resent */ + int old_unhappiness = this_unit->unhappiness; + int old_upkeep = this_unit->upkeep; + int old_upkeep_food = this_unit->upkeep_food; + int old_upkeep_gold = this_unit->upkeep_gold; + /* set current upkeep on unit to zero */ this_unit->unhappiness = 0; this_unit->upkeep = 0; @@ -534,8 +540,14 @@ this_unit->upkeep_gold = gold_cost; } } - } - unit_list_iterate_end; + + /* Send unit info if anything has changed */ + if (this_unit->unhappiness != old_unhappiness + || this_unit->upkeep != old_upkeep + || this_unit->upkeep_food != old_upkeep_food + || this_unit->upkeep_gold != old_upkeep_gold) + send_unit_info(unit_owner(this_unit), this_unit); + } unit_list_iterate_end; } diff -Nur -X/home/thue/freeciv-dev/no.freeciv freeciv/server/plrhand.c revolution_update/server/plrhand.c --- freeciv/server/plrhand.c Sun Apr 30 15:53:41 2000 +++ revolution_update/server/plrhand.c Sun Apr 30 22:50:36 2000 @@ -1722,6 +1722,8 @@ check_player_government_rates(pplayer); + global_city_refresh(pplayer); + send_player_info(pplayer, pplayer); } @@ -1743,6 +1745,8 @@ get_nation_name_plural(pplayer->nation)); check_player_government_rates(pplayer); + + global_city_refresh(pplayer); send_player_info(pplayer, pplayer); if (player_owns_active_govchange_wonder(pplayer))