Refactor trade start and disallow trading ignored users

This commit is contained in:
Alejandro 2020-06-08 14:01:41 +03:00
parent a0c1973622
commit 6bf8bd14db

View File

@ -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);
}
}
}