package net.scapeemulator.game.model.player.trade; import net.scapeemulator.game.model.mob.action.MobInteractionAction; import net.scapeemulator.game.model.player.Player; /** * @author David Insley */ public class TradeRequestAction extends MobInteractionAction<Player, Player> { public TradeRequestAction(Player player, Player other) { super(player, other, 1); } @Override public void executeAction() { if(target == mob) { mob.sendMessage("Why would you want to trade with yourself?"); } else if (target.getInterfaceSet().getWindow().getCurrentId() != -1) { mob.sendMessage("That player is busy at the moment."); } else if (target.wantsToTrade(mob)) { mob.setTradeRequest(null); target.setTradeRequest(null); mob.setTradeSession(new TradeSession(mob, target)); target.setTradeSession(new TradeSession(target, mob)); mob.getTradeSession().init(); target.getTradeSession().init(); } else { target.sendMessage(mob.getDisplayName() + ":tradereq:"); mob.sendMessage("Sending trade request..."); mob.setTradeRequest(target); } stop(); } }