anchor.diff:    I: Integer;
   begin
     fPlanner.AfterMissionInit();
  -  SetLength(fBuildNodes, gHands[fOwner].AI.Setup.WorkerCount);
  +  SetLength(fBuildNodes, gHands[fOwner].AI.CityManagement.Predictor.WorkerCount);
     for I := Low(fBuildNodes) to High(fBuildNodes) do
     begin
       fBuildNodes[I].FieldList := TKMPointList.Create();
  
positive.code:   GA_BUILDER_ChHTB_FreeWorkerCoef       : Single =  4.251;//13.550
    GA_BUILDER_TRUNK_SHORTAGE             : Single =  1.426;
    GA_BUILDER_STONE_SHORTAGE             : Single = 13.772;
    GA_BUILDER_WOOD_SHORTAGE              : Single =  5.840;
    GA_BUILDER_GOLD_SHORTAGE              : Single = 27.638;
  
  
negative.code:     aMaxPlans := Max(aMaxPlans, Ceil(gHands[fOwner].Stats.GetUnitQty(utWorker) / GA_BUILDER_ChHTB_AllWorkerCoef) - fPlanner.ConstructedHouses);
  
    // Quarries have minimal delay + stones use only workers (towers after peace time) -> exhaustion for wtStone is OK
    if (WareBalance[wtStone].Exhaustion < GA_BUILDER_STONE_SHORTAGE)
      OR ((fPlanner.PlannedHouses[htQuary].Completed < 3) AND (gHands[fOwner].Stats.GetWareBalance(wtStone) < GA_BUILDER_STONE_SHORTAGE_NO_QUARRY)) then
      fStoneShortage := True;
  
    // Secure wood production: only process trunk -> wood => minimal delay, exhaustion is OK
  