From 409a4ab4e92a74946beb1cea1920f40de3ac2419 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 4 Jan 2022 19:13:27 -0500 Subject: [PATCH] slayer plugin: support fake xpdrops --- .../client/plugins/slayer/SlayerPlugin.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index 3b35670873..0a2333ae2e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -63,6 +63,7 @@ import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ActorDeath; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.CommandExecuted; +import net.runelite.api.events.FakeXpDrop; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.HitsplatApplied; @@ -550,6 +551,21 @@ public class SlayerPlugin extends Plugin final int delta = slayerExp - cachedXp; cachedXp = slayerExp; + xpChanged(delta); + } + + @Subscribe + public void onFakeXpDrop(FakeXpDrop fakeXpDrop) + { + if (fakeXpDrop.getSkill() == SLAYER) + { + int delta = fakeXpDrop.getXp(); + xpChanged(delta); + } + } + + private void xpChanged(int delta) + { log.debug("Slayer xp change delta: {}, killed npcs: {}", delta, taggedNpcsDiedPrevTick); final Task task = Task.getTask(taskName);