This commit is contained in:
KrewsOrg 2019-06-03 03:11:19 +01:00
commit a3df990398
19 changed files with 227 additions and 34 deletions

View File

@ -11,11 +11,10 @@ TheGeneral's own words were "dont like it then dont use it". We did not like wha
Arcturus Morningstar is released under the [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.txt).
## Versions ##
Stable Version: **2.0.0**
![image](https://img.shields.io/badge/VERSION-2.1.0-orange.svg?style=for-the-badge&logo=appveyor)
![image](https://img.shields.io/badge/STATUS-unstable-critical.svg?style=for-the-badge&logo=appveyor)
Compiled Download: https://git.krews.org/morningstar/Arcturus-Community/releases
UnStable Version: **2.1.0**
Compiled Download: Has not yet reached a Release Candidate.
Client build: **PRODUCTION-201611291003-338511768**

View File

@ -204,12 +204,16 @@ public class InteractionTeleport extends HabboItem {
}
public void startTeleport(Room room, Habbo habbo) {
this.startTeleport(room, habbo, 500);
}
public void startTeleport(Room room, Habbo habbo, int delay) {
if (habbo.getRoomUnit().isTeleporting)
return;
this.roomUnitID = -1;
habbo.getRoomUnit().isTeleporting = true;
Emulator.getThreading().run(new TeleportActionOne(this, room, habbo.getClient()), 500);
Emulator.getThreading().run(new TeleportActionOne(this, room, habbo.getClient()), delay);
}
@Override

View File

@ -38,7 +38,7 @@ public class InteractionTeleportTile extends InteractionTeleport {
if (!habbo.getRoomUnit().isTeleporting) {
habbo.getRoomUnit().setGoalLocation(habbo.getRoomUnit().getCurrentLocation());
this.startTeleport(room, habbo);
this.startTeleport(room, habbo, 1000);
}
}
}

View File

@ -5,12 +5,22 @@ public class ModToolChatLog implements Comparable<ModToolChatLog> {
public final int habboId;
public final String username;
public final String message;
public final boolean highlighted;
public ModToolChatLog(int timestamp, int habboId, String username, String message) {
this.timestamp = timestamp;
this.habboId = habboId;
this.username = username;
this.message = message;
this.highlighted = false;
}
public ModToolChatLog(int timestamp, int habboId, String username, String message, boolean highlighted) {
this.timestamp = timestamp;
this.habboId = habboId;
this.username = username;
this.message = message;
this.highlighted = highlighted;
}
@Override

View File

@ -25,6 +25,9 @@ public class ModToolIssue implements ISerialize {
public volatile String modName = "";
public String message;
public ArrayList<ModToolChatLog> chatLogs = null;
public int groupId = -1;
public int threadId = -1;
public int commentId = -1;
public ModToolIssue(ResultSet set) throws SQLException {
this.id = set.getInt("id");

View File

@ -0,0 +1,21 @@
package com.eu.habbo.habbohotel.modtool;
public enum ModToolIssueChatlogType {
NORMAL(0),
CHAT(1),
IM(2),
FORUM_THREAD(3),
FORUM_COMMENT(4),
SELFIE(5),
PHOTO(6);
private int type;
ModToolIssueChatlogType(int type) {
this.type = type;
}
public int getType() {
return type;
}
}

View File

@ -576,6 +576,12 @@ public class RoomManager {
habbo.getClient().sendResponse(new HideDoorbellComposer(""));
if (habbo.getRoomUnit() != null) {
Room existingRoom = habbo.getRoomUnit().getRoom();
if (existingRoom != null) {
if (habbo.getRoomUnit().getCurrentLocation() != null)
habbo.getRoomUnit().getCurrentLocation().removeUnit(habbo.getRoomUnit());
habbo.getRoomUnit().getRoom().sendComposer(new RoomUserRemoveComposer(habbo.getRoomUnit()).compose());
}
habbo.getRoomUnit().setRoom(null);
}
@ -617,7 +623,7 @@ public class RoomManager {
habbo.getRoomUnit().setInRoom(true);
if (habbo.getHabboInfo().getCurrentRoom() != room && habbo.getHabboInfo().getCurrentRoom() != null) {
habbo.getHabboInfo().getCurrentRoom().removeHabbo(habbo);
habbo.getHabboInfo().getCurrentRoom().removeHabbo(habbo, true);
} else if (!habbo.getHabboStats().blockFollowing && habbo.getHabboInfo().getCurrentRoom() == null) {
habbo.getMessenger().connectionChanged(habbo, true, true);
}
@ -1503,7 +1509,7 @@ public class RoomManager {
if (habbo != null) {
if (habbo.getHabboInfo().getCurrentRoom() == room) {
room.removeHabbo(habbo);
room.removeHabbo(habbo, true);
habbo.getClient().sendResponse(new RoomEnterErrorComposer(RoomEnterErrorComposer.ROOM_ERROR_BANNED));
}
}

View File

@ -81,6 +81,7 @@ public class HabboStats implements Runnable {
public long lastPurchaseTimestamp = Emulator.getIntUnixTimestamp();
public long lastGiftTimestamp = Emulator.getIntUnixTimestamp();
public int uiFlags;
public boolean hasGottenDefaultSavedSearches;
private HabboInfo habboInfo;
private boolean allowTrade;
private int clubExpireTimestamp;
@ -133,6 +134,7 @@ public class HabboStats implements Runnable {
this.perkTrade = set.getString("perk_trade").equalsIgnoreCase("1");
this.forumPostsCount = set.getInt("forums_post_count");
this.uiFlags = set.getInt("ui_flags");
this.hasGottenDefaultSavedSearches = set.getInt("has_gotten_default_saved_searches") == 1;
this.nuxReward = this.nux;
try (PreparedStatement statement = set.getStatement().getConnection().prepareStatement("SELECT * FROM user_window_settings WHERE user_id = ? LIMIT 1")) {
@ -292,7 +294,7 @@ public class HabboStats implements Runnable {
@Override
public void run() {
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection()) {
try (PreparedStatement statement = connection.prepareStatement("UPDATE users_settings SET achievement_score = ?, respects_received = ?, respects_given = ?, daily_respect_points = ?, block_following = ?, block_friendrequests = ?, online_time = online_time + ?, guild_id = ?, daily_pet_respect_points = ?, club_expire_timestamp = ?, login_streak = ?, rent_space_id = ?, rent_space_endtime = ?, volume_system = ?, volume_furni = ?, volume_trax = ?, block_roominvites = ?, old_chat = ?, block_camera_follow = ?, chat_color = ?, hof_points = ?, block_alerts = ?, talent_track_citizenship_level = ?, talent_track_helpers_level = ?, ignore_bots = ?, ignore_pets = ?, nux = ?, mute_end_timestamp = ?, allow_name_change = ?, perk_trade = ?, can_trade = ?, `forums_post_count` = ?, ui_flags = ? WHERE user_id = ? LIMIT 1")) {
try (PreparedStatement statement = connection.prepareStatement("UPDATE users_settings SET achievement_score = ?, respects_received = ?, respects_given = ?, daily_respect_points = ?, block_following = ?, block_friendrequests = ?, online_time = online_time + ?, guild_id = ?, daily_pet_respect_points = ?, club_expire_timestamp = ?, login_streak = ?, rent_space_id = ?, rent_space_endtime = ?, volume_system = ?, volume_furni = ?, volume_trax = ?, block_roominvites = ?, old_chat = ?, block_camera_follow = ?, chat_color = ?, hof_points = ?, block_alerts = ?, talent_track_citizenship_level = ?, talent_track_helpers_level = ?, ignore_bots = ?, ignore_pets = ?, nux = ?, mute_end_timestamp = ?, allow_name_change = ?, perk_trade = ?, can_trade = ?, `forums_post_count` = ?, ui_flags = ?, has_gotten_default_saved_searches = ? WHERE user_id = ? LIMIT 1")) {
statement.setInt(1, this.achievementScore);
statement.setInt(2, this.respectPointsReceived);
statement.setInt(3, this.respectPointsGiven);
@ -326,8 +328,9 @@ public class HabboStats implements Runnable {
statement.setString(31, this.allowTrade ? "1" : "0");
statement.setInt(32, this.forumPostsCount);
statement.setInt(33, this.uiFlags);
statement.setInt(34, this.hasGottenDefaultSavedSearches ? 1 : 0);
statement.setInt(34, this.habboInfo.getId());
statement.setInt(35, this.habboInfo.getId());
statement.executeUpdate();
}

View File

@ -466,6 +466,8 @@ public class PacketManager {
this.registerHandler(Incoming.ReportBullyEvent, ReportBullyEvent.class);
this.registerHandler(Incoming.ReportEvent, ReportEvent.class);
this.registerHandler(Incoming.ReportFriendPrivateChatEvent, ReportFriendPrivateChatEvent.class);
this.registerHandler(Incoming.ReportThreadEvent, ReportThreadEvent.class);
this.registerHandler(Incoming.ReportCommentEvent, ReportCommentEvent.class);
}
void registerTrading() throws Exception {

View File

@ -290,6 +290,8 @@ public class Incoming {
public static final int SaveWindowSettingsEvent = 3159;
public static final int GetHabboGuildBadgesMessageEvent = 21;
public static final int UpdateUIFlagsEvent = 2313;
public static final int ReportThreadEvent = 534;
public static final int ReportCommentEvent = 1412;
public static final int RequestCraftingRecipesEvent = 1173;
public static final int RequestCraftingRecipesAvailableEvent = 3086;

View File

@ -2,6 +2,7 @@ package com.eu.habbo.messages.incoming.handshake;
import com.eu.habbo.Emulator;
import com.eu.habbo.habbohotel.messenger.Messenger;
import com.eu.habbo.habbohotel.navigation.NavigatorSavedSearch;
import com.eu.habbo.habbohotel.permissions.Permission;
import com.eu.habbo.habbohotel.users.Habbo;
import com.eu.habbo.habbohotel.users.HabboManager;
@ -148,6 +149,17 @@ public class SecureLoginEvent extends MessageHandler {
}
Messenger.checkFriendSizeProgress(habbo);
if (!habbo.getHabboStats().hasGottenDefaultSavedSearches) {
habbo.getHabboStats().hasGottenDefaultSavedSearches = true;
Emulator.getThreading().run(habbo.getHabboStats());
habbo.getHabboInfo().addSavedSearch(new NavigatorSavedSearch("official-root", ""));
habbo.getHabboInfo().addSavedSearch(new NavigatorSavedSearch("my", ""));
habbo.getHabboInfo().addSavedSearch(new NavigatorSavedSearch("favorites", ""));
this.client.sendResponse(new NewNavigatorSavedSearchesComposer(this.client.getHabbo().getHabboInfo().getSavedSearches()));
}
} else {
Emulator.getGameServer().getGameClientManager().disposeClient(this.client);
}

View File

@ -1,16 +1,16 @@
package com.eu.habbo.messages.incoming.modtool;
import com.eu.habbo.Emulator;
import com.eu.habbo.habbohotel.modtool.ModToolChatLog;
import com.eu.habbo.habbohotel.modtool.ModToolIssue;
import com.eu.habbo.habbohotel.modtool.ModToolTicketType;
import com.eu.habbo.habbohotel.modtool.ScripterManager;
import com.eu.habbo.habbohotel.guilds.forums.ForumThread;
import com.eu.habbo.habbohotel.modtool.*;
import com.eu.habbo.habbohotel.permissions.Permission;
import com.eu.habbo.habbohotel.rooms.Room;
import com.eu.habbo.messages.incoming.MessageHandler;
import com.eu.habbo.messages.outgoing.modtool.ModToolIssueChatlogComposer;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class ModToolRequestIssueChatlogEvent extends MessageHandler {
@Override
@ -19,11 +19,33 @@ public class ModToolRequestIssueChatlogEvent extends MessageHandler {
ModToolIssue issue = Emulator.getGameEnvironment().getModToolManager().getTicket(this.packet.readInt());
if (issue != null) {
ArrayList<ModToolChatLog> chatlog;
List<ModToolChatLog> chatlog = new ArrayList<>();
ModToolIssueChatlogType chatlogType = ModToolIssueChatlogType.CHAT;
if (issue.type == ModToolTicketType.IM) {
chatlog = Emulator.getGameEnvironment().getModToolManager().getMessengerChatlog(issue.reportedId, issue.senderId);
chatlogType = ModToolIssueChatlogType.IM;
} else if (issue.type == ModToolTicketType.DISCUSSION) {
if (issue.commentId == -1) {
chatlogType = ModToolIssueChatlogType.FORUM_THREAD;
ForumThread thread = ForumThread.getById(issue.threadId);
if (thread != null) {
chatlog = thread.getComments().stream().map(c -> new ModToolChatLog(c.getCreatedAt(), c.getHabbo().getHabboInfo().getId(), c.getHabbo().getHabboInfo().getUsername(), c.getMessage())).collect(Collectors.toList());
}
} else {
chatlogType = ModToolIssueChatlogType.FORUM_COMMENT;
ForumThread thread = ForumThread.getById(issue.threadId);
if (thread != null) {
chatlog = thread.getComments().stream().map(c -> new ModToolChatLog(c.getCreatedAt(), c.getHabbo().getHabboInfo().getId(), c.getHabbo().getHabboInfo().getUsername(), c.getMessage(), c.getCommentId() == issue.commentId)).collect(Collectors.toList());
}
}
} else {
chatlogType = ModToolIssueChatlogType.CHAT;
if (issue.roomId > 0) {
chatlog = Emulator.getGameEnvironment().getModToolManager().getRoomChatlog(issue.roomId);
} else {
@ -39,7 +61,7 @@ public class ModToolRequestIssueChatlogEvent extends MessageHandler {
if (room != null) {
roomName = room.getName();
}
this.client.sendResponse(new ModToolIssueChatlogComposer(issue, chatlog, roomName));
this.client.sendResponse(new ModToolIssueChatlogComposer(issue, chatlog, roomName, chatlogType));
}
} else {
ScripterManager.scripterDetected(this.client, Emulator.getTexts().getValue("scripter.warning.modtools.chatlog").replace("%username%", this.client.getHabbo().getHabboInfo().getUsername()));

View File

@ -0,0 +1,43 @@
package com.eu.habbo.messages.incoming.modtool;
import com.eu.habbo.Emulator;
import com.eu.habbo.habbohotel.guilds.forums.ForumThread;
import com.eu.habbo.habbohotel.modtool.CfhTopic;
import com.eu.habbo.habbohotel.modtool.ModToolIssue;
import com.eu.habbo.habbohotel.modtool.ModToolTicketType;
import com.eu.habbo.habbohotel.users.Habbo;
import com.eu.habbo.messages.incoming.MessageHandler;
import com.eu.habbo.messages.outgoing.modtool.ModToolReportReceivedAlertComposer;
import com.eu.habbo.threading.runnables.InsertModToolIssue;
public class ReportCommentEvent extends MessageHandler {
@Override
public void handle() throws Exception {
int groupId = this.packet.readInt();
int threadId = this.packet.readInt();
int commentId = this.packet.readInt();
int topicId = this.packet.readInt();
String message = this.packet.readString();
CfhTopic topic = Emulator.getGameEnvironment().getModToolManager().getCfhTopic(topicId);
if (topic == null) return;
ForumThread thread = ForumThread.getById(threadId);
if (thread == null) return;
Habbo opener = Emulator.getGameEnvironment().getHabboManager().getHabbo(thread.getOpenerId());
ModToolIssue issue = new ModToolIssue(this.client.getHabbo().getHabboInfo().getId(), this.client.getHabbo().getHabboInfo().getUsername(), thread.getOpenerId(), opener == null ? "" : opener.getHabboInfo().getUsername(), 0, message, ModToolTicketType.DISCUSSION);
issue.category = topicId;
issue.groupId = groupId;
issue.threadId = threadId;
issue.commentId = commentId;
new InsertModToolIssue(issue).run();
this.client.sendResponse(new ModToolReportReceivedAlertComposer(ModToolReportReceivedAlertComposer.REPORT_RECEIVED, message));
Emulator.getGameEnvironment().getModToolManager().addTicket(issue);
Emulator.getGameEnvironment().getModToolManager().updateTicketToMods(issue);
}
}

View File

@ -0,0 +1,41 @@
package com.eu.habbo.messages.incoming.modtool;
import com.eu.habbo.Emulator;
import com.eu.habbo.habbohotel.guilds.forums.ForumThread;
import com.eu.habbo.habbohotel.modtool.CfhTopic;
import com.eu.habbo.habbohotel.modtool.ModToolIssue;
import com.eu.habbo.habbohotel.modtool.ModToolTicketType;
import com.eu.habbo.habbohotel.users.Habbo;
import com.eu.habbo.messages.incoming.MessageHandler;
import com.eu.habbo.messages.outgoing.modtool.ModToolReportReceivedAlertComposer;
import com.eu.habbo.threading.runnables.InsertModToolIssue;
public class ReportThreadEvent extends MessageHandler {
@Override
public void handle() throws Exception {
int groupId = this.packet.readInt();
int threadId = this.packet.readInt();
int topicId = this.packet.readInt();
String message = this.packet.readString();
CfhTopic topic = Emulator.getGameEnvironment().getModToolManager().getCfhTopic(topicId);
if (topic == null) return;
ForumThread thread = ForumThread.getById(threadId);
if (thread == null) return;
Habbo opener = Emulator.getGameEnvironment().getHabboManager().getHabbo(thread.getOpenerId());
ModToolIssue issue = new ModToolIssue(this.client.getHabbo().getHabboInfo().getId(), this.client.getHabbo().getHabboInfo().getUsername(), thread.getOpenerId(), opener == null ? "" : opener.getHabboInfo().getUsername(), 0, message, ModToolTicketType.DISCUSSION);
issue.category = topicId;
issue.groupId = groupId;
issue.threadId = threadId;
new InsertModToolIssue(issue).run();
this.client.sendResponse(new ModToolReportReceivedAlertComposer(ModToolReportReceivedAlertComposer.REPORT_RECEIVED, message));
Emulator.getGameEnvironment().getModToolManager().addTicket(issue);
Emulator.getGameEnvironment().getModToolManager().updateTicketToMods(issue);
}
}

View File

@ -10,7 +10,7 @@ import java.util.ArrayList;
import java.util.List;
public class ChangeNameCheckUsernameEvent extends MessageHandler {
public static final String VALID_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-=!?@:,.";
public static String VALID_CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-=!?@:,.";
@Override
public void handle() throws Exception {
@ -28,8 +28,7 @@ public class ChangeNameCheckUsernameEvent extends MessageHandler {
int errorCode = ChangeNameCheckResultComposer.AVAILABLE;
List<String> suggestions = new ArrayList<>(4);
if (false) {
} else if (name.length() < 3) {
if (name.length() < 3) {
errorCode = ChangeNameCheckResultComposer.TOO_SHORT;
} else if (name.length() > 15) {
errorCode = ChangeNameCheckResultComposer.TOO_LONG;
@ -42,7 +41,7 @@ public class ChangeNameCheckUsernameEvent extends MessageHandler {
} else if (!Emulator.getGameEnvironment().getWordFilter().filter(name, this.client.getHabbo()).equalsIgnoreCase(name)) {
errorCode = ChangeNameCheckResultComposer.NOT_VALID;
} else {
String checkName = name.toUpperCase();
String checkName = name;
for (char c : VALID_CHARACTERS.toCharArray()) {
checkName = checkName.replace(c + "", "");
}

View File

@ -1,9 +1,8 @@
package com.eu.habbo.messages.outgoing.modtool;
import com.eu.habbo.habbohotel.modtool.ModToolChatLog;
import com.eu.habbo.habbohotel.modtool.ModToolChatRecordDataContext;
import com.eu.habbo.habbohotel.modtool.ModToolIssue;
import com.eu.habbo.habbohotel.modtool.ModToolTicketType;
import com.eu.habbo.Emulator;
import com.eu.habbo.habbohotel.modtool.*;
import com.eu.habbo.habbohotel.rooms.Room;
import com.eu.habbo.messages.ServerMessage;
import com.eu.habbo.messages.outgoing.MessageComposer;
import com.eu.habbo.messages.outgoing.Outgoing;
@ -11,19 +10,28 @@ import com.eu.habbo.messages.outgoing.Outgoing;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ModToolIssueChatlogComposer extends MessageComposer {
public static SimpleDateFormat format = new SimpleDateFormat("HH:mm");
private final ModToolIssue issue;
private final ArrayList<ModToolChatLog> chatlog;
private final List<ModToolChatLog> chatlog;
private final String roomName;
private ModToolIssueChatlogType type = ModToolIssueChatlogType.CHAT;
public ModToolIssueChatlogComposer(ModToolIssue issue, ArrayList<ModToolChatLog> chatlog, String roomName) {
public ModToolIssueChatlogComposer(ModToolIssue issue, List<ModToolChatLog> chatlog, String roomName) {
this.issue = issue;
this.chatlog = chatlog;
this.roomName = roomName;
}
public ModToolIssueChatlogComposer(ModToolIssue issue, List<ModToolChatLog> chatlog, String roomName, ModToolIssueChatlogType type) {
this.issue = issue;
this.chatlog = chatlog;
this.roomName = roomName;
this.type = type;
}
@Override
public ServerMessage compose() {
this.response.init(Outgoing.ModToolIssueChatlogComposer);
@ -37,16 +45,26 @@ public class ModToolIssueChatlogComposer extends MessageComposer {
if (this.chatlog.isEmpty())
return null;
//ChatRecordData
//for(ModToolRoomVisit visit : chatlog)
//{
this.response.appendByte(1); //Report Type
this.response.appendByte(this.type.getType()); //Report Type
if (this.issue.type == ModToolTicketType.IM) {
this.response.appendShort(1);
ModToolChatRecordDataContext.MESSAGE_ID.append(this.response);
this.response.appendInt(this.issue.senderId);
} else if (this.issue.type == ModToolTicketType.DISCUSSION) {
this.response.appendShort(this.type == ModToolIssueChatlogType.FORUM_COMMENT ? 3 : 2);
ModToolChatRecordDataContext.GROUP_ID.append(this.response);
this.response.appendInt(this.issue.groupId);
ModToolChatRecordDataContext.THREAD_ID.append(this.response);
this.response.appendInt(this.issue.threadId);
if (this.type == ModToolIssueChatlogType.FORUM_COMMENT) {
ModToolChatRecordDataContext.GROUP_ID.append(this.response);
this.response.appendInt(this.issue.commentId);
}
} else {
this.response.appendShort(3); //Context Count
@ -57,7 +75,8 @@ public class ModToolIssueChatlogComposer extends MessageComposer {
this.response.appendInt(this.issue.roomId);
ModToolChatRecordDataContext.GROUP_ID.append(this.response);
this.response.appendInt(12);
Room room = Emulator.getGameEnvironment().getRoomManager().getRoom(this.issue.roomId);
this.response.appendInt(room == null ? 0 : room.getGuildId());
}
this.response.appendShort(this.chatlog.size());
@ -66,7 +85,7 @@ public class ModToolIssueChatlogComposer extends MessageComposer {
this.response.appendInt(chatLog.habboId);
this.response.appendString(chatLog.username);
this.response.appendString(chatLog.message);
this.response.appendBoolean(false);
this.response.appendBoolean(chatLog.highlighted);
}
//}

View File

@ -23,6 +23,7 @@ import com.eu.habbo.habbohotel.wired.WiredHandler;
import com.eu.habbo.messages.PacketManager;
import com.eu.habbo.messages.incoming.floorplaneditor.FloorPlanEditorSaveEvent;
import com.eu.habbo.messages.incoming.hotelview.HotelViewRequestLTDAvailabilityEvent;
import com.eu.habbo.messages.incoming.users.ChangeNameCheckUsernameEvent;
import com.eu.habbo.messages.outgoing.catalog.DiscountComposer;
import com.eu.habbo.plugin.events.emulator.EmulatorConfigUpdatedEvent;
import com.eu.habbo.plugin.events.roomunit.RoomUnitLookAtPointEvent;
@ -118,6 +119,9 @@ public class PluginManager {
AchievementManager.TALENTTRACK_ENABLED = Emulator.getConfig().getBoolean("hotel.talenttrack.enabled");
InteractionRoller.NO_RULES = Emulator.getConfig().getBoolean("hotel.room.rollers.norules");
RoomManager.SHOW_PUBLIC_IN_POPULAR_TAB = Emulator.getConfig().getBoolean("hotel.navigator.populartab.publics");
ChangeNameCheckUsernameEvent.VALID_CHARACTERS = Emulator.getConfig().getValue("allowed.username.characters", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-=!?@:,.");
if (Emulator.isReady) {
Emulator.getGameEnvironment().getCreditsScheduler().reloadConfig();
Emulator.getGameEnvironment().getPointsScheduler().reloadConfig();

View File

@ -14,7 +14,7 @@ public class InsertModToolIssue implements Runnable {
@Override
public void run() {
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO support_tickets (state, timestamp, score, sender_id, reported_id, room_id, mod_id, issue, category) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS)) {
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO support_tickets (state, timestamp, score, sender_id, reported_id, room_id, mod_id, issue, category, group_id, thread_id, comment_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS)) {
statement.setInt(1, this.issue.state.getState());
statement.setInt(2, this.issue.timestamp);
statement.setInt(3, this.issue.priority);
@ -24,6 +24,9 @@ public class InsertModToolIssue implements Runnable {
statement.setInt(7, this.issue.modId);
statement.setString(8, this.issue.message);
statement.setInt(9, this.issue.category);
statement.setInt(10, this.issue.groupId);
statement.setInt(11, this.issue.threadId);
statement.setInt(12, this.issue.commentId);
statement.execute();
try (ResultSet key = statement.getGeneratedKeys()) {

View File

@ -67,7 +67,7 @@ class TeleportInteraction extends Thread {
if (this.room != this.targetRoom) {
Emulator.getGameEnvironment().getRoomManager().logExit(this.client.getHabbo());
this.room.removeHabbo(this.client.getHabbo());
this.room.removeHabbo(this.client.getHabbo(), true);
Emulator.getGameEnvironment().getRoomManager().enterRoom(this.client.getHabbo(), this.targetRoom);
}