From b11923452f00206089ceff82800bfb1eb8f7b98b Mon Sep 17 00:00:00 2001 From: KrewsOrg <johnjamesharding@hotmail.co.uk> Date: Fri, 13 Mar 2020 17:00:48 +0000 Subject: [PATCH] Added stand command from habbo. --- sqlupdates/2_3_0-RC-3 TO 2_3_0.sql | 1 + .../habbohotel/commands/CommandHandler.java | 1 + .../habbohotel/commands/StandCommand.java | 18 ++++++++++++++++++ .../com/eu/habbo/habbohotel/rooms/Room.java | 11 +++++++++++ .../eu/habbo/habbohotel/rooms/RoomUnit.java | 1 + 5 files changed, 32 insertions(+) create mode 100644 src/main/java/com/eu/habbo/habbohotel/commands/StandCommand.java diff --git a/sqlupdates/2_3_0-RC-3 TO 2_3_0.sql b/sqlupdates/2_3_0-RC-3 TO 2_3_0.sql index d9e96ffd4..f403dc299 100644 --- a/sqlupdates/2_3_0-RC-3 TO 2_3_0.sql +++ b/sqlupdates/2_3_0-RC-3 TO 2_3_0.sql @@ -1 +1,2 @@ INSERT INTO `emulator_texts`(`key`, `value`) VALUES ('commands.generic.cmd_commands.text', 'Your Commands'); +INSERT INTO `emulator_texts`(`key`, `value`) VALUES ('commands.keys.cmd_stand', 'stand'); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/CommandHandler.java b/src/main/java/com/eu/habbo/habbohotel/commands/CommandHandler.java index d51eb1265..dbf2fa6a9 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/CommandHandler.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/CommandHandler.java @@ -245,6 +245,7 @@ public class CommandHandler { addCommand(new ShoutCommand()); addCommand(new ShutdownCommand()); addCommand(new SitCommand()); + addCommand(new StandCommand()); addCommand(new SitDownCommand()); addCommand(new StaffAlertCommand()); addCommand(new StaffOnlineCommand()); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/StandCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/StandCommand.java new file mode 100644 index 000000000..82bf092cf --- /dev/null +++ b/src/main/java/com/eu/habbo/habbohotel/commands/StandCommand.java @@ -0,0 +1,18 @@ +package com.eu.habbo.habbohotel.commands; + +import com.eu.habbo.Emulator; +import com.eu.habbo.habbohotel.gameclients.GameClient; + +public class StandCommand extends Command { + public StandCommand() { + super(null, Emulator.getTexts().getValue("commands.keys.cmd_stand").split(";")); + } + + + @Override + public boolean handle(GameClient gameClient, String[] params) throws Exception { + if (gameClient.getHabbo().getHabboInfo().getRiding() == null) + gameClient.getHabbo().getHabboInfo().getCurrentRoom().makeStand(gameClient.getHabbo()); + return true; + } +} diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java index 17d2e66d0..a360a7332 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java @@ -3993,6 +3993,17 @@ public class Room implements Comparable<Room>, ISerialize, Runnable { this.sendComposer(new RoomUserStatusComposer(habbo.getRoomUnit()).compose()); } + public void makeStand(Habbo habbo) { + if (habbo.getRoomUnit() == null) return; + HabboItem item = this.getTopItemAt(habbo.getRoomUnit().getX(), habbo.getRoomUnit().getY()); + if (item == null || !item.getBaseItem().allowSit()) { + habbo.getRoomUnit().cmdStand = true; + habbo.getRoomUnit().setBodyRotation(RoomUserRotation.values()[habbo.getRoomUnit().getBodyRotation().getValue() - habbo.getRoomUnit().getBodyRotation().getValue() % 2]); + habbo.getRoomUnit().removeStatus(RoomUnitStatus.SIT); + this.sendComposer(new RoomUserStatusComposer(habbo.getRoomUnit()).compose()); + } + } + public void giveEffect(Habbo habbo, int effectId, int duration) { if (this.currentHabbos.containsKey(habbo.getHabboInfo().getId())) { this.giveEffect(habbo.getRoomUnit(), effectId, duration); diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnit.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnit.java index a8c0e8310..6f72b1ffa 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnit.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnit.java @@ -38,6 +38,7 @@ public class RoomUnit { public boolean animateWalk = false; public boolean cmdTeleport = false; public boolean cmdSit = false; + public boolean cmdStand = false; public boolean cmdLay = false; public boolean sitUpdate = false; public boolean isTeleporting = false; -- GitLab