anchor.diff:      function GetClosestGroup(aLoc: TKMPoint; aIndex: TKMHandIndex; aAlliance: TAllianceType; aTypes: TGroupTypeSet = [Low(TGroupType)..High(TGroupType)]): TKMUnitGroup;
       function GetGroupsInRadius(aLoc: TKMPoint; aSqrRadius: Single; aIndex: TKMHandIndex; aAlliance: TAllianceType; aTypes: TGroupTypeSet = [Low(TGroupType)..High(TGroupType)]): TKMUnitGroupArray;
       function GetClosestUnit(aLoc: TKMPoint; aIndex: TKMHandIndex; aAlliance: TAllianceType): TKMUnit;
  -    function GetClosestHouse(aLoc: TKMPoint; aIndex: TKMHandIndex; aAlliance: TAllianceType; aOnlyCompleted: Boolean = True): TKMHouse;
  +    function GetClosestHouse(aLoc: TKMPoint; aIndex: TKMHandIndex; aAlliance: TAllianceType; aTypes: THouseTypeSet = [HOUSE_MIN..HOUSE_MAX]; aOnlyCompleted: Boolean = True): TKMHouse;
  +    function GetHousesInRadius(aLoc: TKMPoint; aSqrRadius: Single; aIndex: TKMHandIndex; aAlliance: TAllianceType; aTypes: THouseTypeSet = [HOUSE_MIN..HOUSE_MAX]; aOnlyCompleted: Boolean = True): TKMHouseArray;
       function DistanceToEnemyTowers(aLoc: TKMPoint; aIndex: TKMHandIndex): Single;
       procedure GetUnitsInRect(aRect: TKMRect; List: TList);
       function GetHouseByUID(aUID: Integer): TKMHouse;
  
positive.code: 
  //Check opponents for closest House with given Alliance setting
  //Note: we check by house cells, not by entrance
  function TKMHandsCollection.GetClosestHouse(aLoc: TKMPoint; aIndex: TKMHandIndex; aAlliance: TAllianceType; aOnlyCompleted: Boolean = True): TKMHouse;
  var
    I: Integer;
    H: TKMHouse;
  
negative.code: uses
    Classes,
    KM_Hand, KM_HandSpectator, KM_HouseCollection,
    KM_Houses, KM_ResHouses, KM_Units, KM_UnitGroups, KM_Units_Warrior,
    KM_CommonClasses, KM_CommonTypes, KM_Defaults, KM_Points;
  
  
  