anchor.diff:    {$ENDIF}
   
   var
  -  BelowOfferPos: TKMPoint;
     SerfBidValue: Single;
     {$IFDEF WDC}
     BidKey: TKMDeliveryBidKey;
  
positive.code:     if fDemand[iD].Loc_House <> nil then
      begin
        //Calc cost between offer and demand houses
        Result := TryCalcRouteCost(BelowOfferPos, fDemand[iD].Loc_House.PointBelowEntrance, tpWalkRoad, aBidBasicValue);
        aBidBasicValue := aBidBasicValue
          //Resource ratios are also considered
          + KaMRandom(15 - 3*gHands[aOwner].Stats.WareDistribution[fDemand[iD].Ware, fDemand[iD].Loc_House.HouseType]);
      end
      else
        //Calc bid cost between offer house and demand Unit (digged worker or hungry warrior)
        Result := TryCalcRouteCost(BelowOfferPos, fDemand[iD].Loc_Unit.GetPosition, tpWalk, aBidBasicValue);
  
      if not Result then
      begin
  
negative.code:   Result := TryCalcSerfBidValue(aSerf, aOfferPos, aOfferUID, SerfBidValue);
    if not Result then
      Exit;
  
    {$IFDEF WDC}
    if CACHE_DELIVERY_BIDS then
  