Arcturus-Community/src/main/java/com/eu/habbo/habbohotel/commands/LayCommand.java

41 lines
1.9 KiB
Java
Raw Normal View History

2018-07-06 15:30:00 +02:00
package com.eu.habbo.habbohotel.commands;
import com.eu.habbo.Emulator;
import com.eu.habbo.habbohotel.gameclients.GameClient;
import com.eu.habbo.habbohotel.rooms.RoomTile;
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.rooms.RoomUserRotation;
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserStatusComposer;
2019-05-26 20:14:53 +02:00
public class LayCommand extends Command {
public LayCommand() {
super(null, Emulator.getTexts().getValue("commands.keys.cmd_lay").split(";"));
2018-07-06 15:30:00 +02:00
}
@Override
2019-05-26 20:14:53 +02:00
public boolean handle(GameClient gameClient, String[] params) throws Exception {
if (gameClient.getHabbo().getRoomUnit() == null || !gameClient.getHabbo().getRoomUnit().canForcePosture())
return true;
2018-07-06 15:30:00 +02:00
gameClient.getHabbo().getRoomUnit().cmdLay = true;
gameClient.getHabbo().getHabboInfo().getCurrentRoom().updateHabbo(gameClient.getHabbo());
gameClient.getHabbo().getRoomUnit().cmdSit = true;
gameClient.getHabbo().getRoomUnit().setBodyRotation(RoomUserRotation.values()[gameClient.getHabbo().getRoomUnit().getBodyRotation().getValue() - gameClient.getHabbo().getRoomUnit().getBodyRotation().getValue() % 2]);
RoomTile tile = gameClient.getHabbo().getRoomUnit().getCurrentLocation();
2019-05-26 20:14:53 +02:00
if (tile == null) {
2018-07-06 15:30:00 +02:00
return false;
}
2019-05-26 20:14:53 +02:00
for (int i = 0; i < 3; i++) {
2018-07-06 15:30:00 +02:00
RoomTile t = gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTileInFront(tile, gameClient.getHabbo().getRoomUnit().getBodyRotation().getValue(), i);
2019-05-26 20:14:53 +02:00
if (t == null || !t.isWalkable()) {
2018-07-06 15:30:00 +02:00
return false;
}
}
2018-09-12 18:45:00 +02:00
gameClient.getHabbo().getRoomUnit().setStatus(RoomUnitStatus.LAY, 0.5 + "");
2018-07-06 15:30:00 +02:00
gameClient.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserStatusComposer(gameClient.getHabbo().getRoomUnit()).compose());
return true;
}
}