anchor.diff:  var
     Output: TConstructionState;
     FieldsComplete, Check: Boolean;
  +  PolygonIdx: Word;
     I, Node1Idx, Node2Idx, HouseIdx: Integer;
     Loc: TKMPoint;
   begin
  
positive.code:             RequiredWorkers := Min(MaxReqWorkers, FieldList.Count);
              CenterPoint := FieldList[ FieldList.Count-1 ]; // Road node must start from exist house
            end;
          end;
          // Add field to node (if is required [ht_Farm, ht_Wineyard])
          if not FieldsComplete AND fPlanner.GetFieldToHouse(aHT, HouseIdx, fBuildNodes[Node2Idx].FieldList, fBuildNodes[Node2Idx].FieldType) then
          begin
  
negative.code:         // Add road to node
          if fPlanner.GetRoadToHouse(aHT, HouseIdx, fBuildNodes[Node1Idx].FieldList, fBuildNodes[Node1Idx].FieldType)
             AND (fBuildNodes[Node1Idx].FieldList.Count > 0) then
             with fBuildNodes[Node1Idx] do
             begin
              // Check road and if it goes to enemy influence remove house plan
              I := 0;
              if (aHT = htWatchtower) then
                while (I < FieldList.Count) do
                begin
                  PolygonIdx := gAIFields.NavMesh.KMPoint2Polygon[ FieldList[I] ];
                  if (gAIFields.Influences.GetBestAllianceOwnership(fOwner, PolygonIdx, at_Enemy) > 150) then
                  begin
                    Planner.RemovePlan(aHT, Loc);
                    Exit;
                  end;
                  I := I + 5;
                end;
              LockNode(fBuildNodes[Node1Idx]);
  
              Active := True;
              RemoveTreesMode := False;
              ShortcutMode := False;
  