anchor.diff:      // Check if AI can build house (if is house blocked [by script] ignore it)
       if GetHouseToUnlock(UnlockProcedure, aHT, FollowingHouse) then
       begin
  -      MaterialShortage := not aIgnoreWareReserves AND (WoodShortage OR TrunkShortage OR StoneShortage OR GoldShortage);
  +      MaterialShortage := not aIgnoreWareReserves AND (fWoodShortage OR fTrunkShortage OR fStoneShortage OR fGoldShortage);
         //MaterialShortage := False; // Enable / disable pre-building (building without placing house plans when we are out of materials)
         Output := BuildHouse(UnlockProcedure OR (aHT = htFarm) OR MaterialShortage, MaterialShortage, MaterialShortage, aHT); // Farm should be placed outside of forest
       end
  
positive.code:   GA_BUILDER_BuildHouse_RTPMaxWork      : Single = 10;
    GA_BUILDER_BuildHouse_RoadMaxWork     : 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 = 5.72991991;
    GA_BUILDER_ChHTB_AllWorkerCoef        : Single = 8;
  
negative.code:   // City builder (build nodes, selection from required houses)
    TKMCityBuilder = class
    private
      fStoneShortage, fWoodShortage, fTrunkShortage, fGoldShortage: Boolean;
      fOwner: TKMHandIndex;
      fBuildNodes: array of TBuildNode;
      fWorkersPos: TKMPointArray;
  