Repository navigation
Conversation
Keep strategy suggestions inside the policy chain, parse button tokens as whole words, and align party HP plus Route 1 map IDs with the pret layout. Co-authored-by: Jacobrakai <jacobyoby@users.noreply.github.com>
Read PyBoy's collision map as a 9 by 10 block grid and take one step toward the goal coordinate, so a fence blocks only the column it occupies. Co-authored-by: Jacobrakai <jacobyoby@users.noreply.github.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Overworld travel now walks a visible collision grid instead of remembering one blocked direction for the whole map. Dialog, menus, and which coordinate to head for are unchanged.
Builds on #13.
Type of Change
Related Issues
Related to #13
Changes Made
GameState.read_walkable_gridreads PyBoy's Pokemon collision map and folds the 18 by 20 tile view into the 9 by 10 block grid the player steps on.navigation.next_stepbreadth-first searches that grid and returns the next button toward the goal coordinate. A wall blocks only the block it occupies, so Pallet Town's fence gap stays usable after UP has bumped a different column.AgentStrategy.movement_targetsupplies the coordinate (Oak's tile on Pallet Town, the north edge on Route 1). The route policy uses it when the grid is available and otherwise keeps the old direction heuristic.wCurMapWidth/wCurMapHeight(0xD369/0xD368).Testing
ruff checkis clean on the changed files.pytest -m "not slow": 214 passed. The new cases cover an open column, a fence with one gap, refusing a step into that fence, and the route policy still taking the gap whenblocked_directionscontains UP.Checklist