From 5bfbff492d4bff1f40aeb3cd411f6766b6a6ba67 Mon Sep 17 00:00:00 2001 From: Alexsuperfly Date: Sun, 18 Apr 2021 17:00:39 -0400 Subject: [PATCH] cannon: set count when loading wrong type of cannonballs --- .../runelite/client/plugins/cannon/CannonPlugin.java | 9 +++++++++ .../client/plugins/cannon/CannonPluginTest.java | 12 ++++++++++++ 2 files changed, 21 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java index 83844a2c34..535a50b19a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java @@ -384,6 +384,15 @@ public class CannonPlugin extends Plugin } } + if (event.getMessage().startsWith("Your cannon contains")) + { + Matcher m = NUMBER_PATTERN.matcher(event.getMessage()); + if (m.find()) + { + cballsLeft = Integer.parseInt(m.group()); + } + } + if (event.getMessage().startsWith("You unload your cannon and receive Cannonball") || event.getMessage().startsWith("You unload your cannon and receive Granite cannonball")) { diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/cannon/CannonPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/cannon/CannonPluginTest.java index 103366fc5c..12bc19ead8 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/cannon/CannonPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/cannon/CannonPluginTest.java @@ -104,6 +104,18 @@ public class CannonPluginTest Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this); } + @Test + public void addWrongTypeOfCannonballs() + { + final ChatMessage message = new ChatMessage(); + message.setType(ChatMessageType.GAMEMESSAGE); + message.setMessage("Your cannon contains 20 x Cannonball.
You can only add cannonballs of the same kind."); + + plugin.onChatMessage(message); + + assertEquals(20, plugin.getCballsLeft()); + } + @Test public void addMaxCannonballs() {