canComplexCarryFlashSuit (Extreme)

The ability to preserve a flash suit while performing strats that have a moderately high risk of losing the flash suit. For example, jumping into an IBJ without HiJump, which can be done from an angle down jump or a spin jump. This can also sometimes have applications while dodging enemies or while taking damage from them. Damage boosting can be tricky, as it requires holding both backwards and jump until Samus lands; releasing either too early will use the flash suit. It is possible to morph and unmorph midair to switch from a "jumping" to "falling" state, in order to be able to aim up or diagonally up while midair; one common reason to do this is to grapple across a ceiling, which requires a morph and unmorph between each swing.

Other examples include grapple jumping with HiJump, and, using a bomb boost to escape water, which can be made reasonable by holding shot to prevent sparking while in the water. This also includes the ability to gate glitch with either Spring Ball or underwater; with Spring Ball - morph, jump, then unmorph in order to be able to angle up shot; while underwater - hold down while jumping or crouch jumping, then morph and unmorph in order to be able to angle up shot. It is possible to ice clip with a frozen enemy, which requires the enemy to be frozen pixel-perfectly at a location much higher than normal, because Samus is not able to crouch jump or use X-ray. It is also possible to use a flash suit to ceiling clip, which can be useful as it expands the pixel window for clipping, and can be done suitless underwater.

Dependencies: canShinespark, canShinechargeMovement, canHorizontalShinespark, canMidairShinespark, canCarryFlashSuit, canShinechargeMovementComplex

Dev note: FIXME: Unusual uses of a flash suit, or flash suit ceiling clips can eventually be separated off into a separate tech.

Difficulty filter

Strats ()

From: 1
Top Left Door
To: 4
Top Junction (Right of Spikes)

Requires:

{
  "or": [
    {
      "and": [
        "Grapple",
        "h_midAirShootUp"
      ]
    },
    "SpaceJump"
  ]
}
From: 4
Top Junction (Right of Spikes)
To: 1
Top Left Door

Requires:

{
  "or": [
    {
      "and": [
        "Grapple",
        "h_midAirShootUp"
      ]
    },
    "SpaceJump"
  ]
}
From: 1
Left Door
To: 4
Middle Junction (Left of Morph Tunnel)

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 5,
    "openEnd": 0,
    "steepUpTiles": 0,
    "steepDownTiles": 1
  }
}

Requires:

"canBlueSpaceJump"
"canCarefulJump"
"h_complexToCarryFlashSuit"

Clears obstacles: A, B

From: 4
Middle Junction (Left of Morph Tunnel)
To: 1
Left Door

After destroying a single bomb block, Samus can spin jump into its spot to quickly escape the acid. To avoid the acid completely, morph quickly at the right height and place a bomb.

Requires:

{
  "or": [
    "canCarefulJump",
    {
      "acidFrames": 35
    }
  ]
}
"h_useMorphBombs"
{
  "or": [
    "canTrickyJump",
    {
      "and": [
        "canCarefulJump",
        "canBombHorizontally",
        {
          "acidFrames": 35
        }
      ]
    },
    {
      "acidFrames": 100
    }
  ]
}
{
  "or": [
    {
      "and": [
        "canTrickyJump",
        "canTrickyWalljump"
      ]
    },
    {
      "and": [
        "canCarefulJump",
        {
          "acidFrames": 35
        }
      ]
    },
    {
      "acidFrames": 100
    }
  ]
}
"h_complexToCarryFlashSuit"

Clears obstacles: A, B

This is a series of precise jumps to fit between the solid walls while clearing a path through the room. Breaking the center blocks opens up a runway that can be used to charge a new spark in room.

Entrance condition:

{
  "comeInBlueSpinning": {
    "unusableTiles": 0
  }
}

Requires:

{
  "notable": "Blue SpaceJump"
}
"canBlueSpaceJump"
"canTrickyJump"
"h_complexToCarryFlashSuit"

Clears obstacles: A

This is a series of precise jumps to fit between the solid walls while clearing a path through the room. Breaking the center blocks opens up a runway that can be used to charge a new spark in room.

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 6,
    "openEnd": 1,
    "steepUpTiles": 1,
    "steepDownTiles": 1
  }
}

Requires:

{
  "notable": "Blue SpaceJump"
}
"canBlueSpaceJump"
"canTrickyJump"
"h_complexToCarryFlashSuit"

Clears obstacles: A

This is a series of precise jumps to fit between the solid walls while clearing a path through the room. Breaking the center blocks opens up a runway that can be used to charge a new spark in room.

Entrance condition:

{
  "comeInBlueSpinning": {
    "unusableTiles": 0
  }
}

Requires:

{
  "notable": "Blue SpaceJump"
}
"canBlueSpaceJump"
"canTrickyJump"
"h_complexToCarryFlashSuit"

Clears obstacles: A

This is a series of precise jumps to fit between the solid walls while clearing a path through the room. Breaking the center blocks opens up a runway that can be used to charge a new spark in room.

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 6,
    "openEnd": 1,
    "steepUpTiles": 1,
    "steepDownTiles": 1
  }
}

Requires:

{
  "notable": "Blue SpaceJump"
}
"canBlueSpaceJump"
"canTrickyJump"
"h_complexToCarryFlashSuit"

Clears obstacles: A

From: 1
Left Door
To: 1
Left Door

Jump, aim up, and fire Grapple mid-air to clip the beam through the ceiling.

Requires:

{
  "resetRoom": {
    "nodes": [
      1,
      2
    ]
  }
}
"canUseGrapple"
"canTrickyJump"
{
  "cycleFrames": 150
}
{
  "or": [
    {
      "noFlashSuit": {}
    },
    {
      "and": [
        "canComplexCarryFlashSuit",
        "h_useSpringBall",
        {
          "cycleFrames": 60
        }
      ]
    },
    {
      "and": [
        "canTrickyCarryFlashSuit",
        "canInsaneMidAirMorph",
        "canBeExtremelyPatient",
        {
          "cycleFrames": 200
        }
      ]
    }
  ]
}

Farm cycle drops: 1 Geemer (orange)

From: 1
Left Door
To: 1
Left Door

Hold angle-up, jump, bonk the ceiling, and use Grapple just before landing. Moonwalk into the transition on the same frame that the Grapple Beam reaches the Grapple block. Continue holding Grapple through the door transition to initiate a teleport in the next room.

Requires:

{
  "notable": "Leave With Grapple Teleport"
}
"canMoonwalk"
"canInsaneJump"
{
  "or": [
    {
      "noFlashSuit": {}
    },
    {
      "and": [
        "h_useSpringBall",
        "canComplexCarryFlashSuit"
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        7,
        2
      ]
    ]
  }
}
Base (Basic)
The Moat
From: 1
Left Door
To: 2
Right Door

Requires:

{
  "or": [
    "SpaceJump",
    {
      "and": [
        "Grapple",
        {
          "or": [
            {
              "noFlashSuit": {}
            },
            "h_midAirShootUp",
            "canInsaneJump"
          ]
        }
      ]
    }
  ]
}

Dev note: This avoids collecting the item.

From: 3
Bottom Right Door
To: 1
Top Left Door

Requires:

"h_blueGateGlitch"

Clears obstacles: B

From: 9
Main Junction
To: 1
Left Side - Top Door

Jump from the Save room door runway and use Grapple to grab onto the Grapple Blocks.

Requires:

"HiJump"
"SpeedBooster"
"canPreciseGrapple"
"h_midAirShootUp"
From: 3
Right Door
To: 3
Right Door

Charge a spark along the bottom of the room and use it to spark through the right side door. Requires opening the door and shutter first.

Requires:

{
  "notable": "Shinespark through Wave Beam Door"
}
"HiJump"
{
  "or": [
    "SpaceJump",
    "Grapple"
  ]
}
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "Wave",
    {
      "and": [
        "h_heatedBlueGateGlitch",
        {
          "heatFrames": 60
        }
      ]
    }
  ]
}
{
  "or": [
    {
      "and": [
        "canTrickyDashJump",
        "canWalljump"
      ]
    },
    "SpaceJump"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 28,
    "gentleUpTiles": 3,
    "gentleDownTiles": 3,
    "openEnd": 0
  }
}
{
  "heatFrames": 780
}
{
  "shinespark": {
    "frames": 57
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Dev note: A hero shot variation of this strat might be possible, starting from a node to the left; if nothing else it could be done with a shortcharge on the 12-tile platform to the left.

From: 4
Item
To: 1
Top Left Door

Requires:

{
  "heatFrames": 250
}
"h_heatedBlueGateGlitch"

Clears obstacles: A

From: 3
Bottom Left Door
To: 2
Middle Left Door

Requires:

"Morph"
{
  "heatFrames": 260
}
"h_heatedBlueGateGlitch"

Clears obstacles: A

From: 5
Middle Junction (Ledge Right of Morph Tunnel)
To: 2
Middle Left Door

Requires:

"Morph"
{
  "heatFrames": 150
}
"h_heatedBlueGateGlitch"

Clears obstacles: A

From: 5
Middle Junction (Ledge Right of Morph Tunnel)
To: 2
Middle Left Door

Requires:

"Morph"
{
  "heatFrames": 150
}
"h_heatedBlueGateGlitch"

Exit condition:

{
  "leaveWithRunway": {
    "length": 11,
    "openEnd": 0,
    "gentleDownTiles": 4
  }
}

Unlocks doors:

{"types":["missiles"],"requires":[{"heatFrames":90}]}
{"types":["super"],"requires":[]}
{"types":["powerbomb"],"requires":[{"heatFrames":110}]}
From: 5
Bottom Floating Platform Junction
To: 5
Bottom Floating Platform Junction

Requires:

{
  "heatFrames": 135
}
"h_heatedBlueGateGlitch"

Clears obstacles: A

From: 1
Left Door
To: 3
Item

Build up 34 tiles worth of run speed and jump into the door on the last frame. Hold angle up through the transition but also aim down to duck below the ceiling until Samus is past it. Fire the Super Missile frame perfectly to open the gate.

Entrance condition:

{
  "comeInRunning": {
    "speedBooster": true,
    "minTiles": 34
  }
}

Requires:

{
  "notable": "High Speed Gate Glitch"
}
"h_heatedGreenGateGlitch"
{
  "ammo": {
    "type": "Super",
    "count": 1
  }
}
"canInsaneJump"
{
  "noFlashSuit": {}
}

Clears obstacles: A

Dev note: 1 extra tile is added so that you can jump into the door, simplifying the inputs a bit.

From: 2
Right Door
To: 3
Item

Either freeze the Geruta and turn off and on Ice to quickly thaw it and save Energy, or carefully jump over it without freezing it or getting hit. Then lure it left by jumping towards it from below. Freeze it when it performs a larger swoop and use it as a platform to get to the item.

Requires:

"canTrickyUseFrozenEnemies"
"HiJump"
{
  "heatFrames": 1050
}
{
  "or": [
    "canTrickyDodgeEnemies",
    {
      "heatFrames": 110
    }
  ]
}
{
  "or": [
    "canInsaneJump",
    {
      "heatFrames": 500
    }
  ]
}
{
  "or": [
    "h_midAirShootUp",
    {
      "heatFrames": 1000
    }
  ]
}

Dev note: The canInsaneJump option is to represent the difference between good and bad Geruta RNG.

From: 3
Item
To: 4
Central Junction

Requires:

{
  "or": [
    "SpaceJump",
    {
      "and": [
        "Grapple",
        "h_midAirShootUp"
      ]
    }
  ]
}
From: 4
Central Junction
To: 3
Item

Requires:

{
  "or": [
    "f_DefeatedCrocomire",
    {
      "obstaclesCleared": [
        "f_DefeatedCrocomire"
      ]
    }
  ]
}
{
  "or": [
    "SpaceJump",
    {
      "and": [
        "Grapple",
        "h_midAirShootUp"
      ]
    }
  ]
}
From: 4
Central Junction
To: 4
Central Junction

This can be a very long fight if Crocomire is stingy with the farming phases. Farming requires careful dodging in order to minimize energy drops. Delay grabbing all of the drops until necessary to reduce the chance of running out of ammo.

Requires:

{
  "notable": "Crocomire with 5 Missiles"
}
"canFarmWhileShooting"
"canBePatient"
{
  "or": [
    {
      "ammo": {
        "type": "Missile",
        "count": 2
      }
    },
    {
      "ammo": {
        "type": "Super",
        "count": 2
      }
    }
  ]
}
{
  "resourceCapacity": [
    {
      "type": "Missile",
      "count": 5
    }
  ]
}
"h_complexToCarryFlashSuit"

Clears obstacles: f_DefeatedCrocomire

Sets flags: f_DefeatedCrocomire

Dev note: This strat is notable, not because it's harder than its required tech, but because its tedious, RNG heavy, and players might not want to encounter it. Crocomire does not have a farming phase until he has been hit twice. It is possible to get to the farming phase with 1 PB, but sometimes Croc will just rush Samus into the spikes without ever having farm phases, so it is ignored here.

From: 1
Left Door
To: 2
Right Door

Requires:

"Grapple"
{
  "or": [
    "HiJump",
    "canWalljump"
  ]
}
"h_midAirShootUp"
From: 2
Right Door
To: 3
Junction Left of Green Gate

Requires:

{
  "or": [
    "h_greenGateGlitch",
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}

Clears obstacles: A

From: 1
Left Door
To: 3
Item

Grapple off several Ripper 2.

Requires:

{
  "notable": "Indiana Jones Grapple"
}
"canUseEnemies"
"canPreciseGrapple"
"h_midAirShootUp"
From: 3
Item
To: 1
Left Door

Involves grappling off several Ripper 2.

Requires:

{
  "notable": "Indiana Jones Grapple"
}
"canUseEnemies"
"canPreciseGrapple"
"h_midAirShootUp"
From: 3
Bottom Right Door
To: 1
Top Left Door

Involves grappling off a Ripper 2.

Requires:

"canUseEnemies"
"Grapple"
"h_midAirShootUp"
From: 3
Bottom Right Door
To: 4
Top Right Door

Involves grappling off a Ripper 2.

Requires:

"canUseEnemies"
"Grapple"
"h_midAirShootUp"
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "or": [
    "h_heatedGreenGateGlitch",
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}
{
  "enemyDamage": {
    "enemy": "Ripper 2 (red)",
    "type": "contact",
    "hits": 2
  }
}

Exit condition:

{
  "leaveWithRunway": {
    "length": 29,
    "openEnd": 1
  }
}
From: 2
Right Door
To: 3
Junction Left of Green Gate

Requires:

"h_navigateHeatRooms"
{
  "or": [
    "h_heatedGreenGateGlitch",
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}
{
  "heatFrames": 100
}

Clears obstacles: A

From: 4
Junction Below Bomb Blocks
To: 2
Top Right Door

Jump into the respawning shot block. It helps significantly to aim down to get trapped into the block. A normalized method to set this up is to shoot the block then immediately perform 5 full-height jumps.

Requires:

{
  "obstaclesCleared": [
    "B"
  ]
}
{
  "heatFrames": 600
}
"canJumpIntoRespawningBlock"
{
  "or": [
    {
      "heatFrames": 900
    },
    {
      "and": [
        "canInsaneJump",
        "canComplexCarryFlashSuit"
      ]
    }
  ]
}

Dev note: The 900 heat frame option gives two leniency attempts. This is likely only useful to avoid a crouch jump and preserve a flash suit. This is not needed on strats that go directly from 9 to 2, because they require a crouch jump or X-ray.

From: 2
Bottom Door
To: 2
Bottom Door

Requires:

"f_DefeatedPhantoon"
{
  "resetRoom": {
    "nodes": [
      2
    ]
  }
}
{
  "or": [
    {
      "and": [
        "ScrewAttack",
        {
          "cycleFrames": 520
        }
      ]
    },
    {
      "and": [
        "canDodgeWhileShooting",
        "Plasma",
        {
          "cycleFrames": 800
        }
      ]
    },
    {
      "and": [
        "canDodgeWhileShooting",
        "Wave",
        "Spazer",
        "Ice",
        {
          "cycleFrames": 930
        }
      ]
    },
    {
      "and": [
        "canTrickyDodgeEnemies",
        {
          "or": [
            "Wave",
            "Spazer",
            "Ice"
          ]
        },
        "h_complexToCarryFlashSuit",
        {
          "cycleFrames": 1400
        }
      ]
    },
    {
      "and": [
        "canInsaneJump",
        "h_trickyToCarryFlashSuit",
        {
          "cycleFrames": 2600
        }
      ]
    }
  ]
}

Clears obstacles: A

Farm cycle drops: 3 Kihunter (yellow), 2 Atomic

From: 2
Middle Left Door
To: 6
Bowling Chozo Statue

Requires:

"Grapple"
"h_midAirShootUp"

Fling Samus from the first set of grapple blocks to the second set without falling. This requires precise timing but is made easier by morphing and unmorphing to reset Samus' fall speed.

Requires:

"canPreciseGrapple"
"canLateralMidAirMorph"
"canResetFallSpeed"
{
  "or": [
    "canInsaneJump",
    {
      "thornHits": 5
    }
  ]
}
"h_complexToCarryFlashSuit"

Dev note: The 5 thornHits are for lenience since it is difficult to get this first try.

From: 2
Item
To: 1
Right Door

Fling Samus from the first set of grapple blocks to the second set without falling. Requires precise timing.

Requires:

"canPreciseGrapple"
"canTrickyJump"
"h_midAirShootUp"
From: 2
Right Door
To: 1
Left Door

Requires:

"Gravity"
{
  "or": [
    "h_greenGateGlitch",
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}

Clears obstacles: A

From: 2
Right Door
To: 1
Left Door

Perform the Gate Glitch by moving towards the gate and firing the super on the correct frame for it to pass through and reach the button on the other side. Due to the water physics, many traditional setups for the glitch will not work.

Requires:

{
  "notable": "Suitless Green Gate Glitch"
}
{
  "or": [
    "h_underwaterGreenGateGlitch",
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}

Clears obstacles: A

From: 1
Bottom Left Door
To: 4
Top Left Door

Requires a runway of at least 4 tiles in the adjacent room.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": true,
    "minTiles": 4
  }
}

Requires:

"HiJump"
"canCrossRoomJumpIntoWater"
"canMomentumConservingTurnaround"
"h_midAirShootUp"

Exit condition:

{
  "leaveNormally": {}
}

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}

Dev note: Using more run speed to avoid the momentumConservingTurnaround requirement will bonk the door, requiring a turnaround to get through This would be a way to bring high vertical speed into the room on the other side of 4.

From: 1
Bottom Left Door
To: 4
Top Left Door

Requires a runway of at least 18 tiles in the adjacent room.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": true,
    "minTiles": 18
  }
}

Requires:

"canCrossRoomJumpIntoWater"
"canTrickyJump"
"h_midAirShootUp"

Exit condition:

{
  "leaveNormally": {}
}

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 1
Bottom Left Door
To: 4
Top Left Door

Requires a runway of at least 22 tiles in the adjacent room.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": true,
    "minTiles": 22
  }
}

Requires:

"canCrossRoomJumpIntoWater"
"h_midAirShootUp"

Exit condition:

{
  "leaveNormally": {}
}

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 1
Bottom Left Door
To: 4
Top Left Door

Entrance condition:

{
  "comeInWithSidePlatform": {
    "platforms": [
      {
        "minHeight": 2,
        "maxHeight": 2,
        "minTiles": 27.4375,
        "speedBooster": true,
        "obstructions": [
          [
            1,
            0
          ]
        ],
        "requires": [
          "canMomentumConservingTurnaround"
        ],
        "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
          ]
        ],
        "requires": [
          "canTrickyJump"
        ],
        "note": [
          "This applies to Metal Pirates Room."
        ]
      },
      {
        "minHeight": 2,
        "maxHeight": 2,
        "minTiles": 45,
        "speedBooster": true,
        "obstructions": [
          [
            3,
            0
          ]
        ],
        "requires": [
          "canInsaneJump",
          {
            "or": [
              "canMomentumConservingMorph",
              {
                "and": [
                  "canMomentumConservingTurnaround",
                  "canBeVeryPatient"
                ]
              }
            ]
          }
        ],
        "note": [
          "This applies to Statues Hallway.",
          "This can be done in two ways:",
          "1) If Morph is available, perform a momentum-conserving morph through the transition,",
          "then unmorph as soon as possible after the transition.",
          "2) Alternatively, do an extremely precise momentum-conserving turnaround through the transition."
        ],
        "devNote": [
          "The momentum-conserving turnaround is double frame-perfect,",
          "requiring a last-frame jump and frame-perfect turnaround just before Samus would bonk the ceiling."
        ]
      },
      {
        "minHeight": 3,
        "maxHeight": 3,
        "minTiles": 37.4375,
        "speedBooster": true,
        "obstructions": [
          [
            3,
            0
          ]
        ],
        "requires": [
          "canMomentumConservingMorph"
        ],
        "note": [
          "This applies to Flyway."
        ]
      },
      {
        "minHeight": 2,
        "maxHeight": 2,
        "minTiles": 45,
        "speedBooster": true,
        "obstructions": [
          [
            4,
            0
          ]
        ],
        "requires": [
          "canMomentumConservingMorph",
          "canInsaneJump",
          "canInsaneMidAirMorph"
        ],
        "note": [
          "This applies to Baby Kraid Room.",
          "In the previous room, there is a 2-frame window for the jump, just before Samus would hit the door ledge,",
          "then a 1-frame or 2-frame window (depending on the jump) for the morph, just before Samus would bonk the ceiling.",
          "After the transition, unmorph within the first 2 frames, to conserve upward momentum;",
          "if Samus got the later frame for the morph (where the animation does not show as fully morphed in the previous room),",
          "then there will only be 1 frame to unmorph."
        ]
      }
    ]
  }
}

Requires:

"canCrossRoomJumpIntoWater"
"h_midAirShootUp"

Exit condition:

{
  "leaveNormally": {}
}

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}

Dev note: We don't include strats here that require HiJump or Spring Ball, since with either of those items you could instead go 1 -> 5 -> 4.

From: 1
Bottom Left Door
To: 5
Platform Junction Near Top Left Door

Requires:

"canSuitlessMaridia"
"canTrickyUseFrozenEnemies"
"HiJump"
"canTrickySpringBallJump"
"h_midAirShootUp"
From: 1
Bottom Left Door
To: 5
Platform Junction Near Top Left Door

This underwater walljump is very long. Some jump assistance, cross room jump, or a flatley jump from the door frame is needed to get to the first overhang.

In case of carrying a flash suit, it is possible, though difficult, to get up without killing the Skultera, or to kill the Skultera with hero shots, in case Morph is not available.

Requires:

"canLongUnderwaterWalljump"
{
  "or": [
    "canUseFrozenEnemies",
    "canSpringBallJumpMidAir",
    {
      "and": [
        "canFlatleyJump",
        {
          "doorUnlockedAtNode": 1
        }
      ]
    }
  ]
}
{
  "or": [
    "h_midAirShootUp",
    "canBeExtremelyPatient"
  ]
}

Unlocks doors:

{"nodeId":1,"types":["ammo"],"requires":[]}
From: 4
On Mama Turtle
To: 2
Top Item

With a miss of the Grapple, if Samus hasn't moved horizontally, simply fall straight down to land safely back on Mama Turtle.

Requires:

"canUseGrapple"
{
  "or": [
    "HiJump",
    "canSpringBallJumpMidAir"
  ]
}
"h_midAirShootUp"
From: 4
On Mama Turtle
To: 2
Top Item

If Mama Turtle is in her starting location, stand on the rightmost side of her to be aligned below the grapple block. With a miss, if Samus hasn't moved horizontally, simply fall straight down to land safely back on to her.

Requires:

"canPreciseGrapple"
"h_midAirShootUp"

Clears obstacles: B

From: 4
On Mama Turtle
To: 6
Top Right Junction

Requires:

{
  "or": [
    "canWalljump",
    "SpaceJump",
    {
      "and": [
        "HiJump",
        "canCarefulJump"
      ]
    },
    {
      "and": [
        "canUseGrapple",
        {
          "or": [
            "HiJump",
            "canSpringBallJumpMidAir",
            "canPreciseGrapple"
          ]
        },
        "h_midAirShootUp"
      ]
    }
  ]
}
From: 5
Top Left Junction
To: 2
Top Item

Requires:

{
  "or": [
    "SpaceJump",
    {
      "and": [
        "canPreciseGrapple",
        {
          "or": [
            "h_midAirShootUp",
            "HiJump",
            "canWalljump"
          ]
        }
      ]
    }
  ]
}

Clears obstacles: B

From: 5
Top Left Junction
To: 2
Top Item

Grappling the block does not require canPreciseGrapple if Mama Turtle is asleep, as there is no risk of death on a miss.

Requires:

"canUseGrapple"
"h_midAirShootUp"
{
  "obstaclesNotCleared": [
    "A"
  ]
}

Clears obstacles: B

From: 1
Left Doorway
To: 4
Top Door

Only requires a runway of 7 tiles in the adjacent room, but an extra tile makes for an easier jump.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": true,
    "minTiles": 7.4375
  }
}

Requires:

{
  "or": [
    "f_MaridiaTubeBroken",
    {
      "obstaclesCleared": [
        "f_MaridiaTubeBroken"
      ]
    }
  ]
}
"canCrossRoomJumpIntoWater"
"h_midAirShootUp"

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 1
Left Doorway
To: 4
Top Door

Only requires a runway of 1 tile in the adjacent room. This strat is slightly easier on the right side at low run speeds, but the same otherwise.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": false,
    "minTiles": 0.4375
  }
}

Requires:

{
  "or": [
    "f_MaridiaTubeBroken",
    {
      "obstaclesCleared": [
        "f_MaridiaTubeBroken"
      ]
    }
  ]
}
"canCrossRoomJumpIntoWater"
"canTrickyJump"
"h_midAirShootUp"

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 2
Bottom Right Door
To: 4
Top Door

Assumes a runway of at least 21 tiles in the adjacent room. End Samus' momentum where no platforms are over head. Shoot the door while rising to pass through.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": true,
    "minTiles": 21
  }
}

Requires:

{
  "or": [
    "f_MaridiaTubeBroken",
    {
      "obstaclesCleared": [
        "f_MaridiaTubeBroken"
      ]
    }
  ]
}
"canCrossRoomJumpIntoWater"
"canMidairWiggle"
"canTrickyJump"
"h_midAirShootUp"

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 2
Bottom Right Door
To: 4
Top Door

Requires a runway of at least 18 tiles in the adjacent room. Ride up the right wall just above the doorway, then turnaround before and after hitting the platform following the doorway slope. Continue up the rest of the way to reach the door.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": true,
    "minTiles": 18
  }
}

Requires:

{
  "notable": "Cross Room Platform Stuck Wiggle to Top Door"
}
{
  "or": [
    "f_MaridiaTubeBroken",
    {
      "obstaclesCleared": [
        "f_MaridiaTubeBroken"
      ]
    }
  ]
}
"canCrossRoomJumpIntoWater"
"canMomentumConservingTurnaround"
"canTrickyDashJump"
"canInsaneJump"
"h_midAirShootUp"

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 2
Bottom Right Door
To: 4
Top Door

Entrance condition:

{
  "comeInWithSidePlatform": {
    "platforms": [
      {
        "minHeight": 2,
        "maxHeight": 2,
        "minTiles": 38,
        "speedBooster": true,
        "obstructions": [
          [
            1,
            0
          ]
        ],
        "requires": [],
        "note": "Applies to Noob Bridge.",
        "devNote": [
          "FIXME: This (and other cases) can leave with enough vertical momentum to make it to the middle door of Main Street,",
          "if the top door of Maridia Tube connects to the bottom of Main Street."
        ]
      },
      {
        "minHeight": 2,
        "maxHeight": 2,
        "minTiles": 45,
        "speedBooster": true,
        "obstructions": [
          [
            3,
            0
          ]
        ],
        "requires": [
          "canMomentumConservingMorph",
          "canInsaneJump",
          "canInsaneMidAirMorph"
        ],
        "note": [
          "This applies to Statues Hallway and Baby Kraid Room."
        ]
      },
      {
        "minHeight": 3,
        "maxHeight": 3,
        "minTiles": 45,
        "speedBooster": true,
        "obstructions": [
          [
            3,
            0
          ]
        ],
        "requires": [
          "canMomentumConservingMorph",
          "canInsaneJump",
          "canInsaneMidAirMorph"
        ],
        "note": [
          "This applies to Bowling Alley (middle, power off) and Basement (power on)."
        ]
      },
      {
        "minHeight": 3,
        "maxHeight": 3,
        "minTiles": 39.4375,
        "speedBooster": true,
        "obstructions": [
          [
            3,
            2
          ]
        ],
        "requires": [],
        "note": "Applies to Metal Pirates Room."
      }
    ]
  }
}

Requires:

{
  "or": [
    "f_MaridiaTubeBroken",
    {
      "obstaclesCleared": [
        "f_MaridiaTubeBroken"
      ]
    }
  ]
}
"canCrossRoomJumpIntoWater"
"canTrickyJump"
"canMomentumConservingTurnaround"
"h_midAirShootUp"

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 3
Top Right Doorway
To: 4
Top Door

Only requires a runway of 7 tiles in the adjacent room, but an extra tile makes for an easier jump.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": true,
    "minTiles": 7.4375
  }
}

Requires:

{
  "or": [
    "f_MaridiaTubeBroken",
    {
      "obstaclesCleared": [
        "f_MaridiaTubeBroken"
      ]
    }
  ]
}
"canCrossRoomJumpIntoWater"
"h_midAirShootUp"

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 3
Top Right Doorway
To: 4
Top Door

Only requires a runway of one tile in the adjacent room. This strat is slightly easier on the right side at low run speeds, but the same otherwise.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": false,
    "minTiles": 0.4375
  }
}

Requires:

{
  "or": [
    "f_MaridiaTubeBroken",
    {
      "obstaclesCleared": [
        "f_MaridiaTubeBroken"
      ]
    }
  ]
}
"canCrossRoomJumpIntoWater"
"canTrickyJump"
"h_midAirShootUp"

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 5
Inside Maridia Tube Junction
To: 4
Top Door

Jump as the first action after breaking the tube to gravity jump to the top of the room. Open the door and go through it during the ascent. This can only be attempted once.

Requires:

{
  "notable": "Breaking the Tube Gravity Jump"
}
{
  "not": "f_MaridiaTubeBroken"
}
"canRiskPermanentLossOfAccess"
"h_usePowerBomb"
"canSuitlessMaridia"
"canTrickyJump"
"h_midAirShootUp"

Clears obstacles: f_MaridiaTubeBroken

Sets flags: f_MaridiaTubeBroken

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 7
Lower Hills Junction
To: 7
Lower Hills Junction

Use Grapple on the Powamps to climb back up the room after farming the crabs. Caution may be needed to avoid falling down to the bottom parts of the room.

Requires:

"Grapple"
"canTrickyJump"
{
  "or": [
    {
      "and": [
        {
          "resetRoom": {
            "nodes": [
              1
            ]
          }
        },
        {
          "cycleFrames": 2615
        }
      ]
    },
    {
      "and": [
        {
          "resetRoom": {
            "nodes": [
              5
            ]
          }
        },
        {
          "cycleFrames": 2340
        }
      ]
    },
    {
      "and": [
        {
          "resetRoom": {
            "nodes": [
              4
            ]
          }
        },
        {
          "cycleFrames": 2740
        }
      ]
    }
  ]
}
"h_midAirShootUp"

Resets obstacles: A, B

Farm cycle drops: 3 Sciser

From: 7
Lower Hills Junction
To: 8
Higher Hill Junction

There is a grappleable Powamp directly above each of the 3 peaks.

Requires:

"canSuitlessMaridia"
"canUseEnemies"
"Grapple"
"h_midAirShootUp"
From: 7
Lower Hills Junction
To: 9
Platform Below Top Door

There is a grappleable Powamp directly above each of the 3 peaks.

If carrying a flash suit without Morph, Hi-Jump or Gravity can be used to attach to the center Powamp from the left.

Requires:

"h_navigateUnderwater"
"canUseEnemies"
"Grapple"
{
  "or": [
    "h_midAirShootUp",
    "HiJump",
    "Gravity"
  ]
}
From: 7
Lower Hills Junction
To: 10
Upper Right Ledge Junction

There is a grappleable Powamp directly above each of the 3 peaks.

If carrying a flash suit without Morph, Hi-Jump or Gravity can be used to attach to the center Powamp from the left.

Requires:

"h_navigateUnderwater"
"canUseEnemies"
"Grapple"
{
  "or": [
    "h_midAirShootUp",
    "HiJump",
    "Gravity"
  ]
}

Clears obstacles: B

Dev note: This strat is only able to bring one crab up without dropping down to 2. Adding a strat to do that is not worth adding, because with grapple, you can bypass the strats that need A.

From: 8
Higher Hill Junction
To: 11
Upper Left Ledge Junction

There is a grappleable Powamp directly above each of the 3 peaks.

If carrying a flash suit without Morph, Hi-Jump or Gravity can be used to attach to the center Powamp from the left.

Requires:

"h_navigateUnderwater"
"canUseEnemies"
"Grapple"
{
  "or": [
    "h_midAirShootUp",
    "HiJump",
    "Gravity"
  ]
}
From: 1
Left Door
To: 3
Top Right Door

Climb a mochtroid with ice using the wall to help guide them. It is very easy to take damage if not preemptive with freezes. Mochtroid movement and freeze timing gets harder at the waterline.

Requires:

"h_navigateUnderwater"
"canMochtroidIceClimb"
"canPlayInSand"
"canCameraManip"
{
  "or": [
    "Gravity",
    "HiJump"
  ]
}
"canTrickyJump"
{
  "or": [
    "canInsaneJump",
    {
      "enemyDamage": {
        "enemy": "Mochtroid",
        "type": "contact",
        "hits": 2
      }
    }
  ]
}
"h_complexToCarryFlashSuit"
From: 1
Left Door
To: 3
Top Right Door

Use Grapple Beam to cross the room. The first two room segments can be safely grappled across from in the water. The third room segment grapple is tricky. It is possible to use the spikes as platforms instead.

Requires:

"canSuitlessMaridia"
"canDodgeWhileShooting"
"canPreciseGrapple"
{
  "or": [
    "canInsaneJump",
    "canPlayInSand"
  ]
}
{
  "or": [
    "HiJump",
    "canTrickyJump"
  ]
}
"h_complexToCarryFlashSuit"
From: 2
Bottom Right Door
To: 3
Top Right Door

Requires:

"h_navigateUnderwater"
"Grapple"
{
  "or": [
    "h_midAirShootUp",
    "Gravity"
  ]
}
From: 3
Top Right Door
To: 1
Left Door

Jump out of the sand to lure down mochtroids to freeze. It's recommended to bring a Mochtroid into the middle section of the room. Mochtroid damage is pretty hard to avoid, but can be. Mochtroid movement and freeze timing gets harder at the waterline.

Requires:

"h_navigateUnderwater"
{
  "or": [
    "Gravity",
    "HiJump"
  ]
}
"canTrickyJump"
"canPlayInSand"
"canMochtroidIceClimb"
"canCameraManip"
{
  "or": [
    "canInsaneJump",
    {
      "enemyDamage": {
        "enemy": "Mochtroid",
        "type": "contact",
        "hits": 2
      }
    }
  ]
}
"h_complexToCarryFlashSuit"
From: 3
Top Right Door
To: 1
Left Door

Requires:

"canSuitlessMaridia"
"canDodgeWhileShooting"
"canPreciseGrapple"
{
  "or": [
    "canInsaneJump",
    "canPlayInSand"
  ]
}
{
  "or": [
    "HiJump",
    "canTrickyJump"
  ]
}
"h_complexToCarryFlashSuit"
From: 1
Left Door
To: 1
Left Door

Kill Draygon by grappling to a bottom turret as you get grabbed. Avoids taking all the hits from Draygon.

Requires:

{
  "notable": "Grapple Quick Kill"
}
"h_navigateUnderwater"
"canPreciseGrapple"
"h_breakOneDraygonTurret"
{
  "draygonElectricityFrames": 240
}
"h_complexToCarryFlashSuit"

Clears obstacles: f_DefeatedDraygon

Sets flags: f_DefeatedDraygon

From: 1
Left Door
To: 1
Left Door

Requires:

"Gravity"
{
  "enemyKill": {
    "enemies": [
      [
        "Draygon"
      ]
    ],
    "farmableAmmo": [
      "Missile",
      "Super"
    ]
  }
}
"h_complexToCarryFlashSuit"

Clears obstacles: f_DefeatedDraygon

Sets flags: f_DefeatedDraygon

Dev note: FIXME: Should this include requirements for breaking the turrets or dodging their shots?

From: 2
Right Door
To: 4
Top Right Ledge Junction

There is just enough distance for a MidAir SpringBall jump to reach without HiJump, with either a crouch jump or air ball. To do this, pause and morph early in order to get a spring fling from equipping Spring Ball.

Requires:

"Gravity"
"canSpringBallJumpMidAir"
{
  "or": [
    "HiJump",
    {
      "and": [
        "h_maxHeightSpringBallJump",
        "canSpringFling"
      ]
    },
    {
      "and": [
        "canTrickyJump",
        "canLateralMidAirMorph",
        "canTrickySpringBallJump",
        "canSpringFling",
        "h_complexToCarryFlashSuit"
      ]
    }
  ]
}

Dev note: The h_maxHeightSpringBallJump is not a h_underwaterMaxHeightSpringBallJump, because Gravity is required.

From: 2
Right Door
To: 2
Right Door

Requires:

"h_openZebetites"
{
  "or": [
    "canDodgeWhileShooting",
    {
      "enemyDamage": {
        "enemy": "Rinka",
        "type": "contact",
        "hits": 1
      }
    }
  ]
}
"h_complexToCarryFlashSuit"
"i_MotherBrainBarrier1Clear"
"i_MotherBrainBarrier2Clear"
"i_MotherBrainBarrier3Clear"
"i_MotherBrainBarrier4Clear"

Sets flags: f_KilledZebetites1

From: 2
Right Door
To: 3
Mother Brain

Glitch through the Mother Brain Zebetites by using a frozen Rinka and i-frames. Freeze the Rinka at its spawn location, then spin jump or down-back onto it after acquiring i-frames to clip inside of the Zebetite, then jump through. I-frames can be acquired from a Rinka hit, a turret shot, or from the Zebetite itself. Note that Zebetites cause i-frames but deal no damage. If Screw Attack is equipped, then a down-back must be used, since spin jumping will cancel i-frames. With Ice+Wave, Samus can freeze the Rinka from above with an angle-down shot; Otherwise Samus must go below, press against the wall, and freeze it with an upward shot. With Ice+Plasma, Samus must be crouched when firing the shot.

Requires:

{
  "notable": "Ice Zebetite Skip"
}
"canUseIFrames"
"canTrickyUseFrozenEnemies"
"Morph"
{
  "or": [
    {
      "and": [
        "Wave",
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        }
      ]
    },
    "canTrickyJump"
  ]
}
{
  "or": [
    {
      "disableEquipment": "ScrewAttack"
    },
    "canDownBack"
  ]
}
{
  "or": [
    "canTrickyDodgeEnemies",
    {
      "enemyDamage": {
        "enemy": "Mother Brain 1",
        "type": "turret",
        "hits": 1
      }
    }
  ]
}
"h_complexToCarryFlashSuit"
"i_MotherBrainBarrier1Clear"
"i_MotherBrainBarrier2Clear"
"i_MotherBrainBarrier3Clear"
"i_MotherBrainBarrier4Clear"

Dev note: This technically requires f_KilledZebetites1 to not be set, but there is minimal risk of loss of access, because there is no reason to kill any Zebs without being able to kill them all. It is also possible to Ice Zeb skip through the second Zeb with a morph/unmorph/remorph on a frozen Rinka; this is known as a Remorph Zebetite Skip or a Spring Ball Zebetite Skip. Technically this strat involves `canWallIceClip` but we don't include that requirement, since the positioning of the Rinka is freely normalized, which makes the trick easier than this tech would normally imply. FIXME: It is possible to Ice Zeb Skip out, but it is much harder and would only be useful if getting here with canRiskPermanentLossOfAccess.

From: 5
Between First and Second Zebetite
To: 5
Between First and Second Zebetite

Requires:

"h_openZebetites"
{
  "or": [
    {
      "and": [
        "canDodgeWhileShooting",
        "canInsaneJump"
      ]
    },
    {
      "enemyDamage": {
        "enemy": "Rinka",
        "type": "contact",
        "hits": 1
      }
    }
  ]
}
"h_complexToCarryFlashSuit"

Sets flags: f_KilledZebetites2

From: 6
Between Second and Third Zebetite
To: 6
Between Second and Third Zebetite

Requires:

"h_openZebetites"
{
  "or": [
    {
      "and": [
        "canDodgeWhileShooting",
        "canTrickyJump"
      ]
    },
    {
      "enemyDamage": {
        "enemy": "Rinka",
        "type": "contact",
        "hits": 1
      }
    }
  ]
}
"h_complexToCarryFlashSuit"

Sets flags: f_KilledZebetites3

From: 7
Between Third and Fourth Zebetite
To: 7
Between Third and Fourth Zebetite

Requires:

"h_openZebetites"
{
  "enemyDamage": {
    "enemy": "Rinka",
    "type": "contact",
    "hits": 1
  }
}
"h_complexToCarryFlashSuit"

Sets flags: f_KilledZebetites4

From: 1
Left Door
To: 4
Top of Shaft Without Acid Triggered

Go up safely by killing the Pirates.

Requires:

{
  "or": [
    "HiJump",
    "SpaceJump",
    "canWalljump",
    "canJumpIntoIBJ",
    {
      "and": [
        "canIBJ",
        "canBePatient"
      ]
    },
    "canSpringBallJumpMidAir"
  ]
}
{
  "or": [
    "canBePatient",
    {
      "enemyKill": {
        "enemies": [
          [
            "Tourian Space Pirate (all)"
          ],
          [
            "Tourian Space Pirate (all)"
          ],
          [
            "Tourian Space Pirate (all)"
          ],
          [
            "Tourian Space Pirate (all)"
          ]
        ],
        "explicitWeapons": [
          "Missile",
          "Super",
          "PowerBomb",
          "Wave",
          "Spazer",
          "Plasma",
          "ScrewAttack"
        ]
      }
    }
  ]
}
"h_complexToCarryFlashSuit"
From: 2
Left Door
To: 1
Top Right Door

Requires:

"canCarefulJump"
"h_complexToCarryFlashSuit"
From: 2
Left Door
To: 1
Top Right Door

Jump far enough to land on the first floor pillar.

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 0,
    "openEnd": 0
  }
}

Requires:

"canPrepareForNextRoom"
{
  "or": [
    "SpaceJump",
    "canCarefulJump"
  ]
}
"h_complexToCarryFlashSuit"

Dev note: This is not the level of precision that would call for canBlueSpaceJump.

From: 2
Left Door
To: 1
Top Right Door

Time Samus' movement carefully to roll underneath a Tourian Hopper and also race it to the far door. Enter the room morphed and let the hoppers jump against the wall a couple of times. After the lower hopper has long enough time between jumps, roll under and run to the door.

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

{
  "notable": "Roll Under Hoppers"
}
"Morph"
"canPrepareForNextRoom"
"canTrickyDodgeEnemies"
"h_complexToCarryFlashSuit"
From: 2
Left Door
To: 1
Top Right Door

Spin jump into the room with Screw Attack, holding left through the transition to land near the door. Do a turn-around spin jump to the right, bonking the ceiling and overhang and then falling straight down. Then run and spin jump to the right through the Hoppers, to make it to the door without taking damage.

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

{
  "notable": "Screw Attack Jumps"
}
"canPrepareForNextRoom"
"ScrewAttack"
"canTrickyJump"
"h_complexToCarryFlashSuit"
From: 2
Left Door
To: 1
Top Right Door

Use at least 4 tiles of runway to gain speed, running through the transition. Hold down during and after the transition in order to aim down and squeeze under the Hopper. Then immediately run to the right to make it to the door without taking damage.

Entrance condition:

{
  "comeInRunning": {
    "speedBooster": "any",
    "minTiles": 4
  }
}

Requires:

{
  "notable": "Squeeze Under Hoppers"
}
"canPrepareForNextRoom"
"canTwoTileSqueeze"
"h_complexToCarryFlashSuit"
From: 2
Left Door
To: 1
Top Right Door

Requires:

{
  "enemyDamage": {
    "enemy": "Blue Sidehopper",
    "type": "contact",
    "hits": 1
  }
}
"h_complexToCarryFlashSuit"