-
-
Notifications
You must be signed in to change notification settings - Fork 486
fix(walker): handle dialogue for inventory teleport items #1663
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Add dialogue handling for multi-destination teleport items when used from inventory (not equipped). Previously, items like Slayer Ring would interact successfully but fail to handle the destination selection dialogue that appears afterward. Supported items: Slayer ring, Games necklace, Skills necklace, Ring of dueling, Ring of wealth, Amulet of glory, Combat bracelet, Digsite pendant, Necklace of passage, Giantsoul amulet. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
WalkthroughThe changes extend Rs2Walker.java to support dialogue-based destination selection for teleport items. A new helper method identifies items requiring destination dialogue selection (slayer ring, games necklace, ring of dueling, amulet of glory, combat bracelet, and others). Both inventory-based and wearable-based teleport handling now include logic to trigger destination dialogue, select the specified destination, and log travel. Special handling for burning amulet confirms wilderness teleport through dialogue flow. Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ast-grep (0.40.5)runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2Walker.javaThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2Walker.java (1)
1928-1943: Inconsistent handling: Burning amulet inventory path missing destination selection.The inventory burning amulet handling (lines 1934-1939) only performs the wilderness confirmation step, but when rubbing a burning amulet from inventory, the game first presents a destination selection dialogue (Chaos Temple, Bandit Camp, Lava Maze) before the wilderness warning.
Compare with:
- Lines 1929-1933: Other dialogue-based items correctly wait for and click the destination option.
- Lines 1963-1967 (wearable path): Burning amulet works because
invokeMenu(rs2Item, destination)directly selects the destination from equipment menu before the wilderness confirmation.The inventory burning amulet should select the destination first, then confirm the wilderness teleport.
Proposed fix
} else if (isDialogueBasedTeleportItem(transport.getDisplayInfo())) { // Multi-destination teleport items: wait for destination selection dialogue Rs2Dialogue.sleepUntilSelectAnOption(); Rs2Dialogue.clickOption(destination); log.info("Traveling to {} - ({})", transport.getDisplayInfo(), transport.getDestination()); return true; } else if (transport.getDisplayInfo().toLowerCase().contains("burning amulet")) { - // Burning amulet in inventory: confirm wilderness teleport + // Burning amulet in inventory: select destination then confirm wilderness teleport + Rs2Dialogue.sleepUntilSelectAnOption(); + Rs2Dialogue.clickOption(destination); Rs2Dialogue.sleepUntilInDialogue(); Rs2Dialogue.clickOption("Okay, teleport to level"); log.info("Traveling to {} - ({})", transport.getDisplayInfo(), transport.getDestination()); return true;
|
It was definitely not working specifically with the slayer ring, was opening the dialogue and not going through, was it was not using the right click options |

Add dialogue handling for multi-destination teleport items when used from inventory (not equipped). Previously, items like Slayer Ring would interact successfully but fail to handle the destination selection dialogue that appears afterward.
Supported items: Slayer ring, Games necklace, Skills necklace, Ring of dueling, Ring of wealth, Amulet of glory, Combat bracelet, Digsite pendant, Necklace of passage, Giantsoul amulet.