This commit is contained in:
Remco 2020-09-26 16:00:53 +02:00
commit 246bbc80a8
3 changed files with 43 additions and 20 deletions

View File

@ -44,6 +44,7 @@ public class BattleBanzaiGame extends Game {
private final THashMap<Integer, HabboItem> gameTiles;
private int tileCount;
private int countDown;
private int countDown2;
public BattleBanzaiGame(Room room) {
super(BattleBanzaiGameTeam.class, BattleBanzaiGamePlayer.class, room, true);
@ -59,7 +60,11 @@ public class BattleBanzaiGame extends Game {
if (!this.state.equals(GameState.IDLE))
return;
/* The first countdown is activated for the first two seconds emitting only the blue light (second interaction),
the second, after another two seconds, completely activates the sphere (third interaction).
*/
this.countDown = 3;
this.countDown2 = 2;
this.resetMap();
@ -105,10 +110,17 @@ public class BattleBanzaiGame extends Game {
if (this.countDown == 0) {
for (HabboItem item : this.room.getRoomSpecialTypes().getItemsOfType(InteractionBattleBanzaiSphere.class)) {
item.setExtradata("1");
this.room.updateItemState(item);
if(this.countDown2 > 0) {
this.countDown2--;
if(this.countDown2 == 0) {
item.setExtradata("2");
this.room.updateItemState(item);
}
}
}
}
if (this.countDown > 1) {
Emulator.getThreading().run(this, 500);

View File

@ -60,26 +60,30 @@ public class InteractionMannequin extends HabboItem {
@Override
public void onClick(GameClient client, Room room, Object[] objects) throws Exception {
String[] lookCode = this.getExtradata().split(":")[1].split("\\.");
String lookCode = this.getExtradata().split(":")[1];
String newFigure = "";
StringBuilder look = new StringBuilder();
for (String part : client.getHabbo().getHabboInfo().getLook().split("\\.")) {
String type = part.split("-")[0];
boolean found = false;
for (String s : lookCode) {
if (s.contains(type)) {
found = true;
look.append(s).append(".");
}
for (String playerFigurePart : client.getHabbo().getHabboInfo().getLook().split("\\.")) {
if (!playerFigurePart.startsWith("ch") && !playerFigurePart.startsWith("lg"))
newFigure += playerFigurePart + ".";
}
if (!found) {
look.append(part).append(".");
}
if (lookCode.isEmpty()) return;
String newFigureParts = lookCode;
for (String newFigurePart : newFigureParts.split("\\.")) {
if (newFigurePart.startsWith("hd"))
newFigureParts = newFigureParts.replace(newFigurePart, "");
}
client.getHabbo().getHabboInfo().setLook(look.substring(0, look.length() - 1));
if (newFigureParts.equals("")) return;
final String figure = newFigure + newFigureParts;
if (figure.length() > 512)
return;
client.getHabbo().getHabboInfo().setLook(figure);
room.sendComposer(new RoomUserDataComposer(client.getHabbo()).compose());
client.sendResponse(new UserDataComposer(client.getHabbo()));
}

View File

@ -79,6 +79,13 @@ public class RequestGuildBuyEvent extends MessageHandler {
base += 3;
}
if(name.length() > 29){
this.client.sendResponse(new GuildEditFailComposer(GuildEditFailComposer.INVALID_GUILD_NAME));
return;
}
if(description.length() > 254){
return;
}
Guild guild = Emulator.getGameEnvironment().getGuildManager().createGuild(this.client.getHabbo(), roomId, r.getName(), name, description, badge, colorOne, colorTwo);
r.setGuild(guild.getId());