in forge/blade/systems/exchange.py [0:0]
def update(self, item):
buyOffer = self.buyOffers[item].peek()
sellOffer = self.sellOffers[item].peek()
if None in (buyOffer, sellOffer):
return
maxBuy, minSell = buyOffer.itemPrice, sellOffer.itemPrice
itemPrice = minSell #Advantage given to buyer arbitrarily
if maxBuy >= minSell:
if sellOffer.quantLeft < buyOffer.quantLeft:
buyOffer.buy(sellOffer.quantLeft, itemPrice)
sellOffer.sell(sellOffer.quantLeft)
self.sellOffers[item].get()
elif sellOffer.quantLeft > buyOffer.quantLeft:
buyOffer.buy(buyOffer.quantLeft, itemPrice)
sellOffer.sell(buyOffer.quantLeft)
self.buyOffers[item].get()
elif sellOffer.quantLeft == buyOffer.quantLeft:
buyOffers.buy(buyOffer.quantLeft, itemPrice)
sellOffer.sell(sellOffer.quantLeft)
self.buyOffers[item].get()
self.sellOffers[item].get()
self.update(item)