test_class.declarator: TASK_NEW = "Your new task is to kill 231 Suqahs."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_NEW = "Your new task is to kill 231 Suqahs.";
test_class.type: String
test_class.var_name: TASK_NEW
test_class.declarator: TASK_NEW_KONAR = "You are to bring balance to 147 Wyrms in the Karuulm Slayer Dungeon."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_NEW_KONAR = "You are to bring balance to 147 Wyrms in the Karuulm Slayer Dungeon.";
test_class.type: String
test_class.var_name: TASK_NEW_KONAR
test_class.declarator: TASK_NEW_KONAR_2 = "You are to bring balance to 142 Hellhounds in Witchhaven Dungeon."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_NEW_KONAR_2 = "You are to bring balance to 142 Hellhounds in Witchhaven Dungeon.";
test_class.type: String
test_class.var_name: TASK_NEW_KONAR_2
test_class.declarator: TASK_NEW_KONAR_3 = "You are to bring balance to 135 Trolls south of Mount Quidamortem."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_NEW_KONAR_3 = "You are to bring balance to 135 Trolls south of Mount Quidamortem.";
test_class.type: String
test_class.var_name: TASK_NEW_KONAR_3
test_class.declarator: TASK_NEW_FIRST = "We'll start you off hunting goblins, you'll need to kill 17 of them."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_NEW_FIRST = "We'll start you off hunting goblins, you'll need to kill 17 of them.";
test_class.type: String
test_class.var_name: TASK_NEW_FIRST
test_class.declarator: TASK_NEW_FIRST_KONAR = "We'll start you off bringing balance to cows, you'll need to kill 44 of them."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_NEW_FIRST_KONAR = "We'll start you off bringing balance to cows, you'll need to kill 44 of them.";
test_class.type: String
test_class.var_name: TASK_NEW_FIRST_KONAR
test_class.declarator: TASK_NEW_NPC_CONTACT = "Excellent, you're doing great. Your new task is to kill<br>211 Suqahs."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_NEW_NPC_CONTACT = "Excellent, you're doing great. Your new task is to kill<br>211 Suqahs.";
test_class.type: String
test_class.var_name: TASK_NEW_NPC_CONTACT
test_class.declarator: TASK_NEW_FROM_PARTNER = "You have received a new Slayer assignment from breaklulz: Dust Devils (377)"
test_class.modifier: private static final
test_class.original_string: private static final String TASK_NEW_FROM_PARTNER = "You have received a new Slayer assignment from breaklulz: Dust Devils (377)";
test_class.type: String
test_class.var_name: TASK_NEW_FROM_PARTNER
test_class.declarator: TASK_CHECKSLAYERGEM = "You're assigned to kill Suqahs; only 211 more to go."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_CHECKSLAYERGEM = "You're assigned to kill Suqahs; only 211 more to go.";
test_class.type: String
test_class.var_name: TASK_CHECKSLAYERGEM
test_class.declarator: TASK_CHECKSLAYERGEM_WILDERNESS = "You're assigned to kill Suqahs in the Wilderness; only 211 more to go."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_CHECKSLAYERGEM_WILDERNESS = "You're assigned to kill Suqahs in the Wilderness; only 211 more to go.";
test_class.type: String
test_class.var_name: TASK_CHECKSLAYERGEM_WILDERNESS
test_class.declarator: TASK_CHECKSLAYERGEM_KONAR = "You're assigned to kill Blue dragons in the Ogre Enclave; only 122 more to go."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_CHECKSLAYERGEM_KONAR = "You're assigned to kill Blue dragons in the Ogre Enclave; only 122 more to go.";
test_class.type: String
test_class.var_name: TASK_CHECKSLAYERGEM_KONAR
test_class.declarator: TASK_UPDATE_COMBAT_BRACELET = "You still need to kill 30 monsters to complete your current Slayer assignment"
test_class.modifier: private static final
test_class.original_string: private static final String TASK_UPDATE_COMBAT_BRACELET = "You still need to kill 30 monsters to complete your current Slayer assignment";
test_class.type: String
test_class.var_name: TASK_UPDATE_COMBAT_BRACELET
test_class.declarator: TASK_BOSS_NEW = "Excellent. You're now assigned to kill Vet'ion 3 times.<br>Your reward point tally is 914."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_BOSS_NEW = "Excellent. You're now assigned to kill Vet'ion 3 times.<br>Your reward point tally is 914.";
test_class.type: String
test_class.var_name: TASK_BOSS_NEW
test_class.declarator: TASK_BOSS_NEW_THE = "Excellent. You're now assigned to kill the Chaos <br>Elemental 3 times. Your reward point tally is 914."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_BOSS_NEW_THE = "Excellent. You're now assigned to kill the Chaos <br>Elemental 3 times. Your reward point tally is 914.";
test_class.type: String
test_class.var_name: TASK_BOSS_NEW_THE
test_class.declarator: TASK_KONAR_BOSS = "You're now assigned to bring balance to the Alchemical<br>Hydra 35 times. Your reward point tally is 724."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_KONAR_BOSS = "You're now assigned to bring balance to the Alchemical<br>Hydra 35 times. Your reward point tally is 724.";
test_class.type: String
test_class.var_name: TASK_KONAR_BOSS
test_class.declarator: TASK_EXISTING = "You're still hunting suqahs; you have 222 to go. Come<br>back when you've finished your task."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_EXISTING = "You're still hunting suqahs; you have 222 to go. Come<br>back when you've finished your task.";
test_class.type: String
test_class.var_name: TASK_EXISTING
test_class.declarator: TASK_EXISTING_KONAR = "You're still bringing balance to adamant dragons in the Lithkren Vault, with 3 to go. Come back when you're finished."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_EXISTING_KONAR = "You're still bringing balance to adamant dragons in the Lithkren Vault, with 3 to go. Come back when you're finished.";
test_class.type: String
test_class.var_name: TASK_EXISTING_KONAR
test_class.declarator: TASK_EXISTING_WILDERNESS = "You're still meant to be slaying bandits in the Wilderness; you have 99 to go. Come back when you've finished your task."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_EXISTING_WILDERNESS = "You're still meant to be slaying bandits in the Wilderness; you have 99 to go. Come back when you've finished your task.";
test_class.type: String
test_class.var_name: TASK_EXISTING_WILDERNESS
test_class.declarator: TASK_ACTIVATESLAYERGEM = "You're currently assigned to kill fossil island wyverns; only 23 more to go. Your reward point tally is 46."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_ACTIVATESLAYERGEM = "You're currently assigned to kill fossil island wyverns; only 23 more to go. Your reward point tally is 46.";
test_class.type: String
test_class.var_name: TASK_ACTIVATESLAYERGEM
test_class.declarator: TASK_ACTIVATESLAYERGEM_KONAR = "You're currently assigned to bring balance to adamant dragons in the Lithkren Vault; you have 3 more to go. Your reward point tally is 16."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_ACTIVATESLAYERGEM_KONAR = "You're currently assigned to bring balance to adamant dragons in the Lithkren Vault; you have 3 more to go. Your reward point tally is 16.";
test_class.type: String
test_class.var_name: TASK_ACTIVATESLAYERGEM_KONAR
test_class.declarator: TASK_ACTIVATESLAYERGEM_WILDERNESS = "You're currently assigned to kill bandits in the Wilderness; only 99 more to go. Your reward point tally is 34."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_ACTIVATESLAYERGEM_WILDERNESS = "You're currently assigned to kill bandits in the Wilderness; only 99 more to go. Your reward point tally is 34.";
test_class.type: String
test_class.var_name: TASK_ACTIVATESLAYERGEM_WILDERNESS
test_class.declarator: REWARD_POINTS = "Reward points: 17,566"
test_class.modifier: private static final
test_class.original_string: private static final String REWARD_POINTS = "Reward points: 17,566";
test_class.type: String
test_class.var_name: REWARD_POINTS
test_class.declarator: TASK_ONE = "You've completed one task; return to a Slayer master."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_ONE = "You've completed one task; return to a Slayer master.";
test_class.type: String
test_class.var_name: TASK_ONE
test_class.declarator: TASK_COMPLETE_NO_POINTS = "<col=ef1020>You've completed 3 tasks; return to a Slayer master.</col>"
test_class.modifier: private static final
test_class.original_string: private static final String TASK_COMPLETE_NO_POINTS = "<col=ef1020>You've completed 3 tasks; return to a Slayer master.</col>";
test_class.type: String
test_class.var_name: TASK_COMPLETE_NO_POINTS
test_class.declarator: TASK_POINTS = "You've completed 9 tasks and received 0 points, giving you a total of 18,000; return to a Slayer master."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_POINTS = "You've completed 9 tasks and received 0 points, giving you a total of 18,000; return to a Slayer master.";
test_class.type: String
test_class.var_name: TASK_POINTS
test_class.declarator: TASK_LARGE_STREAK = "You've completed 2,465 tasks and received 15 points, giving you a total of 17,566,000; return to a Slayer master."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_LARGE_STREAK = "You've completed 2,465 tasks and received 15 points, giving you a total of 17,566,000; return to a Slayer master.";
test_class.type: String
test_class.var_name: TASK_LARGE_STREAK
test_class.declarator: TASK_COMPETE_TURAEL = "You've completed 104 tasks. You'll be eligible to earn reward points if you complete tasks from a more advanced Slayer Master."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_COMPETE_TURAEL = "You've completed 104 tasks. You'll be eligible to earn reward points if you complete tasks from a more advanced Slayer Master.";
test_class.type: String
test_class.var_name: TASK_COMPETE_TURAEL
test_class.declarator: TASK_COMPLETE = "You need something new to hunt."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_COMPLETE = "You need something new to hunt.";
test_class.type: String
test_class.var_name: TASK_COMPLETE
test_class.declarator: TASK_CANCELED = "Your task has been cancelled."
test_class.modifier: private static final
test_class.original_string: private static final String TASK_CANCELED = "Your task has been cancelled.";
test_class.type: String
test_class.var_name: TASK_CANCELED
test_class.declarator: SUPERIOR_MESSAGE = "A superior foe has appeared..."
test_class.modifier: private static final
test_class.original_string: private static final String SUPERIOR_MESSAGE = "A superior foe has appeared...";
test_class.type: String
test_class.var_name: SUPERIOR_MESSAGE
test_class.declarator: BRACLET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer count from decreasing. It has 9 charges left."
test_class.modifier: private static final
test_class.original_string: private static final String BRACLET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer count from decreasing. It has 9 charges left.";
test_class.type: String
test_class.var_name: BRACLET_SLAUGHTER
test_class.declarator: BRACLET_EXPEDITIOUS = "Your expeditious bracelet helps you progress your slayer task faster. It has 9 charges left."
test_class.modifier: private static final
test_class.original_string: private static final String BRACLET_EXPEDITIOUS = "Your expeditious bracelet helps you progress your slayer task faster. It has 9 charges left.";
test_class.type: String
test_class.var_name: BRACLET_EXPEDITIOUS
test_class.declarator: BRACLET_SLAUGHTER_V2 = "Your bracelet of slaughter prevents your slayer count from decreasing. It has 1 charge left."
test_class.modifier: private static final
test_class.original_string: private static final String BRACLET_SLAUGHTER_V2 = "Your bracelet of slaughter prevents your slayer count from decreasing. It has 1 charge left.";
test_class.type: String
test_class.var_name: BRACLET_SLAUGHTER_V2
test_class.declarator: BRACLET_EXPEDITIOUS_V2 = "Your expeditious bracelet helps you progress your slayer faster. It has 1 charge left."
test_class.modifier: private static final
test_class.original_string: private static final String BRACLET_EXPEDITIOUS_V2 = "Your expeditious bracelet helps you progress your slayer faster. It has 1 charge left.";
test_class.type: String
test_class.var_name: BRACLET_EXPEDITIOUS_V2
test_class.declarator: BRACLET_SLAUGHTER_V3 = "Your bracelet of slaughter prevents your slayer count from decreasing. It then crumbles to dust."
test_class.modifier: private static final
test_class.original_string: private static final String BRACLET_SLAUGHTER_V3 = "Your bracelet of slaughter prevents your slayer count from decreasing. It then crumbles to dust.";
test_class.type: String
test_class.var_name: BRACLET_SLAUGHTER_V3
test_class.declarator: BRACLET_EXPEDITIOUS_V3 = "Your expeditious bracelet helps you progress your slayer faster. It then crumbles to dust."
test_class.modifier: private static final
test_class.original_string: private static final String BRACLET_EXPEDITIOUS_V3 = "Your expeditious bracelet helps you progress your slayer faster. It then crumbles to dust.";
test_class.type: String
test_class.var_name: BRACLET_EXPEDITIOUS_V3
test_class.declarator: CHAT_BRACELET_SLAUGHTER_CHARGE = "Your bracelet of slaughter has 12 charges left."
test_class.modifier: private static final
test_class.original_string: private static final String CHAT_BRACELET_SLAUGHTER_CHARGE = "Your bracelet of slaughter has 12 charges left.";
test_class.type: String
test_class.var_name: CHAT_BRACELET_SLAUGHTER_CHARGE
test_class.declarator: CHAT_BRACELET_EXPEDITIOUS_CHARGE = "Your expeditious bracelet has 12 charges left."
test_class.modifier: private static final
test_class.original_string: private static final String CHAT_BRACELET_EXPEDITIOUS_CHARGE = "Your expeditious bracelet has 12 charges left.";
test_class.type: String
test_class.var_name: CHAT_BRACELET_EXPEDITIOUS_CHARGE
test_class.declarator: CHAT_BRACELET_SLAUGHTER_CHARGE_ONE = "Your bracelet of slaughter has 1 charge left."
test_class.modifier: private static final
test_class.original_string: private static final String CHAT_BRACELET_SLAUGHTER_CHARGE_ONE = "Your bracelet of slaughter has 1 charge left.";
test_class.type: String
test_class.var_name: CHAT_BRACELET_SLAUGHTER_CHARGE_ONE
test_class.declarator: CHAT_BRACELET_EXPEDITIOUS_CHARGE_ONE = "Your expeditious bracelet has 1 charge left."
test_class.modifier: private static final
test_class.original_string: private static final String CHAT_BRACELET_EXPEDITIOUS_CHARGE_ONE = "Your expeditious bracelet has 1 charge left.";
test_class.type: String
test_class.var_name: CHAT_BRACELET_EXPEDITIOUS_CHARGE_ONE
test_class.declarator: BREAK_SLAUGHTER = "The bracelet shatters. Your next bracelet of slaughter<br>will start afresh from 30 charges."
test_class.modifier: private static final
test_class.original_string: private static final String BREAK_SLAUGHTER = "The bracelet shatters. Your next bracelet of slaughter<br>will start afresh from 30 charges.";
test_class.type: String
test_class.var_name: BREAK_SLAUGHTER
test_class.declarator: BREAK_EXPEDITIOUS = "The bracelet shatters. Your next expeditious bracelet<br>will start afresh from 30 charges."
test_class.modifier: private static final
test_class.original_string: private static final String BREAK_EXPEDITIOUS = "The bracelet shatters. Your next expeditious bracelet<br>will start afresh from 30 charges.";
test_class.type: String
test_class.var_name: BREAK_EXPEDITIOUS
test_class.declarator: client
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	Client client;
test_class.type: Client
test_class.var_name: client
test_class.declarator: slayerConfig
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	SlayerConfig slayerConfig;
test_class.type: SlayerConfig
test_class.var_name: slayerConfig
test_class.declarator: overlayManager
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	OverlayManager overlayManager;
test_class.type: OverlayManager
test_class.var_name: overlayManager
test_class.declarator: overlay
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	SlayerOverlay overlay;
test_class.type: SlayerOverlay
test_class.var_name: overlay
test_class.declarator: infoBoxManager
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	InfoBoxManager infoBoxManager;
test_class.type: InfoBoxManager
test_class.var_name: infoBoxManager
test_class.declarator: itemManager
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	ItemManager itemManager;
test_class.type: ItemManager
test_class.var_name: itemManager
test_class.declarator: notifier
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	Notifier notifier;
test_class.type: Notifier
test_class.var_name: notifier
test_class.declarator: chatMessageManager
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	ChatMessageManager chatMessageManager;
test_class.type: ChatMessageManager
test_class.var_name: chatMessageManager
test_class.declarator: chatCommandManager
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	ChatCommandManager chatCommandManager;
test_class.type: ChatCommandManager
test_class.var_name: chatCommandManager
test_class.declarator: executor
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	ScheduledExecutorService executor;
test_class.type: ScheduledExecutorService
test_class.var_name: executor
test_class.declarator: chatClient
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	ChatClient chatClient;
test_class.type: ChatClient
test_class.var_name: chatClient
test_class.declarator: slayerPlugin
test_class.modifier: @Inject
test_class.original_string: @Inject
  	SlayerPlugin slayerPlugin;
test_class.type: SlayerPlugin
test_class.var_name: slayerPlugin
test_class.file: runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java
test_class.identifier: SlayerPluginTest
test_case.body: @Test
  	public void testSuperiorNotification()
  	{
  		ChatMessage chatMessageEvent = new ChatMessage(null, GAMEMESSAGE, "Superior", SUPERIOR_MESSAGE, null, 0);
  
  		when(slayerConfig.showSuperiorNotification()).thenReturn(true);
  		slayerPlugin.onChatMessage(chatMessageEvent);
  		verify(notifier).notify(SUPERIOR_MESSAGE);
  
  		when(slayerConfig.showSuperiorNotification()).thenReturn(false);
  		slayerPlugin.onChatMessage(chatMessageEvent);
  		verifyNoMoreInteractions(notifier);
  	}
test_case.class_method_signature: SlayerPluginTest.testSuperiorNotification()
test_case.full_signature: @Test public void testSuperiorNotification()
test_case.identifier: testSuperiorNotification
test_case.invocations: thenReturn when showSuperiorNotification onChatMessage notify verify thenReturn when showSuperiorNotification onChatMessage verifyNoMoreInteractions
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSuperiorNotification()
focal_class.declarator: CHAT_GEM_PROGRESS_MESSAGE = Pattern.compile("^(?:You're assigned to kill|You have received a new Slayer assignment from .*:) (?:[Tt]he )?(?<name>.+?)(?: (?:in|on|south of) (?:the )?(?<location>[^;]+))?(?:; only | \\()(?<amount>\\d+)(?: more to go\\.|\\))$")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern CHAT_GEM_PROGRESS_MESSAGE = Pattern.compile("^(?:You're assigned to kill|You have received a new Slayer assignment from .*:) (?:[Tt]he )?(?<name>.+?)(?: (?:in|on|south of) (?:the )?(?<location>[^;]+))?(?:; only | \\()(?<amount>\\d+)(?: more to go\\.|\\))$");
focal_class.type: Pattern
focal_class.var_name: CHAT_GEM_PROGRESS_MESSAGE
focal_class.declarator: CHAT_GEM_COMPLETE_MESSAGE = "You need something new to hunt."
focal_class.modifier: private static final
focal_class.original_string: private static final String CHAT_GEM_COMPLETE_MESSAGE = "You need something new to hunt.";
focal_class.type: String
focal_class.var_name: CHAT_GEM_COMPLETE_MESSAGE
focal_class.declarator: CHAT_COMPLETE_MESSAGE = Pattern.compile("(?:\\d+,)*\\d+")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern CHAT_COMPLETE_MESSAGE = Pattern.compile("(?:\\d+,)*\\d+");
focal_class.type: Pattern
focal_class.var_name: CHAT_COMPLETE_MESSAGE
focal_class.declarator: CHAT_CANCEL_MESSAGE = "Your task has been cancelled."
focal_class.modifier: private static final
focal_class.original_string: private static final String CHAT_CANCEL_MESSAGE = "Your task has been cancelled.";
focal_class.type: String
focal_class.var_name: CHAT_CANCEL_MESSAGE
focal_class.declarator: CHAT_CANCEL_MESSAGE_JAD = "You no longer have a slayer task as you left the fight cave."
focal_class.modifier: private static final
focal_class.original_string: private static final String CHAT_CANCEL_MESSAGE_JAD = "You no longer have a slayer task as you left the fight cave.";
focal_class.type: String
focal_class.var_name: CHAT_CANCEL_MESSAGE_JAD
focal_class.declarator: CHAT_CANCEL_MESSAGE_ZUK = "You no longer have a slayer task as you left the Inferno."
focal_class.modifier: private static final
focal_class.original_string: private static final String CHAT_CANCEL_MESSAGE_ZUK = "You no longer have a slayer task as you left the Inferno.";
focal_class.type: String
focal_class.var_name: CHAT_CANCEL_MESSAGE_ZUK
focal_class.declarator: CHAT_SUPERIOR_MESSAGE = "A superior foe has appeared..."
focal_class.modifier: private static final
focal_class.original_string: private static final String CHAT_SUPERIOR_MESSAGE = "A superior foe has appeared...";
focal_class.type: String
focal_class.var_name: CHAT_SUPERIOR_MESSAGE
focal_class.declarator: CHAT_BRACELET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer"
focal_class.modifier: private static final
focal_class.original_string: private static final String CHAT_BRACELET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer";
focal_class.type: String
focal_class.var_name: CHAT_BRACELET_SLAUGHTER
focal_class.declarator: CHAT_BRACELET_SLAUGHTER_REGEX = Pattern.compile("Your bracelet of slaughter prevents your slayer count from decreasing. It has (\\d{1,2}) charges? left\\.")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern CHAT_BRACELET_SLAUGHTER_REGEX = Pattern.compile("Your bracelet of slaughter prevents your slayer count from decreasing. It has (\\d{1,2}) charges? left\\.");
focal_class.type: Pattern
focal_class.var_name: CHAT_BRACELET_SLAUGHTER_REGEX
focal_class.declarator: CHAT_BRACELET_EXPEDITIOUS = "Your expeditious bracelet helps you progress your"
focal_class.modifier: private static final
focal_class.original_string: private static final String CHAT_BRACELET_EXPEDITIOUS = "Your expeditious bracelet helps you progress your";
focal_class.type: String
focal_class.var_name: CHAT_BRACELET_EXPEDITIOUS
focal_class.declarator: CHAT_BRACELET_EXPEDITIOUS_REGEX = Pattern.compile("Your expeditious bracelet helps you progress your slayer (?:task )?faster. It has (\\d{1,2}) charges? left\\.")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern CHAT_BRACELET_EXPEDITIOUS_REGEX = Pattern.compile("Your expeditious bracelet helps you progress your slayer (?:task )?faster. It has (\\d{1,2}) charges? left\\.");
focal_class.type: Pattern
focal_class.var_name: CHAT_BRACELET_EXPEDITIOUS_REGEX
focal_class.declarator: CHAT_BRACELET_SLAUGHTER_CHARGE = "Your bracelet of slaughter has "
focal_class.modifier: private static final
focal_class.original_string: private static final String CHAT_BRACELET_SLAUGHTER_CHARGE = "Your bracelet of slaughter has ";
focal_class.type: String
focal_class.var_name: CHAT_BRACELET_SLAUGHTER_CHARGE
focal_class.declarator: CHAT_BRACELET_SLAUGHTER_CHARGE_REGEX = Pattern.compile("Your bracelet of slaughter has (\\d{1,2}) charges? left\\.")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern CHAT_BRACELET_SLAUGHTER_CHARGE_REGEX = Pattern.compile("Your bracelet of slaughter has (\\d{1,2}) charges? left\\.");
focal_class.type: Pattern
focal_class.var_name: CHAT_BRACELET_SLAUGHTER_CHARGE_REGEX
focal_class.declarator: CHAT_BRACELET_EXPEDITIOUS_CHARGE = "Your expeditious bracelet has "
focal_class.modifier: private static final
focal_class.original_string: private static final String CHAT_BRACELET_EXPEDITIOUS_CHARGE = "Your expeditious bracelet has ";
focal_class.type: String
focal_class.var_name: CHAT_BRACELET_EXPEDITIOUS_CHARGE
focal_class.declarator: CHAT_BRACELET_EXPEDITIOUS_CHARGE_REGEX = Pattern.compile("Your expeditious bracelet has (\\d{1,2}) charges? left\\.")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern CHAT_BRACELET_EXPEDITIOUS_CHARGE_REGEX = Pattern.compile("Your expeditious bracelet has (\\d{1,2}) charges? left\\.");
focal_class.type: Pattern
focal_class.var_name: CHAT_BRACELET_EXPEDITIOUS_CHARGE_REGEX
focal_class.declarator: COMBAT_BRACELET_TASK_UPDATE_MESSAGE = Pattern.compile("^You still need to kill (\\d+) monsters to complete your current Slayer assignment")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern COMBAT_BRACELET_TASK_UPDATE_MESSAGE = Pattern.compile("^You still need to kill (\\d+) monsters to complete your current Slayer assignment");
focal_class.type: Pattern
focal_class.var_name: COMBAT_BRACELET_TASK_UPDATE_MESSAGE
focal_class.declarator: NPC_ASSIGN_MESSAGE = Pattern.compile(".*(?:Your new task is to kill|You are to bring balance to)\\s*(?<amount>\\d+) (?<name>.+?)(?: (?:in|on|south of) (?:the )?(?<location>.+))?\\.")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern NPC_ASSIGN_MESSAGE = Pattern.compile(".*(?:Your new task is to kill|You are to bring balance to)\\s*(?<amount>\\d+) (?<name>.+?)(?: (?:in|on|south of) (?:the )?(?<location>.+))?\\.");
focal_class.type: Pattern
focal_class.var_name: NPC_ASSIGN_MESSAGE
focal_class.declarator: NPC_ASSIGN_BOSS_MESSAGE = Pattern.compile("^(?:Excellent\\. )?You're now assigned to (?:kill|bring balance to) (?:the )?(.*) (\\d+) times.*Your reward point tally is (.*)\\.$")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern NPC_ASSIGN_BOSS_MESSAGE = Pattern.compile("^(?:Excellent\\. )?You're now assigned to (?:kill|bring balance to) (?:the )?(.*) (\\d+) times.*Your reward point tally is (.*)\\.$");
focal_class.type: Pattern
focal_class.var_name: NPC_ASSIGN_BOSS_MESSAGE
focal_class.declarator: NPC_ASSIGN_FIRST_MESSAGE = Pattern.compile("^We'll start you off (?:hunting|bringing balance to) (.*), you'll need to kill (\\d*) of them\\.$")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern NPC_ASSIGN_FIRST_MESSAGE = Pattern.compile("^We'll start you off (?:hunting|bringing balance to) (.*), you'll need to kill (\\d*) of them\\.$");
focal_class.type: Pattern
focal_class.var_name: NPC_ASSIGN_FIRST_MESSAGE
focal_class.declarator: NPC_CURRENT_MESSAGE = Pattern.compile("^You're (?:still(?: meant to be)?|currently assigned to) (?:hunting|bringing balance to|kill|bring balance to|slaying) (?<name>.+?)(?: (?:in|on|south of) (?:the )?(?<location>.+))?(?:, with|; (?:you have|only)) (?<amount>\\d+)(?: more)? to go\\..*")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern NPC_CURRENT_MESSAGE = Pattern.compile("^You're (?:still(?: meant to be)?|currently assigned to) (?:hunting|bringing balance to|kill|bring balance to|slaying) (?<name>.+?)(?: (?:in|on|south of) (?:the )?(?<location>.+))?(?:, with|; (?:you have|only)) (?<amount>\\d+)(?: more)? to go\\..*");
focal_class.type: Pattern
focal_class.var_name: NPC_CURRENT_MESSAGE
focal_class.declarator: REWARD_POINTS = Pattern.compile("Reward points: ((?:\\d+,)*\\d+)")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern REWARD_POINTS = Pattern.compile("Reward points: ((?:\\d+,)*\\d+)");
focal_class.type: Pattern
focal_class.var_name: REWARD_POINTS
focal_class.declarator: GROTESQUE_GUARDIANS_REGION = 6727
focal_class.modifier: private static final
focal_class.original_string: private static final int GROTESQUE_GUARDIANS_REGION = 6727;
focal_class.type: int
focal_class.var_name: GROTESQUE_GUARDIANS_REGION
focal_class.declarator: EXPEDITIOUS_CHARGE = 30
focal_class.modifier: private static final
focal_class.original_string: private static final int EXPEDITIOUS_CHARGE = 30;
focal_class.type: int
focal_class.var_name: EXPEDITIOUS_CHARGE
focal_class.declarator: SLAUGHTER_CHARGE = 30
focal_class.modifier: private static final
focal_class.original_string: private static final int SLAUGHTER_CHARGE = 30;
focal_class.type: int
focal_class.var_name: SLAUGHTER_CHARGE
focal_class.declarator: TASK_COMMAND_STRING = "!task"
focal_class.modifier: private static final
focal_class.original_string: private static final String TASK_COMMAND_STRING = "!task";
focal_class.type: String
focal_class.var_name: TASK_COMMAND_STRING
focal_class.declarator: TASK_STRING_VALIDATION = Pattern.compile("[^a-zA-Z0-9' -]")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern TASK_STRING_VALIDATION = Pattern.compile("[^a-zA-Z0-9' -]");
focal_class.type: Pattern
focal_class.var_name: TASK_STRING_VALIDATION
focal_class.declarator: TASK_STRING_MAX_LENGTH = 50
focal_class.modifier: private static final
focal_class.original_string: private static final int TASK_STRING_MAX_LENGTH = 50;
focal_class.type: int
focal_class.var_name: TASK_STRING_MAX_LENGTH
focal_class.declarator: client
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private Client client;
focal_class.type: Client
focal_class.var_name: client
focal_class.declarator: config
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private SlayerConfig config;
focal_class.type: SlayerConfig
focal_class.var_name: config
focal_class.declarator: overlayManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private OverlayManager overlayManager;
focal_class.type: OverlayManager
focal_class.var_name: overlayManager
focal_class.declarator: overlay
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private SlayerOverlay overlay;
focal_class.type: SlayerOverlay
focal_class.var_name: overlay
focal_class.declarator: infoBoxManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private InfoBoxManager infoBoxManager;
focal_class.type: InfoBoxManager
focal_class.var_name: infoBoxManager
focal_class.declarator: itemManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ItemManager itemManager;
focal_class.type: ItemManager
focal_class.var_name: itemManager
focal_class.declarator: notifier
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private Notifier notifier;
focal_class.type: Notifier
focal_class.var_name: notifier
focal_class.declarator: clientThread
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ClientThread clientThread;
focal_class.type: ClientThread
focal_class.var_name: clientThread
focal_class.declarator: targetClickboxOverlay
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private TargetClickboxOverlay targetClickboxOverlay;
focal_class.type: TargetClickboxOverlay
focal_class.var_name: targetClickboxOverlay
focal_class.declarator: targetWeaknessOverlay
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private TargetWeaknessOverlay targetWeaknessOverlay;
focal_class.type: TargetWeaknessOverlay
focal_class.var_name: targetWeaknessOverlay
focal_class.declarator: targetMinimapOverlay
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private TargetMinimapOverlay targetMinimapOverlay;
focal_class.type: TargetMinimapOverlay
focal_class.var_name: targetMinimapOverlay
focal_class.declarator: chatMessageManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ChatMessageManager chatMessageManager;
focal_class.type: ChatMessageManager
focal_class.var_name: chatMessageManager
focal_class.declarator: chatCommandManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ChatCommandManager chatCommandManager;
focal_class.type: ChatCommandManager
focal_class.var_name: chatCommandManager
focal_class.declarator: executor
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ScheduledExecutorService executor;
focal_class.type: ScheduledExecutorService
focal_class.var_name: executor
focal_class.declarator: chatClient
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ChatClient chatClient;
focal_class.type: ChatClient
focal_class.var_name: chatClient
focal_class.declarator: highlightedTargets = new ArrayList<>()
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private List<NPC> highlightedTargets = new ArrayList<>();
focal_class.type: List<NPC>
focal_class.var_name: highlightedTargets
focal_class.declarator: taggedNpcs = new HashSet<>()
focal_class.modifier: private final
focal_class.original_string: private final Set<NPC> taggedNpcs = new HashSet<>();
focal_class.type: Set<NPC>
focal_class.var_name: taggedNpcs
focal_class.declarator: taggedNpcsDiedPrevTick
focal_class.modifier: private
focal_class.original_string: private int taggedNpcsDiedPrevTick;
focal_class.type: int
focal_class.var_name: taggedNpcsDiedPrevTick
focal_class.declarator: taggedNpcsDiedThisTick
focal_class.modifier: private
focal_class.original_string: private int taggedNpcsDiedThisTick;
focal_class.type: int
focal_class.var_name: taggedNpcsDiedThisTick
focal_class.declarator: amount
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private int amount;
focal_class.type: int
focal_class.var_name: amount
focal_class.declarator: initialAmount
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private int initialAmount;
focal_class.type: int
focal_class.var_name: initialAmount
focal_class.declarator: taskLocation
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private String taskLocation;
focal_class.type: String
focal_class.var_name: taskLocation
focal_class.declarator: expeditiousChargeCount
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private int expeditiousChargeCount;
focal_class.type: int
focal_class.var_name: expeditiousChargeCount
focal_class.declarator: slaughterChargeCount
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private int slaughterChargeCount;
focal_class.type: int
focal_class.var_name: slaughterChargeCount
focal_class.declarator: taskName
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	@Setter(AccessLevel.PACKAGE)
  	private String taskName;
focal_class.type: String
focal_class.var_name: taskName
focal_class.declarator: counter
focal_class.modifier: private
focal_class.original_string: private TaskCounter counter;
focal_class.type: TaskCounter
focal_class.var_name: counter
focal_class.declarator: cachedXp = -1
focal_class.modifier: private
focal_class.original_string: private int cachedXp = -1;
focal_class.type: int
focal_class.var_name: cachedXp
focal_class.declarator: infoTimer
focal_class.modifier: private
focal_class.original_string: private Instant infoTimer;
focal_class.type: Instant
focal_class.var_name: infoTimer
focal_class.declarator: loginFlag
focal_class.modifier: private
focal_class.original_string: private boolean loginFlag;
focal_class.type: boolean
focal_class.var_name: loginFlag
focal_class.declarator: targetNames = new ArrayList<>()
focal_class.modifier: private
focal_class.original_string: private List<String> targetNames = new ArrayList<>();
focal_class.type: List<String>
focal_class.var_name: targetNames
focal_class.file: runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java
focal_class.identifier: SlayerPlugin
focal_class.class_method_signature: SlayerPlugin.startUp()
focal_class.full_signature: @Override protected void startUp()
focal_class.identifier: startUp
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void startUp()
focal_class.class_method_signature: SlayerPlugin.shutDown()
focal_class.full_signature: @Override protected void shutDown()
focal_class.identifier: shutDown
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void shutDown()
focal_class.class_method_signature: SlayerPlugin.provideSlayerConfig(ConfigManager configManager)
focal_class.full_signature: @Provides SlayerConfig provideSlayerConfig(ConfigManager configManager)
focal_class.identifier: provideSlayerConfig
focal_class.modifiers: @Provides
focal_class.parameters: (ConfigManager configManager)
focal_class.return: SlayerConfig
focal_class.signature: SlayerConfig provideSlayerConfig(ConfigManager configManager)
focal_class.class_method_signature: SlayerPlugin.onGameStateChanged(GameStateChanged event)
focal_class.full_signature: @Subscribe public void onGameStateChanged(GameStateChanged event)
focal_class.identifier: onGameStateChanged
focal_class.modifiers: @Subscribe public
focal_class.parameters: (GameStateChanged event)
focal_class.return: void
focal_class.signature: void onGameStateChanged(GameStateChanged event)
focal_class.class_method_signature: SlayerPlugin.save()
focal_class.full_signature: private void save()
focal_class.identifier: save
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void save()
focal_class.class_method_signature: SlayerPlugin.onNpcSpawned(NpcSpawned npcSpawned)
focal_class.full_signature: @Subscribe public void onNpcSpawned(NpcSpawned npcSpawned)
focal_class.identifier: onNpcSpawned
focal_class.modifiers: @Subscribe public
focal_class.parameters: (NpcSpawned npcSpawned)
focal_class.return: void
focal_class.signature: void onNpcSpawned(NpcSpawned npcSpawned)
focal_class.class_method_signature: SlayerPlugin.onNpcDespawned(NpcDespawned npcDespawned)
focal_class.full_signature: @Subscribe public void onNpcDespawned(NpcDespawned npcDespawned)
focal_class.identifier: onNpcDespawned
focal_class.modifiers: @Subscribe public
focal_class.parameters: (NpcDespawned npcDespawned)
focal_class.return: void
focal_class.signature: void onNpcDespawned(NpcDespawned npcDespawned)
focal_class.class_method_signature: SlayerPlugin.onGameTick(GameTick tick)
focal_class.full_signature: @Subscribe public void onGameTick(GameTick tick)
focal_class.identifier: onGameTick
focal_class.modifiers: @Subscribe public
focal_class.parameters: (GameTick tick)
focal_class.return: void
focal_class.signature: void onGameTick(GameTick tick)
focal_class.class_method_signature: SlayerPlugin.onChatMessage(ChatMessage event)
focal_class.full_signature: @Subscribe public void onChatMessage(ChatMessage event)
focal_class.identifier: onChatMessage
focal_class.modifiers: @Subscribe public
focal_class.parameters: (ChatMessage event)
focal_class.return: void
focal_class.signature: void onChatMessage(ChatMessage event)
focal_class.class_method_signature: SlayerPlugin.onStatChanged(StatChanged statChanged)
focal_class.full_signature: @Subscribe public void onStatChanged(StatChanged statChanged)
focal_class.identifier: onStatChanged
focal_class.modifiers: @Subscribe public
focal_class.parameters: (StatChanged statChanged)
focal_class.return: void
focal_class.signature: void onStatChanged(StatChanged statChanged)
focal_class.class_method_signature: SlayerPlugin.onHitsplatApplied(HitsplatApplied hitsplatApplied)
focal_class.full_signature: @Subscribe public void onHitsplatApplied(HitsplatApplied hitsplatApplied)
focal_class.identifier: onHitsplatApplied
focal_class.modifiers: @Subscribe public
focal_class.parameters: (HitsplatApplied hitsplatApplied)
focal_class.return: void
focal_class.signature: void onHitsplatApplied(HitsplatApplied hitsplatApplied)
focal_class.class_method_signature: SlayerPlugin.onActorDeath(ActorDeath actorDeath)
focal_class.full_signature: @Subscribe public void onActorDeath(ActorDeath actorDeath)
focal_class.identifier: onActorDeath
focal_class.modifiers: @Subscribe public
focal_class.parameters: (ActorDeath actorDeath)
focal_class.return: void
focal_class.signature: void onActorDeath(ActorDeath actorDeath)
focal_class.class_method_signature: SlayerPlugin.onConfigChanged(ConfigChanged event)
focal_class.full_signature: @Subscribe private void onConfigChanged(ConfigChanged event)
focal_class.identifier: onConfigChanged
focal_class.modifiers: @Subscribe private
focal_class.parameters: (ConfigChanged event)
focal_class.return: void
focal_class.signature: void onConfigChanged(ConfigChanged event)
focal_class.class_method_signature: SlayerPlugin.killed(int amt)
focal_class.full_signature: @VisibleForTesting void killed(int amt)
focal_class.identifier: killed
focal_class.modifiers: @VisibleForTesting
focal_class.parameters: (int amt)
focal_class.return: void
focal_class.signature: void killed(int amt)
focal_class.class_method_signature: SlayerPlugin.doubleTroubleExtraKill()
focal_class.full_signature: private boolean doubleTroubleExtraKill()
focal_class.identifier: doubleTroubleExtraKill
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean doubleTroubleExtraKill()
focal_class.class_method_signature: SlayerPlugin.isTarget(NPC npc)
focal_class.full_signature: private boolean isTarget(NPC npc)
focal_class.identifier: isTarget
focal_class.modifiers: private
focal_class.parameters: (NPC npc)
focal_class.return: boolean
focal_class.signature: boolean isTarget(NPC npc)
focal_class.class_method_signature: SlayerPlugin.rebuildTargetNames(Task task)
focal_class.full_signature: private void rebuildTargetNames(Task task)
focal_class.identifier: rebuildTargetNames
focal_class.modifiers: private
focal_class.parameters: (Task task)
focal_class.return: void
focal_class.signature: void rebuildTargetNames(Task task)
focal_class.class_method_signature: SlayerPlugin.rebuildTargetList()
focal_class.full_signature: private void rebuildTargetList()
focal_class.identifier: rebuildTargetList
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void rebuildTargetList()
focal_class.class_method_signature: SlayerPlugin.setTask(String name, int amt, int initAmt)
focal_class.full_signature: private void setTask(String name, int amt, int initAmt)
focal_class.identifier: setTask
focal_class.modifiers: private
focal_class.parameters: (String name, int amt, int initAmt)
focal_class.return: void
focal_class.signature: void setTask(String name, int amt, int initAmt)
focal_class.class_method_signature: SlayerPlugin.setTask(String name, int amt, int initAmt, String location)
focal_class.full_signature: private void setTask(String name, int amt, int initAmt, String location)
focal_class.identifier: setTask
focal_class.modifiers: private
focal_class.parameters: (String name, int amt, int initAmt, String location)
focal_class.return: void
focal_class.signature: void setTask(String name, int amt, int initAmt, String location)
focal_class.class_method_signature: SlayerPlugin.setTask(String name, int amt, int initAmt, String location, boolean addCounter)
focal_class.full_signature: private void setTask(String name, int amt, int initAmt, String location, boolean addCounter)
focal_class.identifier: setTask
focal_class.modifiers: private
focal_class.parameters: (String name, int amt, int initAmt, String location, boolean addCounter)
focal_class.return: void
focal_class.signature: void setTask(String name, int amt, int initAmt, String location, boolean addCounter)
focal_class.class_method_signature: SlayerPlugin.addCounter()
focal_class.full_signature: private void addCounter()
focal_class.identifier: addCounter
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void addCounter()
focal_class.class_method_signature: SlayerPlugin.removeCounter()
focal_class.full_signature: private void removeCounter()
focal_class.identifier: removeCounter
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void removeCounter()
focal_class.class_method_signature: SlayerPlugin.taskLookup(ChatMessage chatMessage, String message)
focal_class.full_signature:  void taskLookup(ChatMessage chatMessage, String message)
focal_class.identifier: taskLookup
focal_class.parameters: (ChatMessage chatMessage, String message)
focal_class.return: void
focal_class.signature: void taskLookup(ChatMessage chatMessage, String message)
focal_class.class_method_signature: SlayerPlugin.taskSubmit(ChatInput chatInput, String value)
focal_class.full_signature: private boolean taskSubmit(ChatInput chatInput, String value)
focal_class.identifier: taskSubmit
focal_class.modifiers: private
focal_class.parameters: (ChatInput chatInput, String value)
focal_class.return: boolean
focal_class.signature: boolean taskSubmit(ChatInput chatInput, String value)
focal_class.class_method_signature: SlayerPlugin.capsString(String str)
focal_class.full_signature: private String capsString(String str)
focal_class.identifier: capsString
focal_class.modifiers: private
focal_class.parameters: (String str)
focal_class.return: String
focal_class.signature: String capsString(String str)
focal_class.superclass: extends Plugin
focal_method.body: @Subscribe
  	public void onChatMessage(ChatMessage event)
  	{
  		if (event.getType() != ChatMessageType.GAMEMESSAGE && event.getType() != ChatMessageType.SPAM)
  		{
  			return;
  		}
  
  		String chatMsg = Text.removeTags(event.getMessage()); //remove color and linebreaks
  
  		if (chatMsg.startsWith(CHAT_BRACELET_SLAUGHTER))
  		{
  			Matcher mSlaughter = CHAT_BRACELET_SLAUGHTER_REGEX.matcher(chatMsg);
  
  			amount++;
  			slaughterChargeCount = mSlaughter.find() ? Integer.parseInt(mSlaughter.group(1)) : SLAUGHTER_CHARGE;
  			config.slaughter(slaughterChargeCount);
  		}
  
  		if (chatMsg.startsWith(CHAT_BRACELET_EXPEDITIOUS))
  		{
  			Matcher mExpeditious = CHAT_BRACELET_EXPEDITIOUS_REGEX.matcher(chatMsg);
  
  			amount--;
  			expeditiousChargeCount = mExpeditious.find() ? Integer.parseInt(mExpeditious.group(1)) : EXPEDITIOUS_CHARGE;
  			config.expeditious(expeditiousChargeCount);
  		}
  
  		if (chatMsg.startsWith(CHAT_BRACELET_EXPEDITIOUS_CHARGE))
  		{
  			Matcher mExpeditious = CHAT_BRACELET_EXPEDITIOUS_CHARGE_REGEX.matcher(chatMsg);
  
  			if (!mExpeditious.find())
  			{
  				return;
  			}
  
  			expeditiousChargeCount = Integer.parseInt(mExpeditious.group(1));
  			config.expeditious(expeditiousChargeCount);
  		}
  		if (chatMsg.startsWith(CHAT_BRACELET_SLAUGHTER_CHARGE))
  		{
  			Matcher mSlaughter = CHAT_BRACELET_SLAUGHTER_CHARGE_REGEX.matcher(chatMsg);
  			if (!mSlaughter.find())
  			{
  				return;
  			}
  
  			slaughterChargeCount = Integer.parseInt(mSlaughter.group(1));
  			config.slaughter(slaughterChargeCount);
  		}
  
  		if (chatMsg.startsWith("You've completed") && (chatMsg.contains("Slayer master") || chatMsg.contains("Slayer Master")))
  		{
  			Matcher mComplete = CHAT_COMPLETE_MESSAGE.matcher(chatMsg);
  
  			List<String> matches = new ArrayList<>();
  			while (mComplete.find())
  			{
  				matches.add(mComplete.group(0).replaceAll(",", ""));
  			}
  
  			int streak = -1, points = -1;
  			switch (matches.size())
  			{
  				case 0:
  					streak = 1;
  					break;
  				case 1:
  					streak = Integer.parseInt(matches.get(0));
  					break;
  				case 3:
  					streak = Integer.parseInt(matches.get(0));
  					points = Integer.parseInt(matches.get(2));
  					break;
  				default:
  					log.warn("Unreachable default case for message ending in '; return to Slayer master'");
  			}
  			if (streak != -1)
  			{
  				config.streak(streak);
  			}
  			if (points != -1)
  			{
  				config.points(points);
  			}
  
  			setTask("", 0, 0);
  			return;
  		}
  
  		if (chatMsg.equals(CHAT_GEM_COMPLETE_MESSAGE) || chatMsg.equals(CHAT_CANCEL_MESSAGE) || chatMsg.equals(CHAT_CANCEL_MESSAGE_JAD) || chatMsg.equals(CHAT_CANCEL_MESSAGE_ZUK))
  		{
  			setTask("", 0, 0);
  			return;
  		}
  
  		if (config.showSuperiorNotification() && chatMsg.equals(CHAT_SUPERIOR_MESSAGE))
  		{
  			notifier.notify(CHAT_SUPERIOR_MESSAGE);
  			return;
  		}
  
  		Matcher mProgress = CHAT_GEM_PROGRESS_MESSAGE.matcher(chatMsg);
  
  		if (mProgress.find())
  		{
  			String name = mProgress.group("name");
  			int gemAmount = Integer.parseInt(mProgress.group("amount"));
  			String location = mProgress.group("location");
  			setTask(name, gemAmount, initialAmount, location);
  			return;
  		}
  
  		final Matcher bracerProgress = COMBAT_BRACELET_TASK_UPDATE_MESSAGE.matcher(chatMsg);
  
  		if (bracerProgress.find())
  		{
  			final int taskAmount = Integer.parseInt(bracerProgress.group(1));
  			setTask(taskName, taskAmount, initialAmount);
  
  			// Avoid race condition (combat brace message goes through first before XP drop)
  			amount++;
  		}
  	}
focal_method.class_method_signature: SlayerPlugin.onChatMessage(ChatMessage event)
focal_method.full_signature: @Subscribe public void onChatMessage(ChatMessage event)
focal_method.identifier: onChatMessage
focal_method.invocations: getType getType removeTags getMessage startsWith matcher find parseInt group slaughter startsWith matcher find parseInt group expeditious startsWith matcher find parseInt group expeditious startsWith matcher find parseInt group slaughter startsWith contains contains matcher find add replaceAll group size parseInt get parseInt get parseInt get warn streak points setTask equals equals equals equals setTask showSuperiorNotification equals notify matcher find group parseInt group group setTask matcher find parseInt group setTask
focal_method.modifiers: @Subscribe public
focal_method.parameters: (ChatMessage event)
focal_method.return: void
focal_method.signature: void onChatMessage(ChatMessage event)