Fix room moderation achievements

This commit is contained in:
Alejandro 2019-06-16 17:31:50 +03:00
parent 7ec6c20c5d
commit e06814b259
6 changed files with 29 additions and 11 deletions

View File

@ -149,7 +149,7 @@ public final class Emulator {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (!isShuttingDown && isReady) {
while (!isShuttingDown && isReady && reader.ready()) {
try {
String line = reader.readLine();

View File

@ -53,7 +53,6 @@ public class TestCommand extends Command {
@Override
public boolean handle(GameClient gameClient, String[] params) throws Exception {
if (true) return true;
if (params[1].equalsIgnoreCase("ut")) {
RoomTile tile = gameClient.getHabbo().getRoomUnit().getCurrentLocation();
gameClient.getHabbo().getHabboInfo().getCurrentRoom().updateTile(tile);

View File

@ -152,7 +152,7 @@ public class InteractionWater extends InteractionDefault {
if(pet == null)
return;
if (!pet.getRoomUnit().hasStatus(RoomUnitStatus.SWIM)) {
if (!pet.getRoomUnit().hasStatus(RoomUnitStatus.SWIM) && pet.getPetData().canSwim) {
pet.getRoomUnit().setStatus(RoomUnitStatus.SWIM, "");
}
}
@ -213,4 +213,13 @@ public class InteractionWater extends InteractionDefault {
return super.canStackAt(room, itemsAtLocation);
}
@Override
public boolean canWalkOn(RoomUnit roomUnit, Room room, Object[] objects) {
if (!super.canWalkOn(roomUnit, room, objects)) return false;
Pet pet = room.getPet(roomUnit);
return pet == null || pet.getPetData().canSwim;
}
}

View File

@ -558,7 +558,9 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
RoomTileState result = RoomTileState.OPEN;
HabboItem lowestItem = null;
HabboItem lowestChair = this.getLowestChair(tile);
for (HabboItem item : this.getItemsAt(tile)) {
THashSet<HabboItem> items = this.getItemsAt(tile);
if (items == null) return RoomTileState.INVALID;
for (HabboItem item : items) {
if (exclude != null && item == exclude) continue;
if (lowestChair != null && item.getZ() > lowestChair.getZ() + 1.5) {

View File

@ -15,12 +15,5 @@ public class RequestRoomSettingsEvent extends MessageHandler {
if (room != null)
this.client.sendResponse(new RoomSettingsComposer(room));
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModChatFloodFilterSeen"));
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModChatHearRangeSeen"));
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModChatScrollSpeedSeen"));
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModDoorModeSeen"));
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModWalkthroughSeen"));
}
}

View File

@ -31,6 +31,21 @@ public class UserActivityEvent extends MessageHandler {
case "forum.can.moderate.seen":
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModForumCanModerateSeen"));
break;
case "room.settings.doormode.seen":
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModDoorModeSeen"));
break;
case "room.settings.walkthrough.seen":
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModWalkthroughSeen"));
break;
case "room.settings.chat.scrollspeed.seen":
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModChatScrollSpeedSeen"));
break;
case "room.settings.chat.hearrange.seen":
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModChatHearRangeSeen"));
break;
case "room.settings.chat.floodfilter.seen":
AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModChatFloodFilterSeen"));
break;
}
}
}