Skip to content

Refine some Metroid Room 2 shinecharges #2085

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

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 125 additions & 8 deletions region/tourian/main/Metroid Room 2.json
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,8 @@
{"types": ["powerbomb"], "requires": []},
{"types": ["missiles", "super"], "requires": ["never"]}
],
"flashSuitChecked": true
"flashSuitChecked": true,
"devNote": "FIXME: refine this and add a canTwoTileSqueeze option."
},
{
"id": 18,
Expand Down Expand Up @@ -389,11 +390,17 @@
"canShinechargeMovementTricky",
{"or": [
"canMoonfall",
"Morph"
"Morph",
"canTwoTileSqueeze"
]},
{"or": [
"f_KilledMetroidRoom2",
{"metroidFrames": 25}
{"metroidFrames": 100},
{"and": [
"canInsaneJump",
"canTrickyDodgeEnemies",
{"metroidFrames": 10}
Copy link
Contributor

Choose a reason for hiding this comment

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

  • Avoiding a grab seems really unreliable for moonfall and morph roll off
  • unmorph+downback is going to be the fastest way through the shortcut. It looked relatively stronger with comeInShinecharging though.
  • TwoTileSqueeze looked strong in comeInShinecharging too.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Here's a little practice session for the moonfall: https://videos.maprando.com/video/6622. I got 6 successful attempts in a row at the end, showing it can be reliable if you do the moonfall from the correct position. I need to add to the note to explain this though

Copy link
Contributor Author

Choose a reason for hiding this comment

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

For me avoiding damage with the morph roll was harder: https://videos.maprando.com/video/6623. It feels like it can be reliable if you aim for the correct place to soft-morph. I still miss it a lot but it feels like movement errors on my part rather than something fundamentally unpredictable/uncontrollable.

Copy link
Contributor

Choose a reason for hiding this comment

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

Like this https://videos.maprando.com/video/6631
And it would be the hardest method to execute.

I feel I would always trust TwoTileSqueeze over moonfall here. But they are both low level tech in context here, and not driving the logic.

]}
]}
],
"exitCondition": {
Expand All @@ -403,7 +410,12 @@
{"types": ["powerbomb"], "requires": []},
{"types": ["missiles", "super"], "requires": ["never"]}
],
"flashSuitChecked": true
"flashSuitChecked": true,
"note": [
"If Metroids are alive, minimizing damage from them requires tricky movement to manipulate them:",
"the moonfalling option must be done starting from almost a tile to the left of the opening;",
"likewise, the morphing option should soft-morph about a tile to the left of the opening. "
]
},
{
"id": 20,
Expand Down Expand Up @@ -660,7 +672,9 @@
"note": [
"Not pressing dash will make the platforming easier, unless HiJump is also equipped."
],
"devNote": "Metroids randomly block shots fired and can make opening the door unreliable."
"devNote": [
"FIXME: Add variations for tanking the Metroid damage (taking into account how they can block the shot to open the door)"
]
},
{
"id": 34,
Expand Down Expand Up @@ -694,7 +708,9 @@
],
"flashSuitChecked": true,
"note": ["Spinjump into the opening below the top door."],
"devNote": "Metroids randomly block shots fired and can make opening the door unreliable."
"devNote": [
"FIXME: Add variations for tanking the Metroid damage (taking into account how they can block the shot to open the door)"
]
},
{
"id": 35,
Expand Down Expand Up @@ -724,7 +740,9 @@
"Wall jump up the right wall and either mid-air morph to fit through the gap below the top door.",
"Alternatively use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing."
],
"devNote": "Metroids randomly block shots fired and can make opening the door unreliable."
"devNote": [
"FIXME: Add variations for tanking the Metroid damage (taking into account how they can block the shot to open the door)"
]
},
{
"id": 36,
Expand Down Expand Up @@ -754,7 +772,49 @@
"note": [
"Use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing."
],
"devNote": "Metroids randomly block shots fired and can make opening the door unreliable."
"devNote": [
"FIXME: Add variations for tanking the Metroid damage (taking into account how they can block the shot to open the door)"
]
},
{
"link": [2, 1],
"name": "Come in Shinecharging, Leave Shinecharged (Left Side, Tricky Dash Jump)",
"entranceCondition": {
"comeInShinecharging": {
"length": 0,
"openEnd": 1
}
},
"requires": [
{"shineChargeFrames": 170},
"canTrickyDashJump",
"canShinechargeMovementTricky",
{"or": [
"f_KilledMetroidRoom2",
"ScrewAttack",
{"metroidFrames": 160}
]}
],
"exitCondition": {
"leaveShinecharged": {}
},
"unlocksDoors": [
{"types": ["super"], "requires": [
{"or": [
"f_KilledMetroidRoom2",
"ScrewAttack"
]}
]},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
],
"flashSuitChecked": true,
"note": [
"Go up the left side of the room to make it out the top door with a few shinecharge frames remaining."
],
"detailNote": [
"Avoid getting more than 2.75 tiles of run speed on the lower platform (or Speed Booster will shorten Samus' jump):",
"either release run early, or do a big initial jump to land in the middle of the lower platform before starting to run."
]
},
{
"id": 37,
Expand Down Expand Up @@ -931,6 +991,63 @@
"Shoot the door open and spark out."
]
},
{
"link": [2, 1],
"name": "Come in Shinecharged, Leave With Spark (Left Side, Tricky Dash Jump)",
"entranceCondition": {
"comeInShinecharged": {}
},
"requires": [
{"shineChargeFrames": 130},
"canTrickyDashJump",
"canShinechargeMovementTricky",
{"or": [
{"and": [
{"or": [
"f_KilledMetroidRoom2",
"ScrewAttack",
{"and": [
{"metroidFrames": 145},
{"or": [
"Plasma",
"Wave",
{"ammo": {"type": "Missile", "count": 1}}
]}
]}
]},
{"shinespark": {"frames": 13}}
]},
{"and": [
{"metroidFrames": 150},
{"shineChargeFrames": 10},
{"shinespark": {"frames": 7}}
]}
]}
],
"exitCondition": {
"leaveWithSpark": {}
},
"unlocksDoors": [
{"types": ["super"], "requires": [
{"or": [
"f_KilledMetroidRoom2",
"ScrewAttack"
]}
]},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
],
"flashSuitChecked": true,
"note": [
"Go up the left side of the room and spark out the top door.",
"If tanking Metroid damage, then the Metroid can block the shot to open the door;",
"to avoid this, either jump toward the door with dash speed or use Plasma, Wave, or a Missile."
],
"detailNote": [
"Do a big initial jump to land in the middle of the lower platform,",
"and jump before running more than 2.75 tiles, to avoid a Speed Booster dropoff in jump height."
]

},
{
"id": 43,
"link": [2, 1],
Expand Down