2018-07-06 15:30:00 +02:00
|
|
|
package com.eu.habbo.messages.incoming.rooms;
|
|
|
|
|
|
|
|
import com.eu.habbo.Emulator;
|
|
|
|
import com.eu.habbo.habbohotel.users.Habbo;
|
|
|
|
import com.eu.habbo.messages.incoming.MessageHandler;
|
|
|
|
import com.eu.habbo.messages.outgoing.hotelview.HotelViewComposer;
|
|
|
|
import com.eu.habbo.messages.outgoing.rooms.HideDoorbellComposer;
|
|
|
|
import com.eu.habbo.messages.outgoing.rooms.RoomAccessDeniedComposer;
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
public class HandleDoorbellEvent extends MessageHandler {
|
2018-07-06 15:30:00 +02:00
|
|
|
@Override
|
2019-05-26 20:14:53 +02:00
|
|
|
public void handle() throws Exception {
|
|
|
|
if (this.client.getHabbo().getHabboInfo().getCurrentRoom() != null && this.client.getHabbo().getHabboInfo().getCurrentRoom().hasRights(this.client.getHabbo())) {
|
2018-07-06 15:30:00 +02:00
|
|
|
String username = this.packet.readString();
|
|
|
|
boolean accepted = this.packet.readBoolean();
|
|
|
|
|
|
|
|
Habbo habbo = Emulator.getGameServer().getGameClientManager().getHabbo(username);
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
if (habbo != null && habbo.getHabboInfo().getRoomQueueId() == this.client.getHabbo().getHabboInfo().getCurrentRoom().getId()) {
|
2018-07-06 15:30:00 +02:00
|
|
|
this.client.getHabbo().getHabboInfo().getCurrentRoom().removeFromQueue(habbo);
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
if (accepted) {
|
2018-07-06 15:30:00 +02:00
|
|
|
habbo.getClient().sendResponse(new HideDoorbellComposer(""));
|
|
|
|
Emulator.getGameEnvironment().getRoomManager().enterRoom(habbo, this.client.getHabbo().getHabboInfo().getCurrentRoom().getId(), "", true);
|
2019-05-26 20:14:53 +02:00
|
|
|
} else {
|
2018-07-06 15:30:00 +02:00
|
|
|
habbo.getClient().sendResponse(new RoomAccessDeniedComposer(""));
|
|
|
|
habbo.getClient().sendResponse(new HotelViewComposer());
|
|
|
|
}
|
|
|
|
habbo.getHabboInfo().setRoomQueueId(0);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|