tewtal / SMZ3Randomizer

Super Metroid & A Link to the Past Crossover Item Randomizer V11
https://samus.link/
MIT License
75 stars 32 forks source link

Fix yellow Maridia access #167

Closed TarThoron closed 3 years ago

TarThoron commented 3 years ago

Portal access without L2 key and mainstreet climb with L1 key can combine to require double springball jump or crab climb in Mt. Everest.

TarThoron commented 3 years ago

Bah, not sure what's wrong with the code. I'll fix it when not on my phone

RebelusQuo commented 3 years ago

@TarThoron Firstly, it would be helpful if you could amend the commit (or squeeze the two together with a rebase if after the fact). That way it's easier to review. Secondly, I'm working on setting up unit testing for the logic so that it's easy to verify the implications and validity of the the logic. In doing so I have some questions for you as you contributed earlier logic related PRs. Can I contact you over discord DM on that?

RebelusQuo commented 3 years ago

With the logic unit test PR accepted, what I'd like to see here is a rebase on master, squeezing these current commits into one, then either amending, or a new second commit with the necessary unit test changes. these are the pseudo code you need for the YellowMaridiaWateringHole and MissileYellowMaridiaFalseWall properties:

SMNormal.cs
    Morph Bombs
    Morph PowerBomb SpaceJump
    Morph PowerBomb SpeedBooster
    Morph PowerBomb Grapple
    Morph PowerBomb MoonPearl Flippers Gravity Sword Cape Lamp KeyCT(2)
    Morph PowerBomb MoonPearl Flippers Gravity MasterSword Lamp KeyCT(2)
    Morph PowerBomb MoonPearl Flippers Gravity Hammer Glove
    Morph PowerBomb MoonPearl Flippers Gravity Mitt
SMNormalKeysanity.cs
    CardMaridiaL1 Morph Bombs
    CardMaridiaL1 Morph PowerBomb SpaceJump
    CardMaridiaL1 Morph PowerBomb SpeedBooster
    CardMaridiaL1 Morph PowerBomb Grapple
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers Gravity Sword Cape Lamp KeyCT(2)
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers Gravity MasterSword Lamp KeyCT(2)
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers Gravity Hammer Glove
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers Gravity Mitt
SMHard.cs
    Morph Bombs     Gravity
    Morph Bombs     HiJump Ice Grapple
    Morph Bombs     HiJump SpringBall Grapple
    Morph Bombs     MoonPearl Flippers SpringBall Sword Cape Lamp KeyCT(2)
    Morph Bombs     MoonPearl Flippers SpringBall MasterSword Lamp KeyCT(2)
    Morph Bombs     MoonPearl Flippers SpringBall Hammer Glove
    Morph Bombs     MoonPearl Flippers SpringBall Mitt
    Morph Bombs     MoonPearl Flippers HiJump     Sword Cape Lamp KeyCT(2)
    Morph Bombs     MoonPearl Flippers HiJump     MasterSword Lamp KeyCT(2)
    Morph Bombs     MoonPearl Flippers HiJump     Hammer Glove
    Morph Bombs     MoonPearl Flippers HiJump     Mitt
    Morph PowerBomb Gravity
    Morph PowerBomb HiJump Ice Grapple
    Morph PowerBomb HiJump SpringBall Grapple
    Morph PowerBomb MoonPearl Flippers SpringBall Sword Cape Lamp KeyCT(2)
    Morph PowerBomb MoonPearl Flippers SpringBall MasterSword Lamp KeyCT(2)
    Morph PowerBomb MoonPearl Flippers SpringBall Hammer Glove
    Morph PowerBomb MoonPearl Flippers SpringBall Mitt
    Morph PowerBomb MoonPearl Flippers HiJump     Sword Cape Lamp KeyCT(2)
    Morph PowerBomb MoonPearl Flippers HiJump     MasterSword Lamp KeyCT(2)
    Morph PowerBomb MoonPearl Flippers HiJump     Hammer Glove
    Morph PowerBomb MoonPearl Flippers HiJump     Mitt
SMHardKeysanity.cs
    CardMaridiaL1 Morph Bombs     Gravity
    CardMaridiaL1 Morph Bombs     HiJump Ice Grapple
    CardMaridiaL1 Morph Bombs     HiJump SpringBall Grapple
    CardMaridiaL1 Morph Bombs     CardMaridiaL2 MoonPearl Flippers SpringBall Sword Cape Lamp KeyCT(2)
    CardMaridiaL1 Morph Bombs     CardMaridiaL2 MoonPearl Flippers SpringBall MasterSword Lamp KeyCT(2)
    CardMaridiaL1 Morph Bombs     CardMaridiaL2 MoonPearl Flippers SpringBall Hammer Glove
    CardMaridiaL1 Morph Bombs     CardMaridiaL2 MoonPearl Flippers SpringBall Mitt
    CardMaridiaL1 Morph Bombs     CardMaridiaL2 MoonPearl Flippers HiJump     Sword Cape Lamp KeyCT(2)
    CardMaridiaL1 Morph Bombs     CardMaridiaL2 MoonPearl Flippers HiJump     MasterSword Lamp KeyCT(2)
    CardMaridiaL1 Morph Bombs     CardMaridiaL2 MoonPearl Flippers HiJump     Hammer Glove
    CardMaridiaL1 Morph Bombs     CardMaridiaL2 MoonPearl Flippers HiJump     Mitt
    CardMaridiaL1 Morph PowerBomb Gravity
    CardMaridiaL1 Morph PowerBomb HiJump Ice Grapple
    CardMaridiaL1 Morph PowerBomb HiJump SpringBall Grapple
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers SpringBall Sword Cape Lamp KeyCT(2)
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers SpringBall MasterSword Lamp KeyCT(2)
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers SpringBall Hammer Glove
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers SpringBall Mitt
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers HiJump     Sword Cape Lamp KeyCT(2)
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers HiJump     MasterSword Lamp KeyCT(2)
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers HiJump     Hammer Glove
    CardMaridiaL1 Morph PowerBomb CardMaridiaL2 MoonPearl Flippers HiJump     Mitt

Manual verification of those case outcomes, and conversion to code, is left to the PR author.