From 54080dee5aae5968bce9b3bc22566888b773343a Mon Sep 17 00:00:00 2001 From: duckietm Date: Wed, 20 Nov 2024 10:28:52 +0100 Subject: [PATCH] :up: Fix Ignore issue --- Database Updates/UpdateDatae_unignorable.sql | 2 ++ .../eu/habbo/habbohotel/permissions/Permission.java | 1 + .../com/eu/habbo/habbohotel/users/HabboStats.java | 13 ++++--------- 3 files changed, 7 insertions(+), 9 deletions(-) create mode 100644 Database Updates/UpdateDatae_unignorable.sql diff --git a/Database Updates/UpdateDatae_unignorable.sql b/Database Updates/UpdateDatae_unignorable.sql new file mode 100644 index 0000000..43c3d22 --- /dev/null +++ b/Database Updates/UpdateDatae_unignorable.sql @@ -0,0 +1,2 @@ +--New permission +ALTER TABLE `permissions` ADD COLUMN `acc_unignorable` ENUM('0','1') NOT NULL DEFAULT '0' AFTER `acc_infinite_friends`; diff --git a/Emulator/src/main/java/com/eu/habbo/habbohotel/permissions/Permission.java b/Emulator/src/main/java/com/eu/habbo/habbohotel/permissions/Permission.java index 469f907..242db3f 100644 --- a/Emulator/src/main/java/com/eu/habbo/habbohotel/permissions/Permission.java +++ b/Emulator/src/main/java/com/eu/habbo/habbohotel/permissions/Permission.java @@ -43,6 +43,7 @@ public class Permission { public static String ACC_HELPER_GIVE_GUIDE_TOURS = "acc_helper_give_guide_tours"; public static String ACC_HELPER_JUDGE_CHAT_REVIEWS = "acc_helper_judge_chat_reviews"; public static String ACC_FLOORPLAN_EDITOR = "acc_floorplan_editor"; + public static String ACC_UNIGNORABLE = "acc_unignorable"; public final String key; public final PermissionSetting setting; public Permission(String key, PermissionSetting setting) { diff --git a/Emulator/src/main/java/com/eu/habbo/habbohotel/users/HabboStats.java b/Emulator/src/main/java/com/eu/habbo/habbohotel/users/HabboStats.java index 29ef2a2..37f9d1f 100644 --- a/Emulator/src/main/java/com/eu/habbo/habbohotel/users/HabboStats.java +++ b/Emulator/src/main/java/com/eu/habbo/habbohotel/users/HabboStats.java @@ -7,6 +7,7 @@ import com.eu.habbo.habbohotel.achievements.Achievement; import com.eu.habbo.habbohotel.achievements.AchievementManager; import com.eu.habbo.habbohotel.achievements.TalentTrackType; import com.eu.habbo.habbohotel.catalog.CatalogItem; +import com.eu.habbo.habbohotel.permissions.Permission; import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles; import com.eu.habbo.habbohotel.rooms.RoomTrade; import com.eu.habbo.habbohotel.users.cache.HabboOfferPurchase; @@ -741,16 +742,10 @@ public class HabboStats implements Runnable { public boolean ignoreUser(GameClient gameClient, int userId) { final Habbo target = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId); - if (!Emulator.getConfig().getBoolean("hotel.allow.ignore.staffs")) { - final int ownRank = gameClient.getHabbo().getHabboInfo().getRank().getId(); - final int targetRank = target.getHabboInfo().getRank().getId(); - - if (targetRank >= ownRank) { - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("generic.error.ignore_higher_rank"), RoomChatMessageBubbles.ALERT); - return false; - } + if (!Emulator.getConfig().getBoolean("hotel.allow.ignore.staffs") && target.hasPermission(Permission.ACC_UNIGNORABLE)) { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("generic.error.ignore_higher_rank"), RoomChatMessageBubbles.ALERT); + return false; } - if (!this.userIgnored(userId)) { this.ignoredUsers.add(userId);