anchor.diff:  
     // Conditions are called in the frequency of a negative Result: most negative first
   
  -  //If Demand and Offer aren't reserved already
  -  Result := (aIgnoreOffer or (offer.BeingPerformed < offer.Count));
  -
  -  Result := Result and (
  +  Result := (
               ( //House-House delivery should be performed only if there's a connecting road
               (demand.Loc_House <> nil) and
               (gTerrain.RouteCanBeMade(offer.Loc_House.PointBelowEntrance, demand.Loc_House.PointBelowEntrance, tpWalkRoad))
  
positive.code:       for oWT := WARE_MIN to WARE_MAX do
          if ValidWareTypePair(oWT, dWT) then
            for iO := 0 to fOfferCount[oWT] - 1 do
              if fOffer[oWT,iO].IsActive then
              begin
                offersTaken := 0;
                for iD := 0 to fDemandCount[dWT] - 1 do
  
negative.code:               if fQueue.ValidDemand(dWT, iD)
                  and (fQueue.fDemand[dWT, iD].Importance >= bestImportance) then //Skip any less important than the best we found
                  for iO := 0 to fQueue.fOfferCount[oWT] - 1 do
                    if fQueue.ValidOffer(oWT, iO)
                      and fQueue.ValidDelivery(oWT, dWT, iO, iD)
                      and AnySerfCanDoDelivery(oWT, iO) then //Only choose this delivery if at least one of the serfs can do it
                    begin
  