From 5844c7c5de03f44f4382f285374bf16d2fe41f81 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 11 Jul 2019 18:19:25 -0400 Subject: [PATCH] imp plugin: handle npc changes to imps The imps in puro-puro will change into imps after spawning as a null npc. Previously this would not track imps unless you happened to walk into visibility of one while it was an imp. --- .../client/plugins/implings/ImplingsPlugin.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java index 8a9e311b71..be1c89154c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java @@ -34,6 +34,7 @@ import lombok.Getter; 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; import net.runelite.client.config.ConfigManager; @@ -97,6 +98,18 @@ public class ImplingsPlugin extends Plugin } } + @Subscribe + public void onNpcChanged(NpcChanged npcCompositionChanged) + { + NPC npc = npcCompositionChanged.getNpc(); + Impling impling = Impling.findImpling(npc.getId()); + + if (impling != null && !implings.contains(npc)) + { + implings.add(npc); + } + } + @Subscribe public void onGameStateChanged(GameStateChanged event) {