anchor.diff:    //Also prefer deliveries near to the serf
     if aSerf <> nil then
       //Serf gets to first house with tpWalkRoad, if not possible, then with tpWalk
  -    Result := TryCalcRouteCost(aSerf.GetPosition, BelowOfferPos, tpWalkRoad, aSerfBidValue, tpWalk);
  +    Result := TryCalcRouteCost(GetSerfActualPos(aSerf), aOfferPos, tpWalkRoad, aSerfBidValue, tpWalk);
   
     {$IFDEF WDC}
     if CACHE_DELIVERY_BIDS then
  
positive.code: var
    LocA, LocB: TKMPoint;
  begin
    LocA := aSerf.GetPosition;
    LocB := fOffer[iO].Loc_House.PointBelowEntrance;
  
    //If the serf is inside the house (invisible) test from point below
    if not aSerf.Visible then
      LocA := KMPointBelow(LocA);
  
    Result := aSerf.CanWalkTo(LocA, LocB, tpWalk, 0);
  end;
  
  
  function TKMDeliveries.PermitDelivery(iO,iD: Integer; aSerf: TKMUnitSerf): Boolean;
  begin
    Result := ValidDelivery(iO, iD) and SerfCanDoDelivery(iO, iD, aSerf);
  end;
  
  
  
negative.code:     fNodeList: TKMPointList; // Used to calc delivery bid
      {$ENDIF}
  
      function GetSerfActualPos(aSerf: TKMUnit): TKMPoint;
      procedure CloseDelivery(aID: Integer);
      procedure CloseDemand(aID: Integer);
      procedure CloseOffer(aID: Integer);
  