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