From e36e362aa120345b93e0d8e9a001161b70640b17 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 18 Nov 2021 17:12:17 -0500 Subject: [PATCH] chat commands: update duel arena messages --- .../chatcommands/ChatCommandsPlugin.java | 10 ++++---- .../chatcommands/ChatCommandsPluginTest.java | 24 +++++++++---------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 2a3c541bd1..b15cebb7e4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -116,8 +116,8 @@ public class ChatCommandsPlugin extends Plugin private static final Pattern TOB_WAVE_DURATION_PATTERN = Pattern.compile("Theatre of Blood wave completion time: [0-9:.]+\\. Personal best: (?[0-9:]+(?:\\.[0-9]+)?)"); private static final Pattern KILL_DURATION_PATTERN = Pattern.compile("(?i)(?:(?:Fight |Lap |Challenge |Corrupted challenge )?duration:|Subdued in) [0-9:.]+\\. Personal best: (?:)?(?[0-9:]+(?:\\.[0-9]+)?)"); private static final Pattern NEW_PB_PATTERN = Pattern.compile("(?i)(?:(?:Fight |Lap |Challenge |Corrupted challenge )?duration:|Subdued in) (?[0-9:]+(?:\\.[0-9]+)?) \\(new personal best\\)"); - private static final Pattern DUEL_ARENA_WINS_PATTERN = Pattern.compile("You (were defeated|won)! You have(?: now)? won (\\d+) duels?"); - private static final Pattern DUEL_ARENA_LOSSES_PATTERN = Pattern.compile("You have(?: now)? lost (\\d+) duels?"); + private static final Pattern DUEL_ARENA_WINS_PATTERN = Pattern.compile("You (were defeated|won)! You have(?: now)? won ([\\d,]+|one) duels?"); + private static final Pattern DUEL_ARENA_LOSSES_PATTERN = Pattern.compile("You have(?: now)? lost ([\\d,]+|one) duels?"); private static final Pattern ADVENTURE_LOG_TITLE_PATTERN = Pattern.compile("The Exploits of (.+)"); private static final Pattern ADVENTURE_LOG_PB_PATTERN = Pattern.compile("Fastest (?:kill|run)(?: - \\(Team size: " + TEAM_SIZES + "\\))?: ([0-9:]+(?:\\.[0-9]+)?)"); private static final Pattern HS_PB_PATTERN = Pattern.compile("Floor (?\\d) time: (?[0-9:]+(?:\\.[0-9]+)?)(?: \\(new personal best\\)|. Personal best: (?[0-9:]+(?:\\.[0-9]+)?))" + @@ -415,7 +415,8 @@ public class ChatCommandsPlugin extends Plugin if (matcher.find()) { final int oldWins = getKc("Duel Arena Wins"); - final int wins = Integer.parseInt(matcher.group(2)); + final int wins = matcher.group(2).equals("one") ? 1 : + Integer.parseInt(matcher.group(2).replace(",", "")); final String result = matcher.group(1); int winningStreak = getKc("Duel Arena Win Streak"); int losingStreak = getKc("Duel Arena Lose Streak"); @@ -443,7 +444,8 @@ public class ChatCommandsPlugin extends Plugin matcher = DUEL_ARENA_LOSSES_PATTERN.matcher(message); if (matcher.find()) { - int losses = Integer.parseInt(matcher.group(1)); + int losses = matcher.group(1).equals("one") ? 1 : + Integer.parseInt(matcher.group(1).replace(",", "")); setKc("Duel Arena Losses", losses); } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java index 5fe725c00f..ab2ec35046 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java @@ -324,29 +324,29 @@ public class ChatCommandsPluginTest @Test public void testDuelArenaWin() { - ChatMessage chatMessageEvent = new ChatMessage(null, TRADE, "", "You won! You have now won 27 duels.", null, 0); + ChatMessage chatMessageEvent = new ChatMessage(null, TRADE, "", "You won! You have now won 1,909 duels.", null, 0); chatCommandsPlugin.onChatMessage(chatMessageEvent); - verify(configManager).setRSProfileConfiguration("killcount", "duel arena wins", 27); + chatMessageEvent = new ChatMessage(null, TRADE, "", "You have lost 1,999 duels.", null, 0); + chatCommandsPlugin.onChatMessage(chatMessageEvent); + + verify(configManager).setRSProfileConfiguration("killcount", "duel arena wins", 1909); verify(configManager).setRSProfileConfiguration("killcount", "duel arena win streak", 1); + + verify(configManager).setRSProfileConfiguration("killcount", "duel arena losses", 1999); } @Test - public void testDuelArenaWin2() + public void testDuelArenaLoss() { - ChatMessage chatMessageEvent = new ChatMessage(null, TRADE, "", "You were defeated! You have won 22 duels.", null, 0); + ChatMessage chatMessageEvent = new ChatMessage(null, TRADE, "", "You were defeated! You have won 1,909 duels.", null, 0); chatCommandsPlugin.onChatMessage(chatMessageEvent); - verify(configManager).setRSProfileConfiguration("killcount", "duel arena wins", 22); - } - - @Test - public void testDuelArenaLose() - { - ChatMessage chatMessageEvent = new ChatMessage(null, TRADE, "", "You have now lost 999 duels.", null, 0); + chatMessageEvent = new ChatMessage(null, TRADE, "", "You have now lost 1999 duels.", null, 0); chatCommandsPlugin.onChatMessage(chatMessageEvent); - verify(configManager).setRSProfileConfiguration("killcount", "duel arena losses", 999); + verify(configManager).setRSProfileConfiguration("killcount", "duel arena wins", 1909); + verify(configManager).setRSProfileConfiguration("killcount", "duel arena losses", 1999); } @Test