anchor.diff:      end;
   
     SelectHouseBySetOrder();
  +  if (MaxPlans <= 0) then
  +    Exit;
   
     HT := ht_WatchTower;
     if (not Planner.DefenceTowersPlanned OR (gHands[fOwner].Stats.GetHouseTotal(HT) < Planner.PlannedHouses[HT].Count))
  
positive.code:         Exit;
      end;
  
    if (MaxPlans > 0) then
    begin
      SelectHouse(FOOD_WARE);
      //if (MaxPlans > 0) then
        SelectHouse(WEAPON_WARE);
    end;
  end;
  
  
negative.code:               FieldList.Delete(I);
            end;
          end
          // Tree was destroyed while worker is going to do it -> remove wine or corn plan and remove point from build node
          else if (gHands[fOwner].BuildList.FieldworksList.HasField(FieldList.Items[I]) <> ft_None) then // ft_None is fine, road was checked before
          begin
            gHands[fOwner].BuildList.FieldworksList.RemFieldPlan(FieldList.Items[I]);
            FieldList.Delete(I);
          end
          // There is digged wine / field
          else if (gTerrain.Land[FieldList.Items[I].Y, FieldList.Items[I].X].TileLock = tlFieldWork) then
          begin
            // do nothing (wait till worker finish tile and place road
          end
          // Tree was destroyed for example by script
          else
          begin
            FieldList.Delete(I);
  