Index: ai/advmilitary.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/ai/advmilitary.c,v retrieving revision 1.110 diff -u -r1.110 advmilitary.c --- ai/advmilitary.c 2002/08/31 15:36:33 1.110 +++ ai/advmilitary.c 2002/09/01 20:37:47 @@ -493,14 +493,16 @@ int attack = get_unit_type(i)->attack_strength; int defense = get_unit_type(i)->defense_strength; - if (unit_types[i].move_type != LAND_MOVING + /* Sea and helicopters often have their firepower set to 1 when + * defending. We can't have such units as defenders. */ + if (unit_types[i].move_type != SEA_MOVING && unit_types[i].move_type != HELI_MOVING) { /* Sea units get 1 firepower in Pearl Harbour, * and helicopters very bad against air units */ desire *= get_unit_type(i)->firepower; } desire *= defense; - desire += get_unit_type(i)->move_rate; + desire += get_unit_type(i)->move_rate / SINGLE_MOVE; desire += attack; if (unit_type_flag(i, F_PIKEMEN)) { desire += desire / 2; Index: ai/aiunit.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/ai/aiunit.c,v retrieving revision 1.210 diff -u -r1.210 aiunit.c --- ai/aiunit.c 2002/08/31 15:41:36 1.210 +++ ai/aiunit.c 2002/09/01 20:37:48 @@ -2752,6 +2752,7 @@ if (unit_type_exists(id) && !unit_type_flag(id, F_NONMIL) && !unit_type_flag(id, F_MISSILE) && !unit_type_flag(id, F_NO_LAND_ATTACK) + && get_unit_type(id)->move_type != AIR_MOVING && get_unit_type(id)->transport_capacity < 8) { simple_ai_types[i] = id; i++;