mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-27 00:40:52 +01:00
Merge branch 'dev' of https://git.krews.org/morningstar/Arcturus-Community into dev
This commit is contained in:
commit
9ae0e26de0
@ -78,6 +78,8 @@ INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('hotel.auto.points.hc_mo
|
||||
INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('hotel.auto.credits.hc_modifier', '1');
|
||||
INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('hotel.auto.gotwpoints.hc_modifier', '1');
|
||||
|
||||
INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('room.chat.mutearea.allow_whisper', '1');
|
||||
|
||||
DELETE FROM `emulator_settings` WHERE `key` IN ('hotel.max.rooms.per.user', 'hotel.max.rooms.user', 'hotel.max.rooms.vip', 'max.friends', 'hotel.max.friends', 'max.friends.hc', 'hotel.max.friends.hc');
|
||||
|
||||
ALTER TABLE `users_settings` ADD COLUMN `max_friends` int(10) NULL DEFAULT 300 AFTER `has_gotten_default_saved_searches`;
|
||||
@ -101,3 +103,7 @@ INSERT INTO `emulator_texts` (`key`, `value`) VALUES ('subscriptions.hc.payday.m
|
||||
|
||||
-- OPTIONAL HC MIGRATION
|
||||
-- INSERT INTO users_subscriptions SELECT NULL, user_id, 'HABBO_CLUB' as `subscription_type`, UNIX_TIMESTAMP() AS `timestamp_start`, (club_expire_timestamp - UNIX_TIMESTAMP()) AS `duration`, 1 AS `active` FROM users_settings WHERE club_expire_timestamp > UNIX_TIMESTAMP();
|
||||
|
||||
ALTER TABLE `bots`
|
||||
ADD COLUMN `bubble_id` int(3) NULL DEFAULT 31 AFTER `effect`;
|
||||
|
||||
|
@ -44,6 +44,7 @@ public class Bot implements Runnable {
|
||||
private int chatTimeOut;
|
||||
private int chatTimestamp;
|
||||
private short lastChatIndex;
|
||||
private int bubble;
|
||||
|
||||
|
||||
private String type;
|
||||
@ -73,6 +74,7 @@ public class Bot implements Runnable {
|
||||
this.chatLines = new ArrayList<>();
|
||||
this.type = "generic_bot";
|
||||
this.room = null;
|
||||
this.bubble = RoomChatMessageBubbles.BOT_RENTABLE.getType();
|
||||
}
|
||||
|
||||
public Bot(ResultSet set) throws SQLException {
|
||||
@ -94,6 +96,7 @@ public class Bot implements Runnable {
|
||||
this.roomUnit = null;
|
||||
this.chatTimeOut = Emulator.getIntUnixTimestamp() + this.chatDelay;
|
||||
this.needsUpdate = false;
|
||||
this.bubble = set.getInt("bubble_id");
|
||||
}
|
||||
|
||||
public Bot(Bot bot) {
|
||||
@ -110,6 +113,7 @@ public class Bot implements Runnable {
|
||||
this.chatLines = new ArrayList<>(Arrays.asList("Default Message :D"));
|
||||
this.type = bot.getType();
|
||||
this.effect = bot.getEffect();
|
||||
this.bubble = bot.getBubbleId();
|
||||
|
||||
this.needsUpdate = false;
|
||||
}
|
||||
@ -133,7 +137,7 @@ public class Bot implements Runnable {
|
||||
@Override
|
||||
public void run() {
|
||||
if (this.needsUpdate) {
|
||||
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("UPDATE bots SET name = ?, motto = ?, figure = ?, gender = ?, user_id = ?, room_id = ?, x = ?, y = ?, z = ?, rot = ?, dance = ?, freeroam = ?, chat_lines = ?, chat_auto = ?, chat_random = ?, chat_delay = ?, effect = ? WHERE id = ?")) {
|
||||
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("UPDATE bots SET name = ?, motto = ?, figure = ?, gender = ?, user_id = ?, room_id = ?, x = ?, y = ?, z = ?, rot = ?, dance = ?, freeroam = ?, chat_lines = ?, chat_auto = ?, chat_random = ?, chat_delay = ?, effect = ?, bubble_id = ? WHERE id = ?")) {
|
||||
statement.setString(1, this.name);
|
||||
statement.setString(2, this.motto);
|
||||
statement.setString(3, this.figure);
|
||||
@ -155,7 +159,8 @@ public class Bot implements Runnable {
|
||||
statement.setString(15, this.chatRandom ? "1" : "0");
|
||||
statement.setInt(16, this.chatDelay);
|
||||
statement.setInt(17, this.effect);
|
||||
statement.setInt(18, this.id);
|
||||
statement.setInt(18, this.bubble);
|
||||
statement.setInt(19, this.id);
|
||||
statement.execute();
|
||||
this.needsUpdate = false;
|
||||
} catch (SQLException e) {
|
||||
@ -208,7 +213,7 @@ public class Bot implements Runnable {
|
||||
return;
|
||||
|
||||
this.chatTimestamp = Emulator.getIntUnixTimestamp();
|
||||
this.room.botChat(new RoomUserTalkComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.BOT_RENTABLE)).compose());
|
||||
this.room.botChat(new RoomUserTalkComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.getBubble(this.getBubbleId()))).compose());
|
||||
|
||||
if (message.equals("o/") || message.equals("_o/")) {
|
||||
this.room.sendComposer(new RoomUserActionComposer(this.roomUnit, RoomUserAction.WAVE).compose());
|
||||
@ -223,7 +228,7 @@ public class Bot implements Runnable {
|
||||
return;
|
||||
|
||||
this.chatTimestamp = Emulator.getIntUnixTimestamp();
|
||||
this.room.botChat(new RoomUserShoutComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.BOT_RENTABLE)).compose());
|
||||
this.room.botChat(new RoomUserShoutComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.getBubble(this.getBubbleId()))).compose());
|
||||
|
||||
if (message.equals("o/") || message.equals("_o/")) {
|
||||
this.room.sendComposer(new RoomUserActionComposer(this.roomUnit, RoomUserAction.WAVE).compose());
|
||||
@ -238,7 +243,7 @@ public class Bot implements Runnable {
|
||||
return;
|
||||
|
||||
this.chatTimestamp = Emulator.getIntUnixTimestamp();
|
||||
event.target.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.BOT_RENTABLE)));
|
||||
event.target.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.getBubble(this.getBubbleId()))));
|
||||
}
|
||||
}
|
||||
|
||||
@ -270,6 +275,10 @@ public class Bot implements Runnable {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public int getBubbleId() {
|
||||
return bubble;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
this.needsUpdate = true;
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.eu.habbo.habbohotel.users.clothingvalidation;
|
||||
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
@ -57,55 +58,64 @@ public class Figuredata {
|
||||
|
||||
for(int i = 0; i < palettesList.getLength(); i++) {
|
||||
Node nNode = palettesList.item(i);
|
||||
Element element = (Element)nNode;
|
||||
int paletteId = Integer.parseInt(element.getAttribute("id"));
|
||||
FiguredataPalette palette = new FiguredataPalette(paletteId);
|
||||
if(nNode.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element element = (Element) nNode;
|
||||
int paletteId = Integer.parseInt(element.getAttribute("id"));
|
||||
FiguredataPalette palette = new FiguredataPalette(paletteId);
|
||||
|
||||
NodeList colorsList = nNode.getChildNodes();
|
||||
for(int ii = 0; ii < colorsList.getLength(); ii++) {
|
||||
Element colorElement = (Element)colorsList.item(ii);
|
||||
FiguredataPaletteColor color = new FiguredataPaletteColor(
|
||||
Integer.parseInt(colorElement.getAttribute("id")),
|
||||
Integer.parseInt(colorElement.getAttribute("index")),
|
||||
!colorElement.getAttribute("club").equals("0"),
|
||||
colorElement.getAttribute("selectable").equals("1"),
|
||||
colorElement.getTextContent()
|
||||
);
|
||||
palette.addColor(color);
|
||||
NodeList colorsList = nNode.getChildNodes();
|
||||
for (int ii = 0; ii < colorsList.getLength(); ii++) {
|
||||
if(colorsList.item(ii).getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element colorElement = (Element) colorsList.item(ii);
|
||||
FiguredataPaletteColor color = new FiguredataPaletteColor(
|
||||
Integer.parseInt(colorElement.getAttribute("id")),
|
||||
Integer.parseInt(colorElement.getAttribute("index")),
|
||||
!colorElement.getAttribute("club").equals("0"),
|
||||
colorElement.getAttribute("selectable").equals("1"),
|
||||
colorElement.getTextContent()
|
||||
);
|
||||
palette.addColor(color);
|
||||
}
|
||||
}
|
||||
|
||||
palettes.put(palette.id, palette);
|
||||
}
|
||||
|
||||
palettes.put(palette.id, palette);
|
||||
}
|
||||
|
||||
for(int i = 0; i < settypesList.getLength(); i++) {
|
||||
Node nNode = settypesList.item(i);
|
||||
Element element = (Element)nNode;
|
||||
|
||||
String type = element.getAttribute("type");
|
||||
int paletteId = Integer.parseInt(element.getAttribute("paletteid"));
|
||||
boolean mandM0 = element.getAttribute("mand_m_0").equals("1");
|
||||
boolean mandF0 = element.getAttribute("mand_f_0").equals("1");
|
||||
boolean mandM1 = element.getAttribute("mand_m_1").equals("1");
|
||||
boolean mandF1 = element.getAttribute("mand_f_1").equals("1");
|
||||
if(nNode.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element element = (Element) nNode;
|
||||
|
||||
FiguredataSettype settype = new FiguredataSettype(type, paletteId, mandM0, mandF0, mandM1, mandF1);
|
||||
String type = element.getAttribute("type");
|
||||
int paletteId = Integer.parseInt(element.getAttribute("paletteid"));
|
||||
boolean mandM0 = element.getAttribute("mand_m_0").equals("1");
|
||||
boolean mandF0 = element.getAttribute("mand_f_0").equals("1");
|
||||
boolean mandM1 = element.getAttribute("mand_m_1").equals("1");
|
||||
boolean mandF1 = element.getAttribute("mand_f_1").equals("1");
|
||||
|
||||
NodeList setsList = nNode.getChildNodes();
|
||||
for(int ii = 0; ii < setsList.getLength(); ii++) {
|
||||
Element setElement = (Element)setsList.item(ii);
|
||||
FiguredataSettypeSet set = new FiguredataSettypeSet(
|
||||
Integer.parseInt(setElement.getAttribute("id")),
|
||||
setElement.getAttribute("gender"),
|
||||
!setElement.getAttribute("club").equals("0"),
|
||||
setElement.getAttribute("colorable").equals("1"),
|
||||
setElement.getAttribute("selectable").equals("1"),
|
||||
setElement.getAttribute("preselectable").equals("1"),
|
||||
setElement.getAttribute("sellable").equals("1")
|
||||
);
|
||||
settype.addSet(set);
|
||||
FiguredataSettype settype = new FiguredataSettype(type, paletteId, mandM0, mandF0, mandM1, mandF1);
|
||||
|
||||
NodeList setsList = nNode.getChildNodes();
|
||||
for (int ii = 0; ii < setsList.getLength(); ii++) {
|
||||
if(setsList.item(ii).getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element setElement = (Element) setsList.item(ii);
|
||||
FiguredataSettypeSet set = new FiguredataSettypeSet(
|
||||
Integer.parseInt(setElement.getAttribute("id")),
|
||||
setElement.getAttribute("gender"),
|
||||
!setElement.getAttribute("club").equals("0"),
|
||||
setElement.getAttribute("colorable").equals("1"),
|
||||
setElement.getAttribute("selectable").equals("1"),
|
||||
setElement.getAttribute("preselectable").equals("1"),
|
||||
setElement.getAttribute("sellable").equals("1")
|
||||
);
|
||||
settype.addSet(set);
|
||||
}
|
||||
}
|
||||
|
||||
settypes.put(settype.type, settype);
|
||||
}
|
||||
|
||||
settypes.put(settype.type, settype);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ public class RequestGuildBuyEvent extends MessageHandler {
|
||||
if(name.length() > 29 || description.length() > 254)
|
||||
return;
|
||||
|
||||
if (Emulator.getConfig().getBoolean("catalog.guild.hc_required", true) && this.client.getHabbo().getHabboStats().getClubExpireTimestamp() < Emulator.getIntUnixTimestamp()) {
|
||||
if (Emulator.getConfig().getBoolean("catalog.guild.hc_required", true) && !this.client.getHabbo().getHabboStats().hasActiveClub()) {
|
||||
this.client.sendResponse(new GuildEditFailComposer(GuildEditFailComposer.HC_REQUIRED));
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user