anchor.diff:    InitQueue(True);
     for I := 0 to Length(InitPointsArr) - 1 do
       with InitPointsArr[I] do
  -    begin
  -      if not CanBeVisited(X,Y,Y*fMapX + X, True) then
  -        FML();
  -      MarkAsVisited(X,Y, InsertInQueue(Y*fMapX + X), 0);
  -    end;
  +      if CanBeVisited(X,Y,Y*fMapX + X, True) then
  +        MarkAsVisited(X,Y, InsertInQueue(Y*fMapX + X), 0);
   
     HouseFF();
   end;
  
positive.code:   for I := 0 to gHands[fOwner].Houses.Count - 1 do
    begin
      H := gHands[fOwner].Houses[I];
      if (H.HouseType in SCANNED_HOUSES) AND not H.IsDestroyed AND H.IsComplete then
      begin
        Result[Cnt] := KMPointBelow(H.Entrance);
        Cnt := Cnt + 1;
  
negative.code:   Result := False;
  
    // The loc is out of map or in inaccessible area
    if not gTerrain.TileInMapCoords(aLoc.X, aLoc.Y, 1) then
      //OR (gAIFields.Influences.AvoidBuilding[aLoc.Y,aLoc.X] = AVOID_BUILDING_INACCESSIBLE_TILES) then // Use only with old placing algorithm without flood fill
      Exit;
  
    // Check if we can place house on terrain, this also makes sure the house is
  