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

MM2: fix plando and weakness special cases #4561

Merged
merged 2 commits into from
Jan 28, 2025

Conversation

Silvris
Copy link
Collaborator

@Silvris Silvris commented Jan 27, 2025

What is this fixing or adding?

Two issues:

  • plando_weakness was completely nonfunctional due to not converting the strings found in the yaml to their int counterparts
  • Picopico-kun and Boobeam Trap weakness special cases were not properly being checked as the case where they would occur would pass the earlier check for an insufficient weakness.

How was this tested?

Seed 89649562947386879912 on a default yaml with random_weakness: shuffled. On current main, Atomic Fire is picked up before moving past Wily Stage 4, with this change Metal Blade is required instead.

Plando was tested with the following plando.

  plando_weakness:
    Air Man:
      Mega Buster: 0
      Atomic Fire: 14
      Air Shooter: 0
      Bubble Lead: 0
      Leaf Shield: 0
      Quick Boomerang: 0
      Crash Bomber: 0
      Time Stopper: 0
      Metal Blade: 0

If this makes graphical changes, please attach screenshots.

@github-actions github-actions bot added the waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. label Jan 27, 2025
@ScipioWright ScipioWright added is: bug/fix Issues that are reporting bugs or pull requests that are fixing bugs. affects: release/blocker Issues/PRs that must be addressed before next official release. labels Jan 27, 2025
@@ -175,7 +175,7 @@ class WeaknessPlando(OptionDict):
display_name = "Plando Weaknesses"
schema = Schema({
Optional(And(str, Use(str.title), lambda s: s in bosses)): {
And(str, Use(str.title), lambda s: s in weapons_to_id): And(int, lambda i: i in range(-1, 14))
And(str, Use(str.title), lambda s: s in weapons_to_id): And(int, lambda i: i in range(-1, 15))
Copy link
Contributor

Choose a reason for hiding this comment

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

What exactly is the point of changing the maximum to 15?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Python ranges are end-exclusive, so 14 wasn't actually a valid option.

@Berserker66 Berserker66 merged commit 9466d52 into ArchipelagoMW:main Jan 28, 2025
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects: release/blocker Issues/PRs that must be addressed before next official release. 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