From 3c5f8123313b5f52027b5b2bd32f6c6c0d49dea1 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 11 Sep 2021 10:53:05 -0400 Subject: [PATCH] npc overlay: clear highlighted npcs on logout Despawn events don't fire for npcs on logout, copied from the npc highlight plugin --- .../client/game/npcoverlay/NpcOverlayService.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/NpcOverlayService.java b/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/NpcOverlayService.java index 242854a4ca..db96bc91a5 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/NpcOverlayService.java +++ b/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/NpcOverlayService.java @@ -33,7 +33,9 @@ import java.util.function.Function; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; +import net.runelite.api.GameState; import net.runelite.api.NPC; +import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.NpcChanged; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; @@ -62,6 +64,16 @@ public class NpcOverlayService eventBus.register(this); } + @Subscribe + private void onGameStateChanged(GameStateChanged event) + { + if (event.getGameState() == GameState.LOGIN_SCREEN || + event.getGameState() == GameState.HOPPING) + { + highlightedNpcs.clear(); + } + } + @Subscribe( // Run after plugins, which typically capture NPCs on spawn and reference them in the highlight functions priority = -1