anchor.diff:      if gTerrain.TileHasStone(X, Y)
          AND (tpWalk in gTerrain.Land[Y+1,X].Passability) then
       begin
  +      fStoneMiningTiles.Items[I] := KMPoint(X,Y);
         // Save tile as a potential point for quarry
  -      Ownership := gAIFields.Influences.Ownership[fOwner, Y+1, X];
  -      if (Ownership > 0) AND gAIFields.Influences.CanPlaceHouseByInfluence(fOwner, X,Y+1) then
  -      begin
  -        fStoneMiningTiles.Items[I] := KMPoint(X,Y);
  -        Output.Add(fStoneMiningTiles.Items[I], Ownership);
  +      if gAIFields.Influences.CanPlaceHouseByInfluence(fOwner, X,Y+1) then
  +      begin
  +        Sum := 0;
  +        while (Y > 1) AND (AddStoneCount(X,Y,Sum) > 0) do
  +          Y := Y - 1;
  +        Output.Add(fStoneMiningTiles.Items[I], Sum);
         end;
       end
       else // Else remove point
  
positive.code: 
  
  function TKMEye.GetStoneLocs(): TKMPointTagList;
  const
    SCAN_LIMIT = 10;
  var
    Ownership: Byte;
    X,Y,I, MaxDist: Integer;
    Output: TKMPointTagList;
  begin
    Output := TKMPointTagList.Create();
  
negative.code:   { Coal
    for I := 0 to Length(fCoalPolygons) - 1 do
      DrawTriangle(I, $FF00FF OR (Min($FF,Round(fCoalPolygons[I]*5)) shl 24)); //}
    //{ Stone mining tiles
    for I := 0 to fStoneMiningTiles.Count - 1 do
      gRenderAux.Quad(fStoneMiningTiles.Items[I].X, fStoneMiningTiles.Items[I].Y, COLOR_RED); //}
  end;
  