From 632a61e1e166b18c5e369d4c31836bb7a8ae63ae Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Wed, 26 Feb 2025 07:00:29 -0700 Subject: [PATCH 1/6] Crab Shaft side platform applications --- region/maridia/inner-pink/Crab Shaft.json | 105 ++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/region/maridia/inner-pink/Crab Shaft.json b/region/maridia/inner-pink/Crab Shaft.json index dfb5c075c9..eddafe9a5d 100644 --- a/region/maridia/inner-pink/Crab Shaft.json +++ b/region/maridia/inner-pink/Crab Shaft.json @@ -626,6 +626,111 @@ "there's currently no node there, but with a flash suit it would be possible to spark up from there." ] }, + { + "link": [1, 4], + "name": "Side Platform Cross Room Jump", + "entranceCondition": { + "comeInWithSidePlatform": { + "platforms": [ + { + "minHeight": 2, + "maxHeight": 2, + "minTiles": 27.4375, + "speedBooster": true, + "obstructions": [[1, 0]], + "note": ["This applies to Dust Torizo Room."], + "devNote": [ + "The jump could also be done with a shorter runway, with a tricky dash jump using run speed $4.0 or $4.1.", + "But it wouldn't apply to any more rooms in the game." + ] + }, + { + "minHeight": 3, + "maxHeight": 3, + "minTiles": 39.4375, + "speedBooster": true, + "obstructions": [[3, 2]], + "note": ["This applies to Metal Pirates Room."] + }, + { + "minHeight": 2, + "maxHeight": 2, + "minTiles": 45, + "speedBooster": true, + "obstructions": [[3, 0]], + "requires": [ + "canInsaneJump" + ], + "note": ["This applies to Statues Hallway."], + "devNote": [ + "The momentum conserving turnaround requires a last-frame jump and has a 2-frame window for the turnaround." + ] + }, + { + "minHeight": 3, + "maxHeight": 3, + "minTiles": 39.4375, + "speedBooster": true, + "obstructions": [[3, 0]], + "requires": [ + "canInsaneJump", + "canBeVeryPatient" + ], + "note": ["This applies to Flyway."], + "devNote": [ + "The momentum conserving turnaround is double frame-perfect,", + "requiring a last-frame jump before Samus would get caught on the door ledge,", + "and a last-frame turnaround before Samus would bonk on the ceiling of the door frame.", + "After jumping, the aim-down must be delayed at least 6 frames;", + "being pressed at most 5 frames before the turnaround." + ] + } + ] + } + }, + "requires": [ + "canTrickyJump", + "canMomentumConservingTurnaround" + ], + "note": [ + "Use a platform below the door in the other room to jump through the door while aiming down, carrying upward momentum into this room.", + "Hold down and back through the transition, to perform a momentum-conserving turnaround past the corner.", + "In cases where the previous room has an extended door ledge obstructing the exit, the turnaround may need to be initiated before the transition,", + "to avoid bonking the ceiling of the door frame." + ] + }, + { + "link": [1, 4], + "name": "Side Platform Cross Room Jump, Bomb Into Spring Ball Jump", + "entranceCondition": { + "comeInWithSidePlatform": { + "platforms": [ + { + "minHeight": 1, + "maxHeight": 1, + "minTiles": 7.4375, + "speedBooster": true, + "obstructions": [[1, 0]], + "requires": [], + "note": ["This applies to Warehouse Entrance."] + } + ] + } + }, + "requires": [ + "canTrickyDashJump", + "canMomentumConservingTurnaround", + "canUnderwaterBombIntoSpringBallJump" + ], + "note": [ + "Use a platform below the door in the other room to jump through the door while aiming down, carrying upward momentum into this room.", + "Hold down and back through the transition, to perform a momentum-conserving turnaround past the corner.", + "Perform a mid-air Spring Ball jump, timing a pause to hit soon after the mid-air jump.", + "Unequip Spring Ball, lay a Bomb about half a tile below the peak of the jump.", + "Press pause at the peak of the jump, tp reequip Spring Ball immediately after Samus is boosted by the bomb.", + "Buffer a jump out of the unpause, to get a second Spring Ball jump and make it up." + ] + }, { "id": 64, "link": [1, 4], From 7f80d347d6ec9211f17b2dbe6bb8d71ef2a22fe6 Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Wed, 26 Feb 2025 14:38:26 -0700 Subject: [PATCH 2/6] Crab Hole left-to-right side platform jumps --- region/maridia/inner-pink/Crab Shaft.json | 2 + region/maridia/outer/Crab Hole.json | 268 ++++++++++++++++++++++ 2 files changed, 270 insertions(+) diff --git a/region/maridia/inner-pink/Crab Shaft.json b/region/maridia/inner-pink/Crab Shaft.json index eddafe9a5d..f7b8b9cd8b 100644 --- a/region/maridia/inner-pink/Crab Shaft.json +++ b/region/maridia/inner-pink/Crab Shaft.json @@ -689,6 +689,7 @@ } }, "requires": [ + "canCrossRoomJumpIntoWater", "canTrickyJump", "canMomentumConservingTurnaround" ], @@ -718,6 +719,7 @@ } }, "requires": [ + "canCrossRoomJumpIntoWater", "canTrickyDashJump", "canMomentumConservingTurnaround", "canUnderwaterBombIntoSpringBallJump" diff --git a/region/maridia/outer/Crab Hole.json b/region/maridia/outer/Crab Hole.json index c9a21876fa..bf7498313f 100644 --- a/region/maridia/outer/Crab Hole.json +++ b/region/maridia/outer/Crab Hole.json @@ -1047,6 +1047,274 @@ "If the runway length is minimal, the aim-down input must be delayed a bit (rather than buffered through the transition), so that Samus moves at a slightly higher horizontal speed for longer." ] }, + { + "link": [2, 1], + "name": "Side Platform Cross Room Jump (Turnaround or Ceiling Mockball)", + "entranceCondition": { + "comeInWithSidePlatform": { + "platforms": [ + { + "minHeight": 1, + "maxHeight": 1, + "minTiles": 5.4375, + "speedBooster": true, + "obstructions": [[1, 0]], + "requires": [ + "canMomentumConservingMorph", + "canInsaneJump", + "canInsaneMidAirMorph" + ], + "note": [ + "This applies to Warehouse Energy Tank Room.", + "It is double frame-perfect, requiring a last-frame jump in the other room just before Samus would get caught on the door ledge,", + "and a frame-perfect morph just before Samus would bonk the ceiling.", + "The aim-down must be delayed until at least 4 frames after entering the room." + ] + }, + { + "minHeight": 1, + "maxHeight": 1, + "minTiles": 8.4375, + "speedBooster": "any", + "obstructions": [[1, 0]], + "requires": [ + "canInsaneJump", + {"or": [ + "canMomentumConservingMorph", + "canMomentumConservingTurnaround" + ]} + ], + "note": [ + "This applies to Warehouse Entrance.", + "This requires a last-frame jump and specific horizontal alignment in order to avoid bonking the door frame.", + "A way to get a correct starting position is to jump, press against the ceiling overhang near the end of the runway,", + "land, turn around away from the door, then jump and mid-air turnaround toward the door." + ], + "devNote": [ + "Speed Booster is not required for this." + ] + }, + { + "minHeight": 1, + "maxHeight": 1, + "minTiles": 17, + "speedBooster": true, + "obstructions": [[1, 0]], + "requires": [ + {"or": [ + "canMomentumConservingMorph", + {"and": [ + "canMomentumConservingTurnaround", + "canTrickyJump" + ]} + ]} + ], + "note": [ + "This applies to Warehouse Entrance.", + "This can be done in three ways:", + "1) Jump on the last possible frame in the previous room, turn around a little before hitting the ceiling, then morph and hold right to pass through the tunnel.", + "2) Perform a ceiling mockball through the transition,", + "unmorph a little before hitting the ceiling,", + "hold right to press against the wall (to avoid hitting the crab), then morph and hold right to pass through the tunnel.", + "3) Jump on the last possible frame in the previous room, then perform a ceiling mockball to go up through the hidden space." + ], + "devNote": [ + "The turnaround method has about a 9-frame window for the turnaround.", + "The through-door ceiling mockball has about a 4-frame window for the jump, between a 1-frame and a 5-frame window for the morph (with later jumps giving a larger window),", + "and about a 7-frame window for the unmorph.", + "The after-transition ceiling mockball has an 8-frame for the morph.", + "Kagoing the crab is also possible, but it seems more difficult than all three other options, and it takes damage, so is probably pointless." + ] + }, + { + "minHeight": 2, + "maxHeight": 2, + "minTiles": 8.4375, + "speedBooster": "any", + "obstructions": [[1, 0]], + "requires": [ + "canTrickyJump", + "canMomentumConservingTurnaround" + ], + "note": [ + "This applies to Ridley Tank Room and Dust Torizo Room.", + "From Ridley Tank Room, avoid backing into the corner.", + "From Dust Torizo Room, it doesn't matter." + ], + "devNote": [ + "Speed Booster is not required for this." + ] + }, + { + "minHeight": 3, + "maxHeight": 3, + "minTiles": 8.4375, + "speedBooster": true, + "obstructions": [[1, 0], [3, 2]], + "requires": [ + {"or": [ + "canMomentumConservingMorph", + "canMomentumConservingTurnaround" + ]} + ], + "note": [ + "Applies to Big Boy Room, Mickey Mouse Room, and Metal Pirates." + ] + }, + { + "minHeight": 2, + "maxHeight": 2, + "minTiles": 23, + "speedBooster": "any", + "obstructions": [[3, 0]], + "requires": [ + "canInsaneJump", + "canMomentumConservingMorph", + "canInsaneMidAirMorph" + ], + "note": [ + "Applies to Metroid Room 1.", + "Use a few pixels less than the full runway.", + "This is double frame-perfect, requiring a last-frame jump before Samus would catch on the door ledge,", + "and a last-frame morph before Samus would bonk on the ceiling of the door frame.", + "Unmorph a little before Samus would hit the ceiling, to conserve upward momentum again.", + "Then quickly morph again and go through the tunnel to the right." + ], + "devNote": [ + "The momentum conserving unmorph is lenient, having about a 9-frame window." + ] + }, + { + "minHeight": 2, + "maxHeight": 2, + "minTiles": 29.4375, + "speedBooster": true, + "obstructions": [[3, 0]], + "requires": [ + "canInsaneJump", + "canMomentumConservingMorph" + ], + "note": [ + "Applies to Statues Hallway.", + "Jump through the door with a ceiling mockball, then unmorph a little before Samus would bonk the ceiling.", + "Morph again to pass through the tunnel to the right.", + "To make the strat more lenient, use less than the full available runway:", + "Ideally, position Samus to gain an extra run speed of $5.2 or slightly more,", + "which corresponds to starting 30 tiles from the end of the runway." + ], + "devNote": [ + "There is a dropoff in Samus' jump height at an extra run speed of $5.2, which is good here.", + "Starting at a distance of 30 tiles, there is a 3-frame window for the jump (giving extra run speeds between $5.2 and $5.4)", + "and between a 1-frame and 3-frame window for the morph (with later jumps giving a larger window).", + "In any case, the unmorph will be lenient, having about a 9-frame window." + ] + }, + { + "minHeight": 3, + "maxHeight": 3, + "minTiles": 29.4375, + "speedBooster": true, + "obstructions": [[3, 0]], + "requires": [ + "canInsaneJump", + "canMomentumConservingMorph" + ], + "note": [ + "Applies to Flyway.", + "Jump through the door with a ceiling mockball.", + "After pressing against the wall of the hidden space, release right for a moment until after Samus bonks the ceiling,", + "in order to avoid damage from the crab on the right.", + "To make the strat more lenient, less than the full available runway should be used:", + "Ideally, position Samus to gain an extra run speed of $5.2 or slightly more,", + "which corresponds to starting 30 tiles from the end of the runway (or 10 tiles from the start)." + ], + "devNote": [ + "There is a dropoff in Samus' jump height at an extra run speed of $5.2, which is good here.", + "Starting at a distance of 30 tiles, there is a 3-frame window for the jump (giving extra run speeds between $5.2 and $5.4)", + "and between a 1-frame and 6-frame window for the morph (with later jumps giving a larger window)." + ] + }, + { + "minHeight": 2, + "maxHeight": 2, + "minTiles": 45, + "speedBooster": true, + "obstructions": [[4, 0]], + "requires": [ + "canInsaneJump", + "canMomentumConservingMorph", + "canInsaneMidAirMorph", + "canKago", + "canBeExtremelyPatient", + {"enemyDamage": {"enemy": "Sciser", "type": "contact", "hits": 1}} + ], + "note": [ + "Applies to Baby Kraid Room.", + "Jump through the door with a double frame-perfect ceiling mockball, with a last-frame jump and last-frame morph.", + "Unmorph before bonking the ceiling, then quickly morph again, kagoing the crab, and exiting through the tunnel on the right." + ] + } + ] + } + }, + "requires": [ + "canCrossRoomJumpIntoWater" + ] + }, + { + "link": [2, 1], + "name": "Side Platform Cross Room Jump into Spring Ball Jump", + "entranceCondition": { + "comeInWithSidePlatform": { + "platforms": [ + { + "minHeight": 1, + "maxHeight": 1, + "minTiles": 4, + "speedBooster": true, + "obstructions": [[1, 0]], + "requires": [ + "canMomentumConservingTurnaround" + ], + "note": ["This applies to Skree Boost Room, Grapple Tutorial Room 2, Warehouse Energy Tank Room, and Warehouse Entrance."] + }, + { + "minHeight": 3, + "maxHeight": 3, + "minTiles": 8.4375, + "speedBooster": "any", + "obstructions": [[1, 0], [3, 2]], + "requires": [ + {"or": [ + "canMomentumConservingMorph", + "canMomentumConservingTurnaround" + ]} + ], + "note": [ + "Applies to Big Boy Room, Mickey Mouse Room, and Metal Pirates." + ] + }, + { + "minHeight": 2, + "maxHeight": 2, + "minTiles": 9.4375, + "speedBooster": true, + "obstructions": [[2, 0]], + "requires": [ + "canMomentumConservingMorph" + ], + "note": [ + "Applies to Early Supers Room." + ] + } + ] + } + }, + "requires": [ + "canCrossRoomJumpIntoWater", + "canSpringBallJumpMidAir" + ] + }, { "id": 35, "link": [2, 1], From 5df47b37ec850b1a31ea58a00ed7c52fc3dc51e5 Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Thu, 20 Mar 2025 12:55:28 -0600 Subject: [PATCH 3/6] update note for avoiding crab hit with ceiling mockball --- region/maridia/outer/Crab Hole.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/region/maridia/outer/Crab Hole.json b/region/maridia/outer/Crab Hole.json index bf7498313f..53b5e863ff 100644 --- a/region/maridia/outer/Crab Hole.json +++ b/region/maridia/outer/Crab Hole.json @@ -1116,7 +1116,8 @@ "2) Perform a ceiling mockball through the transition,", "unmorph a little before hitting the ceiling,", "hold right to press against the wall (to avoid hitting the crab), then morph and hold right to pass through the tunnel.", - "3) Jump on the last possible frame in the previous room, then perform a ceiling mockball to go up through the hidden space." + "3) Jump on the last possible frame in the previous room, then perform a ceiling mockball to go up through the hidden space,", + "slightly delaying the right press after bonking the ceiling, in order to avoid hitting the crab." ], "devNote": [ "The turnaround method has about a 9-frame window for the turnaround.", From 0079114c2d5b5487aca6c04fa7ea99d58239c7b2 Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Thu, 20 Mar 2025 12:57:34 -0600 Subject: [PATCH 4/6] better note for avoiding crab hit with ceiling mockball --- region/maridia/outer/Crab Hole.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/region/maridia/outer/Crab Hole.json b/region/maridia/outer/Crab Hole.json index 53b5e863ff..931008c258 100644 --- a/region/maridia/outer/Crab Hole.json +++ b/region/maridia/outer/Crab Hole.json @@ -1117,7 +1117,7 @@ "unmorph a little before hitting the ceiling,", "hold right to press against the wall (to avoid hitting the crab), then morph and hold right to pass through the tunnel.", "3) Jump on the last possible frame in the previous room, then perform a ceiling mockball to go up through the hidden space,", - "slightly delaying the right press after bonking the ceiling, in order to avoid hitting the crab." + "briefly releasing right while approaching the ceiling, in order to avoid hitting the crab." ], "devNote": [ "The turnaround method has about a 9-frame window for the turnaround.", From 0372dd5ddece540de7490481359d096e6798967f Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Thu, 20 Mar 2025 12:59:21 -0600 Subject: [PATCH 5/6] Update region/maridia/outer/Crab Hole.json Co-authored-by: Michael McKenzie --- region/maridia/outer/Crab Hole.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/region/maridia/outer/Crab Hole.json b/region/maridia/outer/Crab Hole.json index 931008c258..ce4c0a3934 100644 --- a/region/maridia/outer/Crab Hole.json +++ b/region/maridia/outer/Crab Hole.json @@ -1259,7 +1259,8 @@ } }, "requires": [ - "canCrossRoomJumpIntoWater" + "canCrossRoomJumpIntoWater", + "Morph" ] }, { From cdcb2464ed003ad2b304bec595f1e8a77ce121ef Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Sat, 22 Mar 2025 12:17:04 -0600 Subject: [PATCH 6/6] add canTrickyDashJump requirement --- region/maridia/outer/Crab Hole.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/region/maridia/outer/Crab Hole.json b/region/maridia/outer/Crab Hole.json index ce4c0a3934..1ba974270a 100644 --- a/region/maridia/outer/Crab Hole.json +++ b/region/maridia/outer/Crab Hole.json @@ -1155,7 +1155,10 @@ "requires": [ {"or": [ "canMomentumConservingMorph", - "canMomentumConservingTurnaround" + {"and": [ + "canTrickyDashJump", + "canMomentumConservingTurnaround" + ]} ]} ], "note": [