Crab Hole

Room ID: 201

Wiki
Difficulty filter

From: 1
Top Left Doorway
To: 1
Top Left Doorway

Exit condition:

{
  "leaveWithRunway": {
    "length": 3,
    "openEnd": 1
  }
}
From: 1
Top Left Doorway
To: 1
Top Left Doorway

Requires:

"h_canFrozenEnemyRunway"

Exit condition:

{
  "leaveWithRunway": {
    "length": 4,
    "openEnd": 1
  }
}
From: 1
Top Left Doorway
To: 1
Top Left Doorway

Requires:

"h_canNavigateUnderwater"
{
  "resetRoom": {
    "nodes": [
      1,
      4
    ]
  }
}
{
  "refill": [
    "Energy",
    "PowerBomb"
  ]
}
From: 1
Top Left Doorway
To: 1
Top Left Doorway

Requires:

"h_canCrystalFlash"
From: 1
Top Left Doorway
To: 1
Top Left Doorway

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 1
Top Left Doorway
To: 1
Top Left Doorway

Requires:

{
  "enemyDamage": {
    "enemy": "Sciser",
    "type": "contact",
    "hits": 1
  }
}
From: 1
Top Left Doorway
To: 1
Top Left Doorway

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "indirect",
    "morphed": false
  }
}

Exit condition:

{
  "leaveWithGMode": {
    "morphed": false
  }
}

Bypasses door shell: true

From: 1
Top Left Doorway
To: 1
Top Left Doorway

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "indirect",
    "morphed": true
  }
}

Exit condition:

{
  "leaveWithGMode": {
    "morphed": true
  }
}

Bypasses door shell: true

Base (Basic)
Crab Hole
From: 1
Top Left Doorway
To: 2
Bottom Left Door

Requires:

"Morph"

Use Spring Ball to bounce into the hole, then unmorph to descend. Use a pause buffer to remorph, then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"canSuitlessMaridia"
"canTrickySpringBallBounce"
"canPauseRemorphTemporaryBlue"
"canXRayTurnaround"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 1
Top Left Doorway
To: 2
Bottom Left Door

Use a neutral bounce to enter the hole, then unmorph to descend. Use a pause buffer to remorph, then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"Gravity"
"Morph"
"canPauseRemorphTemporaryBlue"
"canXRayTurnaround"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 1
Top Left Doorway
To: 2
Bottom Left Door

Roll over the two crabs before the first gets to Samus. This is easier with Gravity Suit turned off. It is possible but difficult to roll from the doorway onto the platform with Gravity turned off. This requires backing up slightly after entering the room then quickly rolling before the crabs. It is a bit tighter in direct G-Mode.

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": true
  }
}

Requires:

{
  "or": [
    "h_canArtificialMorphPowerBomb",
    "h_canArtificialMorphSpringBall",
    {
      "and": [
        "Gravity",
        "h_canArtificialMorphBombs"
      ]
    },
    "canTrickyJump",
    {
      "enemyDamage": {
        "enemy": "Sciser",
        "type": "contact",
        "hits": 1
      }
    }
  ]
}

Use Spring Ball to bounce into the hole, then unmorph to descend. Use a pause buffer to remorph, then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"canSuitlessMaridia"
"canTrickySpringBallBounce"
"canPauseRemorphTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 1
Top Left Doorway
To: 3
Bottom Right Door

Use a neutral bounce to enter the hole, then unmorph to descend. Use a pause buffer to remorph, then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"Gravity"
"Morph"
"canPauseRemorphTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
Base (Basic)
Crab Hole
From: 1
Top Left Doorway
To: 4
Top Right Doorway

From: 1
Top Left Doorway
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInWithSpark": {}
}

Requires:

{
  "or": [
    {
      "shinespark": {
        "frames": 24
      }
    },
    {
      "and": [
        "Gravity",
        {
          "shinespark": {
            "frames": 21
          }
        }
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 1
Top Left Doorway
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInShinecharging": {
    "length": 2,
    "openEnd": 0
  }
}

Requires:

"Gravity"
"canShinechargeMovement"
{
  "shineChargeFrames": 100
}

Exit condition:

{
  "leaveShinecharged": {}
}
From: 1
Top Left Doorway
To: 4
Top Right Doorway

Entrance condition:

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

Requires:

"canChainTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}
From: 1
Top Left Doorway
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": false
  }
}

Exit condition:

{
  "leaveWithGMode": {
    "morphed": false
  }
}
From: 1
Top Left Doorway
To: 4
Top Right Doorway

To save a bomb, it is possible but difficult to roll from the doorway onto the platform with Gravity turned off. This requires backing up slightly after entering the room then quickly rolling before the crabs. It is a bit tighter in direct G-Mode.

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": true
  }
}

Requires:

{
  "or": [
    "Morph",
    "h_canArtificialMorphSpringBall",
    {
      "and": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ]
    },
    {
      "and": [
        "Gravity",
        "h_canArtificialMorphBombHorizontally",
        {
          "or": [
            "h_canArtificialMorphBombThings",
            "canTrickyJump",
            {
              "enemyDamage": {
                "enemy": "Sciser",
                "type": "contact",
                "hits": 1
              }
            }
          ]
        }
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithGMode": {
    "morphed": true
  }
}
From: 1
Top Left Doorway
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ],
      [
        12,
        13
      ]
    ]
  }
}

Bypasses door shell: true

From: 1
Top Left Doorway
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ]
    ]
  }
}

Bypasses door shell: true

From: 1
Top Left Doorway
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        13
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        13
      ]
    ]
  }
}

Bypasses door shell: true

Base (Basic)
Crab Hole
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Requires:

"Gravity"
{
  "or": [
    "canIBJ",
    {
      "and": [
        "SpaceJump",
        "canMidAirMorph"
      ]
    },
    {
      "and": [
        "HiJump",
        "canWalljump",
        "canMidAirMorph"
      ]
    },
    {
      "and": [
        "HiJump",
        "canSpringBallJumpMidAir"
      ]
    }
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Requires:

"canGravityJump"
{
  "or": [
    "canMidAirMorph",
    "h_canUseSpringBall"
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Jump the first frame after running to gain just enough spinjump height.

Requires:

"canMidAirMorph"
"Gravity"
"canWalljump"
"canTrickyDashJump"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Freeze a crab on the edge of the hole in the ceiling. Then get on top of it with Gravity and a wall jump, jump assist, or second frozen crab on the ground, or a suitless Spring Ball jump with HiJump.

Requires:

"canUseFrozenEnemies"
{
  "or": [
    {
      "and": [
        "Gravity",
        {
          "or": [
            "HiJump",
            "canWalljump",
            "canSpringBallJumpMidAir",
            "canTrickyUseFrozenEnemies"
          ]
        },
        {
          "or": [
            "canMidAirMorph",
            "h_canUseSpringBall"
          ]
        }
      ]
    },
    {
      "and": [
        "HiJump",
        "canSpringBallJumpMidAir",
        "canSuitlessMaridia"
      ]
    }
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Climb up 1 screen.

Entrance condition:

{
  "comeInWithDoorStuckSetup": {}
}

Requires:

"canXRayClimb"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Stand on a frozen crab, then freeze a second one on the edge of the hole above. Use a crouch jump and/or down grab to get onto the crab above.

Requires:

"canSuitlessMaridia"
"canTrickyUseFrozenEnemies"
"HiJump"
{
  "or": [
    "canMidAirMorph",
    "h_canUseSpringBall"
  ]
}
{
  "or": [
    "canCrouchJump",
    "canDownGrab"
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Use a Super to knock off a crab and freeze it mid-air. Freeze a second crab on the edge of the hole above.

Requires:

"canSuitlessMaridia"
"canTrickyJump"
{
  "ammo": {
    "type": "Super",
    "count": 1
  }
}
"canTrickyUseFrozenEnemies"
"canSpringBallJumpMidAir"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Use a super to knock off a crab and freeze it mid-air. Then get on that crab, possibly using a door ledge Freeze a second crab on the edge of the hole above.

Requires:

{
  "notable": "Suitless Crab Climb No Jump Assist"
}
"canMidAirMorph"
"canSuitlessMaridia"
{
  "ammo": {
    "type": "Super",
    "count": 1
  }
}
"canTrickyUseFrozenEnemies"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Freeze one crab on the lip of the overhead opening and another on the edge of a doors platform then springballjump up. Use a Stationary Lateral Mid-Air Morph to gain enough jump height without bonking the ceiling. It is possible with a crouch jump to not need the second crab.

Requires:

{
  "notable": "Suitless Crab Climb Superless with Springball"
}
"canSuitlessMaridia"
"canTrickyJump"
"canTrickySpringBallJump"
"canTrickyUseFrozenEnemies"
"canStationaryLateralMidAirMorph"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Requires a runway of at least 3 tiles (with an open end) in the adjacent room. Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround to reach the Morph tunnel above. Climbing the Left side of the center hole will run into an unavoidable Scisor that can be passed through by Morphing. Crossing to the right from the left door requires slightly more runway and takes a more precise turnaround. Samus must also stay near a side of the center hole to reach the Morph tunnels.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canMidAirMorph"
"canCrossRoomJumpIntoWater"
"canMomentumConservingTurnaround"
"canKago"
{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Sciser",
        "type": "contact",
        "hits": 1
      }
    },
    "h_pauseAbuseMinimalReserveRefill"
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Requires a runway of at least 4 tiles (with no open end) in the adjacent room. Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround to reach the Morph tunnel above. Climbing the Left side of the center hole will run into an unavoidable Sciser that can be passed through by Morphing. Crossing to the right from the left door requires slightly more runway and takes a more precise turnaround. Samus must also stay near a side of the center hole to reach the Morph tunnels.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canMidAirMorph"
"canCrossRoomJumpIntoWater"
"canMomentumConservingTurnaround"
"canKago"
{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Sciser",
        "type": "contact",
        "hits": 1
      }
    },
    "h_pauseAbuseMinimalReserveRefill"
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Requires a runway of at least 4 tiles (with no open end) in the adjacent room. Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround. Then morph and move right to go through the Morph tunnel above, avoiding damage from the crab.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canMidAirMorph"
"canCrossRoomJumpIntoWater"
"canMomentumConservingTurnaround"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Requires a runway of at least 6 tiles (with no open end) in the adjacent room. Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround. Then morph and move right to go through the Morph tunnel above, avoiding damage from the crab. With the minimal runway length, this requires precise timing.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": "any",
    "minTiles": 5.4375
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canMidAirMorph"
"canCrossRoomJumpIntoWater"
"canMomentumConservingTurnaround"
"canInsaneJump"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Only requires a runway of 5 tiles (with an open end) in the adjacent room. Perform an air ball while against the ceiling to make it up and through the morph tunnel.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canMomentumConservingMorph"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Only requires a runway of 6 tiles (with no open end) in the adjacent room. Perform an air ball while against the ceiling to make it up and through the morph tunnel. 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.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canMomentumConservingMorph"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Requires:

"canSuitlessMaridia"
"h_canDoubleSpringBallJumpWithHiJump"
Ice Clip (Extreme)
Crab Hole
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Freeze a crab at a very precise position in order to clip through the center Morph tunnel without a way to see. Use a frozen crab on the opposite wall in order to better time the crab being used for clipping and as a way to climb on top of it. Ice Beam on its own has a high chance of hitting a wall instead of the crab; straight vertical shots can help. Gravity has a 2 pixel clip window while Suitless there is only 1 pixel up higher which requires a precise down grab to get onto the crab.

Requires:

{
  "notable": "Ice Clip"
}
"h_canNavigateUnderwater"
"canOffScreenMovement"
{
  "or": [
    {
      "and": [
        "Gravity",
        "h_canPreciseIceClip"
      ]
    },
    {
      "and": [
        "HiJump",
        "h_canHighPixelIceClip"
      ]
    }
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Unmorph just before hitting the ceiling, to conserve upward momentum. Continue moving right to avoid a crab hit, then morph again to make it through. If the runway is very short and the bounce is not on the last frame before the transition, then it may be necessary to perform a spring ball jump; in this case, pause soon after entering the room in order to unequip spring ball.

Entrance condition:

{
  "comeInWithSpringBallBounce": {
    "speedBooster": true,
    "movementType": "uncontrolled",
    "remoteAndLandingMinTiles": [
      [
        3,
        1
      ]
    ]
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canMomentumConservingMorph"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Unmorph just before hitting the ceiling, to conserve upward momentum. Continue moving right to avoid a crab hit, then morph again to make it through.

Entrance condition:

{
  "comeInWithSpringBallBounce": {
    "speedBooster": "any",
    "movementType": "uncontrolled",
    "remoteAndLandingMinTiles": [
      [
        3.5625,
        1
      ]
    ]
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canMomentumConservingMorph"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Unmorph just before hitting the ceiling, to conserve upward momentum. Continue moving right to avoid a crab hit, then morph again to make it through.

Entrance condition:

{
  "comeInWithSpringBallBounce": {
    "speedBooster": "any",
    "movementType": "controlled",
    "remoteAndLandingMinTiles": [
      [
        4.5625,
        1
      ]
    ]
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canMomentumConservingMorph"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Turn around to the left just before bonking the ceiling, to retain upward momentum. Then morph while passing through the crab and go through the morph tunnel to the left.

Entrance condition:

{
  "comeInSpaceJumping": {
    "speedBooster": true,
    "minTiles": 3
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canPreciseSpaceJump"
"canMomentumConservingTurnaround"
"canMidAirMorph"
"canKago"
{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Sciser",
        "type": "contact",
        "hits": 1
      }
    },
    "h_pauseAbuseMinimalReserveRefill"
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Turn around to the left just before bonking the ceiling, to retain upward momentum. Then morph while passing through the crab and go through the morph tunnel to the left.

Entrance condition:

{
  "comeInSpaceJumping": {
    "speedBooster": false,
    "minTiles": 3.5625
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canPreciseSpaceJump"
"canMomentumConservingTurnaround"
"canMidAirMorph"
"canKago"
{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Sciser",
        "type": "contact",
        "hits": 1
      }
    },
    "h_pauseAbuseMinimalReserveRefill"
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Turn around to the left just before bonking the ceiling, to retain upward momentum. Then turn back to the right and go through the morph tunnel to the right, avoiding crab damage.

Entrance condition:

{
  "comeInSpaceJumping": {
    "speedBooster": true,
    "minTiles": 3.5625
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canPreciseSpaceJump"
"canMomentumConservingTurnaround"
"canMidAirMorph"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Turn around to the left just before bonking the ceiling, to retain upward momentum. Then turn back to the right and go through the morph tunnel to the right, avoiding crab damage.

Entrance condition:

{
  "comeInSpaceJumping": {
    "speedBooster": false,
    "minTiles": 6
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canPreciseSpaceJump"
"canMomentumConservingTurnaround"
"canMidAirMorph"
From: 2
Bottom Left Door
To: 1
Top Left Doorway

Perform a gravity jump and use Spring Ball to bounce through the top of the hole. Use a pause buffer to remorph, also taking the opportunity to equip Gravity again. Then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"canXRayCancelShinecharge"
"canXRayTurnaround"
"canGravityJump"
"canSpringBallBounce"
"canPauseRemorphTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Exit condition:

{
  "leaveWithRunway": {
    "length": 2,
    "openEnd": 1
  }
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Requires:

"h_canFrozenEnemyRunway"

Exit condition:

{
  "leaveWithRunway": {
    "length": 3,
    "openEnd": 1
  }
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Requires:

"Gravity"
"SpaceJump"

Exit condition:

{
  "leaveSpinning": {
    "remoteRunway": {
      "length": 3,
      "openEnd": 1
    }
  }
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Requires:

"Gravity"

Exit condition:

{
  "leaveWithMockball": {
    "remoteRunway": {
      "length": 3,
      "openEnd": 1
    },
    "landingRunway": {
      "length": 2,
      "openEnd": 1
    }
  }
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Requires:

"Gravity"

Exit condition:

{
  "leaveWithSpringBallBounce": {
    "remoteRunway": {
      "length": 3,
      "openEnd": 1
    },
    "landingRunway": {
      "length": 2,
      "openEnd": 1
    },
    "movementType": "uncontrolled"
  }
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Requires:

"Gravity"

Exit condition:

{
  "leaveSpaceJumping": {
    "remoteRunway": {
      "length": 3,
      "openEnd": 1
    }
  }
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Requires:

"h_canNavigateUnderwater"
{
  "resetRoom": {
    "nodes": [
      2,
      3
    ]
  }
}
{
  "refill": [
    "Energy",
    "PowerBomb"
  ]
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Requires:

"h_canCrystalFlash"
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Requires:

{
  "enemyDamage": {
    "enemy": "Sciser",
    "type": "contact",
    "hits": 1
  }
}
Base (Basic)
Crab Hole
From: 2
Bottom Left Door
To: 3
Bottom Right Door

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

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 25
}
{
  "shinespark": {
    "frames": 23
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

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

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"canChainTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 2
Bottom Left Door
To: 4
Top Right Doorway

Gain a shinecharge while entering, and either kill the crab before it touches Samus, or use X-Ray to cancel the shinecharge. Perform a gravity jump and use Spring Ball to bounce through the top of the hole. Use a pause buffer to remorph, also taking the opportunity to equip Gravity again. Then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

{
  "or": [
    "canXRayCancelShinecharge",
    {
      "enemyKill": {
        "enemies": [
          [
            "Sciser"
          ]
        ],
        "explicitWeapons": [
          "Missile",
          "Super",
          "Grapple",
          "Wave",
          "Spazer",
          "Plasma",
          "Ice Shield"
        ]
      }
    }
  ]
}
"canGravityJump"
"canSpringBallBounce"
"canPauseRemorphTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 2
Bottom Left Door
To: 4
Top Right Doorway

Jump through the transition with blue speed. Perform a very short speedball to kill the bottom crab and get into position below the hole. Perform a gravity jump and use Spring Ball to bounce through the top of the hole. Use a pause buffer to remorph, also taking the opportunity to equip Gravity again. Then chain temporary blue into the next room.

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 0,
    "openEnd": 1,
    "maxExtraRunSpeed": "$1.A"
  }
}

Requires:

"canSpeedball"
"canGravityJump"
"canSpringBallBounce"
"canPauseRemorphTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 2
Bottom Left Door
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ],
      [
        12,
        13
      ]
    ]
  }
}

Bypasses door shell: true

From: 2
Bottom Left Door
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ]
    ]
  }
}

Bypasses door shell: true

From: 2
Bottom Left Door
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        13
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        13
      ]
    ]
  }
}

Bypasses door shell: true

From: 2
Bottom Left Door
To: 5
G-Mode Morph Junction (Top Half)

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": false
  }
}

Requires:

"Morph"
"h_canNavigateUnderwater"
{
  "or": [
    "canGravityJump",
    {
      "and": [
        "Gravity",
        "HiJump",
        {
          "or": [
            "canSpringBallJumpMidAir",
            "canWalljump"
          ]
        }
      ]
    },
    {
      "and": [
        "canTrickyUseFrozenEnemies",
        "HiJump",
        "h_canCrouchJumpDownGrab"
      ]
    },
    {
      "and": [
        {
          "ammo": {
            "type": "Super",
            "count": 1
          }
        },
        "canTrickyUseFrozenEnemies",
        "canOffScreenMovement"
      ]
    },
    {
      "and": [
        "canTrickyJump",
        "canSpringBallJumpMidAir",
        "canTrickyUseFrozenEnemies",
        "canOffScreenMovement"
      ]
    }
  ]
}
From: 2
Bottom Left Door
To: 5
G-Mode Morph Junction (Top Half)

One method to kill the crabs is to wait on the central platform until a crab comes near, then move with it laying bombs in its path. Another is to wait in the doorway and place three bombs to hit it while bouncing over it. The top of the IBJ will be off camera. Starting the IBJ as far to either side as possible and holding forward once off camera will make it easier to get through the morph tunnel.

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": true
  }
}

Requires:

"Gravity"
"h_canArtificialMorphIBJ"
From: 2
Bottom Left Door
To: 5
G-Mode Morph Junction (Top Half)

The shaft will be clear of crabs on room entry. Quickly gravity jump before the bottom crab enters the shaft and exit the left morph tunnel to be safe. This is a bit tighter when entering in G-Mode Immobile.

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": true
  }
}

Requires:

"canGravityJump"
"h_canArtificialMorphSpringBall"
From: 3
Bottom Right Door
To: 1
Top Left Doorway

Perform a gravity jump and use Spring Ball to bounce through the top of the hole. Use a pause buffer to remorph, also taking the opportunity to equip Gravity again. Then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"canGravityJump"
"canSpringBallBounce"
"canPauseRemorphTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 3
Bottom Right Door
To: 1
Top Left Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        7,
        2
      ]
    ]
  }
}
From: 3
Bottom Right Door
To: 1
Top Left Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        12
      ],
      [
        3,
        13
      ]
    ]
  }
}

Bypasses door shell: true

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

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        12
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        12
      ]
    ]
  }
}

Bypasses door shell: true

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

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        13
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        13
      ]
    ]
  }
}

Bypasses door shell: true

Base (Basic)
Crab Hole
From: 3
Bottom Right Door
To: 2
Bottom Left Door

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

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 25
}
{
  "shinespark": {
    "frames": 23
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

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

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"canChainTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 3
Bottom Right Door
To: 2
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ],
      [
        2,
        19
      ],
      [
        2,
        28
      ],
      [
        2,
        29
      ]
    ]
  }
}

Bypasses door shell: true

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

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}

Bypasses door shell: true

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

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        19
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        19
      ]
    ]
  }
}

Bypasses door shell: true

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

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}

Bypasses door shell: true

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

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}

Bypasses door shell: true

From: 3
Bottom Right Door
To: 3
Bottom Right Door

Exit condition:

{
  "leaveWithRunway": {
    "length": 2,
    "openEnd": 1
  }
}
From: 3
Bottom Right Door
To: 3
Bottom Right Door

Requires:

"h_canFrozenEnemyRunway"

Exit condition:

{
  "leaveWithRunway": {
    "length": 3,
    "openEnd": 1
  }
}
From: 3
Bottom Right Door
To: 3
Bottom Right Door

Requires:

"Gravity"
"SpaceJump"

Exit condition:

{
  "leaveSpinning": {
    "remoteRunway": {
      "length": 3,
      "openEnd": 1
    }
  }
}
From: 3
Bottom Right Door
To: 3
Bottom Right Door

Requires:

"Gravity"

Exit condition:

{
  "leaveWithMockball": {
    "remoteRunway": {
      "length": 3,
      "openEnd": 1
    },
    "landingRunway": {
      "length": 2,
      "openEnd": 1
    }
  }
}
From: 3
Bottom Right Door
To: 3
Bottom Right Door

Requires:

"Gravity"

Exit condition:

{
  "leaveWithSpringBallBounce": {
    "remoteRunway": {
      "length": 3,
      "openEnd": 1
    },
    "landingRunway": {
      "length": 2,
      "openEnd": 1
    },
    "movementType": "uncontrolled"
  }
}
From: 3
Bottom Right Door
To: 3
Bottom Right Door

Requires:

"Gravity"

Exit condition:

{
  "leaveSpaceJumping": {
    "remoteRunway": {
      "length": 3,
      "openEnd": 1
    }
  }
}
From: 3
Bottom Right Door
To: 3
Bottom Right Door

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 3
Bottom Right Door
To: 3
Bottom Right Door

Requires:

{
  "enemyDamage": {
    "enemy": "Sciser",
    "type": "contact",
    "hits": 1
  }
}
From: 3
Bottom Right Door
To: 4
Top Right Doorway

Climb up 1 screen.

Entrance condition:

{
  "comeInWithDoorStuckSetup": {}
}

Requires:

"canXRayClimb"
From: 3
Bottom Right Door
To: 4
Top Right Doorway

Requires a runway of at least 3 tiles (with an open end) in the adjacent room. Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround to reach the Morph tunnel above. Climbing the Left side of the center hole will run into an unavoidable Scisor. Samus must also stay near a side of the center hole to reach the Morph tunnels.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canMidAirMorph"
"canCrossRoomJumpIntoWater"
"canMomentumConservingTurnaround"
From: 3
Bottom Right Door
To: 4
Top Right Doorway

Requires a runway of at least 4 tiles (with no open end) in the adjacent room. Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround to reach the Morph tunnel above. Climbing the Left side of the center hole will run into an unavoidable Sciser. Samus must also stay near a side of the center hole to reach the Morph tunnels.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canMidAirMorph"
"canCrossRoomJumpIntoWater"
"canMomentumConservingTurnaround"
From: 3
Bottom Right Door
To: 4
Top Right Doorway

Unmorph just before hitting the ceiling, to conserve upward momentum. Then turn around, morph, and move through the tunnel to the right, avoiding crab damage. If the runway is very short and the bounce is not on the last frame before the transition, then it may be necessary to perform a spring ball jump; in this case, pause soon after entering the room in order to unequip spring ball.

Entrance condition:

{
  "comeInWithSpringBallBounce": {
    "speedBooster": true,
    "movementType": "any",
    "remoteAndLandingMinTiles": [
      [
        3,
        1
      ]
    ]
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canMomentumConservingMorph"
From: 3
Bottom Right Door
To: 4
Top Right Doorway

Unmorph just before hitting the ceiling, to conserve upward momentum. Then turn around, morph, and move through the tunnel to the right, avoiding crab damage.

Entrance condition:

{
  "comeInWithSpringBallBounce": {
    "speedBooster": "any",
    "movementType": "uncontrolled",
    "remoteAndLandingMinTiles": [
      [
        3.5625,
        1
      ]
    ]
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canMomentumConservingMorph"
From: 3
Bottom Right Door
To: 4
Top Right Doorway

Unmorph just before hitting the ceiling, to conserve upward momentum. Then turn around, morph, and move through the tunnel to the right, avoiding crab damage.

Entrance condition:

{
  "comeInWithSpringBallBounce": {
    "speedBooster": "any",
    "movementType": "controlled",
    "remoteAndLandingMinTiles": [
      [
        4.5625,
        1
      ]
    ]
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canMomentumConservingMorph"
From: 3
Bottom Right Door
To: 4
Top Right Doorway

Turn around to the right just before bonking the ceiling, to retain upward momentum. Then morph and go through the tunnel to the right.

Entrance condition:

{
  "comeInSpaceJumping": {
    "speedBooster": true,
    "minTiles": 3
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canPreciseSpaceJump"
"canMomentumConservingTurnaround"
"canMidAirMorph"
From: 3
Bottom Right Door
To: 4
Top Right Doorway

Turn around to the right just before bonking the ceiling, to retain upward momentum. Then morph and go through the tunnel to the right.

Entrance condition:

{
  "comeInSpaceJumping": {
    "speedBooster": false,
    "minTiles": 3.5625
  }
}

Requires:

{
  "notable": "Cross Room Jump Morph"
}
"canCrossRoomJumpIntoWater"
"canPreciseSpaceJump"
"canMomentumConservingTurnaround"
"canMidAirMorph"
From: 3
Bottom Right Door
To: 4
Top Right Doorway

Perform a gravity jump and use Spring Ball to bounce through the top of the hole. Use a pause buffer to remorph, also taking the opportunity to equip Gravity again. Then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"canXRayTurnaround"
"canGravityJump"
"canSpringBallBounce"
"canPauseRemorphTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 3
Bottom Right Door
To: 5
G-Mode Morph Junction (Top Half)

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": false
  }
}

Requires:

"Morph"
"h_canNavigateUnderwater"
{
  "or": [
    "canGravityJump",
    {
      "and": [
        "Gravity",
        "HiJump",
        {
          "or": [
            "canSpringBallJumpMidAir",
            "canWalljump"
          ]
        }
      ]
    },
    {
      "and": [
        "canTrickyUseFrozenEnemies",
        "HiJump",
        "h_canCrouchJumpDownGrab"
      ]
    },
    {
      "and": [
        {
          "ammo": {
            "type": "Super",
            "count": 1
          }
        },
        "canTrickyUseFrozenEnemies",
        "canOffScreenMovement"
      ]
    },
    {
      "and": [
        "canTrickyJump",
        "canSpringBallJumpMidAir",
        "canTrickyUseFrozenEnemies",
        "canOffScreenMovement"
      ]
    }
  ]
}
From: 3
Bottom Right Door
To: 5
G-Mode Morph Junction (Top Half)

One method to kill the crabs is to wait on the central platform until a crab comes near, then move with it laying bombs in its path. Another is to wait in the doorway and place three bombs to hit it while bouncing over it. The top of the IBJ will be off camera. Starting the IBJ as far to either side as possible and holding forward once off camera will make it easier to get through the morph tunnel.

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": true
  }
}

Requires:

"Gravity"
"h_canArtificialMorphIBJ"
From: 3
Bottom Right Door
To: 5
G-Mode Morph Junction (Top Half)

The shaft will be clear of crabs on room entry. Quickly gravity jump before the bottom crab enters the shaft and exit the left morph tunnel to be safe. The same strategy works when entering in G-Mode Immobile. Move to the center platform and gravity jump shortly after getting hit.

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": true
  }
}

Requires:

"canGravityJump"
"h_canArtificialMorphSpringBall"
Base (Basic)
Crab Hole
From: 4
Top Right Doorway
To: 1
Top Left Doorway

From: 4
Top Right Doorway
To: 1
Top Left Doorway

Entrance condition:

{
  "comeInWithSpark": {}
}

Requires:

{
  "or": [
    {
      "shinespark": {
        "frames": 24
      }
    },
    {
      "and": [
        "Gravity",
        {
          "shinespark": {
            "frames": 21
          }
        }
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 4
Top Right Doorway
To: 1
Top Left Doorway

Entrance condition:

{
  "comeInShinecharging": {
    "length": 2,
    "openEnd": 0
  }
}

Requires:

"Gravity"
"canShinechargeMovement"
{
  "shineChargeFrames": 100
}

Exit condition:

{
  "leaveShinecharged": {}
}
From: 4
Top Right Doorway
To: 1
Top Left Doorway

Entrance condition:

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

Requires:

"canChainTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}
From: 4
Top Right Doorway
To: 1
Top Left Doorway

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": false
  }
}

Exit condition:

{
  "leaveWithGMode": {
    "morphed": false
  }
}
From: 4
Top Right Doorway
To: 1
Top Left Doorway

To save a bomb, it is possible to roll from the doorway onto the platform with Gravity turned off.

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": true
  }
}

Requires:

{
  "or": [
    "Morph",
    "h_canArtificialMorphSpringBall",
    {
      "and": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ]
    },
    {
      "and": [
        "Gravity",
        "h_canArtificialMorphBombHorizontally"
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithGMode": {
    "morphed": true
  }
}
From: 4
Top Right Doorway
To: 1
Top Left Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        12
      ],
      [
        3,
        13
      ]
    ]
  }
}

Bypasses door shell: true

From: 4
Top Right Doorway
To: 1
Top Left Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        12
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        12
      ]
    ]
  }
}

Bypasses door shell: true

From: 4
Top Right Doorway
To: 1
Top Left Doorway

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        13
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        13
      ]
    ]
  }
}

Bypasses door shell: true

Use Spring Ball to bounce into the hole, then unmorph to descend. Use a pause buffer to remorph, then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"canSuitlessMaridia"
"canTrickySpringBallBounce"
"canPauseRemorphTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 4
Top Right Doorway
To: 2
Bottom Left Door

Use a neutral bounce to enter the hole, then unmorph to descend. Use a pause buffer to remorph, then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"Gravity"
"Morph"
"canPauseRemorphTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 4
Top Right Doorway
To: 2
Bottom Left Door

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "any",
    "morphed": true
  }
}
From: 4
Top Right Doorway
To: 2
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ],
      [
        2,
        19
      ],
      [
        2,
        28
      ],
      [
        2,
        29
      ]
    ]
  }
}

Bypasses door shell: true

From: 4
Top Right Doorway
To: 2
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}

Bypasses door shell: true

From: 4
Top Right Doorway
To: 2
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        19
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        19
      ]
    ]
  }
}

Bypasses door shell: true

From: 4
Top Right Doorway
To: 2
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}

Bypasses door shell: true

From: 4
Top Right Doorway
To: 2
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}

Bypasses door shell: true

Use Spring Ball to bounce into the hole, then unmorph to descend. Use a pause buffer to remorph, then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"canSuitlessMaridia"
"canTrickySpringBallBounce"
"canPauseRemorphTemporaryBlue"
"canXRayTurnaround"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 4
Top Right Doorway
To: 3
Bottom Right Door

Use a neutral bounce to enter the hole, then unmorph to descend. Use a pause buffer to remorph, then chain temporary blue into the next room.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 1,
    "openEnd": 0
  }
}

Requires:

"Gravity"
"Morph"
"canPauseRemorphTemporaryBlue"
"canXRayTurnaround"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 4
Top Right Doorway
To: 4
Top Right Doorway

Exit condition:

{
  "leaveWithRunway": {
    "length": 3,
    "openEnd": 1
  }
}
From: 4
Top Right Doorway
To: 4
Top Right Doorway

Requires:

"h_canFrozenEnemyRunway"

Exit condition:

{
  "leaveWithRunway": {
    "length": 4,
    "openEnd": 1
  }
}
From: 4
Top Right Doorway
To: 4
Top Right Doorway

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 4
Top Right Doorway
To: 4
Top Right Doorway

Requires:

{
  "enemyDamage": {
    "enemy": "Sciser",
    "type": "contact",
    "hits": 1
  }
}
From: 4
Top Right Doorway
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "indirect",
    "morphed": false
  }
}

Exit condition:

{
  "leaveWithGMode": {
    "morphed": false
  }
}

Bypasses door shell: true

From: 4
Top Right Doorway
To: 4
Top Right Doorway

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "indirect",
    "morphed": true
  }
}

Exit condition:

{
  "leaveWithGMode": {
    "morphed": true
  }
}

Bypasses door shell: true

From: 5
G-Mode Morph Junction (Top Half)
To: 1
Top Left Doorway

Requires:

"canEnterGMode"
From: 5
G-Mode Morph Junction (Top Half)
To: 1
Top Left Doorway

Requires:

"canEnterGMode"

Exit condition:

{
  "leaveWithGMode": {
    "morphed": true
  }
}
From: 5
G-Mode Morph Junction (Top Half)
To: 4
Top Right Doorway

Requires:

"canEnterGMode"

Exit condition:

{
  "leaveWithGMode": {
    "morphed": true
  }
}

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 201,
  "name": "Crab Hole",
  "area": "Maridia",
  "subarea": "Outer",
  "roomAddress": "0x7D21C",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "mapTileMask": [
    [
      1
    ],
    [
      1
    ]
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Top Left Doorway",
      "nodeType": "door",
      "nodeSubType": "doorway",
      "nodeAddress": "0x001a4f8",
      "doorOrientation": "left",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ],
      "mapTileMask": [
        [
          2
        ],
        [
          1
        ]
      ]
    },
    {
      "id": 2,
      "name": "Bottom Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a510",
      "doorOrientation": "left",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ],
      "mapTileMask": [
        [
          1
        ],
        [
          2
        ]
      ]
    },
    {
      "id": 3,
      "name": "Bottom Right Door",
      "nodeType": "door",
      "nodeSubType": "red",
      "nodeAddress": "0x001a51c",
      "doorOrientation": "right",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ],
      "mapTileMask": [
        [
          1
        ],
        [
          2
        ]
      ]
    },
    {
      "id": 4,
      "name": "Top Right Doorway",
      "nodeType": "door",
      "nodeSubType": "doorway",
      "nodeAddress": "0x001a504",
      "doorOrientation": "right",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ],
      "mapTileMask": [
        [
          2
        ],
        [
          1
        ]
      ]
    },
    {
      "id": 5,
      "name": "G-Mode Morph Junction (Top Half)",
      "nodeType": "junction",
      "nodeSubType": "g-mode",
      "mapTileMask": [
        [
          2
        ],
        [
          1
        ]
      ],
      "note": "Represents being at the top half of the room in G-Mode, with morph or artificial morph, and movement items."
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Crab Hole Scisers",
      "enemyName": "Sciser",
      "quantity": 4,
      "homeNodes": [
        1,
        2,
        3,
        4
      ],
      "note": "They move while offscreen and can easily be reached from anywhere in the room."
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        },
        {
          "id": 5
        }
      ]
    },
    {
      "from": 3,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4,
          "devNote": "This link is only for the X-Ray climb and cross room jump. All other strats should go 3 -> 2 -> 1 -> 4."
        },
        {
          "id": 5
        }
      ]
    },
    {
      "from": 4,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        }
      ]
    },
    {
      "from": 5,
      "to": [
        {
          "id": 1
        },
        {
          "id": 4
        }
      ]
    }
  ],
  "strats": [
    {
      "id": 1,
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "id": 2,
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway - Frozen Sciser",
      "requires": [
        "h_canFrozenEnemyRunway"
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 4,
          "openEnd": 1
        }
      }
    },
    {
      "id": 3,
      "link": [
        1,
        1
      ],
      "name": "Sciser Farm",
      "requires": [
        "h_canNavigateUnderwater",
        {
          "resetRoom": {
            "nodes": [
              1,
              4
            ]
          }
        },
        {
          "refill": [
            "Energy",
            "PowerBomb"
          ]
        }
      ]
    },
    {
      "id": 4,
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 5,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Setup - Get Hit By Sciser",
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 6,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Sciser",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "gModeRegainMobility": {},
      "flashSuitChecked": true
    },
    {
      "id": 7,
      "link": [
        1,
        1
      ],
      "name": "Carry G-Mode Back Through",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "indirect",
          "morphed": false
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": false
        }
      },
      "bypassesDoorShell": true,
      "flashSuitChecked": true
    },
    {
      "id": 8,
      "link": [
        1,
        1
      ],
      "name": "Carry G-Mode Morph Back Through",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "indirect",
          "morphed": true
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": true
        }
      },
      "bypassesDoorShell": true,
      "flashSuitChecked": true
    },
    {
      "id": 9,
      "link": [
        1,
        2
      ],
      "name": "Base",
      "requires": [
        "Morph"
      ]
    },
    {
      "id": 118,
      "link": [
        1,
        2
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue (Suitless Spring Ball Bounce, Pause Remorph)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "canSuitlessMaridia",
        "canTrickySpringBallBounce",
        "canPauseRemorphTemporaryBlue",
        "canXRayTurnaround"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Use Spring Ball to bounce into the hole, then unmorph to descend.",
        "Use a pause buffer to remorph, then chain temporary blue into the next room."
      ]
    },
    {
      "id": 119,
      "link": [
        1,
        2
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue (Gravity, Pause Remorph)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "Gravity",
        "Morph",
        "canPauseRemorphTemporaryBlue",
        "canXRayTurnaround"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Use a neutral bounce to enter the hole, then unmorph to descend.",
        "Use a pause buffer to remorph, then chain temporary blue into the next room."
      ],
      "devNote": "FIXME: add a tech for bouncing into the tunnel."
    },
    {
      "id": 10,
      "link": [
        1,
        2
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            "h_canArtificialMorphPowerBomb",
            "h_canArtificialMorphSpringBall",
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphBombs"
              ]
            },
            "canTrickyJump",
            {
              "enemyDamage": {
                "enemy": "Sciser",
                "type": "contact",
                "hits": 1
              }
            }
          ]
        }
      ],
      "flashSuitChecked": true,
      "note": [
        "Roll over the two crabs before the first gets to Samus. This is easier with Gravity Suit turned off.",
        "It is possible but difficult to roll from the doorway onto the platform with Gravity turned off.",
        "This requires backing up slightly after entering the room then quickly rolling before the crabs. It is a bit tighter in direct G-Mode."
      ]
    },
    {
      "id": 120,
      "link": [
        1,
        3
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue (Suitless Spring Ball Bounce, Pause Remorph)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "canSuitlessMaridia",
        "canTrickySpringBallBounce",
        "canPauseRemorphTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Use Spring Ball to bounce into the hole, then unmorph to descend.",
        "Use a pause buffer to remorph, then chain temporary blue into the next room."
      ]
    },
    {
      "id": 121,
      "link": [
        1,
        3
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue (Gravity, Pause Remorph)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "Gravity",
        "Morph",
        "canPauseRemorphTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Use a neutral bounce to enter the hole, then unmorph to descend.",
        "Use a pause buffer to remorph, then chain temporary blue into the next room."
      ],
      "devNote": "FIXME: add a tech for bouncing into the tunnel."
    },
    {
      "id": 11,
      "link": [
        1,
        4
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 12,
      "link": [
        1,
        4
      ],
      "name": "Shinespark Through Room",
      "entranceCondition": {
        "comeInWithSpark": {}
      },
      "requires": [
        {
          "or": [
            {
              "shinespark": {
                "frames": 24
              }
            },
            {
              "and": [
                "Gravity",
                {
                  "shinespark": {
                    "frames": 21
                  }
                }
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      }
    },
    {
      "id": 13,
      "link": [
        1,
        4
      ],
      "name": "Come In Shinecharging, Leave Shinecharged",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 2,
          "openEnd": 0
        }
      },
      "requires": [
        "Gravity",
        "canShinechargeMovement",
        {
          "shineChargeFrames": 100
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 14,
      "link": [
        1,
        4
      ],
      "name": "Come in Getting Blue Speed, Leave With Temporary Blue",
      "entranceCondition": {
        "comeInGettingBlueSpeed": {
          "length": 1,
          "openEnd": 1
        }
      },
      "requires": [
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      }
    },
    {
      "id": 15,
      "link": [
        1,
        4
      ],
      "name": "Carry G-Mode Through Tube (Left to Right)",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": false
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": false
        }
      },
      "flashSuitChecked": true
    },
    {
      "id": 16,
      "link": [
        1,
        4
      ],
      "name": "Carry G-Mode Morph Through Tube (Left to Right)",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            "Morph",
            "h_canArtificialMorphSpringBall",
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphIBJ"
              ]
            },
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphBombHorizontally",
                {
                  "or": [
                    "h_canArtificialMorphBombThings",
                    "canTrickyJump",
                    {
                      "enemyDamage": {
                        "enemy": "Sciser",
                        "type": "contact",
                        "hits": 1
                      }
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": true
        }
      },
      "flashSuitChecked": true,
      "note": [
        "To save a bomb, it is possible but difficult to roll from the doorway onto the platform with Gravity turned off.",
        "This requires backing up slightly after entering the room then quickly rolling before the crabs. It is a bit tighter in direct G-Mode."
      ]
    },
    {
      "id": 17,
      "link": [
        1,
        4
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ],
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "id": 18,
      "link": [
        1,
        4
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 19,
      "link": [
        1,
        4
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 20,
      "link": [
        2,
        1
      ],
      "name": "Base",
      "requires": [
        "Gravity",
        {
          "or": [
            "canIBJ",
            {
              "and": [
                "SpaceJump",
                "canMidAirMorph"
              ]
            },
            {
              "and": [
                "HiJump",
                "canWalljump",
                "canMidAirMorph"
              ]
            },
            {
              "and": [
                "HiJump",
                "canSpringBallJumpMidAir"
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 21,
      "link": [
        2,
        1
      ],
      "name": "Gravity Jump",
      "requires": [
        "canGravityJump",
        {
          "or": [
            "canMidAirMorph",
            "h_canUseSpringBall"
          ]
        }
      ]
    },
    {
      "id": 22,
      "link": [
        2,
        1
      ],
      "name": "Suited TrickyDashJump",
      "requires": [
        "canMidAirMorph",
        "Gravity",
        "canWalljump",
        "canTrickyDashJump"
      ],
      "note": "Jump the first frame after running to gain just enough spinjump height."
    },
    {
      "id": 23,
      "link": [
        2,
        1
      ],
      "name": "Frozen Crab",
      "requires": [
        "canUseFrozenEnemies",
        {
          "or": [
            {
              "and": [
                "Gravity",
                {
                  "or": [
                    "HiJump",
                    "canWalljump",
                    "canSpringBallJumpMidAir",
                    "canTrickyUseFrozenEnemies"
                  ]
                },
                {
                  "or": [
                    "canMidAirMorph",
                    "h_canUseSpringBall"
                  ]
                }
              ]
            },
            {
              "and": [
                "HiJump",
                "canSpringBallJumpMidAir",
                "canSuitlessMaridia"
              ]
            }
          ]
        }
      ],
      "note": [
        "Freeze a crab on the edge of the hole in the ceiling.",
        "Then get on top of it with Gravity and a wall jump, jump assist, or second frozen crab on the ground,",
        "or a suitless Spring Ball jump with HiJump."
      ]
    },
    {
      "id": 24,
      "link": [
        2,
        1
      ],
      "name": "Left-Side X-Ray Climb",
      "entranceCondition": {
        "comeInWithDoorStuckSetup": {}
      },
      "requires": [
        "canXRayClimb"
      ],
      "flashSuitChecked": true,
      "note": "Climb up 1 screen."
    },
    {
      "id": 25,
      "link": [
        2,
        1
      ],
      "name": "Suitless HiJump",
      "requires": [
        "canSuitlessMaridia",
        "canTrickyUseFrozenEnemies",
        "HiJump",
        {
          "or": [
            "canMidAirMorph",
            "h_canUseSpringBall"
          ]
        },
        {
          "or": [
            "canCrouchJump",
            "canDownGrab"
          ]
        }
      ],
      "note": [
        "Stand on a frozen crab, then freeze a second one on the edge of the hole above.",
        "Use a crouch jump and/or down grab to get onto the crab above."
      ]
    },
    {
      "id": 26,
      "link": [
        2,
        1
      ],
      "name": "Suitless Springball",
      "requires": [
        "canSuitlessMaridia",
        "canTrickyJump",
        {
          "ammo": {
            "type": "Super",
            "count": 1
          }
        },
        "canTrickyUseFrozenEnemies",
        "canSpringBallJumpMidAir"
      ],
      "note": "Use a Super to knock off a crab and freeze it mid-air. Freeze a second crab on the edge of the hole above."
    },
    {
      "id": 27,
      "link": [
        2,
        1
      ],
      "name": "Suitless Crab Climb No Jump Assist",
      "requires": [
        {
          "notable": "Suitless Crab Climb No Jump Assist"
        },
        "canMidAirMorph",
        "canSuitlessMaridia",
        {
          "ammo": {
            "type": "Super",
            "count": 1
          }
        },
        "canTrickyUseFrozenEnemies"
      ],
      "note": [
        "Use a super to knock off a crab and freeze it mid-air. Then get on that crab, possibly using a door ledge",
        "Freeze a second crab on the edge of the hole above."
      ]
    },
    {
      "id": 28,
      "link": [
        2,
        1
      ],
      "name": "Suitless Crab Climb Superless with Springball",
      "requires": [
        {
          "notable": "Suitless Crab Climb Superless with Springball"
        },
        "canSuitlessMaridia",
        "canTrickyJump",
        "canTrickySpringBallJump",
        "canTrickyUseFrozenEnemies",
        "canStationaryLateralMidAirMorph"
      ],
      "note": [
        "Freeze one crab on the lip of the overhead opening and another on the edge of a doors platform then springballjump up.",
        "Use a Stationary Lateral Mid-Air Morph to gain enough jump height without bonking the ceiling.",
        "It is possible with a crouch jump to not need the second crab."
      ],
      "devNote": "It is possible without canStationaryLateralMidAirMorph, but very precise."
    },
    {
      "id": 29,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Jump with Kago (Speedbooster)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 3
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canMidAirMorph",
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingTurnaround",
        "canKago",
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Sciser",
                "type": "contact",
                "hits": 1
              }
            },
            "h_pauseAbuseMinimalReserveRefill"
          ]
        }
      ],
      "note": [
        "Requires a runway of at least 3 tiles (with an open end) in the adjacent room.",
        "Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround to reach the Morph tunnel above.",
        "Climbing the Left side of the center hole will run into an unavoidable Scisor that can be passed through by Morphing.",
        "Crossing to the right from the left door requires slightly more runway and takes a more precise turnaround.",
        "Samus must also stay near a side of the center hole to reach the Morph tunnels."
      ],
      "devNote": [
        "Extra run speeds between $1.2 and about $2.5 can work."
      ]
    },
    {
      "id": 30,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Jump with Kago (No Speedbooster)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": false,
          "minTiles": 3.4375
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canMidAirMorph",
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingTurnaround",
        "canKago",
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Sciser",
                "type": "contact",
                "hits": 1
              }
            },
            "h_pauseAbuseMinimalReserveRefill"
          ]
        }
      ],
      "note": [
        "Requires a runway of at least 4 tiles (with no open end) in the adjacent room.",
        "Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround to reach the Morph tunnel above.",
        "Climbing the Left side of the center hole will run into an unavoidable Sciser that can be passed through by Morphing.",
        "Crossing to the right from the left door requires slightly more runway and takes a more precise turnaround.",
        "Samus must also stay near a side of the center hole to reach the Morph tunnels."
      ]
    },
    {
      "id": 31,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Jump Damageless Turnaround (Speedbooster)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 3.4375
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canMidAirMorph",
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingTurnaround"
      ],
      "note": [
        "Requires a runway of at least 4 tiles (with no open end) in the adjacent room.",
        "Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround.",
        "Then morph and move right to go through the Morph tunnel above, avoiding damage from the crab."
      ]
    },
    {
      "id": 32,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Jump Damageless Turnaround (No Speedbooster)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": "any",
          "minTiles": 5.4375
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canMidAirMorph",
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingTurnaround",
        "canInsaneJump"
      ],
      "note": [
        "Requires a runway of at least 6 tiles (with no open end) in the adjacent room.",
        "Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround.",
        "Then morph and move right to go through the Morph tunnel above, avoiding damage from the crab.",
        "With the minimal runway length, this requires precise timing."
      ],
      "devNote": [
        "This strat is included for completeness, but it is technically redundant with the airball strat, which may generally be preferable due to not risking a crab hit."
      ]
    },
    {
      "id": 33,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Jump with Air Ball (Speedbooster)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 5
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingMorph"
      ],
      "note": [
        "Only requires a runway of 5 tiles (with an open end) in the adjacent room.",
        "Perform an air ball while against the ceiling to make it up and through the morph tunnel."
      ]
    },
    {
      "id": 34,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Jump with Air Ball (No Speedbooster)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": false,
          "minTiles": 5.4375
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingMorph"
      ],
      "note": [
        "Only requires a runway of 6 tiles (with no open end) in the adjacent room.",
        "Perform an air ball while against the ceiling to make it up and through the morph tunnel.",
        "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."
      ]
    },
    {
      "id": 35,
      "link": [
        2,
        1
      ],
      "name": "Double Springball Jump",
      "requires": [
        "canSuitlessMaridia",
        "h_canDoubleSpringBallJumpWithHiJump"
      ]
    },
    {
      "id": 36,
      "link": [
        2,
        1
      ],
      "name": "Ice Clip",
      "requires": [
        {
          "notable": "Ice Clip"
        },
        "h_canNavigateUnderwater",
        "canOffScreenMovement",
        {
          "or": [
            {
              "and": [
                "Gravity",
                "h_canPreciseIceClip"
              ]
            },
            {
              "and": [
                "HiJump",
                "h_canHighPixelIceClip"
              ]
            }
          ]
        }
      ],
      "flashSuitChecked": true,
      "note": [
        "Freeze a crab at a very precise position in order to clip through the center Morph tunnel without a way to see.",
        "Use a frozen crab on the opposite wall in order to better time the crab being used for clipping and as a way to climb on top of it.",
        "Ice Beam on its own has a high chance of hitting a wall instead of the crab; straight vertical shots can help.",
        "Gravity has a 2 pixel clip window while Suitless there is only 1 pixel up higher which requires a precise down grab to get onto the crab."
      ],
      "devNote": "FIXME: It is possible to crab climb with nothing but ice and walljumps."
    },
    {
      "id": 37,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Spring Ball Bounce Unmorph (Speedbooster)",
      "entranceCondition": {
        "comeInWithSpringBallBounce": {
          "speedBooster": true,
          "movementType": "uncontrolled",
          "remoteAndLandingMinTiles": [
            [
              3,
              1
            ]
          ]
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingMorph"
      ],
      "note": [
        "Unmorph just before hitting the ceiling, to conserve upward momentum.",
        "Continue moving right to avoid a crab hit, then morph again to make it through.",
        "If the runway is very short and the bounce is not on the last frame before the transition, then it may be necessary to perform a spring ball jump;",
        "in this case, pause soon after entering the room in order to unequip spring ball."
      ],
      "devNote": [
        "Bounce with extra run speed at least $1.2.",
        "FIXME: In these strats we probably also need to be able to express maxExtraRunSpeed or a maxTiles; maybe this entrance condition should be changed to have the same structure as comeInWithBlueSpringBallBounce?"
      ]
    },
    {
      "id": 38,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Spring Ball Bounce Unmorph (Uncontrolled, No Speedbooster)",
      "entranceCondition": {
        "comeInWithSpringBallBounce": {
          "speedBooster": "any",
          "movementType": "uncontrolled",
          "remoteAndLandingMinTiles": [
            [
              3.5625,
              1
            ]
          ]
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingMorph"
      ],
      "note": [
        "Unmorph just before hitting the ceiling, to conserve upward momentum.",
        "Continue moving right to avoid a crab hit, then morph again to make it through."
      ],
      "devNote": "Bounce with extra run speed at least $1.5."
    },
    {
      "id": 39,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Spring Ball Bounce Unmorph (Controlled, No Speedbooster)",
      "entranceCondition": {
        "comeInWithSpringBallBounce": {
          "speedBooster": "any",
          "movementType": "controlled",
          "remoteAndLandingMinTiles": [
            [
              4.5625,
              1
            ]
          ]
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingMorph"
      ],
      "note": [
        "Unmorph just before hitting the ceiling, to conserve upward momentum.",
        "Continue moving right to avoid a crab hit, then morph again to make it through."
      ],
      "devNote": "Bounce with extra run speed at least $1.8."
    },
    {
      "id": 40,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Space Jump Kago (Speedbooster)",
      "entranceCondition": {
        "comeInSpaceJumping": {
          "speedBooster": true,
          "minTiles": 3
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canPreciseSpaceJump",
        "canMomentumConservingTurnaround",
        "canMidAirMorph",
        "canKago",
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Sciser",
                "type": "contact",
                "hits": 1
              }
            },
            "h_pauseAbuseMinimalReserveRefill"
          ]
        }
      ],
      "note": [
        "Turn around to the left just before bonking the ceiling, to retain upward momentum.",
        "Then morph while passing through the crab and go through the morph tunnel to the left."
      ],
      "devNote": "Jump low through the door with at least $1.2 extra run speed."
    },
    {
      "id": 41,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Space Jump Kago (No Speedbooster)",
      "entranceCondition": {
        "comeInSpaceJumping": {
          "speedBooster": false,
          "minTiles": 3.5625
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canPreciseSpaceJump",
        "canMomentumConservingTurnaround",
        "canMidAirMorph",
        "canKago",
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Sciser",
                "type": "contact",
                "hits": 1
              }
            },
            "h_pauseAbuseMinimalReserveRefill"
          ]
        }
      ],
      "note": [
        "Turn around to the left just before bonking the ceiling, to retain upward momentum.",
        "Then morph while passing through the crab and go through the morph tunnel to the left."
      ],
      "devNote": "Jump low through the door with at least $1.4 extra run speed."
    },
    {
      "id": 42,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Space Jump Damageless Turnaround (Speedbooster)",
      "entranceCondition": {
        "comeInSpaceJumping": {
          "speedBooster": true,
          "minTiles": 3.5625
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canPreciseSpaceJump",
        "canMomentumConservingTurnaround",
        "canMidAirMorph"
      ],
      "note": [
        "Turn around to the left just before bonking the ceiling, to retain upward momentum.",
        "Then turn back to the right and go through the morph tunnel to the right, avoiding crab damage."
      ],
      "devNote": "Jump low through the door with at least $1.5 extra run speed."
    },
    {
      "id": 43,
      "link": [
        2,
        1
      ],
      "name": "Cross Room Space Jump Damageless Turnaround (No Speedbooster)",
      "entranceCondition": {
        "comeInSpaceJumping": {
          "speedBooster": false,
          "minTiles": 6
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canPreciseSpaceJump",
        "canMomentumConservingTurnaround",
        "canMidAirMorph"
      ],
      "note": [
        "Turn around to the left just before bonking the ceiling, to retain upward momentum.",
        "Then turn back to the right and go through the morph tunnel to the right, avoiding crab damage."
      ],
      "devNote": "Jump low through the door with at least $1.D extra run speed."
    },
    {
      "id": 122,
      "link": [
        2,
        1
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "canXRayCancelShinecharge",
        "canXRayTurnaround",
        "canGravityJump",
        "canSpringBallBounce",
        "canPauseRemorphTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Perform a gravity jump and use Spring Ball to bounce through the top of the hole.",
        "Use a pause buffer to remorph, also taking the opportunity to equip Gravity again.",
        "Then chain temporary blue into the next room."
      ]
    },
    {
      "id": 44,
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 2,
          "openEnd": 1
        }
      }
    },
    {
      "id": 45,
      "link": [
        2,
        2
      ],
      "name": "Leave With Runway - Frozen Sciser",
      "requires": [
        "h_canFrozenEnemyRunway"
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "id": 46,
      "link": [
        2,
        2
      ],
      "name": "Leave Spinning (Space Jump)",
      "requires": [
        "Gravity",
        "SpaceJump"
      ],
      "exitCondition": {
        "leaveSpinning": {
          "remoteRunway": {
            "length": 3,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 47,
      "link": [
        2,
        2
      ],
      "name": "Leave With Mockball",
      "requires": [
        "Gravity"
      ],
      "exitCondition": {
        "leaveWithMockball": {
          "remoteRunway": {
            "length": 3,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 2,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 48,
      "link": [
        2,
        2
      ],
      "name": "Leave With Spring Ball Bounce",
      "requires": [
        "Gravity"
      ],
      "exitCondition": {
        "leaveWithSpringBallBounce": {
          "remoteRunway": {
            "length": 3,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 2,
            "openEnd": 1
          },
          "movementType": "uncontrolled"
        }
      }
    },
    {
      "id": 49,
      "link": [
        2,
        2
      ],
      "name": "Leave Space Jumping",
      "requires": [
        "Gravity"
      ],
      "exitCondition": {
        "leaveSpaceJumping": {
          "remoteRunway": {
            "length": 3,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 50,
      "link": [
        2,
        2
      ],
      "name": "Sciser Farm",
      "requires": [
        "h_canNavigateUnderwater",
        {
          "resetRoom": {
            "nodes": [
              2,
              3
            ]
          }
        },
        {
          "refill": [
            "Energy",
            "PowerBomb"
          ]
        }
      ]
    },
    {
      "id": 51,
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 52,
      "link": [
        2,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Sciser",
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 53,
      "link": [
        2,
        2
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Sciser",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "gModeRegainMobility": {},
      "flashSuitChecked": true
    },
    {
      "id": 54,
      "link": [
        2,
        3
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 55,
      "link": [
        2,
        3
      ],
      "name": "Come In Shinecharged, Leave Sparking",
      "entranceCondition": {
        "comeInShinecharged": {}
      },
      "requires": [
        {
          "shineChargeFrames": 25
        },
        {
          "shinespark": {
            "frames": 23
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 56,
      "link": [
        2,
        3
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "id": 123,
      "link": [
        2,
        4
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        {
          "or": [
            "canXRayCancelShinecharge",
            {
              "enemyKill": {
                "enemies": [
                  [
                    "Sciser"
                  ]
                ],
                "explicitWeapons": [
                  "Missile",
                  "Super",
                  "Grapple",
                  "Wave",
                  "Spazer",
                  "Plasma",
                  "Ice Shield"
                ]
              }
            }
          ]
        },
        "canGravityJump",
        "canSpringBallBounce",
        "canPauseRemorphTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Gain a shinecharge while entering, and either kill the crab before it touches Samus, or use X-Ray to cancel the shinecharge.",
        "Perform a gravity jump and use Spring Ball to bounce through the top of the hole.",
        "Use a pause buffer to remorph, also taking the opportunity to equip Gravity again.",
        "Then chain temporary blue into the next room."
      ]
    },
    {
      "id": 124,
      "link": [
        2,
        4
      ],
      "name": "Come in Getting Blue Speed, Leave With Temporary Blue",
      "entranceCondition": {
        "comeInGettingBlueSpeed": {
          "length": 0,
          "openEnd": 1,
          "maxExtraRunSpeed": "$1.A"
        }
      },
      "requires": [
        "canSpeedball",
        "canGravityJump",
        "canSpringBallBounce",
        "canPauseRemorphTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Jump through the transition with blue speed.",
        "Perform a very short speedball to kill the bottom crab and get into position below the hole.",
        "Perform a gravity jump and use Spring Ball to bounce through the top of the hole.",
        "Use a pause buffer to remorph, also taking the opportunity to equip Gravity again.",
        "Then chain temporary blue into the next room."
      ],
      "devNote": [
        "This can be done at higher run speeds, with greater precision or an earlier jump through the door."
      ]
    },
    {
      "id": 57,
      "link": [
        2,
        4
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ],
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "id": 58,
      "link": [
        2,
        4
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 59,
      "link": [
        2,
        4
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 60,
      "link": [
        2,
        5
      ],
      "name": "G-Mode (Bottom to Top)",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": false
        }
      },
      "requires": [
        "Morph",
        "h_canNavigateUnderwater",
        {
          "or": [
            "canGravityJump",
            {
              "and": [
                "Gravity",
                "HiJump",
                {
                  "or": [
                    "canSpringBallJumpMidAir",
                    "canWalljump"
                  ]
                }
              ]
            },
            {
              "and": [
                "canTrickyUseFrozenEnemies",
                "HiJump",
                "h_canCrouchJumpDownGrab"
              ]
            },
            {
              "and": [
                {
                  "ammo": {
                    "type": "Super",
                    "count": 1
                  }
                },
                "canTrickyUseFrozenEnemies",
                "canOffScreenMovement"
              ]
            },
            {
              "and": [
                "canTrickyJump",
                "canSpringBallJumpMidAir",
                "canTrickyUseFrozenEnemies",
                "canOffScreenMovement"
              ]
            }
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 61,
      "link": [
        2,
        5
      ],
      "name": "G-Mode Morph IBJ (Bottom to Top)",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ],
      "flashSuitChecked": true,
      "note": [
        "One method to kill the crabs is to wait on the central platform until a crab comes near, then move with it laying bombs in its path.",
        "Another is to wait in the doorway and place three bombs to hit it while bouncing over it.",
        "The top of the IBJ will be off camera. Starting the IBJ as far to either side as possible and holding forward once off camera will make it easier to get through the morph tunnel."
      ]
    },
    {
      "id": 62,
      "link": [
        2,
        5
      ],
      "name": "G-Mode Morph Gravity Jump (Bottom to Top)",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "canGravityJump",
        "h_canArtificialMorphSpringBall"
      ],
      "flashSuitChecked": true,
      "note": [
        "The shaft will be clear of crabs on room entry. Quickly gravity jump before the bottom crab enters the shaft and exit the left morph tunnel to be safe.",
        "This is a bit tighter when entering in G-Mode Immobile."
      ]
    },
    {
      "id": 125,
      "link": [
        3,
        1
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "canGravityJump",
        "canSpringBallBounce",
        "canPauseRemorphTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Perform a gravity jump and use Spring Ball to bounce through the top of the hole.",
        "Use a pause buffer to remorph, also taking the opportunity to equip Gravity again.",
        "Then chain temporary blue into the next room."
      ]
    },
    {
      "id": 63,
      "link": [
        3,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": []
    },
    {
      "id": 64,
      "link": [
        3,
        1
      ],
      "name": "Grapple Teleport Door Lock Skip",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "id": 65,
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 66,
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 67,
      "link": [
        3,
        2
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 68,
      "link": [
        3,
        2
      ],
      "name": "Come In Shinecharged, Leave Sparking",
      "entranceCondition": {
        "comeInShinecharged": {}
      },
      "requires": [
        {
          "shineChargeFrames": 25
        },
        {
          "shinespark": {
            "frames": 23
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 69,
      "link": [
        3,
        2
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "id": 70,
      "link": [
        3,
        2
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ],
            [
              2,
              19
            ],
            [
              2,
              28
            ],
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "id": 71,
      "link": [
        3,
        2
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 72,
      "link": [
        3,
        2
      ],
      "name": "Carry Grapple Teleport (Upper Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 73,
      "link": [
        3,
        2
      ],
      "name": "Carry Grapple Teleport (Lower Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 74,
      "link": [
        3,
        2
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 75,
      "link": [
        3,
        3
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 2,
          "openEnd": 1
        }
      }
    },
    {
      "id": 76,
      "link": [
        3,
        3
      ],
      "name": "Leave With Runway - Frozen Sciser",
      "requires": [
        "h_canFrozenEnemyRunway"
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "id": 77,
      "link": [
        3,
        3
      ],
      "name": "Leave Spinning (Space Jump)",
      "requires": [
        "Gravity",
        "SpaceJump"
      ],
      "exitCondition": {
        "leaveSpinning": {
          "remoteRunway": {
            "length": 3,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 78,
      "link": [
        3,
        3
      ],
      "name": "Leave With Mockball",
      "requires": [
        "Gravity"
      ],
      "exitCondition": {
        "leaveWithMockball": {
          "remoteRunway": {
            "length": 3,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 2,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 79,
      "link": [
        3,
        3
      ],
      "name": "Leave With Spring Ball Bounce",
      "requires": [
        "Gravity"
      ],
      "exitCondition": {
        "leaveWithSpringBallBounce": {
          "remoteRunway": {
            "length": 3,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 2,
            "openEnd": 1
          },
          "movementType": "uncontrolled"
        }
      }
    },
    {
      "id": 80,
      "link": [
        3,
        3
      ],
      "name": "Leave Space Jumping",
      "requires": [
        "Gravity"
      ],
      "exitCondition": {
        "leaveSpaceJumping": {
          "remoteRunway": {
            "length": 3,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 81,
      "link": [
        3,
        3
      ],
      "name": "G-Mode Setup - Get Hit By Sciser",
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 82,
      "link": [
        3,
        3
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Sciser",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "gModeRegainMobility": {},
      "flashSuitChecked": true
    },
    {
      "id": 83,
      "link": [
        3,
        4
      ],
      "name": "Right-Side X-Ray Climb",
      "entranceCondition": {
        "comeInWithDoorStuckSetup": {}
      },
      "requires": [
        "canXRayClimb"
      ],
      "flashSuitChecked": true,
      "note": "Climb up 1 screen."
    },
    {
      "id": 84,
      "link": [
        3,
        4
      ],
      "name": "Cross Room Jump Turnaround (Speedbooster)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 3
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canMidAirMorph",
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingTurnaround"
      ],
      "note": [
        "Requires a runway of at least 3 tiles (with an open end) in the adjacent room.",
        "Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround to reach the Morph tunnel above.",
        "Climbing the Left side of the center hole will run into an unavoidable Scisor.",
        "Samus must also stay near a side of the center hole to reach the Morph tunnels."
      ],
      "devNote": [
        "Extra run speeds between $1.2 and about $2.5 can work."
      ]
    },
    {
      "id": 85,
      "link": [
        3,
        4
      ],
      "name": "Cross Room Jump Turnaround (No Speedbooster)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": false,
          "minTiles": 3.4375
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canMidAirMorph",
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingTurnaround"
      ],
      "note": [
        "Requires a runway of at least 4 tiles (with no open end) in the adjacent room.",
        "Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround to reach the Morph tunnel above.",
        "Climbing the Left side of the center hole will run into an unavoidable Sciser.",
        "Samus must also stay near a side of the center hole to reach the Morph tunnels."
      ]
    },
    {
      "id": 86,
      "link": [
        3,
        4
      ],
      "name": "Cross Room Spring Ball Bounce Unmorph (Speedbooster)",
      "entranceCondition": {
        "comeInWithSpringBallBounce": {
          "speedBooster": true,
          "movementType": "any",
          "remoteAndLandingMinTiles": [
            [
              3,
              1
            ]
          ]
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingMorph"
      ],
      "note": [
        "Unmorph just before hitting the ceiling, to conserve upward momentum.",
        "Then turn around, morph, and move through the tunnel to the right, avoiding crab damage.",
        "If the runway is very short and the bounce is not on the last frame before the transition, then it may be necessary to perform a spring ball jump;",
        "in this case, pause soon after entering the room in order to unequip spring ball."
      ],
      "devNote": [
        "Bounce with extra run speed at least $1.2."
      ]
    },
    {
      "id": 87,
      "link": [
        3,
        4
      ],
      "name": "Cross Room Spring Ball Bounce Unmorph (Uncontrolled, No Speedbooster)",
      "entranceCondition": {
        "comeInWithSpringBallBounce": {
          "speedBooster": "any",
          "movementType": "uncontrolled",
          "remoteAndLandingMinTiles": [
            [
              3.5625,
              1
            ]
          ]
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingMorph"
      ],
      "note": [
        "Unmorph just before hitting the ceiling, to conserve upward momentum.",
        "Then turn around, morph, and move through the tunnel to the right, avoiding crab damage."
      ],
      "devNote": [
        "Bounce with extra run speed at least $1.5."
      ]
    },
    {
      "id": 88,
      "link": [
        3,
        4
      ],
      "name": "Cross Room Spring Ball Bounce Unmorph (Controlled, No Speedbooster)",
      "entranceCondition": {
        "comeInWithSpringBallBounce": {
          "speedBooster": "any",
          "movementType": "controlled",
          "remoteAndLandingMinTiles": [
            [
              4.5625,
              1
            ]
          ]
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingMorph"
      ],
      "note": [
        "Unmorph just before hitting the ceiling, to conserve upward momentum.",
        "Then turn around, morph, and move through the tunnel to the right, avoiding crab damage."
      ],
      "devNote": "Bounce with extra run speed at least $1.8."
    },
    {
      "id": 89,
      "link": [
        3,
        4
      ],
      "name": "Cross Room Space Jump Turnaround (Speedbooster)",
      "entranceCondition": {
        "comeInSpaceJumping": {
          "speedBooster": true,
          "minTiles": 3
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canPreciseSpaceJump",
        "canMomentumConservingTurnaround",
        "canMidAirMorph"
      ],
      "note": [
        "Turn around to the right just before bonking the ceiling, to retain upward momentum.",
        "Then morph and go through the tunnel to the right."
      ],
      "devNote": "Jump low through the door with at least $1.2 extra run speed."
    },
    {
      "id": 90,
      "link": [
        3,
        4
      ],
      "name": "Cross Room Space Jump Turnaround (No Speedbooster)",
      "entranceCondition": {
        "comeInSpaceJumping": {
          "speedBooster": false,
          "minTiles": 3.5625
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump Morph"
        },
        "canCrossRoomJumpIntoWater",
        "canPreciseSpaceJump",
        "canMomentumConservingTurnaround",
        "canMidAirMorph"
      ],
      "note": [
        "Turn around to the right just before bonking the ceiling, to retain upward momentum.",
        "Then morph and go through the tunnel to the right."
      ],
      "devNote": "Jump low through the door with at least $1.5 extra run speed."
    },
    {
      "id": 126,
      "link": [
        3,
        4
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "canXRayTurnaround",
        "canGravityJump",
        "canSpringBallBounce",
        "canPauseRemorphTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Perform a gravity jump and use Spring Ball to bounce through the top of the hole.",
        "Use a pause buffer to remorph, also taking the opportunity to equip Gravity again.",
        "Then chain temporary blue into the next room."
      ]
    },
    {
      "id": 91,
      "link": [
        3,
        5
      ],
      "name": "G-Mode (Bottom to Top)",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": false
        }
      },
      "requires": [
        "Morph",
        "h_canNavigateUnderwater",
        {
          "or": [
            "canGravityJump",
            {
              "and": [
                "Gravity",
                "HiJump",
                {
                  "or": [
                    "canSpringBallJumpMidAir",
                    "canWalljump"
                  ]
                }
              ]
            },
            {
              "and": [
                "canTrickyUseFrozenEnemies",
                "HiJump",
                "h_canCrouchJumpDownGrab"
              ]
            },
            {
              "and": [
                {
                  "ammo": {
                    "type": "Super",
                    "count": 1
                  }
                },
                "canTrickyUseFrozenEnemies",
                "canOffScreenMovement"
              ]
            },
            {
              "and": [
                "canTrickyJump",
                "canSpringBallJumpMidAir",
                "canTrickyUseFrozenEnemies",
                "canOffScreenMovement"
              ]
            }
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 92,
      "link": [
        3,
        5
      ],
      "name": "G-Mode Morph IBJ (Bottom to Top)",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ],
      "flashSuitChecked": true,
      "note": [
        "One method to kill the crabs is to wait on the central platform until a crab comes near, then move with it laying bombs in its path.",
        "Another is to wait in the doorway and place three bombs to hit it while bouncing over it.",
        "The top of the IBJ will be off camera. Starting the IBJ as far to either side as possible and holding forward once off camera will make it easier to get through the morph tunnel."
      ]
    },
    {
      "id": 93,
      "link": [
        3,
        5
      ],
      "name": "G-Mode Morph Gravity Jump (Bottom to Top)",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "canGravityJump",
        "h_canArtificialMorphSpringBall"
      ],
      "flashSuitChecked": true,
      "note": [
        "The shaft will be clear of crabs on room entry. Quickly gravity jump before the bottom crab enters the shaft and exit the left morph tunnel to be safe.",
        "The same strategy works when entering in G-Mode Immobile. Move to the center platform and gravity jump shortly after getting hit."
      ]
    },
    {
      "id": 94,
      "link": [
        4,
        1
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 95,
      "link": [
        4,
        1
      ],
      "name": "Shinespark Through Room",
      "entranceCondition": {
        "comeInWithSpark": {}
      },
      "requires": [
        {
          "or": [
            {
              "shinespark": {
                "frames": 24
              }
            },
            {
              "and": [
                "Gravity",
                {
                  "shinespark": {
                    "frames": 21
                  }
                }
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      }
    },
    {
      "id": 96,
      "link": [
        4,
        1
      ],
      "name": "Come In Shinecharging, Leave Shinecharged",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 2,
          "openEnd": 0
        }
      },
      "requires": [
        "Gravity",
        "canShinechargeMovement",
        {
          "shineChargeFrames": 100
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 97,
      "link": [
        4,
        1
      ],
      "name": "Come in Getting Blue Speed, Leave With Temporary Blue",
      "entranceCondition": {
        "comeInGettingBlueSpeed": {
          "length": 1,
          "openEnd": 1
        }
      },
      "requires": [
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      }
    },
    {
      "id": 98,
      "link": [
        4,
        1
      ],
      "name": "Carry G-Mode Through Tube (Right to Left)",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": false
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": false
        }
      },
      "flashSuitChecked": true
    },
    {
      "id": 99,
      "link": [
        4,
        1
      ],
      "name": "Carry G-Mode Morph Through Tube (Right to Left)",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            "Morph",
            "h_canArtificialMorphSpringBall",
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphIBJ"
              ]
            },
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphBombHorizontally"
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": true
        }
      },
      "flashSuitChecked": true,
      "note": "To save a bomb, it is possible to roll from the doorway onto the platform with Gravity turned off."
    },
    {
      "id": 100,
      "link": [
        4,
        1
      ],
      "name": "Grapple Teleport Door Lock Skip",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "id": 101,
      "link": [
        4,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 102,
      "link": [
        4,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 127,
      "link": [
        4,
        2
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue (Suitless Spring Ball Bounce, Pause Remorph)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "canSuitlessMaridia",
        "canTrickySpringBallBounce",
        "canPauseRemorphTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Use Spring Ball to bounce into the hole, then unmorph to descend.",
        "Use a pause buffer to remorph, then chain temporary blue into the next room."
      ]
    },
    {
      "id": 128,
      "link": [
        4,
        2
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue (Gravity, Pause Remorph)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "Gravity",
        "Morph",
        "canPauseRemorphTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Use a neutral bounce to enter the hole, then unmorph to descend.",
        "Use a pause buffer to remorph, then chain temporary blue into the next room."
      ],
      "devNote": "FIXME: add a tech for bouncing into the tunnel."
    },
    {
      "id": 103,
      "link": [
        4,
        2
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": []
    },
    {
      "id": 104,
      "link": [
        4,
        2
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ],
            [
              2,
              19
            ],
            [
              2,
              28
            ],
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "flashSuitChecked": true
    },
    {
      "id": 105,
      "link": [
        4,
        2
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 106,
      "link": [
        4,
        2
      ],
      "name": "Carry Grapple Teleport (Upper Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 107,
      "link": [
        4,
        2
      ],
      "name": "Carry Grapple Teleport (Lower Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 108,
      "link": [
        4,
        2
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 129,
      "link": [
        4,
        3
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue (Suitless Spring Ball Bounce, Pause Remorph)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "canSuitlessMaridia",
        "canTrickySpringBallBounce",
        "canPauseRemorphTemporaryBlue",
        "canXRayTurnaround"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Use Spring Ball to bounce into the hole, then unmorph to descend.",
        "Use a pause buffer to remorph, then chain temporary blue into the next room."
      ]
    },
    {
      "id": 130,
      "link": [
        4,
        3
      ],
      "name": "Come in Shinecharging, Leave With Temporary Blue (Gravity, Pause Remorph)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "Gravity",
        "Morph",
        "canPauseRemorphTemporaryBlue",
        "canXRayTurnaround"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Use a neutral bounce to enter the hole, then unmorph to descend.",
        "Use a pause buffer to remorph, then chain temporary blue into the next room."
      ],
      "devNote": "FIXME: add a tech for bouncing into the tunnel."
    },
    {
      "id": 109,
      "link": [
        4,
        4
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "id": 110,
      "link": [
        4,
        4
      ],
      "name": "Leave With Runway - Frozen Sciser",
      "requires": [
        "h_canFrozenEnemyRunway"
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 4,
          "openEnd": 1
        }
      }
    },
    {
      "id": 111,
      "link": [
        4,
        4
      ],
      "name": "G-Mode Setup - Get Hit By Sciser",
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 112,
      "link": [
        4,
        4
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Sciser",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "gModeRegainMobility": {},
      "flashSuitChecked": true
    },
    {
      "id": 113,
      "link": [
        4,
        4
      ],
      "name": "Carry G-Mode Back Through",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "indirect",
          "morphed": false
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": false
        }
      },
      "bypassesDoorShell": true,
      "flashSuitChecked": true
    },
    {
      "id": 114,
      "link": [
        4,
        4
      ],
      "name": "Carry G-Mode Morph Back Through",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "indirect",
          "morphed": true
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": true
        }
      },
      "bypassesDoorShell": true,
      "flashSuitChecked": true
    },
    {
      "id": 115,
      "link": [
        5,
        1
      ],
      "name": "Exit G-Mode",
      "requires": [
        "canEnterGMode"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 116,
      "link": [
        5,
        1
      ],
      "name": "Carry G-Mode Morph Left",
      "requires": [
        "canEnterGMode"
      ],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": true
        }
      },
      "flashSuitChecked": true
    },
    {
      "id": 117,
      "link": [
        5,
        4
      ],
      "name": "Carry G-Mode Morph Right",
      "requires": [
        "canEnterGMode"
      ],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": true
        }
      },
      "flashSuitChecked": true
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    }
  ],
  "notables": [
    {
      "id": 1,
      "name": "Cross Room Jump Morph",
      "note": [
        "Use a Cross Room Jump into Water followed by a delayed Momentum Conserving Turnaround to reach the Morph tunnel above.",
        "Climbing the Left side of the center hole will run into an unavoidable Sciser.",
        "Crossing to the right from the left door requires slightly more runway and takes a more precise turnaround or morph timing which slides along the ceiling.",
        "Samus must also stay near a side of the center hole to reach the Morph tunnels."
      ]
    },
    {
      "id": 2,
      "name": "Suitless Crab Climb No Jump Assist",
      "note": [
        "Use a super to knock off a crab and freeze it mid-air. Then get on that crab, possibly using a door ledge",
        "Freeze a second crab on the edge of the hole above."
      ]
    },
    {
      "id": 3,
      "name": "Suitless Crab Climb Superless with Springball",
      "note": [
        "Freeze one crab on the lip of the overhead opening and another on the edge of a doors platform then springballjump up.",
        "Use a Stationary Lateral Mid-Air Morph to gain enough jump height without bonking the ceiling.",
        "It is possible with a crouch jump to not need the second crab."
      ]
    },
    {
      "id": 4,
      "name": "Ice Clip",
      "note": [
        "Freeze a crab at a very precise position in order to clip through the center Morph tunnel without a way to see.",
        "Use a frozen crab on the opposite wall in order to better time the crab being used for clipping and as a way to climb on top of it.",
        "Ice Beam on its own has a high chance of hitting a wall instead of the crab; straight vertical shots can help.",
        "Gravity has a 2 pixel clip window while Suitless there is only 1 pixel up higher which requires a precise down grab to get onto the crab."
      ]
    }
  ],
  "nextStratId": 131,
  "nextNotableId": 5
}