mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-22 15:00:52 +01:00
Updated to 1.15.2 decompiled.
This commit is contained in:
parent
71acca7ebb
commit
bc572ce79a
@ -5,7 +5,7 @@
|
||||
## **To Get The Camera To Work Visit http://arcturus.wf and register.** ##
|
||||
## **TUTORIAL FOR PLUGINS http://arcturus.wf/thread-2415.html** ##
|
||||
# **DO NOT EDIT THE SOURCE. USE THE PLUGIN API.** #
|
||||
## Current Stable Version: 1.15.0 ##
|
||||
## Current Stable Version: 1.15.2 ##
|
||||
Arcturus Morningstar is a Habbo emulator written in Java aiming to be an exact clone of the offical server, based on Arcturus Emulator by TheGeneral.
|
||||
|
||||
Targeting PRODUCTION-201611291003-338511768
|
||||
|
2
pom.xml
2
pom.xml
@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>com.eu.habbo</groupId>
|
||||
<artifactId>Habbo</artifactId>
|
||||
<version>1.15.0</version>
|
||||
<version>1.15.2</version>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
@ -1,3 +1,5 @@
|
||||
#DATABASE UPDATE: 1.14.0 -> 1.15.0
|
||||
|
||||
ALTER TABLE `pet_commands_data` ADD PRIMARY KEY(`command_id`);
|
||||
|
||||
INSERT INTO `pet_breeding_races` (`pet_type`, `rarity_level`, `breed`) VALUES ('28', '1', '1');
|
||||
@ -68,3 +70,5 @@ INSERT INTO `emulator_texts` (`key`, `value`) VALUES ('generic.tile.not.exists',
|
||||
ALTER TABLE `items` CHANGE `z` `z` DOUBLE(10,6) NOT NULL DEFAULT '0.000000';
|
||||
|
||||
ALTER TABLE `items_base` ADD `customparams` VARCHAR(256) NOT NULL DEFAULT '' AFTER `multiheight`;
|
||||
|
||||
#END DATABASE UPDATE: 1.14.0 -> 1.15.0
|
5
sqlupdates/1_15_0_TO_1_15_2.sql
Normal file
5
sqlupdates/1_15_0_TO_1_15_2.sql
Normal file
@ -0,0 +1,5 @@
|
||||
CREATE INDEX room_enter_log_room_id ON room_enter_log (room_id);
|
||||
CREATE INDEX room_enter_log_user_entry ON room_enter_log (user_id, timestamp);
|
||||
INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('hotel.messenger.search.maxresults', '50');
|
||||
INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('hotel.alert.oldstyle', '0');
|
||||
INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('hotel.navigator.staffpicks.categoryid', '1'); #NOTE THIS IS navigator_publiccats
|
@ -36,7 +36,7 @@ public final class Emulator
|
||||
public final static int MINOR = 15;
|
||||
|
||||
|
||||
public final static int BUILD = 0;
|
||||
public final static int BUILD = 2;
|
||||
|
||||
|
||||
public static final String version = "Version: " + MAJOR + "." + MINOR + "." + BUILD;
|
||||
|
@ -72,7 +72,7 @@ public class CleanerThread implements Runnable {
|
||||
|
||||
public CleanerThread()
|
||||
{
|
||||
databaseCleanup();
|
||||
this.databaseCleanup();
|
||||
Emulator.getThreading().run(this, DELAY);
|
||||
|
||||
Emulator.getThreading().run(new AchievementUpdater());
|
||||
@ -132,13 +132,13 @@ public class CleanerThread implements Runnable {
|
||||
|
||||
if (time - LAST_DAILY_REFILL > Emulator.getConfig().getInt("hotel.refill.daily"))
|
||||
{
|
||||
refillDailyRespects();
|
||||
this.refillDailyRespects();
|
||||
LAST_DAILY_REFILL = time;
|
||||
}
|
||||
|
||||
if (time - LAST_HABBO_CACHE_CLEARED > CLEAR_CACHED_VALUES)
|
||||
{
|
||||
clearCachedValues();
|
||||
this.clearCachedValues();
|
||||
LAST_HABBO_CACHE_CLEARED = time;
|
||||
}
|
||||
|
||||
@ -149,7 +149,7 @@ public class CleanerThread implements Runnable {
|
||||
|
||||
void databaseCleanup()
|
||||
{
|
||||
refillDailyRespects();
|
||||
this.refillDailyRespects();
|
||||
|
||||
int time = Emulator.getIntUnixTimestamp();
|
||||
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection())
|
||||
@ -206,7 +206,7 @@ public class CleanerThread implements Runnable {
|
||||
|
||||
private void clearCachedValues()
|
||||
{
|
||||
Habbo habbo = null;
|
||||
Habbo habbo;
|
||||
for(Map.Entry<Integer, Habbo> map : Emulator.getGameEnvironment().getHabboManager().getOnlineHabbos().entrySet())
|
||||
{
|
||||
habbo = map.getValue();
|
||||
|
@ -8,7 +8,7 @@ import java.sql.SQLException;
|
||||
|
||||
public class CommandLog implements Loggable
|
||||
{
|
||||
public static String insertQuery = "INSERT INTO commandlogs (`user_id`, `timestamp`, `command`, `params`, `succes`) VALUES (?, ?, ?, ?, ?)";
|
||||
public static final String insertQuery = "INSERT INTO commandlogs (`user_id`, `timestamp`, `command`, `params`, `succes`) VALUES (?, ?, ?, ?, ?)";
|
||||
|
||||
private final int userId;
|
||||
private final int timestamp = Emulator.getIntUnixTimestamp();
|
||||
|
@ -21,40 +21,52 @@ public class ConfigurationManager
|
||||
|
||||
|
||||
private final Properties properties;
|
||||
|
||||
private final String configurationPath;
|
||||
|
||||
public ConfigurationManager(String path) throws Exception
|
||||
public ConfigurationManager(String configurationPath) throws Exception
|
||||
{
|
||||
this.properties = new Properties();
|
||||
|
||||
this.configurationPath = configurationPath;
|
||||
this.reload();
|
||||
}
|
||||
|
||||
|
||||
public void reload() throws Exception
|
||||
public void reload()
|
||||
{
|
||||
this.isLoading = true;
|
||||
this.properties.clear();
|
||||
|
||||
InputStream input = null;
|
||||
|
||||
try {
|
||||
File f = new File("config.ini");
|
||||
try
|
||||
{
|
||||
File f = new File(this.configurationPath);
|
||||
input = new FileInputStream(f);
|
||||
this.properties.load(input);
|
||||
|
||||
} catch (IOException ex) {
|
||||
Emulator.getLogging().logErrorLine("[CRITICAL] FAILED TO LOAD CONFIG.INI FILE!");
|
||||
} finally {
|
||||
if (input != null) {
|
||||
try {
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
Emulator.getLogging().logErrorLine("[CRITICAL] FAILED TO LOAD CONFIG FILE! (" + this.configurationPath + ")");
|
||||
ex.printStackTrace();
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (input != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
input.close();
|
||||
} catch (IOException e) {
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(loaded)
|
||||
if(this.loaded)
|
||||
{
|
||||
this.loadFromDatabase();
|
||||
}
|
||||
@ -115,7 +127,7 @@ public class ConfigurationManager
|
||||
|
||||
public String getValue(String key)
|
||||
{
|
||||
return getValue(key, "");
|
||||
return this.getValue(key, "");
|
||||
}
|
||||
|
||||
|
||||
@ -133,7 +145,7 @@ public class ConfigurationManager
|
||||
|
||||
public boolean getBoolean(String key)
|
||||
{
|
||||
return getBoolean(key, false);
|
||||
return this.getBoolean(key, false);
|
||||
}
|
||||
|
||||
|
||||
@ -144,11 +156,11 @@ public class ConfigurationManager
|
||||
|
||||
try
|
||||
{
|
||||
return (getValue(key, "0").equals("1")) || (getValue(key, "false").equals("true"));
|
||||
return (this.getValue(key, "0").equals("1")) || (this.getValue(key, "false").equals("true"));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + getValue(key) + " to type boolean.");
|
||||
Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + this.getValue(key) + " to type boolean.");
|
||||
}
|
||||
return defaultValue;
|
||||
}
|
||||
@ -156,7 +168,7 @@ public class ConfigurationManager
|
||||
|
||||
public int getInt(String key)
|
||||
{
|
||||
return getInt(key, 0);
|
||||
return this.getInt(key, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -167,10 +179,10 @@ public class ConfigurationManager
|
||||
|
||||
try
|
||||
{
|
||||
return Integer.parseInt(getValue(key, defaultValue.toString()));
|
||||
return Integer.parseInt(this.getValue(key, defaultValue.toString()));
|
||||
} catch (Exception e)
|
||||
{
|
||||
Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + getValue(key) + " to type integer.");
|
||||
Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + this.getValue(key) + " to type integer.");
|
||||
}
|
||||
return defaultValue;
|
||||
}
|
||||
@ -178,7 +190,7 @@ public class ConfigurationManager
|
||||
|
||||
public double getDouble(String key)
|
||||
{
|
||||
return getDouble(key, 0.0);
|
||||
return this.getDouble(key, 0.0);
|
||||
}
|
||||
|
||||
|
||||
@ -189,11 +201,11 @@ public class ConfigurationManager
|
||||
|
||||
try
|
||||
{
|
||||
return Double.parseDouble(getValue(key, defaultValue.toString()));
|
||||
return Double.parseDouble(this.getValue(key, defaultValue.toString()));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + getValue(key) + " to type double.");
|
||||
Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + this.getValue(key) + " to type double.");
|
||||
}
|
||||
|
||||
return defaultValue;
|
||||
|
@ -65,7 +65,7 @@ public class CreditsScheduler extends Scheduler
|
||||
|
||||
public boolean isDisposed()
|
||||
{
|
||||
return disposed;
|
||||
return this.disposed;
|
||||
}
|
||||
|
||||
public void setDisposed(boolean disposed)
|
||||
|
@ -2,6 +2,6 @@ package com.eu.habbo.core;
|
||||
|
||||
public interface Disposable
|
||||
{
|
||||
public void dispose();
|
||||
public boolean disposed();
|
||||
void dispose();
|
||||
boolean disposed();
|
||||
}
|
||||
|
@ -17,23 +17,6 @@ import java.sql.SQLException;
|
||||
public class Logging
|
||||
{
|
||||
|
||||
private static File packets;
|
||||
|
||||
|
||||
private static File packetsUndefined;
|
||||
|
||||
|
||||
private static File errorsPackets;
|
||||
|
||||
|
||||
private static File errorsSQL;
|
||||
|
||||
|
||||
private static File errorsRuntime;
|
||||
|
||||
|
||||
private static File debugFile;
|
||||
|
||||
private static PrintWriter packetsWriter;
|
||||
private static PrintWriter packetsUndefinedWriter;
|
||||
private static PrintWriter errorsPacketsWriter;
|
||||
@ -63,21 +46,27 @@ public class Logging
|
||||
public static final String ANSI_WHITE = "\u001B[37m";
|
||||
|
||||
|
||||
private final THashSet<Loggable> errorLogs = new THashSet<>();
|
||||
private final THashSet<Loggable> errorLogs = new THashSet<>(100);
|
||||
|
||||
|
||||
private final THashSet<Loggable> commandLogs = new THashSet<>();
|
||||
private final THashSet<Loggable> commandLogs = new THashSet<>(100);
|
||||
|
||||
private ConcurrentSet<Loggable> chatLogs = new ConcurrentSet<>();
|
||||
|
||||
public Logging()
|
||||
{
|
||||
packets = new File("logging//packets//defined.txt");
|
||||
packetsUndefined = new File("logging//packets//packets.txt");
|
||||
errorsPackets = new File("logging//errors//packets.txt");
|
||||
errorsSQL = new File("logging//errors//sql.txt");
|
||||
errorsRuntime = new File("logging//errors//runtime.txt");
|
||||
debugFile = new File("logging//debug.txt");
|
||||
|
||||
File packets = new File("logging//packets//defined.txt");
|
||||
|
||||
File packetsUndefined = new File("logging//packets//packets.txt");
|
||||
|
||||
File errorsPackets = new File("logging//errors//packets.txt");
|
||||
|
||||
File errorsSQL = new File("logging//errors//sql.txt");
|
||||
|
||||
File errorsRuntime = new File("logging//errors//runtime.txt");
|
||||
|
||||
File debugFile = new File("logging//debug.txt");
|
||||
|
||||
try
|
||||
{
|
||||
@ -172,7 +161,7 @@ public class Logging
|
||||
{
|
||||
if(Emulator.getConfig().getBoolean("logging.debug"))
|
||||
{
|
||||
write(debugFileWriter, line.toString());
|
||||
this.write(debugFileWriter, line.toString());
|
||||
}
|
||||
System.out.println("[" + Logging.ANSI_BRIGHT + Logging.ANSI_GREEN + "SHUTDOWN" + Logging.ANSI_RESET + "] " + line.toString());
|
||||
}
|
||||
@ -181,7 +170,7 @@ public class Logging
|
||||
{
|
||||
if(Emulator.getConfig().getBoolean("logging.debug"))
|
||||
{
|
||||
write(debugFileWriter, line.toString());
|
||||
this.write(debugFileWriter, line.toString());
|
||||
}
|
||||
|
||||
if (Emulator.getConfig().getBoolean("debug.show.users"))
|
||||
@ -194,7 +183,7 @@ public class Logging
|
||||
{
|
||||
if (line instanceof Throwable)
|
||||
{
|
||||
logErrorLine(line);
|
||||
this.logErrorLine(line);
|
||||
return;
|
||||
}
|
||||
if (Emulator.getConfig().getBoolean("debug.mode")) {
|
||||
@ -203,7 +192,7 @@ public class Logging
|
||||
|
||||
if(Emulator.getConfig().getBoolean("logging.debug"))
|
||||
{
|
||||
write(debugFileWriter, line.toString());
|
||||
this.write(debugFileWriter, line.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@ -215,7 +204,7 @@ public class Logging
|
||||
|
||||
if(Emulator.getConfig().getBoolean("logging.packets"))
|
||||
{
|
||||
write(packetsWriter, line.toString());
|
||||
this.write(packetsWriter, line.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@ -228,7 +217,7 @@ public class Logging
|
||||
|
||||
if (Emulator.getConfig().getBoolean("logging.packets.undefined"))
|
||||
{
|
||||
write(packetsUndefinedWriter, line.toString());
|
||||
this.write(packetsUndefinedWriter, line.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@ -241,7 +230,7 @@ public class Logging
|
||||
|
||||
if (Emulator.getConfig().loaded && Emulator.getConfig().getBoolean("logging.errors.runtime"))
|
||||
{
|
||||
write(errorsRuntimeWriter, line);
|
||||
this.write(errorsRuntimeWriter, line);
|
||||
}
|
||||
|
||||
if(line instanceof Throwable)
|
||||
@ -267,7 +256,7 @@ public class Logging
|
||||
if(Emulator.getConfig().getBoolean("logging.errors.sql"))
|
||||
{
|
||||
e.printStackTrace();
|
||||
write(errorsSQLWriter, e);
|
||||
this.write(errorsSQLWriter, e);
|
||||
|
||||
Emulator.getThreading().run(new HTTPPostError(e));
|
||||
}
|
||||
@ -280,7 +269,7 @@ public class Logging
|
||||
if(e instanceof Throwable)
|
||||
((Exception) e).printStackTrace();
|
||||
|
||||
write(errorsPacketsWriter, e);
|
||||
this.write(errorsPacketsWriter, e);
|
||||
}
|
||||
|
||||
if(e instanceof Throwable)
|
||||
|
@ -38,7 +38,7 @@ public class PixelScheduler extends Scheduler
|
||||
{
|
||||
super.run();
|
||||
|
||||
Habbo habbo = null;
|
||||
Habbo habbo;
|
||||
for(Map.Entry<Integer, Habbo> map : Emulator.getGameEnvironment().getHabboManager().getOnlineHabbos().entrySet())
|
||||
{
|
||||
habbo = map.getValue();
|
||||
@ -95,7 +95,7 @@ public class PixelScheduler extends Scheduler
|
||||
|
||||
public boolean isDisposed()
|
||||
{
|
||||
return disposed;
|
||||
return this.disposed;
|
||||
}
|
||||
|
||||
public void setDisposed(boolean disposed)
|
||||
|
@ -38,7 +38,7 @@ public class PointsScheduler extends Scheduler
|
||||
{
|
||||
super.run();
|
||||
|
||||
Habbo habbo = null;
|
||||
Habbo habbo;
|
||||
for(Map.Entry<Integer, Habbo> map : Emulator.getGameEnvironment().getHabboManager().getOnlineHabbos().entrySet())
|
||||
{
|
||||
habbo = map.getValue();
|
||||
@ -95,7 +95,7 @@ public class PointsScheduler extends Scheduler
|
||||
|
||||
public boolean isDisposed()
|
||||
{
|
||||
return disposed;
|
||||
return this.disposed;
|
||||
}
|
||||
|
||||
public void setDisposed(boolean disposed)
|
||||
|
@ -29,11 +29,11 @@ public class RoomUserPetComposer extends MessageComposer
|
||||
this.response.appendString(this.habbo.getHabboInfo().getUsername());
|
||||
this.response.appendString("");
|
||||
this.response.appendString(this.petType + " " + this.race + " " + this.color + " 2 2 -1 0 3 -1 0");
|
||||
this.response.appendInt(habbo.getRoomUnit().getId());
|
||||
this.response.appendInt(habbo.getRoomUnit().getX());
|
||||
this.response.appendInt(habbo.getRoomUnit().getY());
|
||||
this.response.appendString(habbo.getRoomUnit().getZ() + "");
|
||||
this.response.appendInt(habbo.getRoomUnit().getBodyRotation().getValue());
|
||||
this.response.appendInt(this.habbo.getRoomUnit().getId());
|
||||
this.response.appendInt(this.habbo.getRoomUnit().getX());
|
||||
this.response.appendInt(this.habbo.getRoomUnit().getY());
|
||||
this.response.appendString(this.habbo.getRoomUnit().getZ() + "");
|
||||
this.response.appendInt(this.habbo.getRoomUnit().getBodyRotation().getValue());
|
||||
this.response.appendInt(2);
|
||||
this.response.appendInt(this.petType);
|
||||
this.response.appendInt(this.habbo.getHabboInfo().getId());
|
||||
|
@ -55,7 +55,7 @@ public class TextsManager
|
||||
|
||||
public String getValue(String key)
|
||||
{
|
||||
return getValue(key, "");
|
||||
return this.getValue(key, "");
|
||||
}
|
||||
|
||||
|
||||
@ -70,7 +70,7 @@ public class TextsManager
|
||||
|
||||
public boolean getBoolean(String key)
|
||||
{
|
||||
return getBoolean(key, false);
|
||||
return this.getBoolean(key, false);
|
||||
}
|
||||
|
||||
|
||||
@ -78,7 +78,7 @@ public class TextsManager
|
||||
{
|
||||
try
|
||||
{
|
||||
return (getValue(key, "0").equals("1")) || (getValue(key, "false").equals("true"));
|
||||
return (this.getValue(key, "0").equals("1")) || (this.getValue(key, "false").equals("true"));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@ -90,7 +90,7 @@ public class TextsManager
|
||||
|
||||
public int getInt(String key)
|
||||
{
|
||||
return getInt(key, 0);
|
||||
return this.getInt(key, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -98,7 +98,7 @@ public class TextsManager
|
||||
{
|
||||
try
|
||||
{
|
||||
return Integer.parseInt(getValue(key, defaultValue.toString()));
|
||||
return Integer.parseInt(this.getValue(key, defaultValue.toString()));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -1,11 +1,12 @@
|
||||
package com.eu.habbo.core.consolecommands;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import gnu.trove.map.hash.THashMap;
|
||||
|
||||
public abstract class ConsoleCommand
|
||||
{
|
||||
|
||||
private static THashMap<String, ConsoleCommand> commands = new THashMap<>();
|
||||
private static final THashMap<String, ConsoleCommand> commands = new THashMap<>();
|
||||
|
||||
|
||||
public final String key;
|
||||
@ -28,6 +29,7 @@ public abstract class ConsoleCommand
|
||||
addCommand(new ConsoleTestCommand());
|
||||
addCommand(new ConsoleReconnectCameraCommand());
|
||||
addCommand(new ShowInteractionsCommand());
|
||||
addCommand(new ShowRCONCommands());
|
||||
}
|
||||
|
||||
|
||||
@ -63,7 +65,7 @@ public abstract class ConsoleCommand
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
Emulator.getLogging().logErrorLine(e);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -0,0 +1,20 @@
|
||||
package com.eu.habbo.core.consolecommands;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
|
||||
public class ShowRCONCommands extends ConsoleCommand
|
||||
{
|
||||
public ShowRCONCommands()
|
||||
{
|
||||
super("rconcommands", "Show a list of all RCON commands");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handle(String[] args) throws Exception
|
||||
{
|
||||
for (String command : Emulator.getRconServer().getCommands())
|
||||
{
|
||||
System.out.println(command);
|
||||
}
|
||||
}
|
||||
}
|
@ -48,7 +48,7 @@ public class GameEnvironment
|
||||
public PixelScheduler pixelScheduler;
|
||||
public PointsScheduler pointsScheduler;
|
||||
|
||||
public void load()
|
||||
public void load() throws Exception
|
||||
{
|
||||
Emulator.getLogging().logStart("GameEnvironment -> Loading...");
|
||||
|
||||
|
@ -22,9 +22,9 @@ public class Achievement
|
||||
|
||||
public Achievement(ResultSet set) throws SQLException
|
||||
{
|
||||
levels = new THashMap<>();
|
||||
this.levels = new THashMap<>();
|
||||
|
||||
id = set.getInt("id");
|
||||
this.id = set.getInt("id");
|
||||
this.name = set.getString("name");
|
||||
this.category = AchievementCategories.valueOf(set.getString("category").toUpperCase());
|
||||
|
||||
|
@ -189,13 +189,11 @@ public class AchievementManager
|
||||
|
||||
int currentProgress = habbo.getHabboStats().getAchievementProgress(achievement);
|
||||
|
||||
boolean created = false;
|
||||
if(currentProgress == -1)
|
||||
{
|
||||
currentProgress = 0;
|
||||
createUserEntry(habbo, achievement);
|
||||
habbo.getHabboStats().setProgress(achievement, 0);
|
||||
created = true;
|
||||
}
|
||||
|
||||
if(Emulator.getPluginManager().isRegistered(UserAchievementProgressEvent.class, true))
|
||||
@ -209,11 +207,6 @@ public class AchievementManager
|
||||
|
||||
AchievementLevel oldLevel = achievement.getLevelForProgress(currentProgress);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if(oldLevel != null && (oldLevel.level == achievement.levels.size() && currentProgress >= oldLevel.progress)) //Maximum achievement gotten.
|
||||
return;
|
||||
|
||||
@ -325,12 +318,7 @@ public class AchievementManager
|
||||
|
||||
AchievementLevel nextLevel = achievement.levels.get(level.level + 1);
|
||||
|
||||
if (nextLevel == null && currentProgress >= level.progress)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return nextLevel == null && currentProgress >= level.progress;
|
||||
}
|
||||
|
||||
|
||||
|
@ -64,7 +64,7 @@ public class TalentTrackLevel
|
||||
|
||||
if (item != null)
|
||||
{
|
||||
items.add(item);
|
||||
this.items.add(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -6,7 +6,10 @@ import com.eu.habbo.habbohotel.users.Habbo;
|
||||
import com.eu.habbo.habbohotel.users.HabboGender;
|
||||
import com.eu.habbo.habbohotel.wired.WiredHandler;
|
||||
import com.eu.habbo.habbohotel.wired.WiredTriggerType;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.*;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserShoutComposer;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserTalkComposer;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserWhisperComposer;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.RoomUsersComposer;
|
||||
import com.eu.habbo.plugin.events.bots.BotChatEvent;
|
||||
import com.eu.habbo.plugin.events.bots.BotShoutEvent;
|
||||
import com.eu.habbo.plugin.events.bots.BotTalkEvent;
|
||||
@ -24,7 +27,7 @@ public class Bot implements Runnable
|
||||
{
|
||||
public static final String NO_CHAT_SET = "${bot.skill.chatter.configuration.text.placeholder}";
|
||||
|
||||
private int id;
|
||||
private transient int id;
|
||||
|
||||
|
||||
private String name;
|
||||
@ -63,6 +66,9 @@ public class Bot implements Runnable
|
||||
private int chatTimeOut;
|
||||
|
||||
|
||||
private int chatTimestamp;
|
||||
|
||||
|
||||
private final ArrayList<String> chatLines;
|
||||
|
||||
|
||||
@ -74,13 +80,13 @@ public class Bot implements Runnable
|
||||
|
||||
private int effect;
|
||||
|
||||
private boolean canWalk = true;
|
||||
private transient boolean canWalk = true;
|
||||
|
||||
|
||||
private boolean needsUpdate;
|
||||
|
||||
|
||||
private int followingHabboId;
|
||||
private transient int followingHabboId;
|
||||
|
||||
public Bot(int id, String name, String motto, String figure, HabboGender gender, int ownerId, String ownerName)
|
||||
{
|
||||
@ -119,7 +125,6 @@ public class Bot implements Runnable
|
||||
this.roomUnit = null;
|
||||
this.chatTimeOut = Emulator.getIntUnixTimestamp() + this.chatDelay;
|
||||
this.needsUpdate = false;
|
||||
this.lastChatIndex = 0;
|
||||
}
|
||||
|
||||
public Bot(Bot bot)
|
||||
@ -134,12 +139,9 @@ public class Bot implements Runnable
|
||||
this.chatRandom = false;
|
||||
this.chatDelay = 10;
|
||||
this.chatTimeOut = Emulator.getIntUnixTimestamp() + this.chatDelay;
|
||||
this.chatLines = new ArrayList<>(Arrays.asList(new String[] {"Default Message :D"}));
|
||||
this.chatLines = new ArrayList<>(Arrays.asList("Default Message :D"));
|
||||
this.type = bot.getType();
|
||||
this.effect = bot.getEffect();
|
||||
this.room = null;
|
||||
this.roomUnit = null;
|
||||
this.lastChatIndex = 0;
|
||||
|
||||
this.needsUpdate = false;
|
||||
}
|
||||
@ -175,12 +177,12 @@ public class Bot implements Runnable
|
||||
statement.setInt(10, this.roomUnit == null ? 0 : this.roomUnit.getBodyRotation().getValue());
|
||||
statement.setInt(11, this.roomUnit == null ? 0 : this.roomUnit.getDanceType().getType());
|
||||
statement.setString(12, this.canWalk ? "1" : "0");
|
||||
String text = "";
|
||||
StringBuilder text = new StringBuilder();
|
||||
for(String s : this.chatLines)
|
||||
{
|
||||
text += s + "\r";
|
||||
text.append(s).append("\r");
|
||||
}
|
||||
statement.setString(13, text);
|
||||
statement.setString(13, text.toString());
|
||||
statement.setString(14, this.chatAuto ? "1" : "0");
|
||||
statement.setString(15, this.chatRandom ? "1" : "0");
|
||||
statement.setInt(16, this.chatDelay);
|
||||
@ -214,7 +216,7 @@ public class Bot implements Runnable
|
||||
{
|
||||
for (RoomTile t : this.room.getLayout().getTilesAround(this.room.getLayout().getTile(this.getRoomUnit().getX(), this.getRoomUnit().getY())))
|
||||
{
|
||||
WiredHandler.handle(WiredTriggerType.BOT_REACHED_STF, this.roomUnit, this.room, room.getItemsAt(t).toArray());
|
||||
WiredHandler.handle(WiredTriggerType.BOT_REACHED_STF, this.roomUnit, this.room, this.room.getItemsAt(t).toArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -252,6 +254,7 @@ public class Bot implements Runnable
|
||||
if(Emulator.getPluginManager().fireEvent(event).isCancelled())
|
||||
return;
|
||||
|
||||
this.chatTimestamp = Emulator.getIntUnixTimestamp();
|
||||
this.room.botChat(new RoomUserTalkComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.BOT_RENTABLE)).compose());
|
||||
}
|
||||
}
|
||||
@ -265,6 +268,7 @@ public class Bot implements Runnable
|
||||
if(Emulator.getPluginManager().fireEvent(event).isCancelled())
|
||||
return;
|
||||
|
||||
this.chatTimestamp = Emulator.getIntUnixTimestamp();
|
||||
this.room.botChat(new RoomUserShoutComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.BOT_RENTABLE)).compose());
|
||||
}
|
||||
}
|
||||
@ -278,6 +282,7 @@ public class Bot implements Runnable
|
||||
if(Emulator.getPluginManager().fireEvent(event).isCancelled())
|
||||
return;
|
||||
|
||||
this.chatTimestamp = Emulator.getIntUnixTimestamp();
|
||||
event.target.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.BOT_RENTABLE)));
|
||||
}
|
||||
}
|
||||
@ -476,6 +481,11 @@ public class Bot implements Runnable
|
||||
}
|
||||
|
||||
|
||||
public int getChatTimestamp()
|
||||
{
|
||||
return this.chatTimestamp;
|
||||
}
|
||||
|
||||
public void clearChat()
|
||||
{
|
||||
synchronized (this.chatLines)
|
||||
@ -498,18 +508,16 @@ public class Bot implements Runnable
|
||||
}
|
||||
|
||||
|
||||
public void setEffect(int effect)
|
||||
public void setEffect(int effect, int duration)
|
||||
{
|
||||
this.effect = effect;
|
||||
this.needsUpdate = true;
|
||||
|
||||
if (this.roomUnit != null)
|
||||
{
|
||||
this.roomUnit.setEffectId(this.effect);
|
||||
|
||||
if (this.room != null)
|
||||
{
|
||||
this.room.sendComposer(new RoomUserEffectComposer(this.roomUnit).compose());
|
||||
this.room.giveEffect(this.roomUnit, this.effect, duration);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -22,8 +22,6 @@ import java.util.Map;
|
||||
|
||||
public class BotManager
|
||||
{
|
||||
//Configuration. Loaded from database & updated accordingly.
|
||||
|
||||
|
||||
public static int MINIMUM_CHAT_SPEED = 7;
|
||||
|
||||
@ -33,18 +31,19 @@ public class BotManager
|
||||
|
||||
public static int MAXIMUM_CHAT_LENGTH = 120;
|
||||
|
||||
|
||||
public static int MAXIMUM_NAME_LENGTH = 15;
|
||||
|
||||
final private static THashMap<String, Class<? extends Bot>> botDefenitions = new THashMap<>();
|
||||
|
||||
|
||||
public BotManager()
|
||||
public BotManager() throws Exception
|
||||
{
|
||||
long millis = System.currentTimeMillis();
|
||||
|
||||
botDefenitions.put("generic", Bot.class);
|
||||
botDefenitions.put("bartender", ButlerBot.class);
|
||||
botDefenitions.put("visitor_log", VisitorBot.class);
|
||||
addBotDefinition("generic", Bot.class);
|
||||
addBotDefinition("bartender", ButlerBot.class);
|
||||
addBotDefinition("visitor_log", VisitorBot.class);
|
||||
|
||||
this.reload();
|
||||
|
||||
|
@ -14,6 +14,7 @@ import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -45,10 +46,7 @@ public class ButlerBot extends Bot
|
||||
{
|
||||
String[] keys = set.getString("keys").split(";");
|
||||
THashSet<String> ks = new THashSet<>();
|
||||
for(String key : keys)
|
||||
{
|
||||
ks.add(key);
|
||||
}
|
||||
Collections.addAll(ks, keys);
|
||||
serveItems.put(ks, set.getInt("item"));
|
||||
}
|
||||
}
|
||||
|
@ -13,9 +13,9 @@ import java.util.Date;
|
||||
|
||||
public class VisitorBot extends Bot
|
||||
{
|
||||
private static SimpleDateFormat formatDate;
|
||||
private static SimpleDateFormat DATE_FORMAT;
|
||||
private boolean showedLog = false;
|
||||
private THashSet<ModToolRoomVisit> visits = new THashSet<>();
|
||||
private THashSet<ModToolRoomVisit> visits = new THashSet<>(3);
|
||||
|
||||
public VisitorBot(ResultSet set) throws SQLException
|
||||
{
|
||||
@ -38,16 +38,16 @@ public class VisitorBot extends Bot
|
||||
|
||||
String visitMessage = Emulator.getTexts().getValue("bots.visitor.list").replace("%count%", this.visits.size() + "");
|
||||
|
||||
String list = "";
|
||||
StringBuilder list = new StringBuilder();
|
||||
for(ModToolRoomVisit visit : this.visits)
|
||||
{
|
||||
list += "\r";
|
||||
list += visit.roomName + " ";
|
||||
list += Emulator.getTexts().getValue("generic.time.at") + " ";
|
||||
list += formatDate.format(new Date((visit.timestamp * 1000L)));
|
||||
list.append("\r");
|
||||
list.append(visit.roomName).append(" ");
|
||||
list.append(Emulator.getTexts().getValue("generic.time.at")).append(" ");
|
||||
list.append(DATE_FORMAT.format(new Date((visit.timestamp * 1000L))));
|
||||
}
|
||||
|
||||
visitMessage = visitMessage.replace("%list%", list);
|
||||
visitMessage = visitMessage.replace("%list%", list.toString());
|
||||
|
||||
this.talk(visitMessage);
|
||||
|
||||
@ -78,7 +78,7 @@ public class VisitorBot extends Bot
|
||||
|
||||
public static void initialise()
|
||||
{
|
||||
formatDate = new SimpleDateFormat(Emulator.getConfig().getValue("bots.visitor.dateformat"));
|
||||
DATE_FORMAT = new SimpleDateFormat(Emulator.getConfig().getValue("bots.visitor.dateformat"));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -16,58 +16,58 @@ import java.util.HashMap;
|
||||
public class CatalogItem implements ISerialize, Runnable, Comparable<CatalogItem>
|
||||
{
|
||||
|
||||
protected int id;
|
||||
int id;
|
||||
|
||||
|
||||
protected int pageId;
|
||||
private int pageId;
|
||||
|
||||
|
||||
protected String itemId;
|
||||
private String itemId;
|
||||
|
||||
|
||||
protected String name;
|
||||
private String name;
|
||||
|
||||
|
||||
protected int credits;
|
||||
private int credits;
|
||||
|
||||
|
||||
protected int points;
|
||||
private int points;
|
||||
|
||||
|
||||
protected short pointsType;
|
||||
private short pointsType;
|
||||
|
||||
|
||||
protected int amount;
|
||||
private int amount;
|
||||
|
||||
|
||||
protected boolean allowGift = false;
|
||||
private boolean allowGift = false;
|
||||
|
||||
|
||||
protected int limitedStack;
|
||||
int limitedStack;
|
||||
|
||||
|
||||
protected int limitedSells;
|
||||
private int limitedSells;
|
||||
|
||||
|
||||
protected String extradata;
|
||||
private String extradata;
|
||||
|
||||
|
||||
protected boolean clubOnly;
|
||||
private boolean clubOnly;
|
||||
|
||||
|
||||
protected boolean haveOffer;
|
||||
private boolean haveOffer;
|
||||
|
||||
|
||||
protected int offerId;
|
||||
private int offerId;
|
||||
|
||||
|
||||
protected boolean needsUpdate;
|
||||
private boolean needsUpdate;
|
||||
|
||||
|
||||
protected int orderNumber;
|
||||
private int orderNumber;
|
||||
|
||||
|
||||
protected HashMap<Integer, Integer> bundle;
|
||||
private HashMap<Integer, Integer> bundle;
|
||||
|
||||
public CatalogItem(ResultSet set) throws SQLException
|
||||
{
|
||||
@ -213,7 +213,7 @@ public class CatalogItem implements ISerialize, Runnable, Comparable<CatalogItem
|
||||
}
|
||||
|
||||
|
||||
public int getOrderNumber()
|
||||
private int getOrderNumber()
|
||||
{
|
||||
return this.orderNumber;
|
||||
}
|
||||
@ -252,7 +252,7 @@ public class CatalogItem implements ISerialize, Runnable, Comparable<CatalogItem
|
||||
itemId = itemId.split(":")[0];
|
||||
}
|
||||
|
||||
int identifier = 0;
|
||||
int identifier;
|
||||
try
|
||||
{
|
||||
|
||||
@ -320,10 +320,11 @@ public class CatalogItem implements ISerialize, Runnable, Comparable<CatalogItem
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e)
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Emulator.getLogging().logDebugLine("Failed to load " + itemId);
|
||||
e.printStackTrace();
|
||||
Emulator.getLogging().logDebugLine("Failed to load " + this.itemId);
|
||||
Emulator.getLogging().logErrorLine(e);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -482,9 +483,6 @@ public class CatalogItem implements ISerialize, Runnable, Comparable<CatalogItem
|
||||
return false;
|
||||
}
|
||||
|
||||
if(item.getName().toLowerCase().startsWith("rentable_bot_"))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
return !item.getName().toLowerCase().startsWith("rentable_bot_");
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ public class CatalogLimitedConfiguration implements Runnable
|
||||
int num = this.limitedNumbers.pop();
|
||||
if(this.limitedNumbers.isEmpty())
|
||||
{
|
||||
Emulator.getGameEnvironment().getCatalogManager().moveCatalogItem(Emulator.getGameEnvironment().getCatalogManager().getCatalogItem(itemId), Emulator.getConfig().getInt("catalog.ltd.page.soldout"));
|
||||
Emulator.getGameEnvironment().getCatalogManager().moveCatalogItem(Emulator.getGameEnvironment().getCatalogManager().getCatalogItem(this.itemId), Emulator.getConfig().getInt("catalog.ltd.page.soldout"));
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
@ -94,51 +94,88 @@ public class CatalogManager
|
||||
public final THashMap<Integer, CalendarRewardObject> calendarRewards;
|
||||
|
||||
|
||||
public static final THashMap<String, Class<? extends CatalogPage>> pageDefinitions = new THashMap<String, Class<? extends CatalogPage>>()
|
||||
public static final THashMap<String, Class<? extends CatalogPage>> pageDefinitions = new THashMap<String, Class<? extends CatalogPage>>(CatalogPageLayouts.values().length)
|
||||
{
|
||||
{
|
||||
for (CatalogPageLayouts layout : CatalogPageLayouts.values())
|
||||
{
|
||||
switch(layout)
|
||||
{
|
||||
case frontpage: put(layout.name().toLowerCase(), FrontpageLayout.class); break;
|
||||
case badge_display: put(layout.name().toLowerCase(), BadgeDisplayLayout.class); break;
|
||||
case spaces_new: put(layout.name().toLowerCase(), SpacesLayout.class); break;
|
||||
case trophies: put(layout.name().toLowerCase(), TrophiesLayout.class); break;
|
||||
case bots: put(layout.name().toLowerCase(), BotsLayout.class); break;
|
||||
case club_buy: put(layout.name().toLowerCase(), ClubBuyLayout.class); break;
|
||||
case club_gift: put(layout.name().toLowerCase(), ClubGiftsLayout.class); break;
|
||||
case sold_ltd_items: put(layout.name().toLowerCase(), SoldLTDItemsLayout.class); break;
|
||||
case single_bundle: put(layout.name().toLowerCase(), SingleBundle.class); break;
|
||||
case roomads: put(layout.name().toLowerCase(), RoomAdsLayout.class); break;
|
||||
case recycler: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled")) put(layout.name().toLowerCase(), RecyclerLayout.class); break;
|
||||
case recycler_info: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled")) put(layout.name().toLowerCase(), RecyclerInfoLayout.class);
|
||||
case recycler_prizes: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled")) put(layout.name().toLowerCase(), RecyclerPrizesLayout.class); break;
|
||||
case marketplace: if (Emulator.getConfig().getBoolean("hotel.marketplace.enabled")) put(layout.name().toLowerCase(), MarketplaceLayout.class); break;
|
||||
case marketplace_own_items: if (Emulator.getConfig().getBoolean("hotel.marketplace.enabled")) put(layout.name().toLowerCase(), MarketplaceOwnItems.class); break;
|
||||
case info_duckets: put(layout.name().toLowerCase(), InfoDucketsLayout.class); break;
|
||||
case info_pets: put(layout.name().toLowerCase(), InfoPetsLayout.class); break;
|
||||
case info_rentables: put(layout.name().toLowerCase(), InfoRentablesLayout.class); break;
|
||||
case info_loyalty: put(layout.name().toLowerCase(), InfoLoyaltyLayout.class); break;
|
||||
case loyalty_vip_buy: put(layout.name().toLowerCase(), LoyaltyVipBuyLayout.class); break;
|
||||
case guilds: put(layout.name().toLowerCase(), GuildFrontpageLayout.class); break;
|
||||
case guild_furni: put(layout.name().toLowerCase(), GuildFurnitureLayout.class); break;
|
||||
case guild_forum: put(layout.name().toLowerCase(), GuildForumLayout.class); break;
|
||||
case pets: put(layout.name().toLowerCase(), PetsLayout.class); break;
|
||||
case pets2: put(layout.name().toLowerCase(), Pets2Layout.class); break;
|
||||
case pets3: put(layout.name().toLowerCase(), Pets3Layout.class); break;
|
||||
case soundmachine: put(layout.name().toLowerCase(), TraxLayout.class); break;
|
||||
case default_3x3_color_grouping: put(layout.name().toLowerCase(), ColorGroupingLayout.class); break;
|
||||
case recent_purchases: put(layout.name().toLowerCase(), RecentPurchasesLayout.class); break;
|
||||
case room_bundle: put(layout.name().toLowerCase(), RoomBundleLayout.class); break;
|
||||
case petcustomization: put(layout.name().toLowerCase(), PetCustomizationLayout.class); break;
|
||||
case vip_buy: put(layout.name().toLowerCase(), VipBuyLayout.class); break;
|
||||
case frontpage_featured: put(layout.name().toLowerCase(), FrontPageFeaturedLayout.class); break;
|
||||
case builders_club_addons: put(layout.name().toLowerCase(), BuildersClubAddonsLayout.class); break;
|
||||
case builders_club_frontpage: put(layout.name().toLowerCase(), BuildersClubFrontPageLayout.class); break;
|
||||
case builders_club_loyalty: put(layout.name().toLowerCase(), BuildersClubLoyaltyLayout.class); break;
|
||||
case frontpage:
|
||||
this.put(layout.name().toLowerCase(), FrontpageLayout.class); break;
|
||||
case badge_display:
|
||||
this.put(layout.name().toLowerCase(), BadgeDisplayLayout.class); break;
|
||||
case spaces_new:
|
||||
this.put(layout.name().toLowerCase(), SpacesLayout.class); break;
|
||||
case trophies:
|
||||
this.put(layout.name().toLowerCase(), TrophiesLayout.class); break;
|
||||
case bots:
|
||||
this.put(layout.name().toLowerCase(), BotsLayout.class); break;
|
||||
case club_buy:
|
||||
this.put(layout.name().toLowerCase(), ClubBuyLayout.class); break;
|
||||
case club_gift:
|
||||
this.put(layout.name().toLowerCase(), ClubGiftsLayout.class); break;
|
||||
case sold_ltd_items:
|
||||
this.put(layout.name().toLowerCase(), SoldLTDItemsLayout.class); break;
|
||||
case single_bundle:
|
||||
this.put(layout.name().toLowerCase(), SingleBundle.class); break;
|
||||
case roomads:
|
||||
this.put(layout.name().toLowerCase(), RoomAdsLayout.class); break;
|
||||
case recycler: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled"))
|
||||
this.put(layout.name().toLowerCase(), RecyclerLayout.class); break;
|
||||
case recycler_info: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled"))
|
||||
this.put(layout.name().toLowerCase(), RecyclerInfoLayout.class);
|
||||
case recycler_prizes: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled"))
|
||||
this.put(layout.name().toLowerCase(), RecyclerPrizesLayout.class); break;
|
||||
case marketplace: if (Emulator.getConfig().getBoolean("hotel.marketplace.enabled"))
|
||||
this.put(layout.name().toLowerCase(), MarketplaceLayout.class); break;
|
||||
case marketplace_own_items: if (Emulator.getConfig().getBoolean("hotel.marketplace.enabled"))
|
||||
this.put(layout.name().toLowerCase(), MarketplaceOwnItems.class); break;
|
||||
case info_duckets:
|
||||
this.put(layout.name().toLowerCase(), InfoDucketsLayout.class); break;
|
||||
case info_pets:
|
||||
this.put(layout.name().toLowerCase(), InfoPetsLayout.class); break;
|
||||
case info_rentables:
|
||||
this.put(layout.name().toLowerCase(), InfoRentablesLayout.class); break;
|
||||
case info_loyalty:
|
||||
this.put(layout.name().toLowerCase(), InfoLoyaltyLayout.class); break;
|
||||
case loyalty_vip_buy:
|
||||
this.put(layout.name().toLowerCase(), LoyaltyVipBuyLayout.class); break;
|
||||
case guilds:
|
||||
this.put(layout.name().toLowerCase(), GuildFrontpageLayout.class); break;
|
||||
case guild_furni:
|
||||
this.put(layout.name().toLowerCase(), GuildFurnitureLayout.class); break;
|
||||
case guild_forum:
|
||||
this.put(layout.name().toLowerCase(), GuildForumLayout.class); break;
|
||||
case pets:
|
||||
this.put(layout.name().toLowerCase(), PetsLayout.class); break;
|
||||
case pets2:
|
||||
this.put(layout.name().toLowerCase(), Pets2Layout.class); break;
|
||||
case pets3:
|
||||
this.put(layout.name().toLowerCase(), Pets3Layout.class); break;
|
||||
case soundmachine:
|
||||
this.put(layout.name().toLowerCase(), TraxLayout.class); break;
|
||||
case default_3x3_color_grouping:
|
||||
this.put(layout.name().toLowerCase(), ColorGroupingLayout.class); break;
|
||||
case recent_purchases:
|
||||
this.put(layout.name().toLowerCase(), RecentPurchasesLayout.class); break;
|
||||
case room_bundle:
|
||||
this.put(layout.name().toLowerCase(), RoomBundleLayout.class); break;
|
||||
case petcustomization:
|
||||
this.put(layout.name().toLowerCase(), PetCustomizationLayout.class); break;
|
||||
case vip_buy:
|
||||
this.put(layout.name().toLowerCase(), VipBuyLayout.class); break;
|
||||
case frontpage_featured:
|
||||
this.put(layout.name().toLowerCase(), FrontPageFeaturedLayout.class); break;
|
||||
case builders_club_addons:
|
||||
this.put(layout.name().toLowerCase(), BuildersClubAddonsLayout.class); break;
|
||||
case builders_club_frontpage:
|
||||
this.put(layout.name().toLowerCase(), BuildersClubFrontPageLayout.class); break;
|
||||
case builders_club_loyalty:
|
||||
this.put(layout.name().toLowerCase(), BuildersClubLoyaltyLayout.class); break;
|
||||
case default_3x3:
|
||||
default: put("default_3x3", Default_3x3Layout.class); break;
|
||||
default:
|
||||
this.put("default_3x3", Default_3x3Layout.class); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -175,17 +212,17 @@ public class CatalogManager
|
||||
|
||||
try
|
||||
{
|
||||
loadLimitedNumbers();
|
||||
loadCatalogPages();
|
||||
loadCatalogFeaturedPages();
|
||||
loadCatalogItems();
|
||||
loadClubOffers();
|
||||
loadTargetOffers();
|
||||
loadVouchers();
|
||||
loadClothing();
|
||||
loadRecycler();
|
||||
loadGiftWrappers();
|
||||
loadCalendarRewards();
|
||||
this.loadLimitedNumbers();
|
||||
this.loadCatalogPages();
|
||||
this.loadCatalogFeaturedPages();
|
||||
this.loadCatalogItems();
|
||||
this.loadClubOffers();
|
||||
this.loadTargetOffers();
|
||||
this.loadVouchers();
|
||||
this.loadClothing();
|
||||
this.loadRecycler();
|
||||
this.loadGiftWrappers();
|
||||
this.loadCalendarRewards();
|
||||
}
|
||||
catch(SQLException e)
|
||||
{
|
||||
@ -237,39 +274,37 @@ public class CatalogManager
|
||||
|
||||
final THashMap<Integer, CatalogPage> pages = new THashMap<>();
|
||||
pages.put(-1, new CatalogRootLayout(null));
|
||||
ResultSet set = null;
|
||||
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM catalog_pages ORDER BY parent_id, id"))
|
||||
{
|
||||
set = statement.executeQuery();
|
||||
try (ResultSet set = statement.executeQuery())
|
||||
{
|
||||
while(set.next())
|
||||
{
|
||||
Class<? extends CatalogPage> pageClazz = pageDefinitions.get(set.getString("page_layout"));
|
||||
|
||||
if (pageClazz == null)
|
||||
{
|
||||
Emulator.getLogging().logStart("Unknown Page Layout: " + set.getString("page_layout"));
|
||||
continue;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
CatalogPage page = pageClazz.getConstructor(ResultSet.class).newInstance(set);
|
||||
pages.put(page.getId(), page);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Emulator.getLogging().logErrorLine("Failed to load layout: " + set.getString("page_layout"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (SQLException e)
|
||||
{
|
||||
Emulator.getLogging().logSQLException(e);
|
||||
}
|
||||
|
||||
while(set.next())
|
||||
{
|
||||
Class<? extends CatalogPage> pageClazz = pageDefinitions.get(set.getString("page_layout"));
|
||||
|
||||
if (pageClazz == null)
|
||||
{
|
||||
Emulator.getLogging().logStart("Unknown Page Layout: " + set.getString("page_layout"));
|
||||
continue;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
CatalogPage page = pageClazz.getConstructor(ResultSet.class).newInstance(set);
|
||||
pages.put(page.getId(), page);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Emulator.getLogging().logErrorLine("Failed to load layout: " + set.getString("page_layout"));
|
||||
}
|
||||
}
|
||||
|
||||
set.close();
|
||||
|
||||
pages.forEachValue(new TObjectProcedure<CatalogPage>()
|
||||
{
|
||||
@Override
|
||||
@ -1001,7 +1036,7 @@ public class CatalogManager
|
||||
{
|
||||
if (amount * item.getAmount() > 100)
|
||||
{
|
||||
habbo.getClient().sendResponse(new GenericAlertComposer("Whoops! You tried to buy this " + (amount * item.getAmount()) + " times. This must've been a mistake."));
|
||||
habbo.alert("Whoops! You tried to buy this " + (amount * item.getAmount()) + " times. This must've been a mistake.");
|
||||
habbo.getClient().sendResponse(new AlertPurchaseUnavailableComposer(AlertPurchaseUnavailableComposer.ILLEGAL));
|
||||
return;
|
||||
}
|
||||
@ -1059,11 +1094,11 @@ public class CatalogManager
|
||||
{
|
||||
for (int k = 0; k < item.getItemAmount(baseItem.getId()); k++)
|
||||
{
|
||||
cBaseItem = baseItem;
|
||||
if (baseItem.getName().startsWith("rentable_bot_") || baseItem.getName().startsWith("bot_"))
|
||||
{
|
||||
String type = item.getName().replace("rentable_bot_", "");
|
||||
type = type.replace("bot_", "");
|
||||
type = type.replace("visitor_logger", "visitor_log");
|
||||
|
||||
THashMap<String, String> data = new THashMap<>();
|
||||
|
||||
|
@ -34,10 +34,10 @@ public abstract class CatalogPage implements Comparable<CatalogPage>, ISerialize
|
||||
protected String textTwo;
|
||||
protected String textDetails;
|
||||
protected String textTeaser;
|
||||
protected TIntArrayList offerIds = new TIntArrayList();
|
||||
protected THashMap<Integer, CatalogPage> childPages = new THashMap<>();;
|
||||
private TIntObjectMap<CatalogItem> catalogItems = TCollections.synchronizedMap(new TIntObjectHashMap<>());
|
||||
private ArrayList<Integer> included = new ArrayList<>();
|
||||
protected final TIntArrayList offerIds = new TIntArrayList();
|
||||
protected final THashMap<Integer, CatalogPage> childPages = new THashMap<>();
|
||||
private final TIntObjectMap<CatalogItem> catalogItems = TCollections.synchronizedMap(new TIntObjectHashMap<>());
|
||||
private final ArrayList<Integer> included = new ArrayList<>();
|
||||
|
||||
public CatalogPage(ResultSet set) throws SQLException
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ import java.sql.SQLException;
|
||||
public class Voucher
|
||||
{
|
||||
|
||||
private final int id;
|
||||
public final int id;
|
||||
|
||||
|
||||
public final String code;
|
||||
|
@ -18,9 +18,9 @@ public class InfoDucketsLayout extends CatalogPage
|
||||
{
|
||||
message.appendString("info_duckets");
|
||||
message.appendInt(1);
|
||||
message.appendString(getHeaderImage());
|
||||
message.appendString(this.getHeaderImage());
|
||||
message.appendInt(1);
|
||||
message.appendString(getTextOne());
|
||||
message.appendString(this.getTextOne());
|
||||
message.appendInt(0);
|
||||
}
|
||||
}
|
||||
|
@ -18,9 +18,9 @@ public class InfoLoyaltyLayout extends CatalogPage
|
||||
{
|
||||
message.appendString("info_loyalty");
|
||||
message.appendInt(1);
|
||||
message.appendString(getHeaderImage());
|
||||
message.appendString(this.getHeaderImage());
|
||||
message.appendInt(1);
|
||||
message.appendString(getTextOne());
|
||||
message.appendString(this.getTextOne());
|
||||
message.appendInt(0);
|
||||
}
|
||||
}
|
@ -18,12 +18,12 @@ public class InfoPetsLayout extends CatalogPage
|
||||
{
|
||||
message.appendString("info_pets");
|
||||
message.appendInt(2);
|
||||
message.appendString(getHeaderImage());
|
||||
message.appendString(getTeaserImage());
|
||||
message.appendString(this.getHeaderImage());
|
||||
message.appendString(this.getTeaserImage());
|
||||
message.appendInt(3);
|
||||
message.appendString(getTextOne());
|
||||
message.appendString(this.getTextOne());
|
||||
message.appendString("");
|
||||
message.appendString(getTextTeaser());
|
||||
message.appendString(this.getTextTeaser());
|
||||
message.appendInt(0);
|
||||
}
|
||||
}
|
||||
|
@ -16,10 +16,10 @@ public class InfoRentablesLayout extends CatalogPage
|
||||
@Override
|
||||
public void serialize(ServerMessage message)
|
||||
{
|
||||
String[] data = getTextOne().split("\\|\\|");
|
||||
String[] data = this.getTextOne().split("\\|\\|");
|
||||
message.appendString("info_rentables");
|
||||
message.appendInt(1);
|
||||
message.appendString(getHeaderImage());
|
||||
message.appendString(this.getHeaderImage());
|
||||
message.appendInt(data.length);
|
||||
for (String d : data) {
|
||||
message.appendString(d);
|
||||
|
@ -19,7 +19,7 @@ import java.util.Map;
|
||||
|
||||
public class RoomBundleLayout extends SingleBundle
|
||||
{
|
||||
public int roomId = 0;
|
||||
public int roomId;
|
||||
public Room room;
|
||||
private int lastUpdate = 0;
|
||||
private boolean loaded = false;
|
||||
@ -106,14 +106,14 @@ public class RoomBundleLayout extends SingleBundle
|
||||
items.put(Emulator.getGameEnvironment().getItemManager().getItem(Integer.valueOf(item[0].getExtradata())), 1);
|
||||
}
|
||||
|
||||
String data = "";
|
||||
StringBuilder data = new StringBuilder();
|
||||
|
||||
for(Map.Entry<Item, Integer> set : items.entrySet())
|
||||
{
|
||||
data += set.getKey().getId() + ":" + set.getValue() + ";";
|
||||
data.append(set.getKey().getId()).append(":").append(set.getValue()).append(";");
|
||||
}
|
||||
|
||||
item[0].setItemId(data);
|
||||
item[0].setItemId(data.toString());
|
||||
item[0].loadBundle();
|
||||
}
|
||||
|
||||
@ -237,12 +237,12 @@ public class RoomBundleLayout extends SingleBundle
|
||||
statement.setInt(7, bot.getRoomUnit().getX());
|
||||
statement.setInt(8, bot.getRoomUnit().getY());
|
||||
statement.setDouble(9, bot.getRoomUnit().getZ());
|
||||
String text = "";
|
||||
StringBuilder text = new StringBuilder();
|
||||
for (String s : bot.getChatLines())
|
||||
{
|
||||
text += s + "\r";
|
||||
text.append(s).append("\r");
|
||||
}
|
||||
statement.setString(10, text);
|
||||
statement.setString(10, text.toString());
|
||||
statement.setString(11, bot.isChatAuto() ? "1" : "0");
|
||||
statement.setString(12, bot.isChatRandom() ? "1" : "0");
|
||||
statement.setInt(13, bot.getChatDelay());
|
||||
|
@ -191,16 +191,6 @@ public class MarketPlace
|
||||
query += " ORDER BY minPrice DESC";
|
||||
break;
|
||||
}
|
||||
if (sort == 3)
|
||||
{
|
||||
|
||||
}
|
||||
if (sort == 2)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
||||
query += ")";
|
||||
|
||||
@ -444,18 +434,13 @@ public class MarketPlace
|
||||
try
|
||||
{
|
||||
MarketPlaceOffer offer = new MarketPlaceOffer(event.item, event.price, client.getHabbo());
|
||||
|
||||
if(offer != null)
|
||||
{
|
||||
client.getHabbo().getInventory().addMarketplaceOffer(offer);
|
||||
|
||||
client.getHabbo().getInventory().getItemsComponent().removeHabboItem(event.item);
|
||||
client.sendResponse(new RemoveHabboItemComposer(event.item.getId()));
|
||||
client.sendResponse(new InventoryRefreshComposer());
|
||||
item.setUserId(-1);
|
||||
item.needsUpdate(true);
|
||||
Emulator.getThreading().run(item);
|
||||
}
|
||||
client.getHabbo().getInventory().addMarketplaceOffer(offer);
|
||||
client.getHabbo().getInventory().getItemsComponent().removeHabboItem(event.item);
|
||||
client.sendResponse(new RemoveHabboItemComposer(event.item.getId()));
|
||||
client.sendResponse(new InventoryRefreshComposer());
|
||||
item.setUserId(-1);
|
||||
item.needsUpdate(true);
|
||||
Emulator.getThreading().run(item);
|
||||
}
|
||||
catch (SQLException e)
|
||||
{
|
||||
|
@ -47,7 +47,7 @@ public class AboutCommand extends Command
|
||||
"<b>Thanks for using Arcturus. Report issues on the forums. http://arcturus.pw \r\r" +
|
||||
" - The General";
|
||||
|
||||
gameClient.sendResponse(new GenericAlertComposer(message));
|
||||
gameClient.getHabbo().alert(message);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -28,17 +28,17 @@ public class AlertCommand extends Command {
|
||||
}
|
||||
|
||||
String targetUsername = params[1];
|
||||
String message = "";
|
||||
StringBuilder message = new StringBuilder();
|
||||
|
||||
for(int i = 2; i < params.length; i++)
|
||||
{
|
||||
message += (params[i] + " ");
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
|
||||
Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(targetUsername);
|
||||
|
||||
if (habbo != null) {
|
||||
habbo.getClient().sendResponse(new GenericAlertComposer(message + "\r\n -" + gameClient.getHabbo().getHabboInfo().getUsername()));
|
||||
habbo.alert(message + "\r\n -" + gameClient.getHabbo().getHabboInfo().getUsername());
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_alert.message_send").replace("%user%", targetUsername), RoomChatMessageBubbles.ALERT);
|
||||
} else {
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_alert.user_offline").replace("%user%", targetUsername), RoomChatMessageBubbles.ALERT);
|
||||
|
@ -46,7 +46,7 @@ public class AllowTradingCommand extends Command
|
||||
}
|
||||
else
|
||||
{
|
||||
boolean found = false;
|
||||
boolean found;
|
||||
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("UPDATE users_settings INNER JOIN users ON users.id = users_settings.id SET can_trade = ? WHERE users.username LIKE ?"))
|
||||
{
|
||||
statement.setString(1, enabled ? "1" : "0");
|
||||
|
@ -68,7 +68,7 @@ public class BadgeCommand extends Command
|
||||
{
|
||||
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection())
|
||||
{
|
||||
boolean found = false;
|
||||
boolean found;
|
||||
|
||||
try (PreparedStatement statement = connection.prepareStatement("SELECT COUNT(slot_id) FROM users_badges INNER JOIN users ON users.id = user_id WHERE users.username = ? AND badge_code = ? LIMIT 1"))
|
||||
{
|
||||
|
@ -56,7 +56,7 @@ public class BanCommand extends Command
|
||||
|
||||
Habbo t = Emulator.getGameEnvironment().getHabboManager().getHabbo(params[1]);
|
||||
|
||||
HabboInfo target = null;
|
||||
HabboInfo target;
|
||||
if (t != null)
|
||||
{
|
||||
target = t.getHabboInfo();
|
||||
@ -79,17 +79,17 @@ public class BanCommand extends Command
|
||||
}
|
||||
|
||||
|
||||
String reason = "";
|
||||
StringBuilder reason = new StringBuilder();
|
||||
|
||||
if(params.length > 3)
|
||||
{
|
||||
for(int i = 3; i < params.length; i++)
|
||||
{
|
||||
reason += params[i] + " ";
|
||||
reason.append(params[i]).append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
ModToolBan ban = Emulator.getGameEnvironment().getModToolManager().ban(target.getId(), gameClient.getHabbo(), reason, banTime, ModToolBanType.ACCOUNT, -1).get(0);
|
||||
ModToolBan ban = Emulator.getGameEnvironment().getModToolManager().ban(target.getId(), gameClient.getHabbo(), reason.toString(), banTime, ModToolBanType.ACCOUNT, -1).get(0);
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_ban.ban_issued").replace("%user%", target.getUsername()).replace("%time%", ban.expireDate - Emulator.getIntUnixTimestamp() + "").replace("%reason%", ban.reason), RoomChatMessageBubbles.ALERT);
|
||||
|
||||
return true;
|
||||
|
@ -18,18 +18,18 @@ public class BotsCommand extends Command
|
||||
if(gameClient.getHabbo().getHabboInfo().getCurrentRoom() == null || !gameClient.getHabbo().getHabboInfo().getCurrentRoom().hasRights(gameClient.getHabbo()))
|
||||
return false;
|
||||
|
||||
String data = Emulator.getTexts().getValue("total") + ": " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getCurrentBots().values().length;
|
||||
StringBuilder data = new StringBuilder(Emulator.getTexts().getValue("total") + ": " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getCurrentBots().values().length);
|
||||
|
||||
for(Object bot : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getCurrentBots().values())
|
||||
{
|
||||
if(bot instanceof Bot)
|
||||
{
|
||||
data += "\r";
|
||||
data += "<b>" + Emulator.getTexts().getValue("generic.bot.name") + "</b>: " + ((Bot) bot).getName() + " <b>" + Emulator.getTexts().getValue("generic.bot.id") + "</b>: " + ((Bot) bot).getId();
|
||||
data.append("\r");
|
||||
data.append("<b>").append(Emulator.getTexts().getValue("generic.bot.name")).append("</b>: ").append(((Bot) bot).getName()).append(" <b>").append(Emulator.getTexts().getValue("generic.bot.id")).append("</b>: ").append(((Bot) bot).getId());
|
||||
}
|
||||
}
|
||||
|
||||
gameClient.sendResponse(new GenericAlertComposer(data));
|
||||
gameClient.getHabbo().alert(data.toString());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ public class CommandHandler
|
||||
public CommandHandler()
|
||||
{
|
||||
long millis = System.currentTimeMillis();
|
||||
reloadCommands();
|
||||
this.reloadCommands();
|
||||
Emulator.getLogging().logStart("Command Handler -> Loaded! (" + (System.currentTimeMillis() - millis) + " MS)");
|
||||
}
|
||||
|
||||
@ -205,7 +205,7 @@ public class CommandHandler
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
Emulator.getLogging().logErrorLine(e);
|
||||
}
|
||||
|
||||
if (gameClient.getHabbo().getHabboInfo().getRank().isLogCommands())
|
||||
@ -249,22 +249,22 @@ public class CommandHandler
|
||||
|
||||
Pet pet = petIterator.value();
|
||||
|
||||
if (pet instanceof Pet)
|
||||
if (pet != null)
|
||||
{
|
||||
if (pet.getName().equalsIgnoreCase(args[0]))
|
||||
{
|
||||
String s = "";
|
||||
StringBuilder s = new StringBuilder();
|
||||
|
||||
for (int i = 1; i < args.length; i++)
|
||||
{
|
||||
s += args[i] + " ";
|
||||
s.append(args[i]).append(" ");
|
||||
}
|
||||
|
||||
s = s.substring(0, s.length() - 1);
|
||||
s = new StringBuilder(s.substring(0, s.length() - 1));
|
||||
|
||||
for (PetCommand command : pet.getPetData().getPetCommands())
|
||||
{
|
||||
if (command.key.equalsIgnoreCase(s))
|
||||
if (command.key.equalsIgnoreCase(s.toString()))
|
||||
{
|
||||
if (command.level <= pet.getLevel())
|
||||
pet.handleCommand(command, gameClient.getHabbo(), args);
|
||||
@ -303,7 +303,7 @@ public class CommandHandler
|
||||
}
|
||||
}
|
||||
|
||||
Collections.sort(allowedCommands, CommandHandler.ALPHABETICAL_ORDER);
|
||||
allowedCommands.sort(CommandHandler.ALPHABETICAL_ORDER);
|
||||
|
||||
return allowedCommands;
|
||||
}
|
||||
|
@ -15,16 +15,16 @@ public class CommandsCommand extends Command
|
||||
@Override
|
||||
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
||||
{
|
||||
String message = "Your Commands";
|
||||
StringBuilder message = new StringBuilder("Your Commands");
|
||||
List<Command> commands = Emulator.getGameEnvironment().getCommandHandler().getCommandsForRank(gameClient.getHabbo().getHabboInfo().getRank().getId());
|
||||
message += "(" + commands.size() + "):\r\n";
|
||||
message.append("(").append(commands.size()).append("):\r\n");
|
||||
|
||||
for(Command c : commands)
|
||||
{
|
||||
message += Emulator.getTexts().getValue("commands.description." + c.permission, "commands.description." + c.permission) + "\r";
|
||||
message.append(Emulator.getTexts().getValue("commands.description." + c.permission, "commands.description." + c.permission)).append("\r");
|
||||
}
|
||||
|
||||
gameClient.getHabbo().alert(new String[]{message});
|
||||
gameClient.getHabbo().alert(new String[]{message.toString()});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ public class CoordsCommand extends Command {
|
||||
|
||||
if (params.length == 1)
|
||||
{
|
||||
gameClient.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_coords.title") + "\r\n" +
|
||||
gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.generic.cmd_coords.title") + "\r\n" +
|
||||
"x: " + gameClient.getHabbo().getRoomUnit().getX() + "\r" +
|
||||
"y: " + gameClient.getHabbo().getRoomUnit().getY() + "\r" +
|
||||
"z: " + (gameClient.getHabbo().getRoomUnit().hasStatus(RoomUnitStatus.SIT) ? gameClient.getHabbo().getRoomUnit().getStatus(RoomUnitStatus.SIT) : gameClient.getHabbo().getRoomUnit().getZ()) + "\r" +
|
||||
@ -31,7 +31,7 @@ public class CoordsCommand extends Command {
|
||||
"Tile State: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTile(gameClient.getHabbo().getRoomUnit().getX(), gameClient.getHabbo().getRoomUnit().getY()).state.name() + "\r" +
|
||||
"Tile Walkable: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTile(gameClient.getHabbo().getRoomUnit().getX(), gameClient.getHabbo().getRoomUnit().getY()).isWalkable() + "\r" +
|
||||
"Tile relative height: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTile(gameClient.getHabbo().getRoomUnit().getX(), gameClient.getHabbo().getRoomUnit().getY()).relativeHeight() + "\r" +
|
||||
"Tile stack height: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTile(gameClient.getHabbo().getRoomUnit().getX(), gameClient.getHabbo().getRoomUnit().getY()).getStackHeight()));
|
||||
"Tile stack height: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTile(gameClient.getHabbo().getRoomUnit().getX(), gameClient.getHabbo().getRoomUnit().getY()).getStackHeight());
|
||||
|
||||
}
|
||||
else
|
||||
@ -40,14 +40,14 @@ public class CoordsCommand extends Command {
|
||||
|
||||
if (tile != null)
|
||||
{
|
||||
gameClient.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_coords.title") + "\r\n" +
|
||||
gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.generic.cmd_coords.title") + "\r\n" +
|
||||
"x: " + tile.x + "\r" +
|
||||
"y: " + tile.y + "\r" +
|
||||
"z: " + tile.z + "\r" +
|
||||
"Tile State: " + tile.state.name() + "\r" +
|
||||
"Tile Relative Height: " + tile.relativeHeight() + "\r" +
|
||||
"Tile Stack Height: " + tile.getStackHeight() + "\r" +
|
||||
"Tile Walkable: " + (tile.isWalkable() ? "Yes" : "No") + "\r"));
|
||||
"Tile Walkable: " + (tile.isWalkable() ? "Yes" : "No") + "\r");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -25,7 +25,7 @@ public class CreditsCommand extends Command
|
||||
{
|
||||
Habbo habbo = Emulator.getGameServer().getGameClientManager().getHabbo(params[1]);
|
||||
|
||||
int credits = 0;
|
||||
int credits;
|
||||
try
|
||||
{
|
||||
credits = Integer.parseInt(params[2]);
|
||||
@ -42,7 +42,7 @@ public class CreditsCommand extends Command
|
||||
if (habbo.getHabboInfo().getCurrentRoom() != null)
|
||||
habbo.whisper(Emulator.getTexts().getValue("commands.generic.cmd_credits.received").replace("%amount%", Integer.parseInt(params[2]) + ""), RoomChatMessageBubbles.ALERT);
|
||||
else
|
||||
habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_credits.received").replace("%amount%", Integer.parseInt(params[2]) + "")));
|
||||
habbo.alert(Emulator.getTexts().getValue("commands.generic.cmd_credits.received").replace("%amount%", Integer.parseInt(params[2]) + ""));
|
||||
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_credits.send").replace("%amount%", Integer.parseInt(params[2]) + "").replace("%user%", params[1]), RoomChatMessageBubbles.ALERT);
|
||||
|
||||
|
@ -27,7 +27,7 @@ public class EmptyBotsInventoryCommand extends Command
|
||||
{
|
||||
if(gameClient.getHabbo().getHabboInfo().getCurrentRoom().getUserCount() > 10)
|
||||
{
|
||||
gameClient.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.succes.cmd_empty_bots.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes"))));
|
||||
gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.succes.cmd_empty_bots.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes")));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -29,7 +29,7 @@ public class EmptyInventoryCommand extends Command
|
||||
{
|
||||
if(gameClient.getHabbo().getHabboInfo().getCurrentRoom().getUserCount() > 10)
|
||||
{
|
||||
gameClient.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.succes.cmd_empty.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes"))));
|
||||
gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.succes.cmd_empty.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes")));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -27,7 +27,7 @@ public class EmptyPetsInventoryCommand extends Command
|
||||
{
|
||||
if(gameClient.getHabbo().getHabboInfo().getCurrentRoom().getUserCount() > 10)
|
||||
{
|
||||
gameClient.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.succes.cmd_empty_pets.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes"))));
|
||||
gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.succes.cmd_empty_pets.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes")));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -17,7 +17,7 @@ public class EnableCommand extends Command
|
||||
{
|
||||
if(params.length >= 2)
|
||||
{
|
||||
int effectId = 0;
|
||||
int effectId;
|
||||
try
|
||||
{
|
||||
effectId = Integer.parseInt(params[1]);
|
||||
@ -48,13 +48,13 @@ public class EnableCommand extends Command
|
||||
return true;
|
||||
}
|
||||
|
||||
target.getHabboInfo().getCurrentRoom().giveEffect(target, effectId);
|
||||
target.getHabboInfo().getCurrentRoom().giveEffect(target, effectId, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
Emulator.getLogging().logErrorLine(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,12 +23,12 @@ public class EventCommand extends Command
|
||||
{
|
||||
if (params.length >= 2)
|
||||
{
|
||||
String message = "";
|
||||
StringBuilder message = new StringBuilder();
|
||||
|
||||
for (int i = 1; i < params.length; i++)
|
||||
{
|
||||
message += params[i];
|
||||
message += " ";
|
||||
message.append(params[i]);
|
||||
message.append(" ");
|
||||
}
|
||||
|
||||
THashMap<String, String> codes = new THashMap<>();
|
||||
@ -37,7 +37,7 @@ public class EventCommand extends Command
|
||||
codes.put("USERNAME", gameClient.getHabbo().getHabboInfo().getUsername());
|
||||
codes.put("LOOK", gameClient.getHabbo().getHabboInfo().getLook());
|
||||
codes.put("TIME", Emulator.getDate().toString());
|
||||
codes.put("MESSAGE", message);
|
||||
codes.put("MESSAGE", message.toString());
|
||||
|
||||
ServerMessage msg = new BubbleAlertComposer("hotel.event", codes).compose();
|
||||
|
||||
|
@ -25,76 +25,77 @@ public class GiftCommand extends Command
|
||||
{
|
||||
if(params.length >= 3)
|
||||
{
|
||||
String username = params[1];
|
||||
int itemId;
|
||||
|
||||
try
|
||||
{
|
||||
String username = params[1];
|
||||
int itemId = Integer.valueOf(params[2]);
|
||||
|
||||
if(itemId < 0)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId);
|
||||
|
||||
if(baseItem == null)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
HabboInfo habboInfo = HabboManager.getOfflineHabboInfo(username);
|
||||
|
||||
if(habboInfo == null)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.user_not_found").replace("%username%", username), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
String message = "";
|
||||
|
||||
if(params.length > 3)
|
||||
{
|
||||
for (int i = 3; i < params.length; i++)
|
||||
{
|
||||
message += params[i] + " ";
|
||||
}
|
||||
}
|
||||
|
||||
final String finalMessage = message;
|
||||
|
||||
HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, "");
|
||||
|
||||
Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer)Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]);
|
||||
|
||||
String extraData = "1\t" + item.getId();
|
||||
extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0";
|
||||
|
||||
Emulator.getGameEnvironment().getItemManager().createGift(username, giftItem, extraData, 0, 0);
|
||||
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_gift").replace("%username%", username).replace("%itemname%", item.getBaseItem().getName()), RoomChatMessageBubbles.ALERT);
|
||||
|
||||
Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(habboInfo.getId());
|
||||
|
||||
if (habbo != null)
|
||||
{
|
||||
habbo.getClient().sendResponse(new InventoryRefreshComposer());
|
||||
|
||||
THashMap<String, String> keys = new THashMap<>();
|
||||
keys.put("display", "BUBBLE");
|
||||
keys.put("image", "${image.library.url}notifications/gift.gif");
|
||||
keys.put("message", Emulator.getTexts().getValue("generic.gift.received.anonymous"));
|
||||
habbo.getClient().sendResponse(new BubbleAlertComposer(BubbleAlertKeys.RECEIVED_BADGE.key, keys));
|
||||
}
|
||||
return true;
|
||||
itemId = Integer.valueOf(params[2]);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
if(itemId <= 0)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId);
|
||||
|
||||
if(baseItem == null)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
HabboInfo habboInfo = HabboManager.getOfflineHabboInfo(username);
|
||||
|
||||
if(habboInfo == null)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.user_not_found").replace("%username%", username), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
StringBuilder message = new StringBuilder();
|
||||
|
||||
if(params.length > 3)
|
||||
{
|
||||
for (int i = 3; i < params.length; i++)
|
||||
{
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
final String finalMessage = message.toString();
|
||||
|
||||
HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, "");
|
||||
|
||||
Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer)Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]);
|
||||
|
||||
String extraData = "1\t" + item.getId();
|
||||
extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0";
|
||||
|
||||
Emulator.getGameEnvironment().getItemManager().createGift(username, giftItem, extraData, 0, 0);
|
||||
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_gift").replace("%username%", username).replace("%itemname%", item.getBaseItem().getName()), RoomChatMessageBubbles.ALERT);
|
||||
|
||||
Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(habboInfo.getId());
|
||||
|
||||
if (habbo != null)
|
||||
{
|
||||
habbo.getClient().sendResponse(new InventoryRefreshComposer());
|
||||
|
||||
THashMap<String, String> keys = new THashMap<>();
|
||||
keys.put("display", "BUBBLE");
|
||||
keys.put("image", "${image.library.url}notifications/gift.gif");
|
||||
keys.put("message", Emulator.getTexts().getValue("generic.gift.received.anonymous"));
|
||||
habbo.getClient().sendResponse(new BubbleAlertComposer(BubbleAlertKeys.RECEIVED_BADGE.key, keys));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -16,7 +16,7 @@ public class HabnamCommand extends Command
|
||||
{
|
||||
if (gameClient.getHabbo().getHabboInfo().getCurrentRoom() != null)
|
||||
{
|
||||
gameClient.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gameClient.getHabbo(), 140);
|
||||
gameClient.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gameClient.getHabbo(), 140, 30);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -20,9 +20,9 @@ public class HotelAlertCommand extends Command {
|
||||
public boolean handle(GameClient gameClient, String[] params)
|
||||
{
|
||||
if(params.length > 1) {
|
||||
String message = "";
|
||||
StringBuilder message = new StringBuilder();
|
||||
for (int i = 1; i < params.length; i++) {
|
||||
message += params[i] + " ";
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
|
||||
ServerMessage msg = new StaffAlertWithLinkComposer(message + "\r\n-" + gameClient.getHabbo().getHabboInfo().getUsername(), "").compose();
|
||||
|
@ -20,16 +20,16 @@ public class HotelAlertLinkCommand extends Command
|
||||
}
|
||||
|
||||
String url = params[1];
|
||||
String message = "";
|
||||
StringBuilder message = new StringBuilder();
|
||||
for (int i = 2; i < params.length; i++)
|
||||
{
|
||||
message += params[i];
|
||||
message += " ";
|
||||
message.append(params[i]);
|
||||
message.append(" ");
|
||||
}
|
||||
|
||||
message += "\r\r-<b>" + gameClient.getHabbo().getHabboInfo().getUsername() + "</b>";
|
||||
message.append("\r\r-<b>").append(gameClient.getHabbo().getHabboInfo().getUsername()).append("</b>");
|
||||
|
||||
Emulator.getGameServer().getGameClientManager().sendBroadcastResponse(new StaffAlertWithLinkComposer(message, url).compose());
|
||||
Emulator.getGameServer().getGameClientManager().sendBroadcastResponse(new StaffAlertWithLinkComposer(message.toString(), url).compose());
|
||||
return true;
|
||||
}
|
||||
}
|
@ -19,8 +19,8 @@ public class IPBanCommand extends Command
|
||||
@Override
|
||||
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
||||
{
|
||||
HabboInfo habbo = null;
|
||||
String reason = "";
|
||||
HabboInfo habbo;
|
||||
StringBuilder reason = new StringBuilder();
|
||||
if (params.length >= 2)
|
||||
{
|
||||
Habbo h = Emulator.getGameEnvironment().getHabboManager().getHabbo(params[1]);
|
||||
@ -43,8 +43,8 @@ public class IPBanCommand extends Command
|
||||
{
|
||||
for (int i = 2; i < params.length; i++)
|
||||
{
|
||||
reason += params[i];
|
||||
reason += " ";
|
||||
reason.append(params[i]);
|
||||
reason.append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,14 +63,14 @@ public class IPBanCommand extends Command
|
||||
return true;
|
||||
}
|
||||
|
||||
Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason, TEN_YEARS, ModToolBanType.IP, -1);
|
||||
Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason.toString(), TEN_YEARS, ModToolBanType.IP, -1);
|
||||
count++;
|
||||
for (Habbo h : Emulator.getGameServer().getGameClientManager().getHabbosWithIP(habbo.getIpLogin()))
|
||||
{
|
||||
if (h != null)
|
||||
{
|
||||
count++;
|
||||
Emulator.getGameEnvironment().getModToolManager().ban(h.getHabboInfo().getId(), gameClient.getHabbo(), reason, TEN_YEARS, ModToolBanType.IP, -1);
|
||||
Emulator.getGameEnvironment().getModToolManager().ban(h.getHabboInfo().getId(), gameClient.getHabbo(), reason.toString(), TEN_YEARS, ModToolBanType.IP, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ public class MachineBanCommand extends Command
|
||||
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
||||
{
|
||||
HabboInfo habbo = null;
|
||||
String reason = "";
|
||||
StringBuilder reason = new StringBuilder();
|
||||
if (params.length >= 2)
|
||||
{
|
||||
Habbo h = Emulator.getGameEnvironment().getHabboManager().getHabbo(params[1]);
|
||||
@ -38,12 +38,12 @@ public class MachineBanCommand extends Command
|
||||
{
|
||||
for (int i = 2; i < params.length; i++)
|
||||
{
|
||||
reason += params[i];
|
||||
reason += " ";
|
||||
reason.append(params[i]);
|
||||
reason.append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
int count = 0;
|
||||
int count;
|
||||
if (habbo != null)
|
||||
{
|
||||
if (habbo == gameClient.getHabbo().getHabboInfo())
|
||||
@ -58,7 +58,7 @@ public class MachineBanCommand extends Command
|
||||
return true;
|
||||
}
|
||||
|
||||
count = Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason, IPBanCommand.TEN_YEARS, ModToolBanType.MACHINE, -1).size();
|
||||
count = Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason.toString(), IPBanCommand.TEN_YEARS, ModToolBanType.MACHINE, -1).size();
|
||||
|
||||
|
||||
|
||||
|
@ -26,75 +26,76 @@ public class MassGiftCommand extends Command
|
||||
{
|
||||
if(params.length >= 2)
|
||||
{
|
||||
int itemId;
|
||||
|
||||
try
|
||||
{
|
||||
int itemId = Integer.valueOf(params[1]);
|
||||
|
||||
if(itemId < 0)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
final Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId);
|
||||
|
||||
if(baseItem == null)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
String message = "";
|
||||
|
||||
if(params.length > 2)
|
||||
{
|
||||
for (int i = 2; i < params.length; i++)
|
||||
{
|
||||
message += params[i] + " ";
|
||||
}
|
||||
}
|
||||
|
||||
final String finalMessage = message;
|
||||
|
||||
THashMap<String, String> keys = new THashMap<>();
|
||||
keys.put("display", "BUBBLE");
|
||||
keys.put("image", "${image.library.url}notifications/gift.gif");
|
||||
keys.put("message", Emulator.getTexts().getValue("generic.gift.received.anonymous"));
|
||||
ServerMessage giftNotificiationMessage = new BubbleAlertComposer(BubbleAlertKeys.RECEIVED_BADGE.key, keys).compose();
|
||||
|
||||
Emulator.getThreading().run(new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
for(Map.Entry<Integer, Habbo> set : Emulator.getGameEnvironment().getHabboManager().getOnlineHabbos().entrySet())
|
||||
{
|
||||
Habbo habbo = set.getValue();
|
||||
|
||||
HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, "");
|
||||
|
||||
Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer) Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]);
|
||||
|
||||
String extraData = "1\t" + item.getId();
|
||||
extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0";
|
||||
|
||||
Emulator.getGameEnvironment().getItemManager().createGift(habbo.getHabboInfo().getUsername(), giftItem, extraData, 0, 0);
|
||||
|
||||
habbo.getClient().sendResponse(new InventoryRefreshComposer());
|
||||
habbo.getClient().sendResponse(giftNotificiationMessage);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
return true;
|
||||
itemId = Integer.valueOf(params[1]);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
if(itemId <= 0)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
final Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId);
|
||||
|
||||
if(baseItem == null)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
StringBuilder message = new StringBuilder();
|
||||
|
||||
if(params.length > 2)
|
||||
{
|
||||
for (int i = 2; i < params.length; i++)
|
||||
{
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
final String finalMessage = message.toString();
|
||||
|
||||
THashMap<String, String> keys = new THashMap<>();
|
||||
keys.put("display", "BUBBLE");
|
||||
keys.put("image", "${image.library.url}notifications/gift.gif");
|
||||
keys.put("message", Emulator.getTexts().getValue("generic.gift.received.anonymous"));
|
||||
ServerMessage giftNotificiationMessage = new BubbleAlertComposer(BubbleAlertKeys.RECEIVED_BADGE.key, keys).compose();
|
||||
|
||||
Emulator.getThreading().run(new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
for(Map.Entry<Integer, Habbo> set : Emulator.getGameEnvironment().getHabboManager().getOnlineHabbos().entrySet())
|
||||
{
|
||||
Habbo habbo = set.getValue();
|
||||
|
||||
HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, "");
|
||||
|
||||
Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer) Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]);
|
||||
|
||||
String extraData = "1\t" + item.getId();
|
||||
extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0";
|
||||
|
||||
Emulator.getGameEnvironment().getItemManager().createGift(habbo.getHabboInfo().getUsername(), giftItem, extraData, 0, 0);
|
||||
|
||||
habbo.getClient().sendResponse(new InventoryRefreshComposer());
|
||||
habbo.getClient().sendResponse(giftNotificiationMessage);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -19,7 +19,7 @@ public class MassPointsCommand extends Command
|
||||
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
||||
{
|
||||
int type = Emulator.getConfig().getInt("seasonal.primary.type");
|
||||
String amountString = "";
|
||||
String amountString;
|
||||
if(params.length == 3)
|
||||
{
|
||||
amountString = params[1];
|
||||
@ -83,7 +83,7 @@ public class MassPointsCommand extends Command
|
||||
if(habbo.getHabboInfo().getCurrentRoom() != null)
|
||||
habbo.whisper(message, RoomChatMessageBubbles.ALERT);
|
||||
else
|
||||
habbo.getClient().sendResponse(new GenericAlertComposer(message));
|
||||
habbo.alert(message);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
@ -2,7 +2,6 @@ package com.eu.habbo.habbohotel.commands;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.habbohotel.gameclients.GameClient;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserEffectComposer;
|
||||
|
||||
public class MoonwalkCommand extends Command
|
||||
{
|
||||
@ -16,16 +15,11 @@ public class MoonwalkCommand extends Command
|
||||
{
|
||||
if(gameClient.getHabbo().getHabboInfo().getCurrentRoom() != null && gameClient.getHabbo().getHabboStats().hasActiveClub())
|
||||
{
|
||||
if (gameClient.getHabbo().getRoomUnit().getEffectId() != 136)
|
||||
{
|
||||
gameClient.getHabbo().getRoomUnit().setEffectId(136);
|
||||
gameClient.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserEffectComposer(gameClient.getHabbo().getRoomUnit()).compose());
|
||||
}
|
||||
else
|
||||
{
|
||||
gameClient.getHabbo().getRoomUnit().setEffectId(0);
|
||||
gameClient.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserEffectComposer(gameClient.getHabbo().getRoomUnit()).compose());
|
||||
}
|
||||
int effect = 136;
|
||||
if (gameClient.getHabbo().getRoomUnit().getEffectId() == 136)
|
||||
effect = 0;
|
||||
|
||||
gameClient.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gameClient.getHabbo(), effect, -1);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -32,10 +32,7 @@ public class PetInfoCommand extends Command
|
||||
{
|
||||
if(pet.getName().equalsIgnoreCase(name))
|
||||
{
|
||||
if(!(pet instanceof Pet))
|
||||
return true;
|
||||
|
||||
gameClient.sendResponse(new GenericAlertComposer("" +
|
||||
gameClient.getHabbo().alert("" +
|
||||
Emulator.getTexts().getValue("commands.generic.cmd_pet_info.title") + ": " + pet.getName() + "\r\n" +
|
||||
Emulator.getTexts().getValue("generic.pet.id") + ": " + pet.getId() + "\r" +
|
||||
Emulator.getTexts().getValue("generic.pet.name") + ": " + pet.getName() + "\r" +
|
||||
@ -50,7 +47,7 @@ public class PetInfoCommand extends Command
|
||||
Emulator.getTexts().getValue("generic.pet.level.hunger") + ": " + pet.levelHunger + "\r" +
|
||||
Emulator.getTexts().getValue("generic.pet.current_action") + ": " + (pet.getTask() == null ? Emulator.getTexts().getValue("generic.nothing") : pet.getTask().name()) + "\r" +
|
||||
Emulator.getTexts().getValue("generic.can.walk") + ": " + (pet.getRoomUnit().canWalk() ? Emulator.getTexts().getValue("generic.yes") : Emulator.getTexts().getValue("generic.no")) + ""
|
||||
));
|
||||
);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -30,7 +30,7 @@ public class PixelCommand extends Command
|
||||
if(habbo.getHabboInfo().getCurrentRoom() != null)
|
||||
habbo.whisper(Emulator.getTexts().getValue("commands.generic.cmd_duckets.received").replace("%amount%", Integer.valueOf(params[2]) + ""), RoomChatMessageBubbles.ALERT);
|
||||
else
|
||||
habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_duckets.received").replace("%amount%", Integer.valueOf(params[2]) + "")));
|
||||
habbo.alert(Emulator.getTexts().getValue("commands.generic.cmd_duckets.received").replace("%amount%", Integer.valueOf(params[2]) + ""));
|
||||
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_duckets.send").replace("%amount%", Integer.valueOf(params[2]) + "").replace("%user%", params[1]), RoomChatMessageBubbles.ALERT);
|
||||
|
||||
|
@ -15,14 +15,14 @@ public class PluginsCommand extends Command
|
||||
@Override
|
||||
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
||||
{
|
||||
String message = "Plugins (" + Emulator.getPluginManager().getPlugins().size() + ")\r";
|
||||
StringBuilder message = new StringBuilder("Plugins (" + Emulator.getPluginManager().getPlugins().size() + ")\r");
|
||||
|
||||
for (HabboPlugin plugin : Emulator.getPluginManager().getPlugins())
|
||||
{
|
||||
message += "\r" + plugin.configuration.name + " By " + plugin.configuration.author;
|
||||
message.append("\r").append(plugin.configuration.name).append(" By ").append(plugin.configuration.author);
|
||||
}
|
||||
|
||||
gameClient.sendResponse(new GenericAlertComposer(message));
|
||||
gameClient.getHabbo().alert(message.toString());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ public class PointsCommand extends Command
|
||||
}
|
||||
}
|
||||
|
||||
int amount = 0;
|
||||
int amount;
|
||||
|
||||
try
|
||||
{
|
||||
@ -59,7 +59,7 @@ public class PointsCommand extends Command
|
||||
if(habbo.getHabboInfo().getCurrentRoom() != null)
|
||||
habbo.whisper(Emulator.getTexts().getValue("commands.generic.cmd_points.received").replace("%amount%", amount + "").replace("%type%", Emulator.getTexts().getValue("seasonal.name." + type)), RoomChatMessageBubbles.ALERT);
|
||||
else
|
||||
habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_points.received").replace("%amount%", amount + "").replace("%type%", Emulator.getTexts().getValue("seasonal.name." + type))));
|
||||
habbo.alert(Emulator.getTexts().getValue("commands.generic.cmd_points.received").replace("%amount%", amount + "").replace("%type%", Emulator.getTexts().getValue("seasonal.name." + type)));
|
||||
|
||||
habbo.getClient().sendResponse(new UserPointsComposer(habbo.getHabboInfo().getCurrencyAmount(type), amount, type));
|
||||
|
||||
|
@ -5,7 +5,7 @@ import com.eu.habbo.habbohotel.catalog.TargetOffer;
|
||||
import com.eu.habbo.habbohotel.gameclients.GameClient;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
import com.eu.habbo.messages.outgoing.generic.alerts.MessagesForYouComposer;
|
||||
import com.eu.habbo.messages.outgoing.unknown.TargetedOfferComposer;
|
||||
import com.eu.habbo.messages.outgoing.catalog.TargetedOfferComposer;
|
||||
import gnu.trove.map.hash.THashMap;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -36,11 +36,11 @@ public class PromoteTargetOfferCommand extends Command
|
||||
String[] textConfig = Emulator.getTexts().getValue("commands.cmd_promote_offer.list").replace("%amount%", targetOffers.size() + "").split("<br>");
|
||||
|
||||
String entryConfig = Emulator.getTexts().getValue("commands.cmd_promote_offer.list.entry");
|
||||
List<String> message = new ArrayList<String>();
|
||||
List<String> message = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < textConfig.length; i++)
|
||||
for (String pair : textConfig)
|
||||
{
|
||||
if (textConfig[i].contains("%list%"))
|
||||
if (pair.contains("%list%"))
|
||||
{
|
||||
for (TargetOffer offer : targetOffers.values())
|
||||
{
|
||||
@ -49,7 +49,7 @@ public class PromoteTargetOfferCommand extends Command
|
||||
}
|
||||
else
|
||||
{
|
||||
message.add(textConfig[i]);
|
||||
message.add(pair);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -58,8 +58,8 @@ public class RedeemCommand extends Command
|
||||
}
|
||||
} else if (item.getBaseItem().getName().startsWith("DF_"))
|
||||
{
|
||||
int pointsType = 0;
|
||||
int pointsAmount = 0;
|
||||
int pointsType;
|
||||
int pointsAmount;
|
||||
|
||||
pointsType = Integer.valueOf(item.getBaseItem().getName().split("_")[1]);
|
||||
pointsAmount = Integer.valueOf(item.getBaseItem().getName().split("_")[2]);
|
||||
|
@ -16,16 +16,16 @@ public class RoomAlertCommand extends Command
|
||||
@Override
|
||||
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
||||
{
|
||||
String message = "";
|
||||
StringBuilder message = new StringBuilder();
|
||||
|
||||
if (params.length >= 2)
|
||||
{
|
||||
for (int i = 1; i < params.length; i++)
|
||||
{
|
||||
message += params[i] + " ";
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
|
||||
if (message.isEmpty())
|
||||
if (message.length() == 0)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_roomalert.empty"), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
@ -35,7 +35,7 @@ public class RoomAlertCommand extends Command
|
||||
|
||||
if (room != null)
|
||||
{
|
||||
room.sendComposer(new ModToolIssueHandledComposer(message).compose());
|
||||
room.sendComposer(new ModToolIssueHandledComposer(message.toString()).compose());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -32,10 +32,9 @@ public class RoomCreditsCommand extends Command
|
||||
if(amount != 0)
|
||||
{
|
||||
final String message = Emulator.getTexts().getValue("commands.generic.cmd_credits.received").replace("%amount%", amount + "");
|
||||
final int finalAmount = amount;
|
||||
for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos())
|
||||
{
|
||||
habbo.giveCredits(finalAmount);
|
||||
habbo.giveCredits(amount);
|
||||
habbo.whisper(message, RoomChatMessageBubbles.ALERT);
|
||||
}
|
||||
}
|
||||
|
@ -2,9 +2,9 @@ package com.eu.habbo.habbohotel.commands;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.habbohotel.gameclients.GameClient;
|
||||
import com.eu.habbo.habbohotel.rooms.Room;
|
||||
import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserEffectComposer;
|
||||
|
||||
public class RoomEffectCommand extends Command
|
||||
{
|
||||
@ -28,10 +28,10 @@ public class RoomEffectCommand extends Command
|
||||
|
||||
if(effectId >= 0)
|
||||
{
|
||||
for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos())
|
||||
Room room = gameClient.getHabbo().getHabboInfo().getCurrentRoom();
|
||||
for (Habbo habbo : room.getHabbos())
|
||||
{
|
||||
habbo.getRoomUnit().setEffectId(effectId);
|
||||
habbo.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserEffectComposer(habbo.getRoomUnit()).compose());
|
||||
room.giveEffect(habbo, effectId, -1);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -6,7 +6,7 @@ import com.eu.habbo.habbohotel.items.Item;
|
||||
import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
import com.eu.habbo.habbohotel.users.HabboItem;
|
||||
import com.eu.habbo.messages.outgoing.generic.alerts.WiredRewardAlertComposer;
|
||||
import com.eu.habbo.messages.outgoing.wired.WiredRewardAlertComposer;
|
||||
import com.eu.habbo.messages.outgoing.inventory.InventoryRefreshComposer;
|
||||
|
||||
public class RoomGiftCommand extends Command
|
||||
@ -21,60 +21,61 @@ public class RoomGiftCommand extends Command
|
||||
{
|
||||
if(params.length >= 2)
|
||||
{
|
||||
int itemId;
|
||||
|
||||
try
|
||||
{
|
||||
int itemId = Integer.valueOf(params[1]);
|
||||
|
||||
if(itemId < 0)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
final Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId);
|
||||
|
||||
if(baseItem == null)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
String message = "";
|
||||
|
||||
if(params.length > 2)
|
||||
{
|
||||
for (int i = 2; i < params.length; i++)
|
||||
{
|
||||
message += params[i] + " ";
|
||||
}
|
||||
}
|
||||
|
||||
final String finalMessage = message;
|
||||
|
||||
for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos())
|
||||
{
|
||||
HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, "");
|
||||
|
||||
Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer) Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]);
|
||||
|
||||
String extraData = "1\t" + item.getId();
|
||||
extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0";
|
||||
|
||||
Emulator.getGameEnvironment().getItemManager().createGift(habbo.getHabboInfo().getUsername(), giftItem, extraData, 0, 0);
|
||||
|
||||
habbo.getClient().sendResponse(new InventoryRefreshComposer());
|
||||
|
||||
habbo.getClient().sendResponse(new WiredRewardAlertComposer(WiredRewardAlertComposer.REWARD_RECEIVED_ITEM));
|
||||
}
|
||||
|
||||
return true;
|
||||
itemId = Integer.valueOf(params[1]);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
if(itemId <= 0)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
final Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId);
|
||||
|
||||
if(baseItem == null)
|
||||
{
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
|
||||
StringBuilder message = new StringBuilder();
|
||||
|
||||
if(params.length > 2)
|
||||
{
|
||||
for (int i = 2; i < params.length; i++)
|
||||
{
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
final String finalMessage = message.toString();
|
||||
|
||||
for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos())
|
||||
{
|
||||
HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, "");
|
||||
|
||||
Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer) Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]);
|
||||
|
||||
String extraData = "1\t" + item.getId();
|
||||
extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0";
|
||||
|
||||
Emulator.getGameEnvironment().getItemManager().createGift(habbo.getHabboInfo().getUsername(), giftItem, extraData, 0, 0);
|
||||
|
||||
habbo.getClient().sendResponse(new InventoryRefreshComposer());
|
||||
|
||||
habbo.getClient().sendResponse(new WiredRewardAlertComposer(WiredRewardAlertComposer.REWARD_RECEIVED_ITEM));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -22,10 +22,10 @@ public class RoomKickCommand extends Command
|
||||
{
|
||||
if(params.length > 1)
|
||||
{
|
||||
String message = "";
|
||||
StringBuilder message = new StringBuilder();
|
||||
for (int i = 1; i < params.length; i++)
|
||||
{
|
||||
message += params[i] + " ";
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
room.sendComposer(new GenericAlertComposer(message + "\r\n-" + gameClient.getHabbo().getHabboInfo().getUsername()).compose());
|
||||
}
|
||||
|
@ -32,10 +32,9 @@ public class RoomPixelsCommand extends Command
|
||||
if(amount != 0)
|
||||
{
|
||||
final String message = Emulator.getTexts().getValue("commands.generic.cmd_duckets.received").replace("%amount%", amount + "");
|
||||
final int finalAmount = amount;
|
||||
for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos())
|
||||
{
|
||||
habbo.givePixels(finalAmount);
|
||||
habbo.givePixels(amount);
|
||||
habbo.whisper(message, RoomChatMessageBubbles.ALERT);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ public class RoomPointsCommand extends Command
|
||||
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
||||
{
|
||||
int type = Emulator.getConfig().getInt("seasonal.primary.type");
|
||||
String amountString = "";
|
||||
String amountString;
|
||||
if(params.length == 3)
|
||||
{
|
||||
try
|
||||
@ -72,11 +72,9 @@ public class RoomPointsCommand extends Command
|
||||
{
|
||||
final String message = Emulator.getTexts().getValue("commands.generic.cmd_points.received").replace("%amount%", amount + "").replace("%type%", Emulator.getTexts().getValue("seasonal.name." + type));
|
||||
|
||||
final int finalType = type;
|
||||
final int finalAmount = amount;
|
||||
for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos())
|
||||
{
|
||||
habbo.givePoints(finalType, finalAmount);
|
||||
habbo.givePoints(type, amount);
|
||||
habbo.whisper(message, RoomChatMessageBubbles.ALERT);
|
||||
}
|
||||
}
|
||||
|
@ -21,18 +21,15 @@ public class SayAllCommand extends Command
|
||||
return true;
|
||||
}
|
||||
|
||||
String message = "";
|
||||
if(params.length > 1)
|
||||
StringBuilder message = new StringBuilder();
|
||||
for(int i = 1; i < params.length; i++)
|
||||
{
|
||||
for(int i = 1; i < params.length; i++)
|
||||
{
|
||||
message += params[i] + " ";
|
||||
}
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
|
||||
for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos())
|
||||
{
|
||||
habbo.talk(message);
|
||||
habbo.talk(message.toString());
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -39,17 +39,17 @@ public class SayCommand extends Command
|
||||
}
|
||||
}
|
||||
|
||||
String message = "";
|
||||
StringBuilder message = new StringBuilder();
|
||||
if(params.length > 2)
|
||||
{
|
||||
for(int i = 2; i < params.length; i++)
|
||||
{
|
||||
message += params[i] + " ";
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
target.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserTalkComposer(new RoomChatMessage(message, target, RoomChatMessageBubbles.NORMAL)).compose());
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_say").replace("%user%", params[1]).replace("%message%", message), RoomChatMessageBubbles.ALERT);
|
||||
target.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserTalkComposer(new RoomChatMessage(message.toString(), target, RoomChatMessageBubbles.NORMAL)).compose());
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_say").replace("%user%", params[1]).replace("%message%", message.toString()), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ public class SetMaxCommand extends Command
|
||||
{
|
||||
if (params.length >= 2)
|
||||
{
|
||||
int max = 0;
|
||||
int max;
|
||||
try
|
||||
{
|
||||
max = Integer.valueOf(params[1]);
|
||||
|
@ -21,18 +21,15 @@ public class ShoutAllCommand extends Command
|
||||
return true;
|
||||
}
|
||||
|
||||
String message = "";
|
||||
if(params.length > 1)
|
||||
StringBuilder message = new StringBuilder();
|
||||
for(int i = 1; i < params.length; i++)
|
||||
{
|
||||
for(int i = 1; i < params.length; i++)
|
||||
{
|
||||
message += params[i] + " ";
|
||||
}
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
|
||||
for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos())
|
||||
{
|
||||
habbo.shout(message);
|
||||
habbo.shout(message.toString());
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -41,17 +41,17 @@ public class ShoutCommand extends Command
|
||||
}
|
||||
}
|
||||
|
||||
String message = "";
|
||||
StringBuilder message = new StringBuilder();
|
||||
if(params.length > 2)
|
||||
{
|
||||
for(int i = 2; i < params.length; i++)
|
||||
{
|
||||
message += params[i] + " ";
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
target.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserShoutComposer(new RoomChatMessage(message, target, RoomChatMessageBubbles.NORMAL)).compose());
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_shout").replace("%user%", params[1]).replace("%message%", message), RoomChatMessageBubbles.ALERT);
|
||||
target.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserShoutComposer(new RoomChatMessage(message.toString(), target, RoomChatMessageBubbles.NORMAL)).compose());
|
||||
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_shout").replace("%user%", params[1]).replace("%message%", message.toString()), RoomChatMessageBubbles.ALERT);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -18,14 +18,14 @@ public class ShutdownCommand extends Command
|
||||
@Override
|
||||
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
||||
{
|
||||
String reason = "-";
|
||||
StringBuilder reason = new StringBuilder("-");
|
||||
int minutes = 0;
|
||||
if(params.length > 2)
|
||||
{
|
||||
reason = "";
|
||||
reason = new StringBuilder();
|
||||
for(int i = 1; i < params.length; i++)
|
||||
{
|
||||
reason += params[i] + " ";
|
||||
reason.append(params[i]).append(" ");
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -38,13 +38,13 @@ public class ShutdownCommand extends Command
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
reason = params[1];
|
||||
reason = new StringBuilder(params[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ServerMessage message = null;
|
||||
if (!reason.equals("-"))
|
||||
ServerMessage message;
|
||||
if (!reason.toString().equals("-"))
|
||||
{
|
||||
message = new GenericAlertComposer("<b>" + Emulator.getTexts().getValue("generic.warning") + "</b> \r\n" +
|
||||
Emulator.getTexts().getValue("generic.shutdown").replace("%minutes%", minutes + "") + "\r\n" +
|
||||
|
@ -18,14 +18,14 @@ public class StaffAlertCommand extends Command
|
||||
{
|
||||
if(params.length > 1)
|
||||
{
|
||||
String message = "";
|
||||
StringBuilder message = new StringBuilder();
|
||||
for (int i = 1; i < params.length; i++)
|
||||
{
|
||||
message += params[i] + " ";
|
||||
message.append(params[i]).append(" ");
|
||||
}
|
||||
|
||||
Emulator.getGameEnvironment().getHabboManager().staffAlert(message + "\r\n-" + gameClient.getHabbo().getHabboInfo().getUsername());
|
||||
Emulator.getGameServer().getGameClientManager().sendBroadcastResponse(new FriendChatMessageComposer(new Message(gameClient.getHabbo().getHabboInfo().getId(), -1, message)).compose(), "acc_staff_chat", gameClient);
|
||||
Emulator.getGameServer().getGameClientManager().sendBroadcastResponse(new FriendChatMessageComposer(new Message(gameClient.getHabbo().getHabboInfo().getId(), -1, message.toString())).compose(), "acc_staff_chat", gameClient);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -58,7 +58,7 @@ public class StaffOnlineCommand extends Command
|
||||
}
|
||||
}
|
||||
|
||||
Collections.sort(staffs, new Comparator<Habbo>()
|
||||
staffs.sort(new Comparator<Habbo>()
|
||||
{
|
||||
@Override
|
||||
public int compare(Habbo o1, Habbo o2)
|
||||
@ -67,18 +67,18 @@ public class StaffOnlineCommand extends Command
|
||||
}
|
||||
});
|
||||
|
||||
String message = Emulator.getTexts().getValue("commands.generic.cmd_staffonline.staffs");
|
||||
message += "\r\n";
|
||||
StringBuilder message = new StringBuilder(Emulator.getTexts().getValue("commands.generic.cmd_staffonline.staffs"));
|
||||
message.append("\r\n");
|
||||
|
||||
for(Habbo habbo : staffs)
|
||||
{
|
||||
message += habbo.getHabboInfo().getUsername();
|
||||
message += ": ";
|
||||
message += habbo.getHabboInfo().getRank().getName();
|
||||
message += "\r";
|
||||
message.append(habbo.getHabboInfo().getUsername());
|
||||
message.append(": ");
|
||||
message.append(habbo.getHabboInfo().getRank().getName());
|
||||
message.append("\r");
|
||||
}
|
||||
|
||||
gameClient.sendResponse(new GenericAlertComposer(message));
|
||||
gameClient.getHabbo().alert(message.toString());
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -61,7 +61,7 @@ public class SummonCommand extends Command
|
||||
habbo.getRoomUnit().setGoalLocation(t);
|
||||
}
|
||||
|
||||
habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_summon.been_summoned").replace("%user%", gameClient.getHabbo().getHabboInfo().getUsername())));
|
||||
habbo.alert(Emulator.getTexts().getValue("commands.generic.cmd_summon.been_summoned").replace("%user%", gameClient.getHabbo().getHabboInfo().getUsername()));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ public class SummonRankCommand extends Command
|
||||
@Override
|
||||
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
||||
{
|
||||
int minRank = 1;
|
||||
int minRank;
|
||||
|
||||
if(params.length >= 2)
|
||||
{
|
||||
|
@ -19,7 +19,7 @@ public class SuperbanCommand extends Command
|
||||
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
||||
{
|
||||
HabboInfo habbo = null;
|
||||
String reason = "";
|
||||
StringBuilder reason = new StringBuilder();
|
||||
if (params.length >= 2)
|
||||
{
|
||||
Habbo h = Emulator.getGameEnvironment().getHabboManager().getHabbo(params[1]);
|
||||
@ -38,12 +38,12 @@ public class SuperbanCommand extends Command
|
||||
{
|
||||
for (int i = 2; i < params.length; i++)
|
||||
{
|
||||
reason += params[i];
|
||||
reason += " ";
|
||||
reason.append(params[i]);
|
||||
reason.append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
int count = 0;
|
||||
int count;
|
||||
if (habbo != null)
|
||||
{
|
||||
if (habbo == gameClient.getHabbo().getHabboInfo())
|
||||
@ -58,7 +58,7 @@ public class SuperbanCommand extends Command
|
||||
return true;
|
||||
}
|
||||
|
||||
count = Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason, IPBanCommand.TEN_YEARS, ModToolBanType.SUPER, -1).size();
|
||||
count = Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason.toString(), IPBanCommand.TEN_YEARS, ModToolBanType.SUPER, -1).size();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -91,7 +91,7 @@ public class TestCommand extends Command
|
||||
|
||||
if (params[1].equals("ach"))
|
||||
{
|
||||
AchievementManager.progressAchievement(gameClient.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("Jogger"), 1);
|
||||
AchievementManager.progressAchievement(gameClient.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("Jogger"), 1000);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -125,28 +125,26 @@ public class TestCommand extends Command
|
||||
|
||||
if(params[1].equals("units"))
|
||||
{
|
||||
String s = "";
|
||||
StringBuilder s = new StringBuilder();
|
||||
|
||||
for(Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos())
|
||||
{
|
||||
s += "Habbo ID: " + habbo.getHabboInfo().getId() + ", RoomUnit ID: " + habbo.getRoomUnit().getId() + "\r";
|
||||
s.append("Habbo ID: ").append(habbo.getHabboInfo().getId()).append(", RoomUnit ID: ").append(habbo.getRoomUnit().getId()).append("\r");
|
||||
}
|
||||
|
||||
for (Pet pet : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getCurrentPets().valueCollection())
|
||||
{
|
||||
s += "Pet ID: " + pet.getId() + ", RoomUnit ID: " + pet.getRoomUnit().getId() + ", Name: " + pet.getName();
|
||||
s.append("Pet ID: ").append(pet.getId()).append(", RoomUnit ID: ").append(pet.getRoomUnit().getId()).append(", Name: ").append(pet.getName());
|
||||
|
||||
if (pet instanceof MonsterplantPet)
|
||||
{
|
||||
s += ", B:" + (((MonsterplantPet) pet).canBreed() ? "Y" : "N") +
|
||||
", PB: " + (((MonsterplantPet)pet).isPubliclyBreedable() ? "Y" : "N" ) +
|
||||
", D: " + (((MonsterplantPet) pet).isDead() ? "Y" : "N");
|
||||
s.append(", B:").append(((MonsterplantPet) pet).canBreed() ? "Y" : "N").append(", PB: ").append(((MonsterplantPet) pet).isPubliclyBreedable() ? "Y" : "N").append(", D: ").append(((MonsterplantPet) pet).isDead() ? "Y" : "N");
|
||||
}
|
||||
|
||||
s += "\r";
|
||||
s.append("\r");
|
||||
}
|
||||
|
||||
gameClient.sendResponse(new MessagesForYouComposer(new String[]{s}));
|
||||
gameClient.sendResponse(new MessagesForYouComposer(new String[]{s.toString()}));
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -168,14 +166,14 @@ public class TestCommand extends Command
|
||||
|
||||
if (params[1].equalsIgnoreCase("bots"))
|
||||
{
|
||||
String message = "";
|
||||
StringBuilder message = new StringBuilder();
|
||||
|
||||
for (Bot bot : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getCurrentBots().valueCollection())
|
||||
{
|
||||
message += "Name: " + bot.getName() + ", ID: " + bot.getId() + ", RID: " + bot.getRoomUnit().getId() + ", Rot: " + bot.getRoomUnit().getBodyRotation() + "\r";
|
||||
message.append("Name: ").append(bot.getName()).append(", ID: ").append(bot.getId()).append(", RID: ").append(bot.getRoomUnit().getId()).append(", Rot: ").append(bot.getRoomUnit().getBodyRotation()).append("\r");
|
||||
}
|
||||
|
||||
gameClient.sendResponse(new MessagesForYouComposer(new String[]{message}));
|
||||
gameClient.sendResponse(new MessagesForYouComposer(new String[]{message.toString()}));
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -220,9 +218,9 @@ public class TestCommand extends Command
|
||||
{
|
||||
Pet pet = gameClient.getHabbo().getHabboInfo().getCurrentRoom().getPet(Integer.valueOf(params[2]));
|
||||
|
||||
if(pet instanceof Pet)
|
||||
if(pet != null)
|
||||
{
|
||||
String a = "";
|
||||
String a;
|
||||
String b = "";
|
||||
String c = "";
|
||||
if(params[3] != null)
|
||||
@ -267,14 +265,14 @@ public class TestCommand extends Command
|
||||
results.put(random, results.get(random) + 1);
|
||||
}
|
||||
|
||||
String result = "Results : " + params[2] + "<br/><br/>";
|
||||
StringBuilder result = new StringBuilder("Results : " + params[2] + "<br/><br/>");
|
||||
|
||||
for (Map.Entry<Integer, Integer> set : results.entrySet())
|
||||
{
|
||||
result += set.getKey() + " -> " + set.getValue() + "<br/>";
|
||||
result.append(set.getKey()).append(" -> ").append(set.getValue()).append("<br/>");
|
||||
}
|
||||
|
||||
gameClient.sendResponse(new GenericAlertComposer(result));
|
||||
gameClient.sendResponse(new GenericAlertComposer(result.toString()));
|
||||
}
|
||||
else if (params[1].equalsIgnoreCase("threads"))
|
||||
{
|
||||
@ -403,7 +401,7 @@ public class TestCommand extends Command
|
||||
}
|
||||
else if (params[1].equals("datb"))
|
||||
{
|
||||
long millis = 1;
|
||||
long millis;
|
||||
long diff = 1;
|
||||
try(Connection conn = Emulator.getDatabase().getDataSource().getConnection())
|
||||
{
|
||||
|
@ -24,18 +24,18 @@ public class TransformCommand extends Command
|
||||
{
|
||||
if (params.length == 1)
|
||||
{
|
||||
String petNames = "";
|
||||
petNames += (Emulator.getTexts().getValue("commands.generic.cmd_transform.title"));
|
||||
petNames += "\r------------------------------------------------------------------------------\r";
|
||||
StringBuilder petNames = new StringBuilder();
|
||||
petNames.append(Emulator.getTexts().getValue("commands.generic.cmd_transform.title"));
|
||||
petNames.append("\r------------------------------------------------------------------------------\r");
|
||||
ArrayList<PetData> petData = new ArrayList<>(Emulator.getGameEnvironment().getPetManager().getPetData());
|
||||
Collections.sort(petData);
|
||||
String line = Emulator.getTexts().getValue("commands.generic.cmd_transform.line");
|
||||
for (PetData p : petData)
|
||||
{
|
||||
petNames += (line.replace("%id%", p.getType() + "").replace("%name%", p.getName())) + "\r";
|
||||
petNames.append(line.replace("%id%", p.getType() + "").replace("%name%", p.getName())).append("\r");
|
||||
}
|
||||
|
||||
gameClient.sendResponse(new MessagesForYouComposer(new String[]{petNames}));
|
||||
gameClient.sendResponse(new MessagesForYouComposer(new String[]{petNames.toString()}));
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
@ -43,29 +43,29 @@ public class UserInfoCommand extends Command
|
||||
return true;
|
||||
}
|
||||
|
||||
String message = Emulator.getTexts().getValue("command.cmd_userinfo.userinfo") + ": " + " <b>" + habbo.getUsername() + "</b> (<b>" + habbo.getId() + "</b>)\r" +
|
||||
StringBuilder message = new StringBuilder(Emulator.getTexts().getValue("command.cmd_userinfo.userinfo") + ": " + " <b>" + habbo.getUsername() + "</b> (<b>" + habbo.getId() + "</b>)\r" +
|
||||
Emulator.getTexts().getValue("command.cmd_userinfo.user_id") + ": " + habbo.getId() + "\r" +
|
||||
Emulator.getTexts().getValue("command.cmd_userinfo.user_name") + ": " + habbo.getUsername() + "\r" +
|
||||
Emulator.getTexts().getValue("command.cmd_userinfo.motto") + ": " + habbo.getMotto().replace("<", "[").replace(">", "]") + "\r" +
|
||||
Emulator.getTexts().getValue("command.cmd_userinfo.rank") + ": " +habbo.getRank().getName() + " (" + habbo.getRank().getId() + ") \r" +
|
||||
Emulator.getTexts().getValue("command.cmd_userinfo.rank") + ": " + habbo.getRank().getName() + " (" + habbo.getRank().getId() + ") \r" +
|
||||
Emulator.getTexts().getValue("command.cmd_userinfo.online") + ": " + (onlineHabbo == null ? Emulator.getTexts().getValue("generic.no") : Emulator.getTexts().getValue("generic.yes")) + "\r" +
|
||||
Emulator.getTexts().getValue("command.cmd_userinfo.email") + ": " + habbo.getMail() + "\r" +
|
||||
((habbo.getRank().hasPermission("acc_hide_ip", true))?"" : Emulator.getTexts().getValue("command.cmd_userinfo.ip_register") + ": "+ habbo.getIpRegister() + "\r") +
|
||||
((habbo.getRank().hasPermission("acc_hide_ip", true)) || onlineHabbo == null ? "" : Emulator.getTexts().getValue("command.cmd_userinfo.ip_current") + ": " + onlineHabbo.getClient().getChannel().remoteAddress().toString() + "\r") +
|
||||
(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.achievement_score") + ": " + onlineHabbo.getHabboStats().achievementScore + "\r": "");
|
||||
((habbo.getRank().hasPermission("acc_hide_ip", true)) ? "" : Emulator.getTexts().getValue("command.cmd_userinfo.ip_register") + ": " + habbo.getIpRegister() + "\r") +
|
||||
((habbo.getRank().hasPermission("acc_hide_ip", true)) || onlineHabbo == null ? "" : Emulator.getTexts().getValue("command.cmd_userinfo.ip_current") + ": " + onlineHabbo.getClient().getChannel().remoteAddress().toString() + "\r") +
|
||||
(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.achievement_score") + ": " + onlineHabbo.getHabboStats().achievementScore + "\r" : ""));
|
||||
|
||||
ModToolBan ban = Emulator.getGameEnvironment().getModToolManager().checkForBan(habbo.getId());
|
||||
|
||||
message += Emulator.getTexts().getValue("command.cmd_userinfo.total_bans") + ": " + Emulator.getGameEnvironment().getModToolManager().totalBans(habbo.getId()) + "\r";
|
||||
message += Emulator.getTexts().getValue("command.cmd_userinfo.banned") + ": " + Emulator.getTexts().getValue(ban != null ? "generic.yes" : "generic.no") + "\r\r";
|
||||
message.append(Emulator.getTexts().getValue("command.cmd_userinfo.total_bans")).append(": ").append(Emulator.getGameEnvironment().getModToolManager().totalBans(habbo.getId())).append("\r");
|
||||
message.append(Emulator.getTexts().getValue("command.cmd_userinfo.banned")).append(": ").append(Emulator.getTexts().getValue(ban != null ? "generic.yes" : "generic.no")).append("\r\r");
|
||||
if (ban != null)
|
||||
{
|
||||
message += "<b>" + Emulator.getTexts().getValue("command.cmd_userinfo.ban_info") + "</b>\r";
|
||||
message += ban.listInfo() + "\r";
|
||||
message.append("<b>").append(Emulator.getTexts().getValue("command.cmd_userinfo.ban_info")).append("</b>\r");
|
||||
message.append(ban.listInfo()).append("\r");
|
||||
}
|
||||
|
||||
message += "<b>" + Emulator.getTexts().getValue("command.cmd_userinfo.currencies") + "</b>\r";
|
||||
message += Emulator.getTexts().getValue("command.cmd_userinfo.credits") + ": " + habbo.getCredits() + "\r";
|
||||
message.append("<b>").append(Emulator.getTexts().getValue("command.cmd_userinfo.currencies")).append("</b>\r");
|
||||
message.append(Emulator.getTexts().getValue("command.cmd_userinfo.credits")).append(": ").append(habbo.getCredits()).append("\r");
|
||||
TIntIntIterator iterator = habbo.getCurrencies().iterator();
|
||||
|
||||
for(int i = habbo.getCurrencies().size(); i-- > 0;)
|
||||
@ -79,36 +79,27 @@ public class UserInfoCommand extends Command
|
||||
break;
|
||||
}
|
||||
|
||||
message += (Emulator.getTexts().getValue("seasonal.name." + iterator.key()) + ": " + iterator.value() + "\r");
|
||||
message.append(Emulator.getTexts().getValue("seasonal.name." + iterator.key())).append(": ").append(iterator.value()).append("\r");
|
||||
}
|
||||
message += "\r" +
|
||||
|
||||
(onlineHabbo != null ? "<b>" + Emulator.getTexts().getValue("command.cmd_userinfo.current_activity") + "</b>\r" : "") +
|
||||
(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.room") + ": " + (onlineHabbo.getHabboInfo().getCurrentRoom() != null ? onlineHabbo.getHabboInfo().getCurrentRoom().getName() + "(" + onlineHabbo.getHabboInfo().getCurrentRoom().getId() + ")\r" : "-" ): "") +
|
||||
(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.respect_left") + ": " + onlineHabbo.getHabboStats().respectPointsToGive + "\r" : "") +
|
||||
(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.pet_respect_left") + ": " + onlineHabbo.getHabboStats().petRespectPointsToGive + "\r" : "") +
|
||||
(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_trade") + ": " + ((onlineHabbo.getHabboStats().allowTrade()) ? Emulator.getTexts().getValue("generic.yes") : Emulator.getTexts().getValue("generic.no")) + "\r" : "") +
|
||||
(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_follow") + ": " + ((onlineHabbo.getHabboStats().blockFollowing) ? Emulator.getTexts().getValue("generic.no") : Emulator.getTexts().getValue("generic.yes")) + "\r" : "") +
|
||||
(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_friend_request") + ": " + ((onlineHabbo.getHabboStats().blockFriendRequests) ? Emulator.getTexts().getValue("generic.no") : Emulator.getTexts().getValue("generic.yes")) + "\r" : "");
|
||||
message.append("\r").append(onlineHabbo != null ? "<b>" + Emulator.getTexts().getValue("command.cmd_userinfo.current_activity") + "</b>\r" : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.room") + ": " + (onlineHabbo.getHabboInfo().getCurrentRoom() != null ? onlineHabbo.getHabboInfo().getCurrentRoom().getName() + "(" + onlineHabbo.getHabboInfo().getCurrentRoom().getId() + ")\r" : "-") : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.respect_left") + ": " + onlineHabbo.getHabboStats().respectPointsToGive + "\r" : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.pet_respect_left") + ": " + onlineHabbo.getHabboStats().petRespectPointsToGive + "\r" : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_trade") + ": " + ((onlineHabbo.getHabboStats().allowTrade()) ? Emulator.getTexts().getValue("generic.yes") : Emulator.getTexts().getValue("generic.no")) + "\r" : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_follow") + ": " + ((onlineHabbo.getHabboStats().blockFollowing) ? Emulator.getTexts().getValue("generic.no") : Emulator.getTexts().getValue("generic.yes")) + "\r" : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_friend_request") + ": " + ((onlineHabbo.getHabboStats().blockFriendRequests) ? Emulator.getTexts().getValue("generic.no") : Emulator.getTexts().getValue("generic.yes")) + "\r" : "");
|
||||
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
List<Map.Entry<Integer, String>> nameChanges = Emulator.getGameEnvironment().getHabboManager().getNameChanges(habbo.getId(), 3);
|
||||
if (!nameChanges.isEmpty())
|
||||
{
|
||||
message += "\r<b>Latest name changes:<b><br/>";
|
||||
message.append("\r<b>Latest name changes:<b><br/>");
|
||||
for (Map.Entry<Integer, String> entry : nameChanges)
|
||||
{
|
||||
message += format.format(new Date((long)entry.getKey() * 1000L)) + " : " + entry.getValue() + "<br/>";
|
||||
message.append(format.format(new Date((long) entry.getKey() * 1000L))).append(" : ").append(entry.getValue()).append("<br/>");
|
||||
}
|
||||
}
|
||||
|
||||
if(onlineHabbo != null)
|
||||
{
|
||||
message += "\r" +
|
||||
"<b>Other accounts (";
|
||||
message.append("\r" + "<b>Other accounts (");
|
||||
|
||||
ArrayList<HabboInfo> users = Emulator.getGameEnvironment().getHabboManager().getCloneAccounts(onlineHabbo, 10);
|
||||
Collections.sort(users, new Comparator<HabboInfo>()
|
||||
users.sort(new Comparator<HabboInfo>()
|
||||
{
|
||||
@Override
|
||||
public int compare(HabboInfo o1, HabboInfo o2)
|
||||
@ -117,17 +108,17 @@ public class UserInfoCommand extends Command
|
||||
}
|
||||
});
|
||||
|
||||
message += users.size() + "):</b>\r";
|
||||
message.append(users.size()).append("):</b>\r");
|
||||
|
||||
|
||||
message += "<b>Username,\tID,\tDate register,\tDate last online</b>\r";
|
||||
message.append("<b>Username,\tID,\tDate register,\tDate last online</b>\r");
|
||||
|
||||
for(HabboInfo info : users)
|
||||
{
|
||||
message += info.getUsername() + ",\t" + info.getId() + ",\t" + format.format(new Date((long)info.getAccountCreated() * 1000L)) + ",\t" + format.format(new Date((long)info.getLastOnline() * 1000L)) + "\r";
|
||||
message.append(info.getUsername()).append(",\t").append(info.getId()).append(",\t").append(format.format(new Date((long) info.getAccountCreated() * 1000L))).append(",\t").append(format.format(new Date((long) info.getLastOnline() * 1000L))).append("\r");
|
||||
}
|
||||
}
|
||||
gameClient.sendResponse(new GenericAlertComposer(message));
|
||||
gameClient.getHabbo().alert(message.toString());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -15,14 +15,14 @@ public class WordQuizCommand extends Command
|
||||
{
|
||||
if (!gameClient.getHabbo().getHabboInfo().getCurrentRoom().hasActiveWordQuiz())
|
||||
{
|
||||
String question = "";
|
||||
StringBuilder question = new StringBuilder();
|
||||
int duration = 60;
|
||||
|
||||
if (params.length > 2)
|
||||
{
|
||||
for (int i = 1; i < params.length - 1; i++)
|
||||
{
|
||||
question += " " + params[i];
|
||||
question.append(" ").append(params[i]);
|
||||
}
|
||||
|
||||
try
|
||||
@ -31,15 +31,15 @@ public class WordQuizCommand extends Command
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
question += " " + params[params.length -1];
|
||||
question.append(" ").append(params[params.length - 1]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
question = params[1];
|
||||
question = new StringBuilder(params[1]);
|
||||
}
|
||||
|
||||
gameClient.getHabbo().getHabboInfo().getCurrentRoom().startWordQuiz(question, duration * 1000);
|
||||
gameClient.getHabbo().getHabboInfo().getCurrentRoom().startWordQuiz(question.toString(), duration * 1000);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -20,8 +20,8 @@ public class CraftingAltar
|
||||
{
|
||||
this.baseItem = baseItem;
|
||||
|
||||
this.ingredients = new THashSet<>();
|
||||
this.recipes = new THashMap<>();
|
||||
this.ingredients = new THashSet<>(1);
|
||||
this.recipes = new THashMap<>(1);
|
||||
}
|
||||
|
||||
public void addIngredient(Item item)
|
||||
@ -36,12 +36,12 @@ public class CraftingAltar
|
||||
|
||||
public Map<CraftingRecipe, Boolean> matchRecipes(Map<Item, Integer> amountMap)
|
||||
{
|
||||
THashMap<CraftingRecipe, Boolean> foundRecepies = new THashMap<>();
|
||||
THashMap<CraftingRecipe, Boolean> foundRecepies = new THashMap<>(Math.max(1, this.recipes.size() / 3));
|
||||
|
||||
for (Map.Entry<Integer, CraftingRecipe> set : this.recipes.entrySet())
|
||||
{
|
||||
boolean contains = true;
|
||||
boolean equals = true;
|
||||
boolean equals;
|
||||
|
||||
if (set.getValue().isLimited() && !set.getValue().canBeCrafted())
|
||||
{
|
||||
@ -73,38 +73,6 @@ public class CraftingAltar
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (contains)
|
||||
{
|
||||
foundRecepies.put(set.getValue(), equals);
|
||||
|
@ -105,7 +105,7 @@ public class CraftingManager
|
||||
|
||||
public CraftingRecipe getRecipe(String recipeName)
|
||||
{
|
||||
CraftingRecipe recipe = null;
|
||||
CraftingRecipe recipe;
|
||||
for (CraftingAltar altar : this.altars.values())
|
||||
{
|
||||
recipe = altar.getRecipe(recipeName);
|
||||
|
@ -27,7 +27,7 @@ public class GameClient
|
||||
|
||||
private String machineId = "";
|
||||
|
||||
public ConcurrentHashMap<Integer, Integer> incomingPacketCounter = new ConcurrentHashMap<>(25);
|
||||
public final ConcurrentHashMap<Integer, Integer> incomingPacketCounter = new ConcurrentHashMap<>(25);
|
||||
public long lastPacketCounterCleared = Emulator.getIntUnixTimestamp();
|
||||
|
||||
public GameClient(Channel channel)
|
||||
@ -43,7 +43,7 @@ public class GameClient
|
||||
try
|
||||
{
|
||||
ServerMessage msg = composer.compose();
|
||||
sendResponse(msg);
|
||||
this.sendResponse(msg);
|
||||
} catch (Exception e)
|
||||
{
|
||||
Emulator.getLogging().logPacketError(e);
|
||||
|
@ -21,36 +21,14 @@ public class GameClientManager
|
||||
{
|
||||
this.clients = new ConcurrentHashMap<>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public ConcurrentMap<ChannelId, GameClient> getSessions()
|
||||
{
|
||||
return this.clients;
|
||||
}
|
||||
|
||||
public boolean containsClient(Channel channel)
|
||||
{
|
||||
return this.clients.containsKey(channel.id());
|
||||
}
|
||||
|
||||
public GameClient getClient(Channel channel)
|
||||
{
|
||||
if (this.clients.containsKey(channel.id())) {
|
||||
return this.clients.get(channel.id());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public GameClient getClient(Habbo habbo)
|
||||
{
|
||||
for(GameClient client : this.clients.values())
|
||||
{
|
||||
if(client.getHabbo() == habbo)
|
||||
return client;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean addClient(ChannelHandlerContext ctx)
|
||||
{
|
||||
GameClient client = new GameClient(ctx.channel());
|
||||
@ -59,19 +37,20 @@ public class GameClientManager
|
||||
@Override
|
||||
public void operationComplete(ChannelFuture channelFuture) throws Exception
|
||||
{
|
||||
disposeClient(ctx.channel());
|
||||
GameClientManager.this.disposeClient(ctx.channel());
|
||||
}
|
||||
});
|
||||
|
||||
ctx.attr(CLIENT).set(client);
|
||||
ctx.channel().attr(CLIENT).set(client);
|
||||
ctx.fireChannelRegistered();
|
||||
|
||||
return this.clients.putIfAbsent(ctx.channel().id(), client) == null;
|
||||
}
|
||||
|
||||
|
||||
public void disposeClient(GameClient client)
|
||||
{
|
||||
client.getChannel().close();
|
||||
this.disposeClient(client.getChannel());
|
||||
}
|
||||
|
||||
private void disposeClient(Channel channel)
|
||||
@ -88,7 +67,8 @@ public class GameClientManager
|
||||
channel.close();
|
||||
this.clients.remove(channel.id());
|
||||
}
|
||||
|
||||
|
||||
|
||||
public boolean containsHabbo(Integer id)
|
||||
{
|
||||
if (!this.clients.isEmpty())
|
||||
@ -108,6 +88,7 @@ public class GameClientManager
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public Habbo getHabbo(int id)
|
||||
{
|
||||
for(GameClient client : this.clients.values())
|
||||
@ -122,6 +103,7 @@ public class GameClientManager
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public Habbo getHabbo(String username)
|
||||
{
|
||||
for(GameClient client : this.clients.values())
|
||||
@ -136,6 +118,7 @@ public class GameClientManager
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public List<Habbo> getHabbosWithIP(String ip)
|
||||
{
|
||||
List<Habbo> habbos = new ArrayList<>();
|
||||
@ -154,6 +137,7 @@ public class GameClientManager
|
||||
return habbos;
|
||||
}
|
||||
|
||||
|
||||
public List<Habbo> getHabbosWithMachineId(String machineId)
|
||||
{
|
||||
List<Habbo> habbos = new ArrayList<>();
|
||||
@ -169,28 +153,35 @@ public class GameClientManager
|
||||
return habbos;
|
||||
}
|
||||
|
||||
|
||||
public void sendBroadcastResponse(MessageComposer composer)
|
||||
{
|
||||
sendBroadcastResponse(composer.compose());
|
||||
this.sendBroadcastResponse(composer.compose());
|
||||
}
|
||||
|
||||
public void sendBroadcastResponse(ServerMessage msg)
|
||||
|
||||
public void sendBroadcastResponse(ServerMessage message)
|
||||
{
|
||||
for (GameClient client : this.clients.values()) {
|
||||
client.sendResponse(msg);
|
||||
for (GameClient client : this.clients.values())
|
||||
{
|
||||
client.sendResponse(message);
|
||||
}
|
||||
}
|
||||
|
||||
public void sendBroadcastResponse(ServerMessage msg, GameClient exclude)
|
||||
|
||||
public void sendBroadcastResponse(ServerMessage message, GameClient exclude)
|
||||
{
|
||||
for (GameClient client : this.clients.values()) {
|
||||
for (GameClient client : this.clients.values())
|
||||
{
|
||||
if(client.equals(exclude))
|
||||
continue;
|
||||
|
||||
client.sendResponse(msg);
|
||||
client.sendResponse(message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void sendBroadcastResponse(ServerMessage message, String minPermission, GameClient exclude)
|
||||
{
|
||||
for (GameClient client : this.clients.values())
|
||||
|
@ -31,19 +31,22 @@ public abstract class Game implements Runnable
|
||||
protected final THashMap<GameTeamColors, GameTeam> teams = new THashMap<>();
|
||||
|
||||
|
||||
protected Room room;
|
||||
protected final Room room;
|
||||
|
||||
|
||||
protected boolean countsAchievements;
|
||||
protected final boolean countsAchievements;
|
||||
|
||||
|
||||
protected int startTime;
|
||||
|
||||
|
||||
protected int pauseTime;
|
||||
|
||||
|
||||
protected int endTime;
|
||||
|
||||
|
||||
public boolean isRunning;
|
||||
public GameState state = GameState.IDLE;
|
||||
|
||||
public Game(Class<? extends GameTeam> gameTeamClazz, Class<? extends GamePlayer> gamePlayerClazz, Room room, boolean countsAchievements)
|
||||
{
|
||||
@ -137,14 +140,14 @@ public abstract class Game implements Runnable
|
||||
|
||||
if (deleteGame)
|
||||
{
|
||||
room.deleteGame(this);
|
||||
this.room.deleteGame(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void start()
|
||||
{
|
||||
this.isRunning = true;
|
||||
this.state = GameState.RUNNING;
|
||||
this.startTime = Emulator.getIntUnixTimestamp();
|
||||
|
||||
if(Emulator.getPluginManager().isRegistered(GameStartedEvent.class, true))
|
||||
@ -158,17 +161,34 @@ public abstract class Game implements Runnable
|
||||
for (HabboItem item : this.room.getRoomSpecialTypes().getItemsOfType(WiredBlob.class))
|
||||
{
|
||||
item.setExtradata("0");
|
||||
room.updateItem(item);
|
||||
this.room.updateItem(item);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public abstract void run();
|
||||
|
||||
public void pause()
|
||||
{
|
||||
if (this.state.equals(GameState.RUNNING))
|
||||
{
|
||||
this.state = GameState.PAUSED;
|
||||
this.pauseTime = Emulator.getIntUnixTimestamp();
|
||||
}
|
||||
}
|
||||
|
||||
public void unpause()
|
||||
{
|
||||
if (this.state.equals(GameState.PAUSED))
|
||||
{
|
||||
this.state = GameState.RUNNING;
|
||||
this.endTime = Emulator.getIntUnixTimestamp() + (this.endTime - this.pauseTime);
|
||||
}
|
||||
}
|
||||
|
||||
public void stop()
|
||||
{
|
||||
this.isRunning = false;
|
||||
this.state = GameState.IDLE;
|
||||
this.endTime = Emulator.getIntUnixTimestamp();
|
||||
|
||||
this.saveScores();
|
||||
|
@ -7,7 +7,7 @@ import com.eu.habbo.habbohotel.wired.WiredTriggerType;
|
||||
public class GamePlayer
|
||||
{
|
||||
|
||||
private Habbo habbo;
|
||||
private final Habbo habbo;
|
||||
|
||||
|
||||
private GameTeamColors teamColor;
|
||||
|
@ -0,0 +1,8 @@
|
||||
package com.eu.habbo.habbohotel.games;
|
||||
|
||||
public enum GameState
|
||||
{
|
||||
IDLE,
|
||||
RUNNING,
|
||||
PAUSED
|
||||
}
|
@ -2,10 +2,7 @@ package com.eu.habbo.habbohotel.games.battlebanzai;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.habbohotel.achievements.AchievementManager;
|
||||
import com.eu.habbo.habbohotel.games.Game;
|
||||
import com.eu.habbo.habbohotel.games.GamePlayer;
|
||||
import com.eu.habbo.habbohotel.games.GameTeam;
|
||||
import com.eu.habbo.habbohotel.games.GameTeamColors;
|
||||
import com.eu.habbo.habbohotel.games.*;
|
||||
import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.InteractionBattleBanzaiSphere;
|
||||
import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.InteractionBattleBanzaiTile;
|
||||
import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.InteractionBattleBanzaiTimer;
|
||||
@ -13,19 +10,15 @@ import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.gates.Inter
|
||||
import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.scoreboards.InteractionBattleBanzaiScoreboard;
|
||||
import com.eu.habbo.habbohotel.rooms.Room;
|
||||
import com.eu.habbo.habbohotel.rooms.RoomTile;
|
||||
import com.eu.habbo.habbohotel.rooms.RoomUnitStatus;
|
||||
import com.eu.habbo.habbohotel.rooms.RoomUserAction;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
import com.eu.habbo.habbohotel.users.HabboItem;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserActionComposer;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserStatusComposer;
|
||||
import com.eu.habbo.plugin.EventHandler;
|
||||
import com.eu.habbo.plugin.EventPriority;
|
||||
import com.eu.habbo.plugin.events.users.UserTakeStepEvent;
|
||||
import com.eu.habbo.threading.runnables.BattleBanzaiTilesFlicker;
|
||||
import gnu.trove.map.hash.THashMap;
|
||||
import gnu.trove.set.hash.THashSet;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
public class BattleBanzaiGame extends Game
|
||||
@ -51,11 +44,14 @@ public class BattleBanzaiGame extends Game
|
||||
|
||||
private final THashMap<GameTeamColors, THashSet<HabboItem>> lockedTiles;
|
||||
|
||||
private final THashMap<Integer, HabboItem> gameTiles;
|
||||
|
||||
public BattleBanzaiGame(Room room)
|
||||
{
|
||||
super(BattleBanzaiGameTeam.class, BattleBanzaiGamePlayer.class, room, true);
|
||||
|
||||
this.lockedTiles = new THashMap<>();
|
||||
this.gameTiles = new THashMap<>();
|
||||
|
||||
room.setAllowEffects(true);
|
||||
}
|
||||
@ -63,7 +59,7 @@ public class BattleBanzaiGame extends Game
|
||||
@Override
|
||||
public void initialise()
|
||||
{
|
||||
if(this.isRunning)
|
||||
if(!this.state.equals(GameState.IDLE))
|
||||
return;
|
||||
|
||||
int highestTime = 0;
|
||||
@ -115,7 +111,7 @@ public class BattleBanzaiGame extends Game
|
||||
@Override
|
||||
public void start()
|
||||
{
|
||||
if(this.isRunning)
|
||||
if(!this.state.equals(GameState.IDLE))
|
||||
return;
|
||||
|
||||
super.start();
|
||||
@ -130,7 +126,7 @@ public class BattleBanzaiGame extends Game
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!this.isRunning)
|
||||
if (this.state.equals(GameState.IDLE))
|
||||
return;
|
||||
|
||||
if(this.countDown > 0)
|
||||
@ -158,11 +154,13 @@ public class BattleBanzaiGame extends Game
|
||||
{
|
||||
Emulator.getThreading().run(this, 1000);
|
||||
|
||||
if (this.state.equals(GameState.PAUSED)) return;
|
||||
|
||||
this.timeLeft--;
|
||||
|
||||
for (Map.Entry<Integer, InteractionBattleBanzaiTimer> set : this.room.getRoomSpecialTypes().getBattleBanzaiTimers().entrySet())
|
||||
{
|
||||
set.getValue().setExtradata(timeLeft + "");
|
||||
set.getValue().setExtradata(this.timeLeft + "");
|
||||
this.room.updateItemState(set.getValue());
|
||||
}
|
||||
|
||||
@ -226,35 +224,30 @@ public class BattleBanzaiGame extends Game
|
||||
|
||||
if (winningTeam != null)
|
||||
{
|
||||
synchronized (winningTeam)
|
||||
for (GamePlayer player : winningTeam.getMembers())
|
||||
{
|
||||
for (GamePlayer player : winningTeam.getMembers())
|
||||
if (player.getScore() > 0)
|
||||
{
|
||||
if (player.getScore() > 0)
|
||||
{
|
||||
this.room.sendComposer(new RoomUserActionComposer(player.getHabbo().getRoomUnit(), RoomUserAction.WAVE).compose());
|
||||
AchievementManager.progressAchievement(player.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("BattleBallWinner"));
|
||||
}
|
||||
this.room.sendComposer(new RoomUserActionComposer(player.getHabbo().getRoomUnit(), RoomUserAction.WAVE).compose());
|
||||
AchievementManager.progressAchievement(player.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("BattleBallWinner"));
|
||||
}
|
||||
|
||||
for (HabboItem item : this.room.getRoomSpecialTypes().getItemsOfType(InteractionBattleBanzaiSphere.class))
|
||||
{
|
||||
item.setExtradata((7 + winningTeam.teamColor.type) + "");
|
||||
this.room.updateItemState(item);
|
||||
}
|
||||
|
||||
Emulator.getThreading().run(new BattleBanzaiTilesFlicker(this.lockedTiles.get(winningTeam.teamColor), winningTeam.teamColor, this.room));
|
||||
}
|
||||
|
||||
for (HabboItem item : this.room.getRoomSpecialTypes().getItemsOfType(InteractionBattleBanzaiSphere.class))
|
||||
{
|
||||
item.setExtradata((7 + winningTeam.teamColor.type) + "");
|
||||
this.room.updateItemState(item);
|
||||
}
|
||||
|
||||
Emulator.getThreading().run(new BattleBanzaiTilesFlicker(this.lockedTiles.get(winningTeam.teamColor), winningTeam.teamColor, this.room));
|
||||
}
|
||||
|
||||
this.stop();
|
||||
|
||||
this.isRunning = false;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
Emulator.getLogging().logErrorLine(e);
|
||||
}
|
||||
}
|
||||
|
||||
@ -265,23 +258,21 @@ public class BattleBanzaiGame extends Game
|
||||
|
||||
this.timeLeft = 0;
|
||||
|
||||
//Think on Habbo the counters and tiles stay as is untill the game restarts.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
this.refreshGates();
|
||||
|
||||
for (HabboItem tile : this.gameTiles.values())
|
||||
{
|
||||
if (tile.getExtradata().equals("1"))
|
||||
{
|
||||
tile.setExtradata("0");
|
||||
this.room.updateItemState(tile);
|
||||
}
|
||||
}
|
||||
this.lockedTiles.clear();
|
||||
}
|
||||
|
||||
|
||||
protected synchronized void resetMap()
|
||||
private synchronized void resetMap()
|
||||
{
|
||||
for (HabboItem item : this.room.getFloorItems())
|
||||
{
|
||||
@ -290,6 +281,7 @@ public class BattleBanzaiGame extends Game
|
||||
item.setExtradata("1");
|
||||
this.room.updateItemState(item);
|
||||
this.tileCount++;
|
||||
this.gameTiles.put(item.getId(), item);
|
||||
}
|
||||
|
||||
if (item instanceof InteractionBattleBanzaiScoreboard)
|
||||
@ -316,25 +308,6 @@ public class BattleBanzaiGame extends Game
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public static void onUserWalkEvent(UserTakeStepEvent event)
|
||||
{
|
||||
if(event.habbo.getHabboInfo().getCurrentGame() == BattleBanzaiGame.class)
|
||||
{
|
||||
BattleBanzaiGame game = (BattleBanzaiGame) event.habbo.getHabboInfo().getCurrentRoom().getGame(BattleBanzaiGame.class);
|
||||
if (game != null && game.isRunning)
|
||||
{
|
||||
if(!event.habbo.getHabboInfo().getCurrentRoom().hasObjectTypeAt(InteractionBattleBanzaiTile.class, event.toLocation.x, event.toLocation.y))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
event.habbo.getRoomUnit().setGoalLocation(event.habbo.getRoomUnit().getCurrentLocation());
|
||||
event.habbo.getRoomUnit().removeStatus(RoomUnitStatus.MOVE);
|
||||
game.room.sendComposer(new RoomUserStatusComposer(event.habbo.getRoomUnit()).compose());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void tileLocked(GameTeamColors teamColor, HabboItem item, Habbo habbo)
|
||||
{
|
||||
@ -392,12 +365,44 @@ public class BattleBanzaiGame extends Game
|
||||
|
||||
private void refreshGates()
|
||||
{
|
||||
THashSet<RoomTile> tilesToUpdate = new THashSet<>();
|
||||
for (HabboItem item : this.room.getRoomSpecialTypes().getBattleBanzaiGates().values())
|
||||
Collection<InteractionBattleBanzaiGate> gates = this.room.getRoomSpecialTypes().getBattleBanzaiGates().values();
|
||||
THashSet<RoomTile> tilesToUpdate = new THashSet<>(gates.size());
|
||||
for (HabboItem item : gates)
|
||||
{
|
||||
tilesToUpdate.add(this.room.getLayout().getTile(item.getX(), item.getY()));
|
||||
}
|
||||
|
||||
this.room.updateTiles(tilesToUpdate);
|
||||
}
|
||||
|
||||
public void markTile(Habbo habbo, InteractionBattleBanzaiTile tile, int state)
|
||||
{
|
||||
if (!this.gameTiles.contains(tile.getId())) return;
|
||||
|
||||
int check = state - (habbo.getHabboInfo().getGamePlayer().getTeamColor().type * 3);
|
||||
if(check == 3 || check == 4)
|
||||
{
|
||||
state++;
|
||||
|
||||
if(state % 3 == 2)
|
||||
{
|
||||
habbo.getHabboInfo().getGamePlayer().addScore(BattleBanzaiGame.POINTS_LOCK_TILE);
|
||||
this.tileLocked(habbo.getHabboInfo().getGamePlayer().getTeamColor(), tile, habbo);
|
||||
}
|
||||
else
|
||||
{
|
||||
habbo.getHabboInfo().getGamePlayer().addScore(BattleBanzaiGame.POINTS_FILL_TILE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
state = (habbo.getHabboInfo().getGamePlayer().getTeamColor().type * 3) + 3;
|
||||
|
||||
habbo.getHabboInfo().getGamePlayer().addScore(BattleBanzaiGame.POINTS_HIJACK_TILE);
|
||||
}
|
||||
|
||||
this.refreshCounters(habbo.getHabboInfo().getGamePlayer().getTeamColor());
|
||||
tile.setExtradata(state + "");
|
||||
this.room.updateItem(tile);
|
||||
}
|
||||
}
|
||||
|
@ -17,19 +17,19 @@ public class BattleBanzaiGameTeam extends GameTeam
|
||||
{
|
||||
super.addMember(gamePlayer);
|
||||
|
||||
gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), BattleBanzaiGame.effectId + this.teamColor.type);
|
||||
gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), BattleBanzaiGame.effectId + this.teamColor.type, -1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMember(GamePlayer gamePlayer)
|
||||
{
|
||||
Game game = gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().getGame(gamePlayer.getHabbo().getHabboInfo().getCurrentGame());
|
||||
if(game != null && game instanceof BattleBanzaiGame)
|
||||
if(game instanceof BattleBanzaiGame)
|
||||
{
|
||||
((BattleBanzaiGame) game).addPositionToGate(gamePlayer.getTeamColor());
|
||||
}
|
||||
|
||||
gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), 0);
|
||||
gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), 0, -1);
|
||||
gamePlayer.getHabbo().getRoomUnit().setCanWalk(true);
|
||||
|
||||
super.removeMember(gamePlayer);
|
||||
|
@ -40,15 +40,14 @@ public class FootballGame extends Game
|
||||
if(this.room == null || !this.room.isLoaded())
|
||||
return;
|
||||
|
||||
Habbo habbo = room.getHabbo(kicker);
|
||||
Habbo habbo = this.room.getHabbo(kicker);
|
||||
if(habbo != null)
|
||||
{
|
||||
AchievementManager.progressAchievement(habbo, Emulator.getGameEnvironment().getAchievementManager().getAchievement("FootballGoalScored"));
|
||||
}
|
||||
|
||||
if (habbo.getHabboInfo().getId() != this.room.getOwnerId())
|
||||
{
|
||||
AchievementManager.progressAchievement(this.room.getOwnerId(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("FootballGoalScoredInRoom"));
|
||||
if (habbo.getHabboInfo().getId() != this.room.getOwnerId())
|
||||
{
|
||||
AchievementManager.progressAchievement(this.room.getOwnerId(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("FootballGoalScoredInRoom"));
|
||||
}
|
||||
}
|
||||
|
||||
this.room.sendComposer(new RoomUserActionComposer(kicker, RoomUserAction.WAVE).compose());
|
||||
@ -58,5 +57,4 @@ public class FootballGame extends Game
|
||||
scoreBoard.getValue().changeScore(1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -2,26 +2,24 @@ package com.eu.habbo.habbohotel.games.freeze;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.habbohotel.achievements.AchievementManager;
|
||||
import com.eu.habbo.habbohotel.games.Game;
|
||||
import com.eu.habbo.habbohotel.games.GamePlayer;
|
||||
import com.eu.habbo.habbohotel.games.GameTeam;
|
||||
import com.eu.habbo.habbohotel.games.GameTeamColors;
|
||||
import com.eu.habbo.habbohotel.games.*;
|
||||
import com.eu.habbo.habbohotel.items.interactions.games.freeze.InteractionFreezeBlock;
|
||||
import com.eu.habbo.habbohotel.items.interactions.games.freeze.InteractionFreezeExitTile;
|
||||
import com.eu.habbo.habbohotel.items.interactions.games.freeze.InteractionFreezeTile;
|
||||
import com.eu.habbo.habbohotel.items.interactions.games.freeze.InteractionFreezeTimer;
|
||||
import com.eu.habbo.habbohotel.items.interactions.games.freeze.gates.InteractionFreezeGate;
|
||||
import com.eu.habbo.habbohotel.items.interactions.games.freeze.scoreboards.InteractionFreezeScoreboard;
|
||||
import com.eu.habbo.habbohotel.rooms.*;
|
||||
import com.eu.habbo.habbohotel.rooms.Room;
|
||||
import com.eu.habbo.habbohotel.rooms.RoomLayout;
|
||||
import com.eu.habbo.habbohotel.rooms.RoomTile;
|
||||
import com.eu.habbo.habbohotel.rooms.RoomUserAction;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
import com.eu.habbo.habbohotel.users.HabboItem;
|
||||
import com.eu.habbo.habbohotel.wired.WiredHandler;
|
||||
import com.eu.habbo.habbohotel.wired.WiredTriggerType;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserActionComposer;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.RoomUserStatusComposer;
|
||||
import com.eu.habbo.plugin.EventHandler;
|
||||
import com.eu.habbo.plugin.events.emulator.EmulatorConfigUpdatedEvent;
|
||||
import com.eu.habbo.plugin.events.users.UserTakeStepEvent;
|
||||
import com.eu.habbo.threading.runnables.freeze.FreezeClearEffects;
|
||||
import com.eu.habbo.threading.runnables.freeze.FreezeThrowSnowball;
|
||||
import gnu.trove.map.hash.THashMap;
|
||||
@ -34,6 +32,7 @@ import java.util.Map;
|
||||
public class FreezeGame extends Game
|
||||
{
|
||||
public static final int effectId = 40;
|
||||
|
||||
public static int POWER_UP_POINTS;
|
||||
public static int POWER_UP_CHANCE;
|
||||
public static int POWER_UP_PROTECT_TIME;
|
||||
@ -57,7 +56,7 @@ public class FreezeGame extends Game
|
||||
@Override
|
||||
public synchronized void initialise()
|
||||
{
|
||||
if(this.isRunning)
|
||||
if(this.state == GameState.RUNNING)
|
||||
return;
|
||||
|
||||
int highestTime = 0;
|
||||
@ -86,7 +85,7 @@ public class FreezeGame extends Game
|
||||
{
|
||||
if (this.getTeamForHabbo(habbo) == null)
|
||||
{
|
||||
for (HabboItem item : room.getItemsAt(habbo.getRoomUnit().getCurrentLocation()))
|
||||
for (HabboItem item : this.room.getItemsAt(habbo.getRoomUnit().getCurrentLocation()))
|
||||
{
|
||||
if (item instanceof InteractionFreezeTile)
|
||||
{
|
||||
@ -136,13 +135,13 @@ public class FreezeGame extends Game
|
||||
|
||||
public void throwBall(Habbo habbo, InteractionFreezeTile item)
|
||||
{
|
||||
if (!this.isRunning || !habbo.getHabboInfo().isInGame() || habbo.getHabboInfo().getCurrentGame() != this.getClass())
|
||||
if (!this.state.equals(GameState.RUNNING) || !habbo.getHabboInfo().isInGame() || habbo.getHabboInfo().getCurrentGame() != this.getClass())
|
||||
return;
|
||||
|
||||
if (!item.getExtradata().equalsIgnoreCase("0") && !item.getExtradata().isEmpty())
|
||||
return;
|
||||
|
||||
if (RoomLayout.tilesAdjecent(habbo.getRoomUnit().getCurrentLocation(), room.getLayout().getTile(item.getX(), item.getY())))
|
||||
if (RoomLayout.tilesAdjecent(habbo.getRoomUnit().getCurrentLocation(), this.room.getLayout().getTile(item.getX(), item.getY())))
|
||||
{
|
||||
if(((FreezeGamePlayer)habbo.getHabboInfo().getGamePlayer()).canThrowSnowball())
|
||||
{
|
||||
@ -158,14 +157,15 @@ public class FreezeGame extends Game
|
||||
RoomTile t = this.room.getLayout().getTile(x, y);
|
||||
|
||||
tiles.add(t);
|
||||
for(int i = 0; i < 4; i++)
|
||||
for(int rotatation = 0; rotatation < 8; rotatation += 2)
|
||||
{
|
||||
for(int j = 0; j < radius; j++)
|
||||
{
|
||||
t = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(x, y), i * 2, (short) radius);
|
||||
t = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(x, y), rotatation, j);
|
||||
|
||||
if(t == null || t.x < 0 || t.y < 0 || t.x >= this.room.getLayout().getMapSizeX() || t.y >= this.room.getLayout().getMapSizeY())
|
||||
continue;
|
||||
|
||||
tiles.add(t);
|
||||
}
|
||||
}
|
||||
@ -177,13 +177,13 @@ public class FreezeGame extends Game
|
||||
{
|
||||
THashSet<RoomTile> tiles = new THashSet<>();
|
||||
|
||||
for(int i = 0; i < 4; i++)
|
||||
for(int rotation = 1; rotation < 9; rotation += 2)
|
||||
{
|
||||
RoomTile t = room.getLayout().getTile(x, y);
|
||||
RoomTile t = this.room.getLayout().getTile(x, y);
|
||||
|
||||
for(int j = 0; j < radius; j++)
|
||||
{
|
||||
t = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(x, y), (i * 2) + 1, (short) radius);
|
||||
t = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(x, y), rotation, j);
|
||||
|
||||
if (t != null)
|
||||
{
|
||||
@ -198,7 +198,7 @@ public class FreezeGame extends Game
|
||||
return tiles;
|
||||
}
|
||||
|
||||
public synchronized void explodeBox(InteractionFreezeBlock block)
|
||||
public synchronized void explodeBox(InteractionFreezeBlock block, int delay)
|
||||
{
|
||||
int powerUp = 0;
|
||||
if(Emulator.getRandom().nextInt(100) + 1 <= FreezeGame.POWER_UP_CHANCE)
|
||||
@ -206,7 +206,7 @@ public class FreezeGame extends Game
|
||||
powerUp += Emulator.getRandom().nextInt(6) + 1;
|
||||
}
|
||||
|
||||
block.setExtradata((powerUp + 1) * 1000 + "");
|
||||
block.setExtradata((powerUp + 1) + String.format("%3d", delay));
|
||||
|
||||
this.room.updateItemState(block);
|
||||
}
|
||||
@ -273,7 +273,7 @@ public class FreezeGame extends Game
|
||||
@Override
|
||||
public void start()
|
||||
{
|
||||
if (this.isRunning)
|
||||
if (this.state != GameState.IDLE)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -292,13 +292,15 @@ public class FreezeGame extends Game
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!this.isRunning)
|
||||
if (this.state.equals(GameState.IDLE))
|
||||
return;
|
||||
|
||||
if (timeLeft > 0)
|
||||
if (this.timeLeft > 0)
|
||||
{
|
||||
Emulator.getThreading().run(this, 1000);
|
||||
|
||||
if (this.state.equals(GameState.PAUSED)) return;
|
||||
|
||||
this.timeLeft--;
|
||||
|
||||
for (GameTeam team : this.teams.values())
|
||||
@ -331,7 +333,7 @@ public class FreezeGame extends Game
|
||||
|
||||
for (Map.Entry<Integer, InteractionFreezeTimer> set : this.room.getRoomSpecialTypes().getFreezeTimers().entrySet())
|
||||
{
|
||||
set.getValue().setExtradata(timeLeft + "");
|
||||
set.getValue().setExtradata(this.timeLeft + "");
|
||||
this.room.updateItemState(set.getValue());
|
||||
}
|
||||
} else
|
||||
@ -341,7 +343,7 @@ public class FreezeGame extends Game
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
Emulator.getLogging().logErrorLine(e);
|
||||
}
|
||||
}
|
||||
|
||||
@ -391,7 +393,7 @@ public class FreezeGame extends Game
|
||||
|
||||
for (Map.Entry<Integer, InteractionFreezeGate> set : this.room.getRoomSpecialTypes().getFreezeGates().entrySet())
|
||||
{
|
||||
if (teamMemberCount.containsKey(set.getValue()))
|
||||
if (teamMemberCount.containsKey(set.getValue().teamColor))
|
||||
{
|
||||
int amount = Math.min(teamMemberCount.get(set.getValue().teamColor), 5);
|
||||
set.getValue().setExtradata(amount + "");
|
||||
@ -413,32 +415,13 @@ public class FreezeGame extends Game
|
||||
public boolean execute(InteractionFreezeExitTile object)
|
||||
{
|
||||
object.setExtradata(state);
|
||||
room.updateItemState(object);
|
||||
FreezeGame.this.room.updateItemState(object);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public static void onUserWalkEvent(UserTakeStepEvent event)
|
||||
{
|
||||
if(event.habbo.getHabboInfo().getCurrentGame() == FreezeGame.class)
|
||||
{
|
||||
FreezeGame game = (FreezeGame) event.habbo.getHabboInfo().getCurrentRoom().getGame(FreezeGame.class);
|
||||
if (game != null && game.isRunning)
|
||||
{
|
||||
if (!game.room.hasObjectTypeAt(InteractionFreezeTile.class, event.toLocation.x, event.toLocation.y))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
event.habbo.getRoomUnit().setGoalLocation(event.habbo.getRoomUnit().getCurrentLocation());
|
||||
event.habbo.getRoomUnit().removeStatus(RoomUnitStatus.MOVE);
|
||||
game.room.sendComposer(new RoomUserStatusComposer(event.habbo.getRoomUnit()).compose());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public static void onConfigurationUpdated(EmulatorConfigUpdatedEvent event)
|
||||
{
|
||||
|
@ -74,7 +74,6 @@ public class FreezeGamePlayer extends GamePlayer
|
||||
{
|
||||
game.playerDies(this);
|
||||
}
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -114,13 +113,7 @@ public class FreezeGamePlayer extends GamePlayer
|
||||
|
||||
public boolean canThrowSnowball()
|
||||
{
|
||||
if(this.snowBalls > 0)
|
||||
{
|
||||
if(!this.isFrozen())
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return this.snowBalls > 0 && !this.isFrozen();
|
||||
}
|
||||
|
||||
public void freeze()
|
||||
@ -220,7 +213,7 @@ public class FreezeGamePlayer extends GamePlayer
|
||||
{
|
||||
this.frozenTime--;
|
||||
|
||||
if(frozenTime <= 0)
|
||||
if(this.frozenTime <= 0)
|
||||
{
|
||||
super.getHabbo().getRoomUnit().setCanWalk(true);
|
||||
needsEffectUpdate = true;
|
||||
@ -260,6 +253,6 @@ public class FreezeGamePlayer extends GamePlayer
|
||||
if(this.dead)
|
||||
return;
|
||||
|
||||
super.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(super.getHabbo(), this.correctEffectId());
|
||||
super.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(super.getHabbo(), this.correctEffectId(), -1);
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user