anchor.diff:    fBuilder.AfterMissionInit(GoldCnt, IronCnt, FieldCnt, BuildCnt);
   
     fPredictor.CityInitialization(GoldCnt, IronCnt, FieldCnt, BuildCnt);
  -
  -  // Place all houses AfterMissionInit (only for GA_PLANNER tuning parameters)
  -  //Cnt := 0;
  -  //GA_PLANNER := True;
  -  //if GA_PLANNER AND (fOwner = 1) then
  -  //  for I := 0 to 100 do
  -  //  begin
  -  //    fBuilder.UpdateState(0, FreeWorkersCnt);
  -  //    fPredictor.UpdateState(0);
  -  //    if not fBuilder.ChooseHousesToBuild(1) then
  -  //    begin
  -  //      Cnt := Cnt + 1;
  -  //      if (Cnt > 5) then
  -  //        Exit;
  -  //    end
  -  //    else
  -  //      Cnt := 0;
  -  //  end;
  -
   end;
   
   
   procedure TKMCityManagement.UpdateState(aTick: Cardinal);
   const
  -  WORKER_COEF = 3.0;
  -  LONG_UPDATE = MAX_HANDS * 20;
  +  LONG_UPDATE = MAX_HANDS * 25; // 30 sec
   var
     FreeWorkersCnt: Integer;
   begin
  
positive.code:   begin
      Output := Stats.GetHouseQty(ht_WatchTower);
  
      if aTick > gGame.GameOptions.Peacetime * 600 + RECRUIT_PEACE_DELAY then
      begin
        if fSetup.UnlimitedEquip then
        begin
  
negative.code:   end;
  
  const
    TRAINING_PRIORITY: array[0..13] of TUnitType = (
      ut_Miner, ut_Metallurgist, ut_StoneCutter, ut_Woodcutter, ut_Lamberjack,
      ut_Farmer, ut_AnimalBreeder, ut_Baker, ut_Butcher, ut_Fisher, ut_Smith, ut_Serf, ut_Worker, ut_Recruit
    );
  