Skip to content

Development web walker#5

Closed
infuse21 wants to merge 4 commits into
developmentfrom
developmentWebWalker
Closed

Development web walker#5
infuse21 wants to merge 4 commits into
developmentfrom
developmentWebWalker

Conversation

@infuse21

Copy link
Copy Markdown
Owner

No description provided.

infuse21 added 4 commits July 18, 2026 12:39
- Defers off-path recalculation while the player is still moving, animating, interacting, settling after doors/transports, or making recent route/interim progress.
- Reworks route minimap clicks and unreachable-tile recovery to stay anchored to the planned raw path, use Euclidean minimap reach, and avoid backtracking to earlier nearby path branches.
- Adds sticky interim checkpoint tracking so recovery/continuation clicks are not spammed while valid movement is already in flight.
- Tightens door handling by deferring door probes while moving and only blacklisting wrong-traversal doors when the player started near the attempted door edge.
- Improves charter ship destination widget lookup/clicking and optional confirmation handling.
cold start - hopefuly fixed
Mid-route Stalling rs2 walker now accepts adjacent same-plane transport/objct landing
- Adds a per-loop `WalkLoopSnapshot` so route progress decisions reuse a stable player location and reachable-tile snapshot during each walker loop.
- Reworks closest-path-index and route-progress tracking to prefer reachable distance when available, fall back safely when reachability is empty, and preserve forward progress on routes that double back near earlier branches.
- Keeps primary minimap clicks, direct short-walk fallback, and unreachable recovery anchored to the raw shortest-path route before using smoothed waypoint nudges or generic fallbacks.
- Adds raw-route target selection helpers with candidate predicates so recovery and continuation clicks stay on known walkable/unloaded route tiles.
- Defers off-path recalculation while movement, interaction, animation, door/transport settling, recent clicks, route progress, or interim checkpoint progress indicate the player is still advancing.
- Adds sticky interim checkpoint tracking and early `interim-in-flight` yields before broad scans, current-tile transport checks, direct short-walk attempts, and path segment scans.
- Hints route progress after clicked-ahead checkpoints so later route anchoring does not snap back to nearby already-travelled branches.
- Improves startup behavior by skipping speculative timeout-backed obstacle scans before the first movement click, while still allowing immediate planned transport steps to dispatch.
- Suppresses active route idle nudges and stall recovery clicks when the current route segment is an explicit transport edge.
- Tightens door/gate handling so wrong-traversal blacklisting only happens when the player started near the attempted door edge.
- Accepts adjacent same-plane transport/object landings when the player settles near the expected destination instead of requiring the exact destination tile.
- Improves charter ship handling by recursively resolving destination widgets, invoking the clickable widget/action, and confirming travel prompts when needed.
- Updates `ShortestPathPlugin` route cleanup, pathfinder inventory quantity checks, WebWalk logging volume, movement docs, unit coverage, and the client-thread guardrail baseline.

•
Rs2Walker.java: immediate planned transports now suppress idle/stall recovery, so first-step teleports like Home Teleport should fire before pointless movement clicks.
•
Rs2Walker.java: active interim route clicks now yield before broad scans, reducing stop-start spam.
•
Rs2Walker.java: normal route clicks prefer raw shortest-path tiles instead of side/fallback tiles.
•
Rs2Walker.java: public walker entrypoints now reject client-thread calls before lock waits or player/tile reads.
•
Rs2WalkerUnitTest.java: added focused tests for route anchoring, raw-route click selection, interim yielding, and immediate-transport idle nudge suppression.
•
movement.md: documented the new walker gotchas

Implemented the Al Kharid toll gate fix.
What changed:
•
Added Pay-toll(10gp) transports for all four gate tiles in transports.tsv.
•
Added quest-free Open gate transports for Prince Ali Rescue completion.
•
Replaced the old quest-only tile restriction with blocked edge rules, so non-quest accounts can route through if they have 10 coins.
•
Walker now treats paid TRANSPORT rows as currency transports for item/banking checks.
•
Added special handling for Al Kharid toll gate confirmation: it uses Pay-toll(10gp) and clicks Yes, okay / Yes if prompted.

I did not add the “talk to guard” fallback yet; this handles the cleaner object interaction path first.
removed toll-gate helper pattern to avoid guardrail violation
@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d3961741-1dd8-434f-8eac-7d2052694b7b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch developmentWebWalker

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@infuse21
infuse21 deleted the branch development July 20, 2026 16:16
@infuse21 infuse21 closed this Jul 20, 2026
infuse21 added a commit that referenced this pull request Jul 21, 2026
Full audit of all 23 entries against the current source.

Symbol check: every symbol named in a "Where this applies" line resolves. Five
symbols (atTransportDestination, DIRECT_CLICK_MAX_DISTANCE,
clickOptimisticRecoveryTarget, isRouteActive, playerIsIdleForShortWindow) appear
only inside "Pattern to follow" blocks as illustrative pseudo-code, which is easy
to mistake for a real API when grepping.

Numeric claims are consistent with the code: chsami#21 correctly describes 2500ms as the
previous idle-nudge window and quotes the current 1200ms constant, and the walker
lock #1 refers to exists.

Two fixes:

- #5 says to suppress the inverse adjacent transport after a *successful* crossing.
  That is incomplete in isolation: a reader following only #5 reproduces the bug
  chsami#22 fixes, because adjacent transports require an exact-tile landing and a
  crossing can succeed while the landing check fails. Cross-referenced.
- Added a reading guide noting that pattern blocks may be pseudo-code, that "Where
  this applies" is the authoritative symbol list, and that chsami#19/chsami#20 deliberately
  record reverted approaches.

Documentation only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant