anchor.diff:          begin
           end;
         end;
  -      RequiredHouses[  PRODUCTION[ WareOrder[I] ]  ] := 0; // Make sure that next node will not scan this house in this tick
  +      RequiredHouses[HT] := 0; // Make sure that next node will not scan this house in this tick
       end;
       Result := Output;
     end;
  
positive.code:   // Woodcutters have huge delay (8 min) + trunk is used only to produce wood -> decide shortage based on actual consumption and reserves
    TrunkBalance := (gHands[fOwner].Stats.GetWareBalance(wt_Trunk) + gHands[fOwner].Stats.GetWareBalance(wt_Wood) / 2) / Max(0.1,WareBalance[wt_Trunk].ActualConsumption);
    if (TrunkBalance < GA_BUILDER_TRUNK_SHORTAGE) then
    begin
      RequiredHouses[htWineyard] := 0; // Dont try to place wine
      fTrunkShortage := True;
    end;
  
    // Find place for chop-only woodcutters when we start to be out of wood
    if ((GA_BUILDER_ChHTB_TrunkBalance - TrunkBalance) / GA_BUILDER_ChHTB_TrunkFactor - GetChopOnlyCnt() > 0) then // Max 2 chop-only woodcutters
  
negative.code:   GA_BUILDER_ChHTB_AllWorkerCoef        : Single = 9.645618439;
    GA_BUILDER_ChHTB_FreeWorkerCoef       : Single = 1;
    GA_BUILDER_TRUNK_SHORTAGE             : Single = 1;
    GA_BUILDER_STONE_SHORTAGE             : Single = 3.034022748;
    GA_BUILDER_WOOD_SHORTAGE              : Single = 10.05567646;
    GA_BUILDER_GOLD_SHORTAGE              : Single = 32.64543295;
  
  