anchor.diff:  
   
   var
  -  GA_BUILDER_BuildHouse_RoadMaxWork                   : Single = 6;
  -  GA_BUILDER_BuildHouse_FieldMaxWork                  : Single = 1;
  -  GA_BUILDER_BuildHouse_RTPMaxWork                    : Single = 10;
  -  GA_BUILDER_CreateShortcuts_MaxWork                  : Single = 6;
  -  GA_BUILDER_ChooseHousesToBuild_FC                   : Single = 8.512814522;
  +  GA_BUILDER_BuildHouse_RoadMaxWork     : Single = 5.697831631;
  +  GA_BUILDER_BuildHouse_FieldMaxWork    : Single = 1;
  +  GA_BUILDER_BuildHouse_RTPMaxWork      : Single = 10;
  +  GA_BUILDER_CreateShortcuts_MaxWork    : Single = 1.886523724;
  +  GA_BUILDER_ChHTB_FractionCoef         : Single = 22.06742477;
  +  GA_BUILDER_ChHTB_TrunkFactor          : Single = 8.568861008;
  +  GA_BUILDER_ChHTB_TrunkBalance         : Single = 2.400017023;
  +  GA_BUILDER_TRUNK_SHORTAGE             : Single = 1;
  +  GA_BUILDER_STONE_SHORTAGE             : Single = 10;
  +  GA_BUILDER_WOOD_SHORTAGE              : Single = 10;
  +  GA_BUILDER_GOLD_SHORTAGE              : Single = 20;
   
   
   type
  
positive.code:         if (FreeWorkers <= 0) then
            Exit;
          // Detect obstacles in house plan
          if gTerrain.ObjectIsChopableTree(FieldList.Items[I].X, FieldList.Items[I].Y) then
          begin
            // Check if is wine plan already placed
            if IsPlan(FieldList.Items[I], tlFieldWork, ft_Wine) then
  
negative.code:       WT := Ware;
        if (RequiredHouses[ PRODUCTION[WT] ] > 0) then
        begin
          Priority := WareBalance[WT].Exhaustion - WareBalance[WT].Fraction * GA_BUILDER_ChHTB_FractionCoef;
          for I := Low(WareOrder) to High(WareOrder) do
            if (WT = wt_None) then
              break
  