anchor.diff:          if (ClosestDist = INIT_DIST) then
             break;
           Squads[ClosestIdx].FinalPosition := KMPointDir(Position, Dir);
  -        Squads[ClosestIdx].TimeLimit := gGame.GameTickCount + KMDistanceAbs(Position, Squads[ClosestIdx].Position) * TIME_PER_A_TILE;
  +        Squads[ClosestIdx].TimeLimit := aTick + KMDistanceAbs(Position, Squads[ClosestIdx].Position) * TIME_PER_A_TILE;
           AvailableSquads[ClosestIdx] := False;
         end;
       finally
  
positive.code:     fState := cs_Walking;
      if InPosition then
      begin
        if not OrderMove(PathPosition) then
          fState := cs_Idle;
      end;
    end
  
negative.code:   fOnPlace := False;
    SQRDist := KMDistanceSqr(aActualPosition, aTargetPosition);
    // Time limit (time limit MUST be always set by higher rank (platoon))
    if (not (aOrderAttack OR aOrderDestroy) AND (fTimeLimit < aTick)) // Time limit is set to 0 in case that unit attack something
      // Target position is reached
      OR (KMDistanceSqr(aActualPosition, aTargetPosition) < SQR_POSITION_REACHED_TOLERANCE)
      // Target unit is close
  