2018-07-06 15:30:00 +02:00
|
|
|
package com.eu.habbo.messages.incoming.rooms;
|
|
|
|
|
2018-09-12 18:45:00 +02:00
|
|
|
import com.eu.habbo.habbohotel.permissions.Permission;
|
2018-07-06 15:30:00 +02:00
|
|
|
import com.eu.habbo.habbohotel.rooms.Room;
|
|
|
|
import com.eu.habbo.habbohotel.rooms.RoomRightLevels;
|
2018-09-12 18:45:00 +02:00
|
|
|
import com.eu.habbo.habbohotel.rooms.RoomUnitStatus;
|
2018-07-06 15:30:00 +02:00
|
|
|
import com.eu.habbo.habbohotel.users.Habbo;
|
|
|
|
import com.eu.habbo.messages.incoming.MessageHandler;
|
|
|
|
import com.eu.habbo.messages.outgoing.rooms.RoomRightsComposer;
|
|
|
|
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserRemoveRightsComposer;
|
|
|
|
import gnu.trove.procedure.TIntProcedure;
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
public class RoomRemoveAllRightsEvent extends MessageHandler {
|
2018-07-06 15:30:00 +02:00
|
|
|
@Override
|
2019-05-26 20:14:53 +02:00
|
|
|
public void handle() throws Exception {
|
2018-07-06 15:30:00 +02:00
|
|
|
final Room room = this.client.getHabbo().getHabboInfo().getCurrentRoom();
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
if (room == null || room.getId() != this.packet.readInt())
|
2018-07-06 15:30:00 +02:00
|
|
|
return;
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
if (room.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermission(Permission.ACC_ANYROOMOWNER)) {
|
|
|
|
room.getRights().forEach(new TIntProcedure() {
|
2018-07-06 15:30:00 +02:00
|
|
|
@Override
|
2019-05-26 20:14:53 +02:00
|
|
|
public boolean execute(int value) {
|
2018-07-06 15:30:00 +02:00
|
|
|
Habbo habbo = room.getHabbo(value);
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
if (habbo != null) {
|
2018-07-06 15:30:00 +02:00
|
|
|
room.sendComposer(new RoomUserRemoveRightsComposer(room, value).compose());
|
2018-09-12 18:45:00 +02:00
|
|
|
habbo.getRoomUnit().removeStatus(RoomUnitStatus.FLAT_CONTROL);
|
2018-07-06 15:30:00 +02:00
|
|
|
habbo.getClient().sendResponse(new RoomRightsComposer(RoomRightLevels.NONE));
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
room.removeAllRights();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|