From 244f8e7ad5641cbbbc1dad0322377fb887c75f7e Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 9 Apr 2022 12:38:50 -0400 Subject: [PATCH] chat commands: track team sizes for raids pb --- .../main/java/net/runelite/api/Varbits.java | 9 + .../chatcommands/ChatCommandsPlugin.java | 168 +++++++++++++++++- .../chatcommands/ChatCommandsPluginTest.java | 51 +++--- 3 files changed, 200 insertions(+), 28 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index de77227613..b39df1a823 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -317,6 +317,15 @@ public final class Varbits * Theatre of Blood 1=In Party, 2=Inside/Spectator, 3=Dead Spectating */ public static final int THEATRE_OF_BLOOD = 6440; + /** + * Theatre of Blood orb healths + * 0=hide 1-27=% of health - 27 is 100% health and 1 is 0% health, 30=dead + */ + public static final int THEATRE_OF_BLOOD_ORB1 = 6442; + public static final int THEATRE_OF_BLOOD_ORB2 = 6443; + public static final int THEATRE_OF_BLOOD_ORB3 = 6444; + public static final int THEATRE_OF_BLOOD_ORB4 = 6445; + public static final int THEATRE_OF_BLOOD_ORB5 = 6446; /** * Nightmare Zone 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 36cc4311d9..43ab96b51c 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 @@ -107,7 +107,7 @@ import org.apache.commons.text.WordUtils; public class ChatCommandsPlugin extends Plugin { private static final Pattern KILLCOUNT_PATTERN = Pattern.compile("Your (?:completion count for |subdued |completed )?(.+?) (?:(?:kill|harvest|lap|completion) )?(?:count )?is: (\\d+)"); - private static final String TEAM_SIZES = "(?:\\d+(?:\\+|-\\d+)? players|Solo)"; + private static final String TEAM_SIZES = "(?\\d+(?:\\+|-\\d+)? players|Solo)"; private static final Pattern RAIDS_PB_PATTERN = Pattern.compile("Congratulations - your raid is complete!
Team size: " + TEAM_SIZES + " Duration: (?[0-9:]+(?:\\.[0-9]+)?) \\(new personal best\\)"); private static final Pattern RAIDS_DURATION_PATTERN = Pattern.compile("Congratulations - your raid is complete!
Team size: " + TEAM_SIZES + " Duration: [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]+)?)"); @@ -115,7 +115,7 @@ public class ChatCommandsPlugin extends Plugin 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 ADVENTURE_LOG_PB_PATTERN = Pattern.compile("Fastest (?:kill|run)(?: - \\(Team size: " + TEAM_SIZES + "\\))?: (?