From 6bf8bd14dba47f83012f2a040eefd689ef4f578c Mon Sep 17 00:00:00 2001 From: Alejandro <25-alejandro@users.noreply.git.krews.org> Date: Mon, 8 Jun 2020 14:01:41 +0300 Subject: [PATCH] Refactor trade start and disallow trading ignored users --- .../incoming/trading/TradeStartEvent.java | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/eu/habbo/messages/incoming/trading/TradeStartEvent.java b/src/main/java/com/eu/habbo/messages/incoming/trading/TradeStartEvent.java index 836424c5..a5e4ae13 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/trading/TradeStartEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/trading/TradeStartEvent.java @@ -33,25 +33,31 @@ public class TradeStartEvent extends MessageHandler { return; } - if (targetUser != null) { - if (!this.client.getHabbo().getRoomUnit().hasStatus(RoomUnitStatus.TRADING)) { - if (this.client.getHabbo().getHabboStats().allowTrade()) { - if (!targetUser.getRoomUnit().hasStatus(RoomUnitStatus.TRADING)) { - if (targetUser.getHabboStats().allowTrade()) { - room.startTrade(this.client.getHabbo(), targetUser); - } else { - this.client.sendResponse(new TradeStartFailComposer(TradeStartFailComposer.TARGET_TRADING_NOT_ALLOWED, targetUser.getHabboInfo().getUsername())); - } - } else { - this.client.sendResponse(new TradeStartFailComposer(TradeStartFailComposer.TARGET_ALREADY_TRADING, targetUser.getHabboInfo().getUsername())); - } - } else { - this.client.sendResponse(new TradeStartFailComposer(TradeStartFailComposer.YOU_TRADING_OFF)); - } - } else { - this.client.sendResponse(new TradeStartFailComposer(TradeStartFailComposer.YOU_ALREADY_TRADING)); - } + if (targetUser == null) return; + + if (targetUser.getHabboStats().userIgnored(this.client.getHabbo().getHabboInfo().getId())) return; + + if (this.client.getHabbo().getRoomUnit().hasStatus(RoomUnitStatus.TRADING)) { + this.client.sendResponse(new TradeStartFailComposer(TradeStartFailComposer.YOU_ALREADY_TRADING)); + return; } + + if (!this.client.getHabbo().getHabboStats().allowTrade()) { + this.client.sendResponse(new TradeStartFailComposer(TradeStartFailComposer.YOU_TRADING_OFF)); + return; + } + + if (targetUser.getRoomUnit().hasStatus(RoomUnitStatus.TRADING)) { + this.client.sendResponse(new TradeStartFailComposer(TradeStartFailComposer.TARGET_ALREADY_TRADING, targetUser.getHabboInfo().getUsername())); + return; + } + + if (!targetUser.getHabboStats().allowTrade() { + this.client.sendResponse(new TradeStartFailComposer(TradeStartFailComposer.TARGET_TRADING_NOT_ALLOWED, targetUser.getHabboInfo().getUsername())); + return; + } + + room.startTrade(this.client.getHabbo(), targetUser); } } }