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