anchor.diff:         (gRes.Houses[fPlans[I].HouseType].BuildArea[aLoc.Y - fPlans[I].Loc.Y + 4, aLoc.X - fPlans[I].Loc.X + 3] <> 0))
     then
     begin
  +    aHouseType := fPlans[I].HouseType;
       Result := True;
       Exit;
  -  end;
  +  end;
  +end;
  +
  +
  +function TKMHousePlanList.HasPlan(aLoc: TKMPoint): Boolean;
  +var
  +  HT: TKMHouseType;
  +begin
  +  Result := HasPlan(aLoc, HT);
   end;
   
   
  
positive.code: end;
  
  
  function TKMHousePlanList.HasPlan(aLoc: TKMPoint): Boolean;
  var
    I: Integer;
  begin
    Result := False;
  
    for I := 0 to fPlansCount - 1 do
    if (fPlans[I].HouseType <> ht_None)
  
negative.code:   public
      //Player orders
      procedure AddPlan(aHouseType: TKMHouseType; aLoc: TKMPoint);
      function HasPlan(aLoc: TKMPoint): Boolean; overload;
      function HasPlan(aLoc: TKMPoint; out aHouseType: TKMHouseType): Boolean; overload;
      procedure RemPlan(aLoc: TKMPoint);
      function TryGetPlan(aLoc: TKMPoint; out oHousePlan: TKMHousePlan): Boolean;
      function FindHousePlan(aLoc: TKMPoint; aSkip: TKMPoint; out aOut: TKMPoint): Boolean;
  