anchor.diff:    WOODCUT_CHOP_ONLY_CHECK = MAX_HANDS * 100;
   var
     CheckChopOnly, CheckExistHouse, HouseExist: Boolean;
  -  CompletedHouses,HousesUnderConstruction: Word;
  +  CompletedHouses,HousesUnderConstruction, PlannedHouses: Word;
     I,K: Integer;
     HT: TKMHouseType;
     H: TKMHouse;
  
positive.code:     Loc, SpecPoint: TKMPoint;
    end;
    THousePlanArray = record
      Count, Completed, UnderConstruction: Word;
      Plans: array of THousePlan;
    end;
    TPlannedHousesArray = array [HOUSE_MIN..HOUSE_MAX] of THousePlanArray;
  
  
    TPathFindingCityPlanner = class(TPathFindingRoad)
    private
  
negative.code:     IgnoreTrees := aIgnoreTrees;
      IgnoreAvoidBuilding := False;
      //MaxCnt := 40; // Huge performance impact (with 10 plans needs 40 ms to build city; 100 needs 320 ms)
      MaxDist := 30 - 20 * Byte(aHT = htMetallurgists);
      MaxCnt := 100; // Huge performance impact (with 10 plans needs 40 ms to build city; 100 needs 320 ms)
    end;
  
  