diff --git a/Emulator/src/main/java/com/eu/habbo/messages/incoming/users/ActivateEffectEvent.java b/Emulator/src/main/java/com/eu/habbo/messages/incoming/users/ActivateEffectEvent.java index 526da5ff..8c9fb6ae 100644 --- a/Emulator/src/main/java/com/eu/habbo/messages/incoming/users/ActivateEffectEvent.java +++ b/Emulator/src/main/java/com/eu/habbo/messages/incoming/users/ActivateEffectEvent.java @@ -1,14 +1,30 @@ package com.eu.habbo.messages.incoming.users; +import com.eu.habbo.Emulator; +import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.messages.incoming.MessageHandler; public class ActivateEffectEvent extends MessageHandler { @Override public void handle() throws Exception { int effectId = this.packet.readInt(); + Habbo habbo = this.client.getHabbo(); + if (habbo == null) return; - if (this.client.getHabbo().getInventory().getEffectsComponent().ownsEffect(effectId)) { - this.client.getHabbo().getInventory().getEffectsComponent().activateEffect(effectId); + if (habbo.getInventory().getEffectsComponent().ownsEffect(effectId)) { + habbo.getInventory().getEffectsComponent().activateEffect(effectId); + return; } + + int rankId = habbo.getHabboInfo().getRank().getId(); + if (Emulator.getGameEnvironment().getPermissionsManager().isEffectBlocked(effectId, rankId)) { + return; + } + + Room room = habbo.getHabboInfo().getCurrentRoom(); + if (room == null || habbo.getHabboInfo().getRiding() != null) return; + + room.giveEffect(habbo, effectId, -1); } } \ No newline at end of file diff --git a/Latest_Compiled_Version/Habbo-4.1.2-jar-with-dependencies.jar b/Latest_Compiled_Version/Habbo-4.1.2-jar-with-dependencies.jar index bfab6f45..5eb2a3f1 100644 Binary files a/Latest_Compiled_Version/Habbo-4.1.2-jar-with-dependencies.jar and b/Latest_Compiled_Version/Habbo-4.1.2-jar-with-dependencies.jar differ