From 8f24dd48d0901c24049f2736d55c0c7e6cdc1b98 Mon Sep 17 00:00:00 2001 From: Kitt Mustang Date: Sun, 5 Sep 2021 02:53:10 +0000 Subject: [PATCH 01/20] Fix ticks in crackable furni interaction. --- .../habbohotel/items/interactions/InteractionCrackable.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCrackable.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCrackable.java index 70869154..f9aed59a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCrackable.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCrackable.java @@ -100,6 +100,11 @@ public class InteractionCrackable extends HabboItem { if (rewardData.requiredEffect > 0 && habbo.getRoomUnit().getEffectId() != rewardData.requiredEffect) return; + if(this.ticks < 1) + { + // If there are no ticks (for example because the room has been reloaded), check the current extradata of the item and update the ticks. + this.ticks = Integer.parseInt(this.getExtradata()); + } this.ticks++; this.setExtradata("" + (this.ticks)); this.needsUpdate(true); From 434db05ce39b55004accaf7709c906909a55b4c0 Mon Sep 17 00:00:00 2001 From: brenoepic Date: Tue, 18 Jan 2022 22:50:57 +0000 Subject: [PATCH 02/20] Fix SubscriptionCommand NPE on not online user --- .../eu/habbo/habbohotel/commands/SubscriptionCommand.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/SubscriptionCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/SubscriptionCommand.java index 25f8b758..96350ae9 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/SubscriptionCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/SubscriptionCommand.java @@ -6,6 +6,7 @@ import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboInfo; import com.eu.habbo.habbohotel.users.HabboManager; +import com.eu.habbo.habbohotel.users.HabboStats; import com.eu.habbo.habbohotel.users.subscriptions.Subscription; /** @@ -42,8 +43,7 @@ public class SubscriptionCommand extends Command { HabboInfo info = HabboManager.getOfflineHabboInfo(params[1]); if (info != null) { - Habbo habbo = Emulator.getGameServer().getGameClientManager().getHabbo(params[1]); - + HabboStats stats = info.getHabboStats(); String subscription = params[2].toUpperCase(); String action = params[3]; @@ -67,11 +67,11 @@ public class SubscriptionCommand extends Command { return true; } - habbo.getHabboStats().createSubscription(subscription, timeToAdd); + stats.createSubscription(subscription, timeToAdd); gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_subscription.success_add_time", "Successfully added %time% seconds to %subscription% on %user%").replace("%time%", timeToAdd + "").replace("%user%", params[1]).replace("%subscription%", subscription), RoomChatMessageBubbles.ALERT); } else if(action.equalsIgnoreCase("remove") || action.equalsIgnoreCase("-") || action.equalsIgnoreCase("r")) { - Subscription s = habbo.getHabboStats().getSubscription(subscription); + Subscription s = stats.getSubscription(subscription); if (s == null) { gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_subscription.user_not_have", "%user% does not have the %subscription% subscription").replace("%user%", params[1]).replace("%subscription%", subscription), RoomChatMessageBubbles.ALERT); From 7b882fd8e753a636a5622847c73191e96b223ddf Mon Sep 17 00:00:00 2001 From: Snaiker Date: Thu, 27 Jan 2022 12:08:51 +0000 Subject: [PATCH 03/20] Fix crackable wall item issue --- .../eu/habbo/threading/runnables/CrackableExplode.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/eu/habbo/threading/runnables/CrackableExplode.java b/src/main/java/com/eu/habbo/threading/runnables/CrackableExplode.java index d39b2f57..f5da2ca8 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/CrackableExplode.java +++ b/src/main/java/com/eu/habbo/threading/runnables/CrackableExplode.java @@ -1,6 +1,7 @@ package com.eu.habbo.threading.runnables; import com.eu.habbo.Emulator; +import com.eu.habbo.habbohotel.items.FurnitureType; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.items.interactions.InteractionCrackable; import com.eu.habbo.habbohotel.rooms.Room; @@ -34,7 +35,7 @@ public class CrackableExplode implements Runnable { if (this.habboItem.getRoomId() == 0) { return; } -//MAKING DINNER BRB + if (!this.habboItem.resetable()) { this.room.removeHabboItem(this.habboItem); this.room.sendComposer(new RemoveFloorItemComposer(this.habboItem, true).compose()); @@ -43,13 +44,15 @@ public class CrackableExplode implements Runnable { } else { this.habboItem.reset(this.room); } + Item rewardItem = Emulator.getGameEnvironment().getItemManager().getCrackableReward(this.habboItem.getBaseItem().getId()); if (rewardItem != null) { HabboItem newItem = Emulator.getGameEnvironment().getItemManager().createItem(this.habboItem.allowAnyone() ? this.habbo.getHabboInfo().getId() : this.habboItem.getUserId(), rewardItem, 0, 0, ""); if (newItem != null) { - if (this.toInventory) { + //Add to inventory in case if isn't possible place the item or in case is wall item + if (this.toInventory || newItem.getBaseItem().getType() == FurnitureType.WALL) { this.habbo.getInventory().getItemsComponent().addItem(newItem); this.habbo.getClient().sendResponse(new AddHabboItemComposer(newItem)); this.habbo.getClient().sendResponse(new InventoryRefreshComposer()); @@ -66,7 +69,6 @@ public class CrackableExplode implements Runnable { } } - this.room.updateTile(this.room.getLayout().getTile(this.x, this.y)); } } From fd8401d4fd57049b71e5981a469a9c5879d71315 Mon Sep 17 00:00:00 2001 From: dap <90627349+notdap@users.noreply.github.com> Date: Wed, 2 Mar 2022 15:45:31 +0100 Subject: [PATCH 04/20] Fix issue #980 --- .../messages/incoming/rooms/items/PostItSaveDataEvent.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItSaveDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItSaveDataEvent.java index 2922fc94..a2bb5524 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItSaveDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItSaveDataEvent.java @@ -39,12 +39,12 @@ public class PostItSaveDataEvent extends MessageHandler { if (!(item instanceof InteractionPostIt)) return; - if (!color.equalsIgnoreCase(PostItColor.YELLOW.hexColor) && !room.hasRights(this.client.getHabbo()) && item.getUserId() != this.client.getHabbo().getHabboInfo().getId()) { + if (!color.equalsIgnoreCase(PostItColor.YELLOW.hexColor) && !room.hasRights(this.client.getHabbo())) { if (!text.startsWith(item.getExtradata().replace(item.getExtradata().split(" ")[0], ""))) { return; } } else { - if (!room.hasRights(this.client.getHabbo()) && item.getUserId() != this.client.getHabbo().getHabboInfo().getId()) + if (!room.hasRights(this.client.getHabbo())) return; } From e6c1766c2c1d480f9b06590271ebbb3bf37285d7 Mon Sep 17 00:00:00 2001 From: brenoepic Date: Thu, 3 Mar 2022 22:27:30 +0000 Subject: [PATCH 05/20] Fix pressure plates --- .../items/interactions/InteractionPressurePlate.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPressurePlate.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPressurePlate.java index 06d19289..b446e6f4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPressurePlate.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPressurePlate.java @@ -37,7 +37,7 @@ public class InteractionPressurePlate extends InteractionDefault { @Override public void onClick(GameClient client, Room room, Object[] objects) throws Exception { - super.onClick(client, room, objects); + } @Override @@ -66,6 +66,11 @@ public class InteractionPressurePlate extends InteractionDefault { updateState(room); } + @Override + public void onPickUp(Room room) { + this.setExtradata("0"); + } + public void updateState(Room room) { boolean occupied = false; From c7ed4a88c246eba8d30b106670201d6bfb13e337 Mon Sep 17 00:00:00 2001 From: brenoepics <59066707+brenoepics@users.noreply.github.com> Date: Sat, 5 Mar 2022 23:17:27 -0300 Subject: [PATCH 06/20] ejectUserFurni on remove rights --- src/main/java/com/eu/habbo/habbohotel/rooms/Room.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 5e87ce8e..932f149a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java @@ -3962,7 +3962,6 @@ public class Room implements Comparable, ISerialize, Runnable { return; this.sendComposer(new RoomRemoveRightsListComposer(this, userId).compose()); - if (this.rights.remove(userId)) { try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("DELETE FROM room_rights WHERE room_id = ? AND user_id = ?")) { statement.setInt(1, this.id); @@ -3974,6 +3973,7 @@ public class Room implements Comparable, ISerialize, Runnable { } if (habbo != null) { + this.ejectUserFurni(habbo.getHabboInfo().getId()); habbo.getRoomUnit().setRightsLevel(RoomRightLevels.NONE); habbo.getRoomUnit().removeStatus(RoomUnitStatus.FLAT_CONTROL); this.refreshRightsForHabbo(habbo); @@ -3981,6 +3981,10 @@ public class Room implements Comparable, ISerialize, Runnable { } public void removeAllRights() { + for (int userId : rights.toArray()) { + this.ejectUserFurni(userId); + } + this.rights.clear(); try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("DELETE FROM room_rights WHERE room_id = ?")) { From b28bf5f4ef97ec9b739646acd9f00ebe2b0c3dc5 Mon Sep 17 00:00:00 2001 From: brenoepic Date: Sun, 6 Mar 2022 02:22:05 +0000 Subject: [PATCH 07/20] Update Room.java --- src/main/java/com/eu/habbo/habbohotel/rooms/Room.java | 1 + 1 file changed, 1 insertion(+) 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 932f149a..af82a1ae 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java @@ -3962,6 +3962,7 @@ public class Room implements Comparable, ISerialize, Runnable { return; this.sendComposer(new RoomRemoveRightsListComposer(this, userId).compose()); + if (this.rights.remove(userId)) { try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("DELETE FROM room_rights WHERE room_id = ? AND user_id = ?")) { statement.setInt(1, this.id); From aff5566451613bdf156f78d6ba2267185264586f Mon Sep 17 00:00:00 2001 From: brenoepics Date: Mon, 7 Mar 2022 01:46:12 +0000 Subject: [PATCH 08/20] Fix exception on answering polls without an answer --- .../eu/habbo/messages/incoming/polls/AnswerPollEvent.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/eu/habbo/messages/incoming/polls/AnswerPollEvent.java b/src/main/java/com/eu/habbo/messages/incoming/polls/AnswerPollEvent.java index 574e50ca..4a3b11fb 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/polls/AnswerPollEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/polls/AnswerPollEvent.java @@ -21,12 +21,15 @@ public class AnswerPollEvent extends MessageHandler { int pollId = this.packet.readInt(); int questionId = this.packet.readInt(); int count = this.packet.readInt(); - + String answers = this.packet.readString(); + StringBuilder answer = new StringBuilder(); for (int i = 0; i < count; i++) { - answer.append(":").append(this.packet.readString()); + answer.append(":").append(answers); } + if(answer.length() <= 0) return; + if (pollId == 0 && questionId <= 0) { this.client.getHabbo().getHabboInfo().getCurrentRoom().handleWordQuiz(this.client.getHabbo(), answer.toString()); return; From 0a5c4dd57eb5d5c72cfeef63398677921d7537ac Mon Sep 17 00:00:00 2001 From: SenpaiDipper Date: Sun, 13 Mar 2022 16:34:22 +0000 Subject: [PATCH 09/20] Receiving Habbo of Hand Item, should Turn Towards Sender. --- .../eu/habbo/threading/runnables/HabboGiveHandItemToHabbo.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/eu/habbo/threading/runnables/HabboGiveHandItemToHabbo.java b/src/main/java/com/eu/habbo/threading/runnables/HabboGiveHandItemToHabbo.java index 3c29ee52..16a59ec5 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/HabboGiveHandItemToHabbo.java +++ b/src/main/java/com/eu/habbo/threading/runnables/HabboGiveHandItemToHabbo.java @@ -26,6 +26,8 @@ public class HabboGiveHandItemToHabbo implements Runnable { if (itemId > 0) { this.from.getRoomUnit().setHandItem(0); this.from.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserHandItemComposer(this.from.getRoomUnit()).compose()); + this.target.getRoomUnit().lookAtPoint(this.from.getRoomUnit().getCurrentLocation()); + this.target.getRoomUnit().statusUpdate(true); this.target.getClient().sendResponse(new RoomUserReceivedHandItemComposer(this.from.getRoomUnit(), itemId)); this.target.getRoomUnit().setHandItem(itemId); this.target.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserHandItemComposer(this.target.getRoomUnit()).compose()); From b2fb96fde7b92d21bfcd68afd92ce5bbcfb870ac Mon Sep 17 00:00:00 2001 From: brenoepics Date: Thu, 17 Mar 2022 11:51:43 +0000 Subject: [PATCH 10/20] Add gift message max lenght and npe fixes --- sqlupdates/3_0_0 to 3_0_1.sql | 2 ++ .../incoming/catalog/CatalogBuyItemAsGiftEvent.java | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sqlupdates/3_0_0 to 3_0_1.sql b/sqlupdates/3_0_0 to 3_0_1.sql index 9cbec636..71ab3129 100644 --- a/sqlupdates/3_0_0 to 3_0_1.sql +++ b/sqlupdates/3_0_0 to 3_0_1.sql @@ -8,3 +8,5 @@ INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('console.mode', '1'); -- Youtube Api v3 key to YoutubeManager INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('youtube.apikey', ''); + +INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('hotel.gifts.length.max', '300'); diff --git a/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemAsGiftEvent.java b/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemAsGiftEvent.java index 13ffb72a..d4093075 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemAsGiftEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemAsGiftEvent.java @@ -80,6 +80,10 @@ public class CatalogBuyItemAsGiftEvent extends MessageHandler { return; } + if (message.length() > Emulator.getConfig().getInt("hotel.gifts.length.max", 300)) { + message = message.substring(0, Emulator.getConfig().getInt("hotel.gifts.length.max", 300)); + } + Integer iItemId = Emulator.getGameEnvironment().getCatalogManager().giftWrappers.get(spriteId); if (iItemId == null) @@ -172,7 +176,7 @@ public class CatalogBuyItemAsGiftEvent extends MessageHandler { int limitedNumber = 0; if (item.isLimited()) { count = 1; - if (Emulator.getGameEnvironment().getCatalogManager().getLimitedConfig(item).available() == 0) { + if (Emulator.getGameEnvironment().getCatalogManager().getLimitedConfig(item).available() == 0 && habbo != null) { habbo.getClient().sendResponse(new AlertLimitedSoldOutComposer()); return; } @@ -269,7 +273,7 @@ public class CatalogBuyItemAsGiftEvent extends MessageHandler { return; } else { if (baseItem.getInteractionType().getType() == InteractionTrophy.class || baseItem.getInteractionType().getType() == InteractionBadgeDisplay.class) { - if (baseItem.getInteractionType().getType() == InteractionBadgeDisplay.class && !habbo.getClient().getHabbo().getInventory().getBadgesComponent().hasBadge(extraData)) { + if (baseItem.getInteractionType().getType() == InteractionBadgeDisplay.class && habbo != null && !habbo.getClient().getHabbo().getInventory().getBadgesComponent().hasBadge(extraData)) { ScripterManager.scripterDetected(habbo.getClient(), Emulator.getTexts().getValue("scripter.warning.catalog.badge_display").replace("%username%", habbo.getClient().getHabbo().getHabboInfo().getUsername()).replace("%badge%", extraData)); extraData = "UMAD"; } From ddef2543fea13a3f5b36efe4bef6247b78c44eab Mon Sep 17 00:00:00 2001 From: Snaiker Date: Fri, 18 Mar 2022 02:46:18 +0000 Subject: [PATCH 11/20] Fix issue NPE --- .../subscriptions/SubscriptionHabboClub.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/eu/habbo/habbohotel/users/subscriptions/SubscriptionHabboClub.java b/src/main/java/com/eu/habbo/habbohotel/users/subscriptions/SubscriptionHabboClub.java index 66c3d041..0c7fc193 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/subscriptions/SubscriptionHabboClub.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/subscriptions/SubscriptionHabboClub.java @@ -15,6 +15,8 @@ import com.eu.habbo.messages.outgoing.generic.PickMonthlyClubGiftNotificationCom import com.eu.habbo.messages.outgoing.rooms.users.RoomUserDataComposer; import com.eu.habbo.messages.outgoing.users.*; import gnu.trove.map.hash.THashMap; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.sql.Connection; import java.sql.PreparedStatement; @@ -29,6 +31,7 @@ import java.util.TreeMap; * @author Beny */ public class SubscriptionHabboClub extends Subscription { + private static final Logger LOGGER = LoggerFactory.getLogger(SubscriptionHabboClub.class); public static boolean HC_PAYDAY_ENABLED = false; public static int HC_PAYDAY_NEXT_DATE = Integer.MAX_VALUE; // yyyy-MM-dd HH:mm:ss @@ -393,9 +396,18 @@ public class SubscriptionHabboClub extends Subscription { break; default: - pointCurrency = Integer.parseInt(currency); - habbo.getClient().getHabbo().getHabboInfo().addCurrencyAmount(pointCurrency, amount); - habbo.getClient().sendResponse(new UserPointsComposer(habbo.getClient().getHabbo().getHabboInfo().getCurrencyAmount(pointCurrency), amount, pointCurrency)); + pointCurrency = -1; + try { + pointCurrency = Integer.parseInt(currency); + } + catch (NumberFormatException ex) { + LOGGER.error("Couldn't convert the type point currency {} on HC PayDay. The number must be a integer and positive.", pointCurrency); + } + + if (pointCurrency >= 0) { + habbo.getClient().getHabbo().getHabboInfo().addCurrencyAmount(pointCurrency, amount); + habbo.getClient().sendResponse(new UserPointsComposer(habbo.getClient().getHabbo().getHabboInfo().getCurrencyAmount(pointCurrency), amount, pointCurrency)); + } break; } From a26e8c09bd0264a1a93868c75dc9b46d4b887b02 Mon Sep 17 00:00:00 2001 From: Harmonic Date: Fri, 18 Mar 2022 21:06:52 +0000 Subject: [PATCH 12/20] Update README.md --- README.md | 160 +++++++++++++++++++++++++++++------------------------- 1 file changed, 87 insertions(+), 73 deletions(-) diff --git a/README.md b/README.md index bff62d04..bd2e1303 100644 --- a/README.md +++ b/README.md @@ -1,84 +1,59 @@ # Arcturus Morningstar # -## What is Arcturus Morningstar? ## -Arcturus Morningstar is the community project for the Arcturus Emulator by TheGeneral. - -The community project was made because the Arcturus Emulator has been abandoned by TheGeneral with lack of updates, an intent to monetize the project, and make the project private. - -TheGeneral's own words were "dont like it then dont use it". We did not like what he was doing, so we made our own version. - -## License ## -Arcturus Morningstar is released under the [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.txt). - -## Versions ## -[![image](https://img.shields.io/badge/VERSION-3.0.0-success.svg?style=for-the-badge&logo=appveyor)](#) -[![image](https://img.shields.io/badge/STATUS-STABLE-blue.svg?style=for-the-badge&logo=appveyor)](#) -[![image](https://img.shields.io/discord/557240155040251905?style=for-the-badge&logo=discord&color=7289DA&label=DISCORD&logoColor=fff)](https://discord.gg/BzfFsTp) - -Compiled Download: https://git.krews.org/morningstar/Arcturus-Community/-/releases - -Client build: **PRODUCTION-201611291003-338511768** - -## Reporting problems ## -You can report problems via the Issue Tracker at https://git.krews.org/morningstar/Arcturus-Community/issues -When making an bug report or a feature request use the template we provide so that it can be categorized correctly and we have more information to replicate a bug or implement a feature correctly. - -## Credits ## -- TheGeneral -- Beny -- Alejandro -- Capheus -- Skeletor -- Harmonic -- Mike -- Remco -- zGrav -- Quadral -- Harmony -- Swirny -- ArpyAge -- Mikkel -- Rodolfo -- Rasmus -- Kitt Mustang -- Snaiker -- nttzx -- necmi -- Dome -- Jose Flores -- Cam -- Oliver -- Narzo -- Tenshie -- MartenM -- Ridge -- SenpaiDipper -- Snaiker -- Thijmen +Arcturus Morningstar is as a fork of Arcturus Emulator by TheGeneral. Arcturus Morningstar is released under the [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.txt) and is developed for free by talented developers at Krews.org and is compatible with the following client revision/community projects: -## Discord ## -Join us on Discord at https://discord.gg/BzfFsTp +| Flash | Community Clients | +| ------------- | ------------- | +| [PRODUCTION-201611291003-338511768](https://git.krews.org/morningstar/apollyon/uploads/dc669a26613bf2356e48eb653734ab29/patched-habbo.swf) | Nitro (Recommended)* | + +###### *Note to use Nitro you will need to use the following [plugin](https://git.krews.org/nitro/ms-websockets/-/releases) with Arcturus Morningstar ####### -## Contributing ## -Anyone is allowed to fork the project and make pull requests. We make no guarantee that pull requests will be approved into the project. -## Branches ## -There will be 2 branches of the Arcturus Morningstar emulator: -`master` - The master branch will be the stable branch. Everything here has been tested on a live hotel and contains no known problems. -`dev` - The dev branch will be the unstable branch. This one is the most up to date, but things may not work as intended. -There is no set timeframe on when new versions will be released or when the stable branch will be updated. +[![image](https://img.shields.io/discord/557240155040251905?style=for-the-badge&logo=discord&color=7289DA&label=KREWS&logoColor=fff)](https://discord.gg/BzfFsTp) -## Custom features ## -Do not implement custom features into the source. -A custom feature will be defined as a feature or ability which is not possible in Habbo.com -Use plugins for custom features, and if a plugin is not possible, you should adapt the source to enable plugins to do that. +## Download ## +[![image](https://img.shields.io/badge/STABLE%20RELEASES-3.0.0-success.svg?style=for-the-badge&logo=appveyor)](https://git.krews.org/morningstar/Arcturus-Community/-/releases) -## Why always make things as plugins? ## -Why always make things as plugins? +[![image](https://img.shields.io/badge/DEVELOPER%20BUILDS-3.1.0-red.svg?style=for-the-badge&logo=appveyor)](https://git.krews.org/morningstar/Arcturus-Community/-/jobs) * + +[![image](https://img.shields.io/badge/RECOMMENDED%20PLUGINS-blue.svg?style=for-the-badge&logo=)](https://git.krews.org/official-plugins) + +###### * Note to use these builds you will need to run any database updates from [here](https://git.krews.org/morningstar/Arcturus-Community/-/tree/dev/sqlupdates) ####### + + +### Branches ### +There are two main branches in use on the Arcturus Morningstar git. Below the pros an + +| master | Tested on a production hotel and is stable for every day use with no known serious exploits. | +| ------------- | ------------- | + +| dev | The most up-to-date, but features may not work as intended. | +| ------------- | ------------- | + + + + +There is no set timeframe on when new versions will be released or when the stable branch will be updated + + +## Can I Help!? ## +#### Reporting Bugs: #### +You can report problems via the [Issue Tracker](https://git.krews.org/morningstar/Arcturus-Community/issues)* +###### * When making an bug report or a feature request use the template we provide so that it can be categorized correctly and we have more information to replicate a bug or implement a feature correctly. ###### +#### Can I contribute code to this project? #### +Of Course! if you have fixed a bug from the git please feel free to do a [merge request](https://git.krews.org/morningstar/Arcturus-Community/issues)* +###### * Anyone is allowed to fork the project and make pull requests, we make no guarantee that pull requests will be approved into the project. Please Do NOT push code which does not replicate behaviour on habbo.com, instead make the behaviour configurable or as a plugin. ###### + + + +## Plugin System ## +The robust Plugin System included in the original Arcturus release is also included in Arcturus Morningstar, if you're interested in making your own plugins, feel free to ask around on our discord and we'll point you in the right direction! + +A lot of the community aren't used to modifying things in this way, so we've written a few pros: 1. Other people will see that plugins are the normal way of adding custom features 2. Plugins can be added and removed at the hotel owner's choice, it makes customizing the hotel easier 3. Developers will be able to read plugin source code to learn how to make their own plugins, without the need to look in complicated source code @@ -91,8 +66,47 @@ Sale of a special edition of a *source code* will not be permitted. You may use If we ever are to make paid features or plugins, we will not prevent or discourage developers from creating alternative options for users. -## Plugins - Official Plugins ## -You can find official plugins to add custom features to Arcturus Morningstar at the following URL: -[View the respository here.](https://git.krews.org/official-plugins) + + + +### Credits ### + + - TheGeneral (Arcturus Emulator) + - Beny + - Alejandro + - Capheus + - Skeletor + - Harmonic + - Mike + - Remco + - zGrav + - Quadral + - Harmony + - Swirny + - ArpyAge + - Mikkel + - Rodolfo + - Rasmus + - Kitt Mustang + - Snaiker + - nttzx + - necmi + - Dome + - Jose Flores + - Cam + - Oliver + - Narzo + - Tenshie + - MartenM + - Ridge + - SenpaiDipper + - Snaiker + - Thijmen + - Brenoepic + - Stankman + + + + From e403462419116c452e64fcf23c79a395e42070f9 Mon Sep 17 00:00:00 2001 From: Harmonic Date: Fri, 18 Mar 2022 21:10:18 +0000 Subject: [PATCH 13/20] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index bd2e1303..877e6bfb 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Arcturus Morningstar is as a fork of Arcturus Emulator by TheGeneral. Arcturus M | Flash | Community Clients | | ------------- | ------------- | -| [PRODUCTION-201611291003-338511768](https://git.krews.org/morningstar/apollyon/uploads/dc669a26613bf2356e48eb653734ab29/patched-habbo.swf) | Nitro (Recommended)* | +| [PRODUCTION-201611291003-338511768](https://git.krews.org/morningstar/apollyon/uploads/dc669a26613bf2356e48eb653734ab29/patched-habbo.swf) | [Nitro (Recommended)*](https://git.krews.org/nitro) | ###### *Note to use Nitro you will need to use the following [plugin](https://git.krews.org/nitro/ms-websockets/-/releases) with Arcturus Morningstar ####### @@ -101,7 +101,6 @@ If we ever are to make paid features or plugins, we will not prevent or discoura - MartenM - Ridge - SenpaiDipper - - Snaiker - Thijmen - Brenoepic - Stankman From 5d82a6e42653ce044d0853f095569b28c8601869 Mon Sep 17 00:00:00 2001 From: dank074 Date: Fri, 18 Mar 2022 17:26:43 -0500 Subject: [PATCH 14/20] remove forced room forwarding to home room --- .../habbo/messages/incoming/users/RequestUserDataEvent.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/com/eu/habbo/messages/incoming/users/RequestUserDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/users/RequestUserDataEvent.java index f4d37e90..aa55bd84 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/users/RequestUserDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/users/RequestUserDataEvent.java @@ -43,11 +43,6 @@ public class RequestUserDataEvent extends MessageHandler { messages.add(new UserDataComposer(this.client.getHabbo()).compose()); messages.add(new UserPerksComposer(this.client.getHabbo()).compose()); - if (!this.client.getHabbo().getHabboStats().nux || Emulator.getConfig().getBoolean("retro.style.homeroom") && this.client.getHabbo().getHabboInfo().getHomeRoom() != 0) - messages.add(new ForwardToRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom()).compose()); - else if (!this.client.getHabbo().getHabboStats().nux || Emulator.getConfig().getBoolean("retro.style.homeroom") && RoomManager.HOME_ROOM_ID > 0) - messages.add(new ForwardToRoomComposer(RoomManager.HOME_ROOM_ID).compose()); - messages.add(new MeMenuSettingsComposer(this.client.getHabbo()).compose()); From 5093d6c74597bd562326c0723deaca629e32d6bd Mon Sep 17 00:00:00 2001 From: dank074 Date: Fri, 18 Mar 2022 17:27:44 -0500 Subject: [PATCH 15/20] remove some packets from being sent at login --- .../incoming/handshake/SecureLoginEvent.java | 13 ++----------- .../navigator/RequestNewNavigatorDataEvent.java | 1 - 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java index fbde40cb..dca9c53a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java @@ -73,9 +73,7 @@ public class SecureLoginEvent extends MessageHandler { if (sso.isEmpty()) { Emulator.getGameServer().getGameClientManager().disposeClient(this.client); - if (Emulator.getConfig().getBoolean("debug.mode")) { - LOGGER.warn("Client is trying to connect without SSO ticket! Closed connection..."); - } + LOGGER.debug("Client is trying to connect without SSO ticket! Closed connection..."); return; } @@ -146,16 +144,9 @@ public class SecureLoginEvent extends MessageHandler { this.client.sendResponses(messages); //Hardcoded - this.client.sendResponse(new NewNavigatorSettingsComposer(this.client.getHabbo().getHabboStats().navigatorWindowSettings)); - this.client.sendResponse(new NewNavigatorMetaDataComposer()); - this.client.sendResponse(new NewNavigatorLiftedRoomsComposer()); - this.client.sendResponse(new NewNavigatorCollapsedCategoriesComposer()); - this.client.sendResponse(new NewNavigatorSavedSearchesComposer(this.client.getHabbo().getHabboInfo().getSavedSearches())); - this.client.sendResponse(new NewNavigatorEventCategoriesComposer()); - this.client.sendResponse(new InventoryRefreshComposer()); + this.client.sendResponse(new InventoryRefreshComposer());// can we remove this too?? //this.client.sendResponse(new ForumsTestComposer()); this.client.sendResponse(new InventoryAchievementsComposer()); - this.client.sendResponse(new AchievementListComposer(this.client.getHabbo())); ModToolSanctions modToolSanctions = Emulator.getGameEnvironment().getModToolSanctions(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestNewNavigatorDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestNewNavigatorDataEvent.java index 05442efe..6bc2a215 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestNewNavigatorDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestNewNavigatorDataEvent.java @@ -12,6 +12,5 @@ public class RequestNewNavigatorDataEvent extends MessageHandler { this.client.sendResponse(new NewNavigatorCollapsedCategoriesComposer()); this.client.sendResponse(new NewNavigatorSavedSearchesComposer(this.client.getHabbo().getHabboInfo().getSavedSearches())); this.client.sendResponse(new NewNavigatorEventCategoriesComposer()); - this.client.sendResponse(new NewNavigatorSettingsComposer(this.client.getHabbo().getHabboStats().navigatorWindowSettings)); } } From c63dee00e0ee4947576910cc49f297e9f387912c Mon Sep 17 00:00:00 2001 From: dank074 Date: Fri, 18 Mar 2022 17:49:52 -0500 Subject: [PATCH 16/20] remove inventory refresh on login --- .../eu/habbo/messages/incoming/handshake/SecureLoginEvent.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java index dca9c53a..b25292d4 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java @@ -144,7 +144,6 @@ public class SecureLoginEvent extends MessageHandler { this.client.sendResponses(messages); //Hardcoded - this.client.sendResponse(new InventoryRefreshComposer());// can we remove this too?? //this.client.sendResponse(new ForumsTestComposer()); this.client.sendResponse(new InventoryAchievementsComposer()); From 53fb788fd0d65500f069bc56cd850b70d05190ed Mon Sep 17 00:00:00 2001 From: dank074 Date: Fri, 18 Mar 2022 18:15:39 -0500 Subject: [PATCH 17/20] fix packet name --- .../incoming/handshake/SecureLoginEvent.java | 7 ++----- .../com/eu/habbo/messages/outgoing/Outgoing.java | 2 +- .../mysterybox/MysteryBoxKeysComposer.java} | 6 +++--- .../outgoing/unknown/UnknownComposer5.java | 14 -------------- 4 files changed, 6 insertions(+), 23 deletions(-) rename src/main/java/com/eu/habbo/messages/{incoming/handshake/UnknownComposer5.java => outgoing/mysterybox/MysteryBoxKeysComposer.java} (66%) delete mode 100644 src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownComposer5.java diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java index b25292d4..95d772cc 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java @@ -13,7 +13,6 @@ import com.eu.habbo.habbohotel.users.subscriptions.SubscriptionHabboClub; import com.eu.habbo.messages.NoAuthMessage; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.incoming.MessageHandler; -import com.eu.habbo.messages.outgoing.achievements.AchievementListComposer; import com.eu.habbo.messages.outgoing.gamecenter.GameCenterAccountInfoComposer; import com.eu.habbo.messages.outgoing.gamecenter.GameCenterGameListComposer; import com.eu.habbo.messages.outgoing.generic.alerts.GenericAlertComposer; @@ -24,13 +23,13 @@ import com.eu.habbo.messages.outgoing.handshake.SecureLoginOKComposer; import com.eu.habbo.messages.outgoing.handshake.AvailabilityStatusMessageComposer; import com.eu.habbo.messages.outgoing.handshake.PingComposer; import com.eu.habbo.messages.outgoing.inventory.InventoryAchievementsComposer; -import com.eu.habbo.messages.outgoing.inventory.InventoryRefreshComposer; import com.eu.habbo.messages.outgoing.inventory.UserEffectsListComposer; import com.eu.habbo.messages.outgoing.modtool.CfhTopicsMessageComposer; import com.eu.habbo.messages.outgoing.modtool.ModToolComposer; import com.eu.habbo.messages.outgoing.modtool.ModToolSanctionInfoComposer; import com.eu.habbo.messages.outgoing.navigator.*; import com.eu.habbo.messages.outgoing.unknown.BuildersClubExpiredComposer; +import com.eu.habbo.messages.outgoing.mysterybox.MysteryBoxKeysComposer; import com.eu.habbo.messages.outgoing.users.*; import com.eu.habbo.plugin.events.emulator.SSOAuthenticationEvent; import com.eu.habbo.plugin.events.users.UserLoginEvent; @@ -125,7 +124,7 @@ public class SecureLoginEvent extends MessageHandler { messages.add(new EnableNotificationsComposer(Emulator.getConfig().getBoolean("bubblealerts.enabled", true)).compose()); messages.add(new UserAchievementScoreComposer(this.client.getHabbo()).compose()); messages.add(new IsFirstLoginOfDayComposer(true).compose()); - messages.add(new UnknownComposer5().compose()); + messages.add(new MysteryBoxKeysComposer().compose()); messages.add(new BuildersClubExpiredComposer().compose()); messages.add(new CfhTopicsMessageComposer().compose()); messages.add(new FavoriteRoomsCountComposer(this.client.getHabbo()).compose()); @@ -133,8 +132,6 @@ public class SecureLoginEvent extends MessageHandler { messages.add(new GameCenterAccountInfoComposer(3, 100).compose()); messages.add(new GameCenterAccountInfoComposer(0, 100).compose()); - //messages.add(new MessengerInitComposer(this.client.getHabbo()).compose()); - //messages.add(new FriendsComposer(this.client.getHabbo()).compose()); messages.add(new UserClubComposer(this.client.getHabbo(), SubscriptionHabboClub.HABBO_CLUB, UserClubComposer.RESPONSE_TYPE_LOGIN).compose()); if (this.client.getHabbo().hasPermission(Permission.ACC_SUPPORTTOOL)) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/Outgoing.java b/src/main/java/com/eu/habbo/messages/outgoing/Outgoing.java index e38663e7..173ec13f 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/Outgoing.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/Outgoing.java @@ -212,7 +212,7 @@ public class Outgoing { //Uknown but work public final static int IsFirstLoginOfDayComposer = 793; // PRODUCTION-201611291003-338511768 //Quest Engine - public final static int UnknownComposer5 = 2833; // PRODUCTION-201611291003-338511768 //Mysterbox + public final static int MysteryBoxKeysComposer = 2833; // PRODUCTION-201611291003-338511768 //Mysterbox public final static int IgnoredUsersComposer = 126; // PRODUCTION-201611291003-338511768 public final static int NewNavigatorMetaDataComposer = 3052; // PRODUCTION-201611291003-338511768 public final static int NewNavigatorSearchResultsComposer = 2690; // PRODUCTION-201611291003-338511768 diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/UnknownComposer5.java b/src/main/java/com/eu/habbo/messages/outgoing/mysterybox/MysteryBoxKeysComposer.java similarity index 66% rename from src/main/java/com/eu/habbo/messages/incoming/handshake/UnknownComposer5.java rename to src/main/java/com/eu/habbo/messages/outgoing/mysterybox/MysteryBoxKeysComposer.java index 7cea96ee..8aa8d340 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/UnknownComposer5.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/mysterybox/MysteryBoxKeysComposer.java @@ -1,13 +1,13 @@ -package com.eu.habbo.messages.incoming.handshake; +package com.eu.habbo.messages.outgoing.mysterybox; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; import com.eu.habbo.messages.outgoing.Outgoing; -public class UnknownComposer5 extends MessageComposer { +public class MysteryBoxKeysComposer extends MessageComposer { @Override protected ServerMessage composeInternal() { - this.response.init(Outgoing.UnknownComposer5); + this.response.init(Outgoing.MysteryBoxKeysComposer); this.response.appendString(""); //Box color this.response.appendString(""); //Key color return this.response; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownComposer5.java b/src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownComposer5.java deleted file mode 100644 index f9e18d7a..00000000 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownComposer5.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.eu.habbo.messages.outgoing.unknown; - -import com.eu.habbo.messages.ServerMessage; -import com.eu.habbo.messages.outgoing.MessageComposer; -import com.eu.habbo.messages.outgoing.Outgoing; - -public class UnknownComposer5 extends MessageComposer { - @Override - protected ServerMessage composeInternal() { - this.response.init(Outgoing.UnknownComposer5); - this.response.appendInt(0); - return this.response; - } -} From 1e32abe426fe66655af131632d19255333d4ebe0 Mon Sep 17 00:00:00 2001 From: dank074 Date: Fri, 18 Mar 2022 18:30:14 -0500 Subject: [PATCH 18/20] fix homeroom packet --- .../messages/incoming/handshake/SecureLoginEvent.java | 2 +- .../habbo/messages/incoming/rooms/SetHomeRoomEvent.java | 2 +- .../messages/outgoing/users/UserHomeRoomComposer.java | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java index 95d772cc..ac1b60b6 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java @@ -114,7 +114,7 @@ public class SecureLoginEvent extends MessageHandler { ArrayList messages = new ArrayList<>(); messages.add(new SecureLoginOKComposer().compose()); - messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), 0).compose()); + messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), this.client.getHabbo().getHabboInfo().getHomeRoom()).compose()); messages.add(new UserEffectsListComposer(habbo, this.client.getHabbo().getInventory().getEffectsComponent().effects.values()).compose()); messages.add(new UserClothesComposer(this.client.getHabbo()).compose()); messages.add(new NewUserIdentityComposer(habbo).compose()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/SetHomeRoomEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/SetHomeRoomEvent.java index 3f8544e3..7a39e005 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/SetHomeRoomEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/SetHomeRoomEvent.java @@ -10,7 +10,7 @@ public class SetHomeRoomEvent extends MessageHandler { if (roomId != this.client.getHabbo().getHabboInfo().getHomeRoom()) { this.client.getHabbo().getHabboInfo().setHomeRoom(roomId); - this.client.sendResponse(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), this.client.getHabbo().getHabboInfo().getHomeRoom())); + this.client.sendResponse(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), 0)); } } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserHomeRoomComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserHomeRoomComposer.java index 5ab9a8c3..4aeae0b3 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserHomeRoomComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserHomeRoomComposer.java @@ -6,18 +6,18 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class UserHomeRoomComposer extends MessageComposer { private final int homeRoom; - private final int newRoom; + private final int roomToEnter; - public UserHomeRoomComposer(int homeRoom, int newRoom) { + public UserHomeRoomComposer(int homeRoom, int roomToEnter) { this.homeRoom = homeRoom; - this.newRoom = newRoom; + this.roomToEnter = roomToEnter; } @Override protected ServerMessage composeInternal() { this.response.init(Outgoing.UserHomeRoomComposer); this.response.appendInt(this.homeRoom); - this.response.appendInt(this.newRoom); + this.response.appendInt(this.roomToEnter); return this.response; } } From 42ca879d619d16bdcfb08dcda605a0f8ffae0f5d Mon Sep 17 00:00:00 2001 From: dank074 Date: Fri, 18 Mar 2022 18:42:09 -0500 Subject: [PATCH 19/20] fix retro style option for forwarding --- .../messages/incoming/handshake/SecureLoginEvent.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java index ac1b60b6..3e7816d4 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java @@ -6,6 +6,7 @@ import com.eu.habbo.habbohotel.modtool.ModToolSanctionItem; import com.eu.habbo.habbohotel.modtool.ModToolSanctions; import com.eu.habbo.habbohotel.navigation.NavigatorSavedSearch; import com.eu.habbo.habbohotel.permissions.Permission; +import com.eu.habbo.habbohotel.rooms.RoomManager; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboManager; import com.eu.habbo.habbohotel.users.clothingvalidation.ClothingValidationManager; @@ -114,6 +115,13 @@ public class SecureLoginEvent extends MessageHandler { ArrayList messages = new ArrayList<>(); messages.add(new SecureLoginOKComposer().compose()); + + if (!this.client.getHabbo().getHabboStats().nux || Emulator.getConfig().getBoolean("retro.style.homeroom") && this.client.getHabbo().getHabboInfo().getHomeRoom() != 0) + messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), this.client.getHabbo().getHabboInfo().getHomeRoom()).compose()); + else if (!this.client.getHabbo().getHabboStats().nux || Emulator.getConfig().getBoolean("retro.style.homeroom") && RoomManager.HOME_ROOM_ID > 0) + messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), RoomManager.HOME_ROOM_ID).compose()); + else messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), 0).compose()); + messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), this.client.getHabbo().getHabboInfo().getHomeRoom()).compose()); messages.add(new UserEffectsListComposer(habbo, this.client.getHabbo().getInventory().getEffectsComponent().effects.values()).compose()); messages.add(new UserClothesComposer(this.client.getHabbo()).compose()); From 929e6a1584662f48a16b753321c1556fbffde421 Mon Sep 17 00:00:00 2001 From: dank074 Date: Fri, 18 Mar 2022 18:47:47 -0500 Subject: [PATCH 20/20] oops --- .../incoming/handshake/SecureLoginEvent.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java index 3e7816d4..2a47300f 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java @@ -116,13 +116,14 @@ public class SecureLoginEvent extends MessageHandler { messages.add(new SecureLoginOKComposer().compose()); - if (!this.client.getHabbo().getHabboStats().nux || Emulator.getConfig().getBoolean("retro.style.homeroom") && this.client.getHabbo().getHabboInfo().getHomeRoom() != 0) - messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), this.client.getHabbo().getHabboInfo().getHomeRoom()).compose()); - else if (!this.client.getHabbo().getHabboStats().nux || Emulator.getConfig().getBoolean("retro.style.homeroom") && RoomManager.HOME_ROOM_ID > 0) - messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), RoomManager.HOME_ROOM_ID).compose()); - else messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), 0).compose()); + int roomIdToEnter = 0; - messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), this.client.getHabbo().getHabboInfo().getHomeRoom()).compose()); + if (!this.client.getHabbo().getHabboStats().nux || Emulator.getConfig().getBoolean("retro.style.homeroom") && this.client.getHabbo().getHabboInfo().getHomeRoom() != 0) + roomIdToEnter = this.client.getHabbo().getHabboInfo().getHomeRoom(); + else if (!this.client.getHabbo().getHabboStats().nux || Emulator.getConfig().getBoolean("retro.style.homeroom") && RoomManager.HOME_ROOM_ID > 0) + roomIdToEnter = RoomManager.HOME_ROOM_ID; + + messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), roomIdToEnter).compose()); messages.add(new UserEffectsListComposer(habbo, this.client.getHabbo().getInventory().getEffectsComponent().effects.values()).compose()); messages.add(new UserClothesComposer(this.client.getHabbo()).compose()); messages.add(new NewUserIdentityComposer(habbo).compose());