mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-26 16:30:52 +01:00
Bots can now be set a bubble. Closes #390
This commit is contained in:
parent
96ecbfa8c2
commit
9e7abc9d41
@ -101,3 +101,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 = ? 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;
|
||||
|
Loading…
Reference in New Issue
Block a user