anchor.diff:      for Ware in aSetOfWare do
       begin
         WT := Ware;
  -      if (aRequiredHouses[ PRODUCTION[WT] ] > 0) then
  -      begin
  -        Priority := aWareBalance[WT].Exhaustion - aWareBalance[WT].Fraction * FRACTION_COEF;
  +      if (RequiredHouses[ PRODUCTION[WT] ] > 0) then
  +      begin
  +        Priority := WareBalance[WT].Exhaustion - WareBalance[WT].Fraction * FRACTION_COEF;
           for I := Low(WareOrder) to High(WareOrder) do
             if (WT = wt_None) then
               break
  
positive.code: 
    // Special case for entrance of Store and Barrack
    if (BaseHT = ht_Store) OR (BaseHT = ht_Barracks) then
      for I := BaseLoc.X-1 to BaseLoc.X+1 do
      begin
        gAIFields.Influences.AvoidBuilding[BaseLoc.Y+1, I] := 255;
        if gHands[fOwner].CanAddFieldPlan(KMPoint(I, BaseLoc.Y+1) , ft_Road) then
          gHands[fOwner].BuildList.FieldworksList.AddField(KMPoint(I, BaseLoc.Y+1) , ft_Road);
      end;
  
    // Find houses which should be connected
    PlannedHouses := fPlanner.PlannedHouses;
  
negative.code: end;
  
  
  function TKMCityBuilder.ChooseHousesToBuild(aMaxCnt: Integer): Boolean;
  type
    TSetOfWare = set of TWareType;
  const
  