diff --git a/sqlupdates/2_3_1_TO_2_4_0-RC-1.sql b/sqlupdates/2_3_1_TO_2_4_0-RC-1.sql index 24f16927..3e2d7895 100644 --- a/sqlupdates/2_3_1_TO_2_4_0-RC-1.sql +++ b/sqlupdates/2_3_1_TO_2_4_0-RC-1.sql @@ -1,7 +1,3 @@ INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('hotel.room.stickies.max', '200'); -INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('retro.style.homeroom', '1'); - -ALTER TABLE `permissions` ADD `cmd_softkick` ENUM( '0', '1' ) NOT NULL DEFAULT '0' AFTER `cmd_kickall`; - -INSERT INTO `emulator_texts` (`key`, `value`) VALUES ('commands.keys.cmd_softkick', 'softkick'); +INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('retro.style.homeroom', '1'); \ No newline at end of file diff --git a/sqlupdates/2_4_0 RC-1 to 2_4_0 RC-2.sql b/sqlupdates/2_4_0 RC-1 to 2_4_0 RC-2.sql new file mode 100644 index 00000000..77f75ee3 --- /dev/null +++ b/sqlupdates/2_4_0 RC-1 to 2_4_0 RC-2.sql @@ -0,0 +1,4 @@ +ALTER TABLE `permissions` ADD `cmd_softkick` ENUM('0', '1') NOT NULL DEFAULT '0' AFTER `cmd_kickall`; +INSERT INTO `emulator_texts` (`key`, `value`) VALUES ('commands.keys.cmd_softkick', 'softkick'); +INSERT INTO `emulator_texts` (`key`, `value`) VALUES ('commands.error.cmd_softkick_not_found', '%user% not found'); +INSERT INTO `emulator_texts` (`key`, `value`) VALUES ('commands.error.cmd_softkick_error_self', 'You can not softkick yourself!'); \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/SoftKickCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/SoftKickCommand.java index 7323e0dc..8f9eb699 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/SoftKickCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/SoftKickCommand.java @@ -4,6 +4,7 @@ import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.gameclients.GameClient; import com.eu.habbo.habbohotel.permissions.Permission; import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles; import com.eu.habbo.habbohotel.users.Habbo; public class SoftKickCommand extends Command { @@ -13,13 +14,22 @@ public class SoftKickCommand extends Command { @Override public boolean handle(GameClient gameClient, String[] params) throws Exception { - final Room room = gameClient.getHabbo().getHabboInfo().getCurrentRoom(); + if (params.length == 2) { + Habbo habbo = gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbo(params[1]); - for (Habbo habbo : room.getHabbos()) { - if (!(habbo.hasPermission(Permission.ACC_UNKICKABLE) || habbo.hasPermission(Permission.ACC_SUPPORTTOOL) || room.isOwner(habbo))) { - room.kickHabbo(habbo, false); - } + if (habbo == null) { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.keys.cmd_softkick_error").replace("%user%", params[1]), RoomChatMessageBubbles.ALERT); + return true; } + else if (habbo == gameClient.getHabbo()) { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.keys.cmd_softkick_error_self"), RoomChatMessageBubbles.ALERT); + return true; + } + else { + final Room room = gameClient.getHabbo().getHabboInfo().getCurrentRoom(); + room.kickHabbo(habbo, false); + } + } return true; } }