anchor.diff:    KM_NavMesh, KM_HouseMarket, KM_RenderAux, KM_ResMapElements;
   
   { TKMCityBuilder }
  -constructor TKMCityBuilder.Create(aPlayer: TKMHandIndex);
  +constructor TKMCityBuilder.Create(aPlayer: TKMHandIndex; aPredictor: TKMCityPredictor);
   begin
     inherited Create;
   
     fOwner := aPlayer;
  +  fPredictor := aPredictor;
     fPlanner := TKMCityPlanner.Create(aPlayer);
   end;
   
  
positive.code:   HT: THouseType;
  begin
    Output := False;
  
    CheckHouseReservation();
    if (aMaxCnt <= 0) then
  
negative.code:   Locs: TKMPointTagList;
  begin
    // Don't build shortcuts when is negative stone derivation
    if   (fPredictor.WareBalance[wt_Stone].Exhaustion < 60)
      //OR (fPredictor.WareBalance[wt_Wood].Exhaustion < 60)
      OR (fPredictor.WareBalance[wt_Gold].Exhaustion < 60) then
      Exit;
  
    // Check if there is free build node
  