anchor.diff:  
       end;
   
  -  if BestBid<>-1 then
  +  if BestBid <> -1 then
       AssignDelivery(FoundO,FoundD,KMSerf);
   end;
   
  
positive.code: 
  
  function TKMDeliverQueue.ValidDelivery(iO,iD: Integer): Boolean;
  begin
    //If Offer Resource matches Demand
    Result := (fDemand[iD].Resource = fOffer[iO].Resource) or
  
negative.code:                         (fDemand[iD].Loc_House.HouseType <> ht_Store) or
                          (not TKMHouseStore(fDemand[iD].Loc_House).NotAcceptFlag[fOffer[iO].Resource]));
  
    //Warfare has a preference to be deivered to Barracks
    if Result
    and (fOffer[iO].Resource in [WARFARE_MIN..WARFARE_MAX])
    and (fDemand[iD].Loc_House <> nil) then
    begin
      //If Demand is a Barracks and it has WareDelivery toggled OFF
      if (fDemand[iD].Loc_House.HouseType = ht_Barracks)
      and TKMHouseBarracks(fDemand[iD].Loc_House).NotAcceptFlag[fOffer[iO].Resource] then
        Result := False;
  
      //Permit delivery of warfares to Store only if player has no Barracks or they all have blocked ware
      if (fDemand[iD].Loc_House <> nil)
      and (fDemand[iD].Loc_House.HouseType = ht_Store) then
      begin
        //Scan through players Barracks, if none accepts - allow deliver to Store
        I := 1;
        repeat
          B := TKMHouseBarracks(fPlayers[fDemand[iD].Loc_House.Owner].FindHouse(ht_Barracks, I));
          if (B <> nil) and (not B.NotAcceptFlag[fOffer[iO].Resource]) then
          begin
            Result := False;
            Break;
          end;
          Inc(I);
        until (B = nil);
      end;
    end;
  
    //If Demand and Offer are different HouseTypes, means forbid Store<->Store deliveries except the case where 2nd store is being built and requires building materials
    Result := Result and ((fDemand[iD].Loc_House = nil) or
  