Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static void exchange(GrandExchangeOffer seller, GrandExchangeOffer buyer) {
- if (buyer.isSell() == seller.isSell()) {
- return;
- }
- if ((seller.isSell() && buyer.getOfferedValue() < seller.getOfferedValue()) || (!seller.isSell() && buyer.getOfferedValue() > seller.getOfferedValue())) {
- return;
- }
- int amount = seller.getAmountLeft(true);
- if (amount > buyer.getAmountLeft(true)) {
- amount = buyer.getAmountLeft(true);
- }
- if (amount < 1) {
- return;
- }
- int coinDifference = seller.isSell() ? (buyer.getOfferedValue() - seller.getOfferedValue()) : (seller.getOfferedValue() - buyer.getOfferedValue());
- if (coinDifference < 0) {
- return;
- }
- if (EconomyManagement.getEcoState() == EcoStatus.DRAINING) {
- coinDifference *= (1.0 - EconomyManagement.getModificationRate());
- }
- seller.setCompletedAmount(seller.getCompletedAmount() + amount);
- buyer.setCompletedAmount(buyer.getCompletedAmount() + amount);
- seller.setState(seller.getAmountLeft() < 1 ? OfferState.COMPLETED : OfferState.UPDATED);
- buyer.setState(buyer.getAmountLeft() < 1 ? OfferState.COMPLETED : OfferState.UPDATED);
- if (seller.isSell()) {
- if (seller.getAmountLeft() < 1 && seller.getPlayer() != null) {
- seller.getPlayer().getAudioManager().send(new Audio(4042, 1, 1));
- }
- seller.addWithdraw(995, amount * seller.getOfferedValue());
- buyer.addWithdraw(buyer.getItemId(), amount);
- BuyingLimitation.updateBoughtAmount(buyer.getItemId(), buyer.getPlayerUID(), amount);
- } else {
- if (buyer.getAmountLeft() < 1 && buyer.getPlayer() != null) {
- buyer.getPlayer().getAudioManager().send(new Audio(4042, 1, 1));
- }
- seller.addWithdraw(seller.getItemId(), amount);
- buyer.addWithdraw(995, amount * buyer.getOfferedValue());
- BuyingLimitation.updateBoughtAmount(seller.getItemId(), seller.getPlayerUID(), amount);
- }
- if (coinDifference > 0) {
- addCoinDifference(seller, buyer, coinDifference, amount);
- }
- seller.getEntry().influenceValue(seller.getOfferedValue());
- seller.notify(UPDATE_NOTIFICATION);
- buyer.notify(UPDATE_NOTIFICATION);
- // buyer.sendBuyResultMessage(seller, buyer);
- // seller.sendResultMessage(seller, buyer);
- dumpDatabase = true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement