ge plugin: include if trade is synced on login

This commit is contained in:
Adam
2020-05-31 20:30:08 -04:00
parent 83756e8722
commit c67378c09e
4 changed files with 17 additions and 0 deletions

View File

@@ -32,6 +32,7 @@ public class GrandExchangeTrade
{
private boolean buy;
private boolean cancel;
private boolean login;
private int itemId;
private int quantity;
private int total;

View File

@@ -89,6 +89,7 @@ public class GrandExchangeController
Trade trade = new Trade();
trade.setBuy(grandExchangeTrade.isBuy());
trade.setCancel(grandExchangeTrade.isCancel());
trade.setLogin(grandExchangeTrade.isLogin());
trade.setItemId(grandExchangeTrade.getItemId());
trade.setQuantity(grandExchangeTrade.getQuantity());
trade.setTotal(grandExchangeTrade.getTotal());

View File

@@ -32,6 +32,7 @@ class Trade
{
private boolean buy;
private boolean cancel;
private boolean login;
private int itemId;
private int quantity;
private int total;

View File

@@ -116,6 +116,7 @@ import org.apache.commons.text.similarity.FuzzyScore;
@Slf4j
public class GrandExchangePlugin extends Plugin
{
private static final int GE_SLOTS = 8;
private static final int OFFER_CONTAINER_ITEM = 21;
private static final int OFFER_DEFAULT_ITEM_ID = 6512;
private static final OSBGrandExchangeClient CLIENT = new OSBGrandExchangeClient();
@@ -185,6 +186,7 @@ public class GrandExchangePlugin extends Plugin
@Inject
private GrandExchangeClient grandExchangeClient;
private boolean loginBurstGeUpdates;
private static String machineUuid;
private boolean wasFuzzySearch;
@@ -375,6 +377,9 @@ public class GrandExchangePlugin extends Plugin
final int slot = offerEvent.getSlot();
final GrandExchangeOffer offer = offerEvent.getOffer();
log.debug("GE offer updated: state: {}, slot: {}, item: {}, qty: {}, login: {}",
offer.getState(), slot, offer.getItemId(), offer.getQuantitySold(), loginBurstGeUpdates);
ItemComposition offerItem = itemManager.getItemComposition(offer.getItemId());
boolean shouldStack = offerItem.isStackable() || offer.getTotalQuantity() > 1;
BufferedImage itemImage = itemManager.getImage(offer.getItemId(), offer.getTotalQuantity(), shouldStack);
@@ -383,6 +388,11 @@ public class GrandExchangePlugin extends Plugin
submitTrade(slot, offer);
updateConfig(slot, offer);
if (loginBurstGeUpdates && slot == GE_SLOTS - 1) // slots are sent sequentially on login; this is the last one
{
loginBurstGeUpdates = false;
}
}
@VisibleForTesting
@@ -407,6 +417,7 @@ public class GrandExchangePlugin extends Plugin
grandExchangeTrade.setSpent(0);
grandExchangeTrade.setOffer(offer.getPrice());
grandExchangeTrade.setWorldType(getGeWorldType());
grandExchangeTrade.setLogin(loginBurstGeUpdates);
log.debug("Submitting new trade: {}", grandExchangeTrade);
grandExchangeClient.submit(grandExchangeTrade);
@@ -436,6 +447,7 @@ public class GrandExchangePlugin extends Plugin
grandExchangeTrade.setSpent(offer.getSpent());
grandExchangeTrade.setOffer(offer.getPrice());
grandExchangeTrade.setWorldType(getGeWorldType());
grandExchangeTrade.setLogin(loginBurstGeUpdates);
log.debug("Submitting cancelled: {}", grandExchangeTrade);
grandExchangeClient.submit(grandExchangeTrade);
@@ -457,6 +469,7 @@ public class GrandExchangePlugin extends Plugin
grandExchangeTrade.setSpent(dspent);
grandExchangeTrade.setOffer(offer.getPrice());
grandExchangeTrade.setWorldType(getGeWorldType());
grandExchangeTrade.setLogin(loginBurstGeUpdates);
log.debug("Submitting trade: {}", grandExchangeTrade);
grandExchangeClient.submit(grandExchangeTrade);
@@ -522,6 +535,7 @@ public class GrandExchangePlugin extends Plugin
if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN)
{
panel.getOffersPanel().resetOffers();
loginBurstGeUpdates = true;
}
}