anchor.diff:  procedure TKMRandomMapGenerator.CreateResources(aLocs: TKMPointArray; var A: TKMByte2Array);
   const
     RESOURCES: array[0..4] of TBiomeType = (btIron,btGold,btStone,btCoal,btCoal);
  +  BASE_RES_RADIUS: array[0..4] of Single = (1.5,1.5,0.5,2,2);
     VORONOI_STEP = 3;
     RES_PROB: array[0..4] of Single = (0.000001,0.000001,0.1,0.08,0.08); // Probability penalization (only afect final shape: 0 = circle, 1 = multiple separated mountains)
     //SPEC_RES_RADIUS: array[0..4] of Byte = (5, 5, 5, 5, 5); // Iron, Gold, Stone, Coal, Coal
  
positive.code: // Create protected radius = array with smaller chance to spawn obstacle near aLocs
    if RMGSettings.Locs.Resource.Active then
    begin
      ProbabilityReducer := (11 - RMGSettings.Locs.ProtectedRadius) * 0.02;
      MaxCnt := Round(1 / ProbabilityReducer);
      if RMGSettings.Locs.Resource.ConnectLocs then
        ConnectLocs(aLocs);
  
negative.code:           begin
              overflow := overflow + 1;
              // Try find unused shape
              if not FindBestResLoc((RESOURCE <> Byte(btCoal)), BASE_RES_RADIUS[I] * RMGSettings.Locs.ProtectedRadius, TP_S,TP_E,Locs[Loc], CountArr, ResLoc) then
                break;
              // Check if there is enought points to create mountains with specific size
              SetSizeOfMountain(ResLoc, sizeMountain, newSize, CountArr, PointsArr, PointArr);
  