anchor.diff:            // Try to find stone locs -> array will be automatically filtered by walkable areas inside of BuildFF
             BuildFF.FindPlaceForHouse(HouseReq, InitPointsArr, True);
             // Evaluate new locs
  -          BestGain := 0;
  +          BestGain := -10000000;
             for I := 0 to BuildFF.Locs.Count - 1 do
             begin
               Loc := BuildFF.Locs.Items[I];
  -            Gain := 100000
  -                   - BuildFF.Distance[Loc] * 200 // Snap crit is aggressive
  -                   + SnapCrit(aHT, Loc);
  +            Gain := - ObstaclesInHousePlan(htQuary,Loc) * 10
  +                    - BuildFF.Distance[Loc] * 20 // Snap crit is aggressive
  +                    - BuildFF.DistanceInitPoint[Loc] * 5
  +                    + SnapCrit(aHT, Loc);
               if (Gain > BestGain) then
               begin
                 BestGain := Gain;
  
positive.code:   for I := 0 to BuildFF.Locs.Count - 1 do
    begin
      Loc := BuildFF.Locs.Items[I];
      Gain := - GA_PLANNER_PlaceWoodcutter_DistFromForest * BuildFF.Distance[Loc]
             + DistCrit(htWoodcutters, Loc)
             + SnapCrit(htWoodcutters, Loc);
      if (Gain > BestGain) then // No need to check for coal tiles everything
  
negative.code:       IgnoreTrees := False;
        IgnoreAvoidBuilding := True;
        MaxCnt := 30;
        MaxDist := 13;
      end;
  
      StoneLocs := gAIFields.Eye.GetStoneLocs(); // Find stone locs
  