Skip to content
Merged

2.6.0 #1771

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ project.build.group=net.runelite
project.build.version=1.12.26.2

glslang.path=
microbot.version=2.5.9
microbot.version=2.6.0
microbot.commit.sha=nogit
microbot.repo.url=http://138.201.81.246:8081/repository/microbot-snapshot/
microbot.repo.username=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import static net.runelite.client.plugins.microbot.util.Global.sleepUntilTrue;

public class Rs2Dialogue {
private static final String CLICK_HERE_TO_CONTINUE = "Click here to continue";

/**
* Checks if the player is currently in a dialogue state.
Expand Down Expand Up @@ -112,13 +113,20 @@ private static boolean hasBarrowsContinue() {
/**
* Checks if there is a "Continue" option in the spell filter dialogue.
*
* <p>This method verifies the visibility of the widget associated with the spell filter continue option.
* It checks the widget with interface ID 162 and child ID 43 to determine if the "Continue" option is present.</p>
* <p>This method verifies the chatbox widget used by spell filter continue prompts.
* It checks the widget text because the same chatbox child is also used for text inputs.</p>
*
* @return true if the spell filter continue option is visible, false otherwise.
*/
private static boolean hasSpellFilterContinue() {
return Rs2Widget.isWidgetVisible(162, 44);
return Microbot.getClientThread().runOnClientThreadOptional(() -> {
Widget widget = Microbot.getClient().getWidget(162, 44);
return widget != null && !widget.isHidden() && isContinuePromptText(widget.getText());
}).orElse(false);
}

static boolean isContinuePromptText(String text) {
return text != null && Rs2UiHelper.stripTagsToSpace(text).equalsIgnoreCase(CLICK_HERE_TO_CONTINUE);
}

/**
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package net.runelite.client.plugins.microbot.util.dialogues;

import org.junit.Test;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

public class Rs2DialogueTest {
@Test
public void isContinuePromptTextAcceptsContinuePrompt() {
assertTrue(Rs2Dialogue.isContinuePromptText("<col=ffffff>Click here to continue</col>"));
}

@Test
public void isContinuePromptTextRejectsChatboxInputs() {
assertFalse(Rs2Dialogue.isContinuePromptText("Enter amount:"));
assertFalse(Rs2Dialogue.isContinuePromptText("Search"));
assertFalse(Rs2Dialogue.isContinuePromptText("abyssal whip"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,11 @@ net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#handleQuestOptio
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#hasDialogueOptionTitle(String, boolean): boolean -> net.runelite.api.widgets.Widget#getDynamicChildren(): Widget[]
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#hasDialogueOptionTitle(String, boolean): boolean -> net.runelite.api.widgets.Widget#getText(): String
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#hasSelectAnOption(): boolean -> net.runelite.api.widgets.Widget#getDynamicChildren(): Widget[]
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#lambda$clickOption$2(Widget, String): boolean -> net.runelite.api.widgets.Widget#getText(): String
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#lambda$clickOption$3(Widget, String): boolean -> net.runelite.api.widgets.Widget#getText(): String
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#lambda$getCombinationOption$8(boolean, String, Widget): boolean -> net.runelite.api.widgets.Widget#getName(): String
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#lambda$getDialogueOption$0(boolean, String, Widget): boolean -> net.runelite.api.widgets.Widget#getText(): String
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#lambda$hasDialogueOption$1(boolean, String, Widget): boolean -> net.runelite.api.widgets.Widget#getText(): String
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#lambda$clickOption$4(Widget, String): boolean -> net.runelite.api.widgets.Widget#getText(): String
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#lambda$getCombinationOption$9(boolean, String, Widget): boolean -> net.runelite.api.widgets.Widget#getName(): String
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#lambda$getDialogueOption$1(boolean, String, Widget): boolean -> net.runelite.api.widgets.Widget#getText(): String
net.runelite.client.plugins.microbot.util.dialogues.Rs2Dialogue#lambda$hasDialogueOption$2(boolean, String, Widget): boolean -> net.runelite.api.widgets.Widget#getText(): String
net.runelite.client.plugins.microbot.util.equipment.Rs2Equipment#<clinit>(): void -> net.runelite.api.EquipmentInventorySlot#getSlotIdx(): int
net.runelite.client.plugins.microbot.util.equipment.Rs2Equipment#<clinit>(): void -> net.runelite.api.EquipmentInventorySlot#values(): EquipmentInventorySlot[]
net.runelite.client.plugins.microbot.util.equipment.Rs2Equipment#equipment(): ItemContainer -> net.runelite.api.Client#getItemContainer(int): ItemContainer
Expand Down
Loading