diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/data/civ1/governments.ruleset freeciv/data/civ1/governments.ruleset --- FreecivCVS/data/civ1/governments.ruleset Tue Dec 28 07:16:25 1999 +++ freeciv/data/civ1/governments.ruleset Fri Jun 30 13:33:28 2000 @@ -450,7 +450,7 @@ inside a city or inside a fortress within 3 squares of a friendly\ city\ \n\n\ -- air units (including missiles and helicopters) and sea units\ +- air units (including missiles and helicopters)\ with an attack strength greater than 0, regardless of their\ location\ \n\n\ @@ -523,8 +523,8 @@ inside a city, or inside a fortress within 3 squares of a\ friendly city, generate 2 unhappy citizens.\ \n\n\ -- Air/sea units with an attack strength greater than 0 which are\ - inside a city or nearby fortress generate only 1 unhappy citizen.\ +- Air units with an attack strength greater than 0 which are\ + inside a city generate only 1 unhappy citizen.\ \n\n\ If a city remains in disorder more than 2 turns under Democratic\ rule, the citizens will spontaneously revolt and plunge your\ diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/data/civ2/governments.ruleset freeciv/data/civ2/governments.ruleset --- FreecivCVS/data/civ2/governments.ruleset Fri May 12 21:16:48 2000 +++ freeciv/data/civ2/governments.ruleset Fri Jun 30 13:29:54 2000 @@ -507,7 +507,7 @@ inside a city or inside a fortress within 3 squares of a friendly\ city\ \n\n\ -- air units (including missiles and helicopters) and sea units\ +- air units (including missiles and helicopters, but not fighters)\ with an attack strength greater than 0, regardless of their\ location\ \n\n\ @@ -584,8 +584,9 @@ inside a city, or inside a fortress within 3 squares of a\ friendly city, generate 2 unhappy citizens.\ \n\n\ -- Air/sea units with an attack strength greater than 0 which are\ - inside a city or nearby fortress generate only 1 unhappy citizen.\ +- Air units with an attack strength greater than 0 which are\ + inside a city generate only 1 unhappy citizen. Fighters generate\ + no unhappiness.\ \n\n\ If a city remains in disorder more than 2 turns under Democratic\ rule, the citizens will spontaneously revolt and plunge your\ diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/data/default/governments.ruleset freeciv/data/default/governments.ruleset --- FreecivCVS/data/default/governments.ruleset Fri May 12 21:16:49 2000 +++ freeciv/data/default/governments.ruleset Fri Jun 30 13:29:06 2000 @@ -457,7 +457,7 @@ inside a city or inside a fortress within 3 squares of a friendly\ city\ \n\n\ -- air units (including missiles and helicopters) and sea units\ +- air units (including missiles and helicopters, but not fighters)\ with an attack strength greater than 0, regardless of their\ location\ \n\n\ @@ -534,8 +534,9 @@ inside a city, or inside a fortress within 3 squares of a\ friendly city, generate 2 unhappy citizens.\ \n\n\ -- Air/sea units with an attack strength greater than 0 which are\ - inside a city or nearby fortress generate only 1 unhappy citizen.\ +- Air units with an attack strength greater than 0 which are\ + inside a city generate only 1 unhappy citizen. Fighters generate\ + no unhappiness.\ \n\n\ If a city remains in disorder more than 2 turns under Democratic\ rule, the citizens will spontaneously revolt and plunge your\ diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/server/cityturn.c freeciv/server/cityturn.c --- FreecivCVS/server/cityturn.c Tue Jun 20 08:34:56 2000 +++ freeciv/server/cityturn.c Fri Jun 30 13:26:38 2000 @@ -408,7 +408,7 @@ A unit is *not* aggressive if one or more of following is true: - zero attack strength - inside a city -- inside a fortress within 3 squares of a friendly city (new) +- ground unit inside a fortress within 3 squares of a friendly city **************************************************************************/ int unit_being_aggressive(struct unit *punit) { @@ -416,7 +416,8 @@ return 0; if (map_get_city(punit->x,punit->y)) return 0; - if (map_get_special(punit->x,punit->y)&S_FORTRESS) { + if (is_ground_unit(punit) && + map_get_special(punit->x,punit->y)&S_FORTRESS) { city_list_iterate(get_player(punit->owner)->cities, pcity) { if (real_map_distance(punit->x, punit->y, pcity->x, pcity->y)<=3) return 0;