Skip to content
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

SM64ex: Logic and Generation Fixes #3135

Merged
merged 9 commits into from
Apr 18, 2024

Conversation

Magnemania
Copy link
Contributor

What is this fixing or adding?

  • Replaces entrance entrance rules that relied on can_reach to remove accessibility check errors. Ignored the legacy entrance dependencies on the Bowser in the Fire Sea entrance (entrance entrance rule depends on a location) as that rule has been around for several versions and has never been reported causing a failure.
  • Logic no longer ignores the Strict Move Requirements setting when moves are not randomized. This was causing hard logic to be unintentionally used on the following checks: - DDD: Pole-Jumping for Red Coins", "WDW: Go to Town for Red Coins", "WDW: Quick Race Through Downtown!", and "WDW: 1Up Block in Downtown"
  • A few small changes to move rando logic based on player feedback, making Strict logic easier and non-Strict logic slightly harder.

How was this tested?

100 generations with everything randomized, and 100 generations with everything randomized except moves. Went over a few spoiler logs by eye.

(This was originally going to be part of a larger logic polish-up, but I wanted to get these fixes through in time for the big async, as the accessibility check issues could become relevant when generating and the strict move requirements issue could create extremely difficult checks without player consent)

@github-actions github-actions bot added the waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. label Apr 12, 2024
@Exempt-Medic Exempt-Medic added the is: bug/fix Issues that are reporting bugs or pull requests that are fixing bugs. label Apr 12, 2024
@@ -246,6 +247,7 @@ class RuleFactory:

token_table = {
"TJ": "Triple Jump",
"DJ": "Triple Jump",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this supposed to be Triple Jump?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Triple Jump" the item unlocks both "DJ (Double Jump)" and "TJ (Triple Jump)" in the logic. Doesn't serve a purpose in the rules currently, but it lets anyone looking at the file know that DJ requires Triple Jump.

This was going to be part of a greater logic rework that replaced TJ with DJ in some rules to future-proof the logic for when DJ gets the option to be randomized separately, but that's a big feature addition

remyjette added a commit to remyjette/Archipelago that referenced this pull request Apr 12, 2024
@Berserker66 Berserker66 merged commit 6b50c91 into ArchipelagoMW:main Apr 18, 2024
15 checks passed
qwint pushed a commit to qwint/Archipelago that referenced this pull request Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is: bug/fix Issues that are reporting bugs or pull requests that are fixing bugs. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants