anchor.diff:    Result := TryCalcSerfBidValue(aSerf, aOfferPos, aOfferUID, SerfBidValue);
     if not Result then
       Exit;
  -
  -  BelowOfferPos := KMPointBelow(aOfferPos);
   
     {$IFDEF WDC}
     if CACHE_DELIVERY_BIDS then
  
positive.code:   {$ENDIF}
  
  var
    BelowOfferPos: TKMPoint;
    SerfBidValue: Single;
    {$IFDEF WDC}
    BidKey: TKMDeliveryBidKey;
  
negative.code:     if fDemand[iD].Loc_House <> nil then
      begin
        //Calc cost between offer and demand houses
        Result := TryCalcRouteCost(aOfferPos, 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(aOfferPos, fDemand[iD].Loc_Unit.GetPosition, tpWalk, aBidBasicValue);
  
      if not Result then
      begin
  