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