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 4148822fc6..2b232a10f8 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 @@ -730,7 +730,7 @@ public class SlayerPlugin extends Plugin { taskName = name; amount = amt; - initialAmount = initAmt; + initialAmount = Math.max(amt, initAmt); taskLocation = location; save(); removeCounter(); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java index 4cd9bec315..b217518d0f 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java @@ -781,6 +781,17 @@ public class SlayerPluginTest assertEquals(30, slayerPlugin.getAmount()); } + @Test + public void updateInitialAmount() + { + Widget npcDialog = mock(Widget.class); + when(npcDialog.getText()).thenReturn(TASK_EXISTING); + when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); + slayerPlugin.onGameTick(new GameTick()); + + assertEquals(222, slayerPlugin.getInitialAmount()); + } + @Test public void testTaskLookup() throws IOException {