+ /* is amorph? */
+ u32 *cell;
+ int i,j,k;
+ float count;
+ cell=(u32 *)(cell_p+x+y*(x_max-1)+z*(x_max-1)*(y_max-1));
+ count=0;
+ for(i=-range;i<=range;i++)
+ for(j=-range;j<=range;j++)
+ for(k=-range;k<=range;k++)
+ if(!(i==0 && j==0 && k==0) && (x>=range && x<x_max-range) \
+ && (y>=range && y<y_max-range) && (z>=range && z<z_max-range))
+ if(*(u32 *)(cell_p+(x+i)+(y+j)*(x_max-1)+(z+k)*(x_max-1)*(y_max-1))&AMORPH)
+ // total+=range*range-
+ count+=0.01*faktor*1.0/(i*i+j*j+k*k);
+ /* count is propability of cell getting amorph */
+ /* for now assume 1 - ~ is propability of cell getting cryst if allready amorphous */
+ if(*cell&AMORPH)
+ {
+ if((1-count)*URAND_2_MAX<=rand_get(URAND_2_MAX))
+ {
+ printfd("cell getting cryst. ...(%f)\n",(1-count));
+ make_cryst(cell);
+ }
+ } else
+ {
+ if(count*URAND_2_MAX<=rand_get(URAND_2_MAX))
+ {
+ printfd("cell getting amorph ...(%f)\n",count);
+ make_amorph(cell);
+ }
+ }