AliceMousie / Archipelago

Archipelago Multi-Game Randomizer and Server
https://archipelago.gg
Other
5 stars 3 forks source link

Bug: West Kanto Access #3

Closed vicendithas closed 6 months ago

vicendithas commented 9 months ago

What happened?

In a recent AP including Crystal, access to West Kanto (Viridian, Pewter, Victory Road) was locked behind itself. Rising Badge was in Pewter City and HM01 Cut was in Victory Road. This made the seed impossible to complete.

What were the expected results?

We think we found the problem while looking through the access rules in the code. We think the game expected us to enter West Kanto by surfing from Fuchsia -> Cinnabar/Seafoam -> Pallet (Route 19 -> 20 -> 21), however there are rocks blocking the path on Route 19 until the player steps into Route 20 for the first time.

In regions.json, in the section for REGION_ROUTE_20, there is an event "EVENT_CINNABAR_ROCKS_CLEARED" to account for this. However, in rules.py, the connection between Route 19 and Route 20 does not check for this event.

I think the best way to solve this (and keep compatibility with the possibility of Trainersanity in the future) would be to split Route 19 into 2 regions (such as Route 19 North and Route 19 South), and a rule requiring "EVENT_CINNABAR_ROCKS_CLEARED" in order to traverse from North to South.

Software

While playing

vicendithas commented 9 months ago

After looking through it more, I see there is already an access rule in rules.py that should restrict travel from Route 19 to Route 20 using the "EVENT_CINNABAR_ROCKS_CLEARED" (missed that when I was looking at it initially). So now I'm more confused on how the logic softlocked us.

asrz commented 6 months ago

A fence was removed south of pewter allowing you to drop down a ledge from the exit of Diglett's Cave to Route 2. You don't need HM01 Cut to access West Kanto, you just need to get past Snorlax. This change should be added to the list at the bottom of POKECRYSTAL.md