anchor.diff:      UpdatePassability(KMPoint(X,Y));
       AddToVisited(X,Y);
   
  -    //Floodfill through around tiles
  +    // 4. Update surrounding tiles
  +    // Floodfill through around tiles
       UpdateTransition(X,  Y-1, aStep + 1); //  x x x
       UpdateTransition(X+1,Y,   aStep + 1); //  x   x
       UpdateTransition(X,  Y+1, aStep + 1); //  x x x
  
positive.code:           end;
          end;
        end;
      end else
      begin
        if Land^[Y,X].BaseLayer.Terrain in [142,143] then
          Exit;
        
        //If tile is surrounded with other stone tiles no need to change it
        if bits <> 15 then
        begin
          Land^[Y,X].BaseLayer.Terrain  := TRAN_TILES[transition, TILE_ID_INDEX[bits]];
  
negative.code: type
    TKMStoneTransitionType = (sttNone, sttGrass, sttCoastSand, sttDirt, sttSnow, sttSnowOnDirt);
  const
    TRANSITIONS_TER_KINDS: array[TKMStoneTransitionType] of TKMTerrainKind =
      (tkGrass, tkGrass, tkCoastSand, tkDirt, tkSnow, tkSnowOnDirt);
  
    TRAN_TILES: array[TKMStoneTransitionType] of array[0..6] of Word =
                ((  0, 139, 138, 140, 141, 274, 301),
  