-
-
Notifications
You must be signed in to change notification settings - Fork 504
feat(shortestpath): Map of Alacrity (League 6) webwalker support #1750
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
Merged
chsami
merged 7 commits into
chsami:development
from
runsonmypc:feature/league-6-map-of-alacrity
Apr 19, 2026
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
1914433
feat(shortestpath): add Map of Alacrity teleports (League 6)
runsonmypc 7129a37
wip(shortestpath): Map of Alacrity runtime + pathfinder gating
runsonmypc 9e2570b
feat(shortestpath): Map of Alacrity teleport handler + coord corrections
runsonmypc b35c4cf
fix(shortestpath): Nemus retreat landing tiles + east-wall ObjectID +…
runsonmypc 5c3082b
fix(shortestpath): MoA destinations via hotkey + tolerant name match
runsonmypc ee92f4e
feat(shortestpath): Map of Alacrity (League 6) finishing touches
runsonmypc 914efa0
Merge branch 'development' into feature/league-6-map-of-alacrity
chsami File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
32 changes: 32 additions & 0 deletions
32
...te-client/src/main/java/net/runelite/client/plugins/microbot/moaaudit/MoaAuditPlugin.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| package net.runelite.client.plugins.microbot.moaaudit; | ||
|
|
||
| import lombok.extern.slf4j.Slf4j; | ||
| import net.runelite.client.plugins.Plugin; | ||
| import net.runelite.client.plugins.PluginDescriptor; | ||
| import net.runelite.client.plugins.microbot.util.walker.Rs2Walker; | ||
|
|
||
| // TEMP debug plugin: on enable, iterates every Map of Alacrity seasonal transport, | ||
| // attempts to teleport, and logs actual landing vs expected coord for each. Used to | ||
| // catch bad destination coords in seasonal_transports.tsv. Delete when done. | ||
| @PluginDescriptor( | ||
| name = PluginDescriptor.Default + "MoA Audit", | ||
| description = "[TEMP] Record Map of Alacrity teleport landing tiles", | ||
| tags = {"temp", "debug", "league", "microbot"}, | ||
| enabledByDefault = false | ||
| ) | ||
| @Slf4j | ||
| public class MoaAuditPlugin extends Plugin { | ||
| private Thread worker; | ||
|
|
||
| @Override | ||
| protected void startUp() { | ||
| worker = new Thread(Rs2Walker::runMoaAudit, "moa-audit"); | ||
| worker.setDaemon(true); | ||
| worker.start(); | ||
| } | ||
|
|
||
| @Override | ||
| protected void shutDown() { | ||
| if (worker != null) worker.interrupt(); | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Logged
costdiverges from the actual TransportNode cost.At line 149 the cost added for a MoA teleport neighbor is
config.getDistanceBeforeUsingTeleport() + transport.getDuration(), but this debug line logsconfig.getDistanceBeforeUsingTeleport() + 4— a hardcoded4instead oftransport.getDuration(). If any MoA TSV row has a duration ≠ 4, the "cost" field in this log will silently misreport what the pathfinder actually used, which defeats the purpose of the audit log. It's also a single summary value for a loop that may have added multiple MoA transports with different durations.🔧 Suggested fix: track the real per-neighbor cost during the loop
int moaSeenHere = 0; int moaAddedHere = 0; int moaVisited = 0; int moaIgnored = 0; + int moaLastCost = -1; @@ if (TransportType.isTeleport(transport.getType())) { if (config.isIgnoreTeleportAndItems()) { if (isMoa) moaIgnored++; continue; } - neighbors.add(new TransportNode(transport.getDestination(), node, config.getDistanceBeforeUsingTeleport() + transport.getDuration())); - if (isMoa) moaAddedHere++; + int teleCost = config.getDistanceBeforeUsingTeleport() + transport.getDuration(); + neighbors.add(new TransportNode(transport.getDestination(), node, teleCost)); + if (isMoa) { moaAddedHere++; moaLastCost = teleCost; } } else { neighbors.add(new TransportNode(transport.getDestination(), node, transport.getDuration())); } @@ if (moaSeenHere > 0) { - log.debug("[MoA] getNeighbors @ ({},{},{}): seen={} added={} visited={} ignored={} (distanceBeforeUsingTeleport={}, cost={})", - x, y, z, moaSeenHere, moaAddedHere, moaVisited, moaIgnored, - config.getDistanceBeforeUsingTeleport(), - config.getDistanceBeforeUsingTeleport() + 4); + log.debug("[MoA] getNeighbors @ ({},{},{}): seen={} added={} visited={} ignored={} (distanceBeforeUsingTeleport={}, lastCost={})", + x, y, z, moaSeenHere, moaAddedHere, moaVisited, moaIgnored, + config.getDistanceBeforeUsingTeleport(), moaLastCost); }🤖 Prompt for AI Agents