diff -Nur -X/home/thue/freeciv-dev/no.freeciv -ur /home/thue/freeciv-dev/freeciv/common/unit.c cleanup_goto/common/unit.c --- /home/thue/freeciv-dev/freeciv/common/unit.c Fri Mar 17 18:47:25 2000 +++ cleanup_goto/common/unit.c Tue Apr 4 18:11:45 2000 @@ -1031,7 +1031,7 @@ return terrain_control.may_transform && (ptile->terrain != T_OCEAN) && (ptile->terrain != T_RIVER) && - unit_flag(punit->type, F_TRANSFORM) && punit->moves_left; + unit_flag(punit->type, F_TRANSFORM); default: freelog(LOG_NORMAL,"Unknown activity %d\n",activity); diff -Nur -X/home/thue/freeciv-dev/no.freeciv -ur /home/thue/freeciv-dev/freeciv/server/gotohand.c cleanup_goto/server/gotohand.c --- /home/thue/freeciv-dev/freeciv/server/gotohand.c Mon Mar 13 05:32:40 2000 +++ cleanup_goto/server/gotohand.c Tue Apr 4 18:13:35 2000 @@ -924,18 +924,8 @@ /* ensure that the connecting unit will perform it's activity on the destination file too. */ - if (punit->connecting) { - int tmp_moves_left = punit->moves_left; - int can_do_it; - - /* FIXME: can_unit_do_activity() takes into account moves_left. - We can't. -- edheldil */ - punit->moves_left = 1; - can_do_it = can_unit_do_activity (punit, punit->activity); - punit->moves_left = tmp_moves_left; - - if (can_do_it) return; - } + if (punit->connecting && can_unit_do_activity(punit, punit->activity)) + return; punit->activity=ACTIVITY_IDLE; punit->connecting=0;