From f792aa0a74b846da41ee27ff34e05dece2fbaea8 Mon Sep 17 00:00:00 2001 From: syeyoung Date: Sun, 28 Feb 2021 00:35:43 +0900 Subject: fix bugs, add new feature --- src/main/java/kr/syeyoung/dungeonsguide/dungeon/MapProcessor.java | 5 ++++- .../dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/MapProcessor.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/MapProcessor.java index ad8de026..57846477 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/MapProcessor.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/MapProcessor.java @@ -203,7 +203,10 @@ public class MapProcessor { MapUtils.record(mapData, mapPoint.x, mapPoint.y, new Color(255,255,0,80)); if (roomsFound.contains(new Point(x,y))) { DungeonRoom dungeonRoom = context.getRoomMapper().get(new Point(x,y)); - if (color == 30 || color == 18) { + if (color == 18 && dungeonRoom.getCurrentState() != DungeonRoom.RoomState.FINISHED) { + dungeonRoom.setCurrentState(DungeonRoom.RoomState.COMPLETE_WITHOUT_SECRETS); + dungeonRoom.setTotalSecrets(0); + } if (color == 30) { dungeonRoom.setCurrentState(DungeonRoom.RoomState.FINISHED); dungeonRoom.setTotalSecrets(0); } else if (dungeonRoom.getCurrentState() != DungeonRoom.RoomState.FINISHED){ diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java index a2ca6dab..b5a93f1b 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java @@ -60,6 +60,12 @@ public class FeatureWatcherWarning extends TextHUDFeature implements ChatListene public void onChat(ClientChatReceivedEvent clientChatReceivedEvent) { if (clientChatReceivedEvent.message.getFormattedText().equals("§r§c[BOSS] The Watcher§r§f: That will be enough for now.§r")) { warning = System.currentTimeMillis() + 2500; + DungeonContext context = skyblockStatus.getContext(); + if (context ==null) return; + for (DungeonRoom dungeonRoom : context.getDungeonRoomList()) { + if (dungeonRoom != null && dungeonRoom.getColor() == 18) + dungeonRoom.setCurrentState(DungeonRoom.RoomState.DISCOVERED); + } } } -- cgit