Halfie Climb Room

Room ID: 187

Wiki
Difficulty filter

From: 1
Top Left Door
To: 1
Top Left Door

Exit condition:

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

Use a frozen Mochtroid to extend the length of the runway. Positioning the Mochtroid can be done by dropping down below then climbing back up with the frozen Mochtroid as a platform. Alternatively, freeze the Mochtroid with an angle-down shot while falling below then quickly climb back up.

Requires:

"h_canNavigateUnderwater"
"h_canFrozenEnemyRunway"
{
  "or": [
    "canMochtroidIceClimb",
    {
      "and": [
        "Gravity",
        {
          "or": [
            "SpaceJump",
            "canWalljump"
          ]
        }
      ]
    }
  ]
}
{
  "enemyDamage": {
    "enemy": "Mochtroid",
    "type": "contact",
    "hits": 2
  }
}

Exit condition:

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

Requires:

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

Exit condition:

{
  "leaveWithGModeSetup": {
    "knockback": false
  }
}
From: 1
Top Left Door
To: 1
Top Left Door

Get a boost from a Bomb or Power Bomb while grappled to the first Grapple block above the door. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Swing down, and hold left while approaching the door to trigger the transition. Continue holding Grapple through the door transition to initiate a teleport in the next room. If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block. If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition. The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again.

Requires:

{
  "or": [
    "HiJump",
    "Gravity"
  ]
}
"canGrappleBombHang"
"h_canBombThings"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}
From: 1
Top Left Door
To: 1
Top Left Door

Get a boost from a Bomb or Power Bomb while grappled to the second Grapple block below the door. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door. To avoid heavy lag, hold left while near the top of the swing, and hold angle down for the middle of the swing. Continue holding Grapple through the transition to initiate a teleport in the next room. If needing to stand up in the next room (e.g. for an X-Ray climb), then press up while approaching the door to retract Grapple and come to a stop; then roll from pressing left to diagonally down-left to trigger the transition. This method will also transition at horizontal position 21 (as far right as possible). If it is needed to transition further left (e.g. position 19 or 20), it can be done by instead rolling from pressing left to pressing down (with a brief diagonal input in between) and then left again if necessary.

Requires:

"Gravity"
"canGrappleBombHang"
"h_canBombThings"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}
From: 1
Top Left Door
To: 1
Top Left Door

Get a boost from a Bomb or Power Bomb while grappled to the top Grapple block below the door. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door. To avoid heavy lag, hold left while near the top of the swing, and hold angle down for the middle of the swing. Press up while approaching the door to retract Grapple to avoid bonking the ceiling. After Samus comes to a stop (at horiziontal position 25), roll from pressing left to diagonally down-left to trigger the transition. This method will allow Samus to stand up in the next room (e.g. for an X-Ray climb) and will also transition at horizontal position 21 (as far right as possible). If it is needed to transition further left (at position 20) while still being able to stand, it can be done with by rolling from pressing left to briefly pressing down (with a brief diagonal input in between), which should bring Samus to a stop at position 20; then press left to trigger the transition.

Requires:

"Gravity"
"canGrappleBombHang"
"h_canBombThings"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}
From: 1
Top Left Door
To: 1
Top Left Door

Position near the edge of the ledge, crouch jump out into a mid-air morph, and press left against the wall. Unmorph while approaching the peak of the jump (an 8-frame window), then use Grapple immediately (a 2-frame window) to get stuck standing a pixel or two inside the first Grapple block above the door. Then jump (to force crouch), angle down, and grapple. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Swing down, and hold left while approaching the door to trigger the transition. To avoid heavy lag, hold down through the entire swing. Continue holding Grapple through the door transition to initiate a teleport in the next room. If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block. If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition. The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again.

Requires:

"Gravity"
"canCrouchJump"
"canUnmorphGrappleHang"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}
From: 1
Top Left Door
To: 1
Top Left Door

Grapple to the second Grapple block from the bottom of the room, jump off from it, morph, and press against the Grapple wall to the left. Unmorph slightly before the peak of the jump (an 8-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel or two inside the second Grapple block below the door. Then jump (to force crouch), angle down, and grapple. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door. To avoid heavy lag, hold down during the bottom part of the swing, and hold angle up during the top part. Continue holding Grapple through the transition to initiate a teleport in the next room. If needing to stand up in the next room (e.g. for an X-Ray climb), then press up while approaching the door to retract Grapple and come to a stop; then roll from pressing left to diagonally down-left to trigger the transition. This method will also transition at horizontal position 21 (as far right as possible). If it is needed to transition further left (e.g. position 19 or 20), it can be done by instead rolling from pressing left to pressing down (with a brief diagonal input in between) and then left again if necessary.

Requires:

"Gravity"
"canUnmorphGrappleHang"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}
From: 1
Top Left Door
To: 1
Top Left Door

Grapple to the second Grapple block from the bottom of the room, jump off from it, morph, and press against the Grapple wall to the left. Unmorph slightly before the peak of the jump (an 8-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel or two inside the second Grapple block below the door. Then jump (to force crouch), angle up, and grapple. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door. To avoid heavy lag, hold down during the bottom part of the swing, and hold angle up during the top part. Press up while approaching the door to retract Grapple to avoid bonking the ceiling. After Samus comes to a stop (at horiziontal position 25), roll from pressing left to diagonally down-left to trigger the transition. This method will allow Samus to stand up in the next room (e.g. for an X-Ray climb) and will also transition at horizontal position 21 (as far right as possible). If it is needed to transition further left (at position 20) while still being able to stand, it can be done with by rolling from pressing left to briefly pressing down (with a brief diagonal input in between), which should bring Samus to a stop at position 20; then press left to trigger the transition.

Requires:

"Gravity"
"canUnmorphGrappleHang"

Exit condition:

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

Notable: true

Grapple to the top Grapple in the top-left corner of the room. Hold left while waiting for the grapple wall jump check to expire, then quickly morph. While falling, unmorph to reset fall speed and then quickly morph again. unmorph at a precise time (typically a 2-frame window) then use Grapple immediately (another 2-frame window) to get stuck standing a pixel or two inside the first Grapple block above the door. Then jump (to force crouch), angle down, and grapple. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Swing down, and hold left while approaching the door to trigger the transition. To avoid heavy lag, hold down through the entire swing. Continue holding Grapple through the door transition to initiate a teleport in the next room. If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block. If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition. The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again.

Requires:

"canUnmorphGrappleHang"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}
From: 1
Top Left Door
To: 2
Bottom Left Door

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

Notable: true

Perform a moonfall with stored fall speed to clip into the air space below the door at node 1. Land, then grapple the nearest block and release. Samus will fall into the door transition, bypassing any lock that may be on the door.

Entrance condition:

{
  "comeInWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}

Requires:

{
  "doorUnlockedAtNode": 1
}
"canGrappleClip"

Bypasses door shell: true

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

Entrance condition:

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

Requires:

{
  "or": [
    {
      "and": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ]
    },
    {
      "and": [
        "h_canArtificialMorphSpringBall",
        {
          "or": [
            "Gravity",
            "HiJump"
          ]
        }
      ]
    }
  ]
}
From: 1
Top Left Door
To: 4
Top Right Door

Requires:

"Gravity"
{
  "or": [
    "SpaceJump",
    {
      "and": [
        "HiJump",
        {
          "or": [
            "canSpringBallJumpMidAir",
            "canWalljump"
          ]
        }
      ]
    },
    "canConsecutiveWalljump"
  ]
}
From: 1
Top Left Door
To: 4
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 10
  }
}

Requires:

"Gravity"
{
  "shinespark": {
    "frames": 20,
    "excessFrames": 3
  }
}
From: 1
Top Left Door
To: 4
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 10
  }
}

Requires:

{
  "shinespark": {
    "frames": 22,
    "excessFrames": 5
  }
}
From: 1
Top Left Door
To: 4
Top Right Door

Requires:

"h_canNavigateUnderwater"
"Grapple"
From: 1
Top Left Door
To: 4
Top Right Door

Requires:

"h_canNavigateUnderwater"
"canMochtroidIceClimb"
From: 1
Top Left Door
To: 4
Top Right Door

Requires:

"canGravityJump"
"HiJump"
"SpeedBooster"
"canCarefulJump"
From: 1
Top Left Door
To: 4
Top Right Door

Requires:

"canSuitlessMaridia"
"HiJump"
{
  "or": [
    {
      "and": [
        "canSpaceJumpWaterBounce",
        "canWalljump"
      ]
    },
    "canSpaceJumpWaterEscape"
  ]
}
From: 1
Top Left Door
To: 4
Top Right Door

SpringBall jump just as Samus exits the water to reach the distant ledge. A Crouch jump makes the SpringBall jump easier, but at the cost of some horizontal movement.

Requires:

"canSuitlessMaridia"
"HiJump"
"canTrickyJump"
"h_canMaxHeightSpringBallJump"
"canStationaryLateralMidAirMorph"
From: 1
Top Left Door
To: 4
Top Right Door

Requires a runway of 1 tile in the adjacent room. Use Space Jump or a wall jump after getting out of the water.

Entrance condition:

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

Requires:

"canCrossRoomJumpIntoWater"
"canTrickyJump"
{
  "or": [
    "canWalljump",
    "SpaceJump"
  ]
}
From: 1
Top Left Door
To: 4
Top Right Door

Assumes a runway of at least 4 tiles in the adjacent room. Use Space Jump or a wall jump after getting out of the water.

Entrance condition:

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

Requires:

"canCrossRoomJumpIntoWater"
{
  "or": [
    "canWalljump",
    "SpaceJump"
  ]
}
From: 1
Top Left Door
To: 4
Top Right Door

Requires a runway of 4 tile in the adjacent room.

Entrance condition:

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

Requires:

"canCrossRoomJumpIntoWater"
"canTrickyJump"
"HiJump"
From: 1
Top Left Door
To: 4
Top Right Door

Assumes a runway of 8 tiles in the adjacent room.

Entrance condition:

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

Requires:

"canCrossRoomJumpIntoWater"
"HiJump"
From: 1
Top Left Door
To: 4
Top Right Door

Requires a runway of approximately 21 tile in the adjacent room.

Entrance condition:

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

Requires:

"canCrossRoomJumpIntoWater"
From: 1
Top Left Door
To: 4
Top Right Door

Only requires a runway of approximately 1 tile in the adjacent room. Take two Mochtroid hits or kill it using a Power Bomb or 5 Bombs.

Entrance condition:

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

Requires:

"h_canJumpIntoIBJ"
{
  "or": [
    {
      "ammo": {
        "type": "PowerBomb",
        "count": 1
      }
    },
    {
      "and": [
        "h_canCeilingBombJump",
        {
          "enemyDamage": {
            "enemy": "Mochtroid",
            "type": "contact",
            "hits": 1
          }
        }
      ]
    },
    {
      "and": [
        "h_canDoubleBombJump",
        {
          "enemyDamage": {
            "enemy": "Mochtroid",
            "type": "contact",
            "hits": 2
          }
        }
      ]
    }
  ]
}
"canCrossRoomJumpIntoWater"
"canMomentumConservingTurnaround"
"canTrickyJump"
From: 1
Top Left Door
To: 4
Top Right Door

To avoid the Mochtroids, it is possible to place bombs near them while in the Morph Tunnel below to the right.

Entrance condition:

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

Requires:

"Gravity"
"h_canArtificialMorphIBJ"
From: 1
Top Left Door
To: 4
Top Right Door

Entrance condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Requires:

"Gravity"
{
  "or": [
    "h_canFly",
    "canWalljump",
    "canGravityJump",
    {
      "and": [
        "HiJump",
        {
          "or": [
            "canSpringBallJumpMidAir",
            "SpeedBooster"
          ]
        }
      ]
    }
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Door

Requires:

"canSuitlessMaridia"
"canDoubleSpringBallJumpMidAir"
"HiJump"
From: 2
Bottom Left Door
To: 1
Top Left Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 30
  }
}

Requires:

{
  "shinespark": {
    "frames": 20,
    "excessFrames": 3
  }
}
From: 2
Bottom Left Door
To: 1
Top Left Door

Requires:

"h_canNavigateUnderwater"
"Grapple"
From: 2
Bottom Left Door
To: 1
Top Left Door

Requires:

"h_canNavigateUnderwater"
"canMochtroidIceClimb"
{
  "or": [
    "Gravity",
    "canDodgeWhileShooting",
    {
      "enemyDamage": {
        "enemy": "Mochtroid",
        "hits": 2,
        "type": "contact"
      }
    },
    "Wave",
    "Spazer",
    "Plasma",
    {
      "and": [
        "canPrepareForNextRoom",
        "Charge"
      ]
    }
  ]
}
From: 2
Bottom Left Door
To: 1
Top Left Door

Climb up 1 screen.

Entrance condition:

{
  "comeInWithDoorStuckSetup": {}
}

Requires:

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

Only requires a runway of 1 tile in the adjacent room.

Entrance condition:

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

Requires:

"canCrossRoomJumpIntoWater"
From: 2
Bottom Left Door
To: 1
Top Left Door

Entrance condition:

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

Requires:

"canWaterShineCharge"
{
  "shinespark": {
    "frames": 20,
    "excessFrames": 3
  }
}
From: 2
Bottom Left Door
To: 1
Top Left Door

Enter the room with a careful amount of momentum where Samus must spend extra time slowing down during the stutter, but must not have much run speed.

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
{
  "canShineCharge": {
    "usedTiles": 33,
    "openEnd": 2
  }
}
{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Mochtroid",
        "type": "contact",
        "hits": 2
      }
    },
    {
      "and": [
        "canDodgeWhileShooting",
        {
          "or": [
            "Wave",
            "Spazer",
            "Plasma",
            {
              "ammo": {
                "type": "Missile",
                "count": 1
              }
            },
            {
              "ammo": {
                "type": "Super",
                "count": 1
              }
            }
          ]
        }
      ]
    }
  ]
}
{
  "shinespark": {
    "frames": 20,
    "excessFrames": 3
  }
}
From: 2
Bottom Left Door
To: 1
Top Left Door

Notable: true

Enter with G-mode direct, back up to exactly 8 pixels away from the door transition, and activate X-ray to get very deep stuck in the door. Climb up a little less than 1 screen, and perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door. Perform the spin-jump when Samus' feet are between about 0.5 and 2 tiles below the bottom of the door.

Entrance condition:

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

Requires:

"canXRayClimb"

Bypasses door shell: true

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

Perform an X-Ray Climb until you are just above the door into Cacatac Alley. Walk left into the gap between pipes, behind the grapple blocks. Walk to the left wall, turn around, crouch, grapple the block and release. Samus will fall into the door transition. The camera does not follow Samus but the pipes are still visually in the same position. And the camera does not break after the transition.

Entrance condition:

{
  "comeInWithDoorStuckSetup": {}
}

Requires:

"canXRayClimb"
"canGrappleClip"

Bypasses door shell: true

From: 2
Bottom Left Door
To: 2
Bottom Left Door

Exit condition:

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

Enter the room with a careful amount of momentum where Samus must spend extra time slowing down during the stutter, but must not have much run speed.

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"canShinechargeMovementComplex"
{
  "canShineCharge": {
    "usedTiles": 33,
    "openEnd": 2
  }
}
{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Mochtroid",
        "type": "contact",
        "hits": 2
      }
    },
    {
      "and": [
        "canDodgeWhileShooting",
        {
          "or": [
            "Wave",
            "Spazer",
            "Plasma",
            {
              "ammo": {
                "type": "Missile",
                "count": 1
              }
            },
            {
              "ammo": {
                "type": "Super",
                "count": 1
              }
            }
          ]
        }
      ]
    }
  ]
}
{
  "or": [
    {
      "shinespark": {
        "frames": 12
      }
    },
    {
      "and": [
        "canShinechargeMovementTricky",
        {
          "shinespark": {
            "frames": 3
          }
        }
      ]
    }
  ]
}

Exit condition:

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

Requires:

"Gravity"
{
  "or": [
    "SpaceJump",
    "Grapple",
    "canConsecutiveWalljump"
  ]
}
{
  "or": [
    "canDodgeWhileShooting",
    "ScrewAttack",
    "Wave",
    "Spazer",
    "Plasma",
    "Grapple"
  ]
}
{
  "resetRoom": {
    "nodes": [
      1,
      2,
      4
    ],
    "mustStayPut": false
  }
}
{
  "refill": [
    "Energy",
    "Missile",
    "Super"
  ]
}
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": {
    "knockback": false
  }
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Get a boost from a Bomb or Power Bomb while grappled to the first Grapple block above the door. Even without Gravity or HiJump, this can be done by standing about 5 tiles away from the door, jumping up into a mid-air morph, laying a bomb or Power Bomb, unmorphing, then grappling diagonally; hold down immediately after the grapple attachment to prevent Grapple from retracting. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Swing down, and hold left while approaching the door to trigger the transition. Continue holding Grapple through the door transition to initiate a teleport in the next room. If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block (or without Gravity equipped). If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition. The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again.

Requires:

"canGrappleBombHang"
"h_canBombThings"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        34
      ]
    ]
  }
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Align against the wall, then crouch jump into a mid-air morph. Unmorph while approaching the peak of the jump (an 8-frame window), then use Grapple immediately (a 2-frame window) to get stuck standing a pixel or two inside the first Grapple block above the door. Then jump (to force crouch), angle down, and grapple. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Swing down, and hold left while approaching the door to trigger the transition. To avoid heavy lag, hold down through the entire swing. Continue holding Grapple through the door transition to initiate a teleport in the next room. If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block. If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition. The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again.

Requires:

"Gravity"
"canCrouchJump"
"canUnmorphGrappleHang"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        34
      ]
    ]
  }
}
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Grapple to the sixth Grapple block above the door (the second below the ledge above). Hold left while waiting for the grapple wall jump check to expire, then quickly morph. unmorph at a precise time (a 3-frame window) then use Grapple immediately (a 2-frame window) to get stuck standing a pixel or two inside the first Grapple block above the door. Then jump (to force crouch), angle down, and grapple. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Swing down, and hold left while approaching the door to trigger the transition. To avoid heavy lag, hold down through the entire swing. Continue holding Grapple through the door transition to initiate a teleport in the next room. If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block. If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition. The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again.

Requires:

"canUnmorphGrappleHang"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        34
      ]
    ]
  }
}
From: 2
Bottom Left Door
To: 3
Bottom Right Door

Requires:

"Morph"
"Gravity"
From: 2
Bottom Left Door
To: 3
Bottom Right Door

Run away from the oums and reclimb after each if jumping over them is difficult.

Requires:

"Morph"
"canSuitlessMaridia"
{
  "or": [
    "canSpringBallJumpMidAir",
    "HiJump",
    "canSunkenTileWideWallClimb"
  ]
}
From: 2
Bottom Left Door
To: 3
Bottom Right Door

Entrance condition:

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

Requires:

{
  "or": [
    {
      "and": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ]
    },
    {
      "and": [
        "h_canArtificialMorphSpringBall",
        {
          "or": [
            "Gravity",
            "HiJump"
          ]
        }
      ]
    }
  ]
}
From: 2
Bottom Left Door
To: 4
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 10
  }
}

Requires:

{
  "shinespark": {
    "frames": 38,
    "excessFrames": 3
  }
}
From: 2
Bottom Left Door
To: 4
Top Right Door

Requires a runway of 8 tiles in the adjacent room.

Entrance condition:

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

Requires:

"HiJump"
"canDownGrab"
"canTrickyJump"
"canCrossRoomJumpIntoWater"
From: 2
Bottom Left Door
To: 4
Top Right Door

Assumes a runway of 9 tiles in the adjacent room.

Entrance condition:

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

Requires:

"HiJump"
"canCrossRoomJumpIntoWater"
From: 2
Bottom Left Door
To: 4
Top Right Door

Requires a runway of 38 tiles in the adjacent room.

Entrance condition:

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

Requires:

"canTrickyJump"
"canCrossRoomJumpIntoWater"
From: 2
Bottom Left Door
To: 4
Top Right Door

Requires a runway of 1 tile in the adjacent room.

Entrance condition:

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

Requires:

"HiJump"
"canMomentumConservingTurnaround"
"canTrickySpringBallJump"
"canCrossRoomJumpIntoWater"
From: 2
Bottom Left Door
To: 4
Top Right Door

Requires a runway of 1 tile in the adjacent room. Use a spring ball jump after breaking the water, then ibj. Take two Mochtroid hits or use a double bomb jump.

Entrance condition:

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

Requires:

"canTrickySpringBallJump"
"h_canJumpIntoIBJ"
{
  "or": [
    "h_canDoubleBombJump",
    {
      "enemyDamage": {
        "enemy": "Mochtroid",
        "type": "contact",
        "hits": 2
      }
    }
  ]
}
"canCrossRoomJumpIntoWater"
From: 2
Bottom Left Door
To: 4
Top Right Door

Requires a runway of 1 tile in the adjacent room. There is just enough room to wall jump after breaking the water.

Entrance condition:

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

Requires:

"canPreciseWalljump"
"canTrickyJump"
"canCrossRoomJumpIntoWater"
From: 2
Bottom Left Door
To: 4
Top Right Door

Entrance condition:

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

Requires:

"canWaterShineCharge"
{
  "canShineCharge": {
    "usedTiles": 33,
    "openEnd": 2
  }
}
{
  "shinespark": {
    "frames": 39,
    "excessFrames": 4
  }
}
From: 2
Bottom Left Door
To: 4
Top Right Door

Enter the room with a careful amount of momentum where Samus must spend extra time slowing down during the stutter, but must not have much run speed.

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
{
  "canShineCharge": {
    "usedTiles": 33,
    "openEnd": 2
  }
}
{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Mochtroid",
        "type": "contact",
        "hits": 2
      }
    },
    {
      "and": [
        "canDodgeWhileShooting",
        {
          "or": [
            "Wave",
            "Spazer",
            "Plasma",
            {
              "ammo": {
                "type": "Missile",
                "count": 1
              }
            },
            {
              "ammo": {
                "type": "Super",
                "count": 1
              }
            }
          ]
        }
      ]
    }
  ]
}
{
  "shinespark": {
    "frames": 39,
    "excessFrames": 4
  }
}
From: 2
Bottom Left Door
To: 4
Top Right Door

To avoid the Mochtroids, it is possible to place bombs near them while in the Morph Tunnel to the right.

Entrance condition:

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

Requires:

"Gravity"
"h_canArtificialMorphIBJ"
From: 2
Bottom Left Door
To: 4
Top Right Door

Entrance condition:

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

Bypasses door shell: true

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

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 Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Charge a shinespark below the Oums, near the bottom right door, quickly move through the morph tunnel and spark up left to the middle door. This is an alternative to wall jumping.

Requires:

"Morph"
"Gravity"
"canShinechargeMovementComplex"
{
  "or": [
    {
      "and": [
        {
          "canShineCharge": {
            "usedTiles": 33,
            "openEnd": 0
          }
        },
        {
          "shinespark": {
            "frames": 20,
            "excessFrames": 3
          }
        }
      ]
    },
    {
      "and": [
        "canMidairShinespark",
        {
          "canShineCharge": {
            "usedTiles": 33,
            "openEnd": 0
          }
        },
        {
          "shinespark": {
            "frames": 15,
            "excessFrames": 3
          }
        }
      ]
    }
  ]
}
From: 3
Bottom Right Door
To: 1
Top Left Door

Entrance condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Requires:

"Morph"
"Gravity"
From: 3
Bottom Right Door
To: 2
Bottom Left Door

Requires:

"Morph"
"canSuitlessMaridia"
{
  "or": [
    "canSpringBallJumpMidAir",
    "HiJump"
  ]
}
From: 3
Bottom Right Door
To: 2
Bottom Left Door

Notable: true

Quickly shoot out the 3 shot blocks then horizontal spark breaking the speed blocks. Wait for the Oums to roll on their own to a place where they can be climbed. Do not stand on the Oums when they begin to attack.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 100
  }
}

Requires:

"Morph"
"canSuitlessMaridia"
"canUseEnemies"
"canHorizontalShinespark"
{
  "shinespark": {
    "frames": 91,
    "excessFrames": 4
  }
}
From: 3
Bottom Right Door
To: 2
Bottom Left Door

Notable: true

Quickly shoot out the 3 shot blocks then horizontal spark breaking the speed blocks. Jump forward to save some health before Shinesparking Wait for the Oums to roll on their own to a place where they can be climbed. Do not stand on the Oums when they begin to attack.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 125
  }
}

Requires:

"Morph"
"canSuitlessMaridia"
"canUseEnemies"
"canHorizontalShinespark"
"canShinechargeMovementComplex"
{
  "shinespark": {
    "frames": 70,
    "excessFrames": 4
  }
}
From: 3
Bottom Right Door
To: 2
Bottom Left Door

Notable: true

Jump into the room and shoot out at least the bottom shotblock. Jumping into the top of the door frame at low speeds lines up the shot well. Speedball through and unmorph on top of the first set of speedblocks. Reposition with a Chain Temporary Blue closer to the remaining speed blocks. Jump into the rest of the Speed Blocks clearing a path for the Oums. Wait for the Oums to roll on their own to a place where they can be climbed. Do not stand on the Oums when they begin to attack.

Entrance condition:

{
  "comeInSpeedballing": {
    "runway": {
      "length": 0,
      "openEnd": 0
    }
  }
}

Requires:

"canSpeedball"
"canCrossRoomJumpIntoWater"
"canUseEnemies"
"canChainTemporaryBlue"
"canSlowShortCharge"
From: 3
Bottom Right Door
To: 2
Bottom Left Door

Entrance condition:

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

Requires:

{
  "or": [
    {
      "and": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ]
    },
    {
      "and": [
        "h_canArtificialMorphSpringBall",
        {
          "or": [
            "Gravity",
            "HiJump"
          ]
        }
      ]
    }
  ]
}
From: 3
Bottom Right Door
To: 2
Bottom Left Door

Entrance condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Exit condition:

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

Requires:

"Gravity"
"canShinechargeMovement"
{
  "canShineCharge": {
    "usedTiles": 33,
    "openEnd": 2
  }
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 120
  }
}
From: 3
Bottom Right Door
To: 3
Bottom Right Door

Requires:

"h_canCrystalFlash"
From: 3
Bottom Right Door
To: 4
Top Right Door

Charge a shinespark below the Oums, near the bottom right door, quickly move through the morph tunnel and spark up to the top door. This is an alternative to wall jumping.

Requires:

"Morph"
"Gravity"
"canShinechargeMovementComplex"
{
  "or": [
    {
      "and": [
        {
          "canShineCharge": {
            "usedTiles": 33,
            "openEnd": 0
          }
        },
        {
          "shinespark": {
            "frames": 39,
            "excessFrames": 4
          }
        }
      ]
    },
    {
      "and": [
        "canMidairShinespark",
        {
          "canShineCharge": {
            "usedTiles": 33,
            "openEnd": 0
          }
        },
        {
          "shinespark": {
            "frames": 33,
            "excessFrames": 3
          }
        }
      ]
    }
  ]
}
From: 3
Bottom Right Door
To: 4
Top Right Door

Entrance condition:

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

Requires:

"Gravity"
"h_canArtificialMorphIBJ"
From: 3
Bottom Right Door
To: 4
Top Right Door

Entrance condition:

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

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

Entrance condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Bypasses door shell: true

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

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 4
Top Right Door
To: 3
Bottom Right Door

Entrance condition:

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

Requires:

{
  "or": [
    {
      "and": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ]
    },
    {
      "and": [
        "h_canArtificialMorphSpringBall",
        {
          "or": [
            "Gravity",
            "HiJump"
          ]
        }
      ]
    }
  ]
}
From: 4
Top Right Door
To: 4
Top Right Door

Exit condition:

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

Use a frozen Mochtroid to extend the length of the runway. Positioning the Mochtroid can be done by dropping down below then climbing back up with the frozen Mochtroid as a platform. Alternatively, freeze the Mochtroid with an angle-down shot while falling below then quickly climb back up.

Requires:

"h_canNavigateUnderwater"
"h_canFrozenEnemyRunway"
{
  "or": [
    "canMochtroidIceClimb",
    {
      "and": [
        "Gravity",
        {
          "or": [
            "SpaceJump",
            "canWalljump"
          ]
        }
      ]
    }
  ]
}
{
  "enemyDamage": {
    "enemy": "Mochtroid",
    "type": "contact",
    "hits": 2
  }
}

Exit condition:

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

Requires:

"h_canCrystalFlash"
From: 4
Top Right Door
To: 4
Top Right Door

Exit condition:

{
  "leaveWithGModeSetup": {
    "knockback": false
  }
}
From: 4
Top Right Door
To: 4
Top Right Door

Get a boost from a Bomb or Power Bomb while grappled to the second Grapple block below the door; Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door. Heavy lag can typically be avoided by holding right during the bottom half of the swing. Pressing right while inside the transition tiles will trigger the transition. Continue holding Grapple through the transition to initiate a teleport in the next room. If it is needed to trigger the transition further to the right (at position 238), then wait to come to a stop before pressing right. If it is needed to trigger the transition further to the left (positions 235 or 237), then hold right while approaching the door. Either way, Samus should automatically be able to stand in the next room (e.g. for an X-Ray climb).

Requires:

"Gravity"
"canGrappleBombHang"
"h_canBombThings"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        13
      ]
    ]
  }
}
From: 4
Top Right Door
To: 4
Top Right Door

Get a boost from a Bomb or Power Bomb while grappled to the top Grapple block below the door; alternatively, do a grapple wall jump instant morph from the third Grapple block, frame-perfect unmorph and grapple to clip a pixel inside the second Grapple block (at vertical position $CF = 207), then crouch and grapple to the second block. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door. Heavy lag can typically be avoided by holding right during the bottom half of the swing. While swinging up, tap up to retract Grapple to avoid the ceiling (or tap up after after coming to rest against the ceiling if this happens). Samus should usually come to a stop one tile in front of the door (at horizontal position 215). Roll from pressing right to pressing diagonally down-right to enter the transition. If it is needed for Samus to be able to stand in the next room, then only briefly press diagonally down-right and then press up, bringing Samus to a stop at position 225 or 227; then roll from right to down-right to enter the transition (at horizontal positon 235).

Requires:

"Gravity"
"canGrappleBombHang"
"h_canBombThings"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ]
    ]
  }
}
From: 4
Top Right Door
To: 4
Top Right Door

Grapple to the sixth Grapple block below the door (the second one fully above the water line), jump off from it, morph, and press against the wal to the right. Unmorph slightly before the peak of the jump (a 3-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel inside the second Grapple block. Then jump (to force crouch), angle down, and grapple. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door. To minimize lag, when grapple is extended horizontally release all inputs other than shot/grapple; there will still be a bit of unavoidable lag while Grapple is initially extending. Try to get a good first bounce; otherwise heavy lag may be difficult to avoid, and it may be better to retry from the beginning. Pressing right while inside the transition tiles will trigger the transition. Continue holding Grapple through the transition to initiate a teleport in the next room. If it is needed to trigger the transition further to the right (at position 238), then wait to come to a stop before pressing right. If it is needed to trigger the transition further to the left (positions 235 or 237), then hold right while approaching the door. Either way, Samus should automatically be able to stand in the next room (e.g. for an X-Ray climb).

Requires:

"Gravity"
"canUnmorphGrappleHang"

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        13
      ]
    ]
  }
}
From: 4
Top Right Door
To: 4
Top Right Door

Grapple to the fifth Grapple block below the door (the third one fully above the water line), jump off from it, and morph. Unmorph slightly before the peak of the jump (a 3-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel inside the second Grapple block. Then jump (to force crouch), angle down, and grapple. Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple. Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door. To minimize lag, when grapple is extended horizontally release all inputs other than shot/grapple; there will still be a bit of unavoidable lag while Grapple is initially extending. Try to get a good first bounce; otherwise heavy lag may be difficult to avoid, and it may be better to retry from the beginning. While swinging up, tap up to retract Grapple to avoid the ceiling (or tap up after after coming to rest against the ceiling if this happens). Samus should usually come to a stop one tile in front of the door (at horizontal position 215). Roll from pressing right to pressing diagonally down-right to enter the transition. If it is needed for Samus to be able to stand in the next room, then only briefly press diagonally down-right and then press up, bringing Samus to a stop at position 225 or 227; then roll from right to down-right to enter the transition (at horizontal positon 235).

Requires:

"Gravity"
"canUnmorphGrappleHang"

Exit condition:

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

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 187,
  "name": "Halfie Climb Room",
  "area": "Maridia",
  "subarea": "Inner",
  "subsubarea": "Pink",
  "playable": true,
  "roomAddress": "0x7D913",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Top Left Door",
      "nodeType": "door",
      "nodeSubType": "grey",
      "nodeAddress": "0x001a900",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ],
      "locks": [
        {
          "name": "Halfie Climb Grey Lock (to East Cactus Alley)",
          "lockType": "gameFlag",
          "unlockStrats": [
            {
              "name": "Base",
              "notable": false,
              "requires": [
                "f_DefeatedDraygon"
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 2,
      "name": "Bottom Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a8dc",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ]
    },
    {
      "id": 3,
      "name": "Bottom Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a8f4",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ]
    },
    {
      "id": 4,
      "name": "Top Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a8e8",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Halfie Climb Mochtroids",
      "enemyName": "Mochtroid",
      "quantity": 3,
      "homeNodes": [
        1,
        2
      ]
    },
    {
      "id": "e2",
      "groupName": "Halfie Climb Oums",
      "enemyName": "Oum",
      "quantity": 3,
      "homeNodes": [
        3
      ]
    }
  ],
  "reusableRoomwideNotable": [
    {
      "name": "Halfie Climb Enter with Shinespark from the Bottom Right",
      "note": [
        "Quickly shoot out the 3 shot blocks then horizontal spark breaking the speed blocks.",
        "Wait for the Oums to roll on their own to a place where they can be climbed.",
        "Do not stand on the Oums when they begin to attack."
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4,
          "devNote": "This link is only for the shinespark, mochtroid climbing or cross room jump. Other strats should go 2 -> 1 -> 4."
        }
      ]
    },
    {
      "from": 3,
      "to": [
        {
          "id": 1,
          "devNote": "This link is only for the shinespark. Other strats should go 3 -> 2 -> 1."
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4,
          "devNote": "This link is only for the shinespark. Other strats should go 3 -> 2 -> 1 -> 4."
        }
      ]
    },
    {
      "from": 4,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        }
      ]
    }
  ],
  "strats": [
    {
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 2,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway - Frozen Mochtroid",
      "requires": [
        "h_canNavigateUnderwater",
        "h_canFrozenEnemyRunway",
        {
          "or": [
            "canMochtroidIceClimb",
            {
              "and": [
                "Gravity",
                {
                  "or": [
                    "SpaceJump",
                    "canWalljump"
                  ]
                }
              ]
            }
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Mochtroid",
            "type": "contact",
            "hits": 2
          }
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      },
      "note": [
        "Use a frozen Mochtroid to extend the length of the runway.",
        "Positioning the Mochtroid can be done by dropping down below then climbing back up with the frozen Mochtroid as a platform.",
        "Alternatively, freeze the Mochtroid with an angle-down shot while falling below then quickly climb back up."
      ],
      "devNote": "There are many other ways to get into position, but they would require manipulating the Mochtroid as much as canMochtroidIceClimb expects."
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "G-Mode Setup - Get Hit By Mochtroid",
      "notable": false,
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      }
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Grapple Teleport (Top Position)",
      "requires": [
        {
          "or": [
            "HiJump",
            "Gravity"
          ]
        },
        "canGrappleBombHang",
        "h_canBombThings"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "note": [
        "Get a boost from a Bomb or Power Bomb while grappled to the first Grapple block above the door.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Swing down, and hold left while approaching the door to trigger the transition.",
        "Continue holding Grapple through the door transition to initiate a teleport in the next room.",
        "If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block.",
        "If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition.",
        "The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Grapple Teleport (Bottom Position)",
      "requires": [
        "Gravity",
        "canGrappleBombHang",
        "h_canBombThings"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "note": [
        "Get a boost from a Bomb or Power Bomb while grappled to the second Grapple block below the door.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door.",
        "To avoid heavy lag, hold left while near the top of the swing, and hold angle down for the middle of the swing.",
        "Continue holding Grapple through the transition to initiate a teleport in the next room.",
        "If needing to stand up in the next room (e.g. for an X-Ray climb), then press up while approaching the door to retract Grapple and come to a stop; then roll from pressing left to diagonally down-left to trigger the transition.",
        "This method will also transition at horizontal position 21 (as far right as possible).",
        "If it is needed to transition further left (e.g. position 19 or 20), it can be done by instead rolling from pressing left to pressing down (with a brief diagonal input in between) and then left again if necessary."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Grapple Teleport (Middle Position)",
      "requires": [
        "Gravity",
        "canGrappleBombHang",
        "h_canBombThings"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "note": [
        "Get a boost from a Bomb or Power Bomb while grappled to the top Grapple block below the door.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door.",
        "To avoid heavy lag, hold left while near the top of the swing, and hold angle down for the middle of the swing.",
        "Press up while approaching the door to retract Grapple to avoid bonking the ceiling.",
        "After Samus comes to a stop (at horiziontal position 25), roll from pressing left to diagonally down-left to trigger the transition.",
        "This method will allow Samus to stand up in the next room (e.g. for an X-Ray climb) and will also transition at horizontal position 21 (as far right as possible).",
        "If it is needed to transition further left (at position 20) while still being able to stand, it can be done with by rolling from pressing left to briefly pressing down (with a brief diagonal input in between), which should bring Samus to a stop at position 20; then press left to trigger the transition."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Grapple Teleport (Bombless, Top Position)",
      "requires": [
        "Gravity",
        "canCrouchJump",
        "canUnmorphGrappleHang"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "note": [
        "Position near the edge of the ledge, crouch jump out into a mid-air morph, and press left against the wall.",
        "Unmorph while approaching the peak of the jump (an 8-frame window), then use Grapple immediately (a 2-frame window) to get stuck standing a pixel or two inside the first Grapple block above the door.",
        "Then jump (to force crouch), angle down, and grapple.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Swing down, and hold left while approaching the door to trigger the transition.",
        "To avoid heavy lag, hold down through the entire swing.",
        "Continue holding Grapple through the door transition to initiate a teleport in the next room.",
        "If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block.",
        "If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition.",
        "The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Grapple Teleport (Bombless, Bottom Position)",
      "requires": [
        "Gravity",
        "canUnmorphGrappleHang"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "note": [
        "Grapple to the second Grapple block from the bottom of the room, jump off from it, morph, and press against the Grapple wall to the left.",
        "Unmorph slightly before the peak of the jump (an 8-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel or two inside the second Grapple block below the door.",
        "Then jump (to force crouch), angle down, and grapple.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door.",
        "To avoid heavy lag, hold down during the bottom part of the swing, and hold angle up during the top part.",
        "Continue holding Grapple through the transition to initiate a teleport in the next room.",
        "If needing to stand up in the next room (e.g. for an X-Ray climb), then press up while approaching the door to retract Grapple and come to a stop; then roll from pressing left to diagonally down-left to trigger the transition.",
        "This method will also transition at horizontal position 21 (as far right as possible).",
        "If it is needed to transition further left (e.g. position 19 or 20), it can be done by instead rolling from pressing left to pressing down (with a brief diagonal input in between) and then left again if necessary."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Grapple Teleport (Bombless, Middle Position)",
      "requires": [
        "Gravity",
        "canUnmorphGrappleHang"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "note": [
        "Grapple to the second Grapple block from the bottom of the room, jump off from it, morph, and press against the Grapple wall to the left.",
        "Unmorph slightly before the peak of the jump (an 8-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel or two inside the second Grapple block below the door.",
        "Then jump (to force crouch), angle up, and grapple.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door.",
        "To avoid heavy lag, hold down during the bottom part of the swing, and hold angle up during the top part.",
        "Press up while approaching the door to retract Grapple to avoid bonking the ceiling.",
        "After Samus comes to a stop (at horiziontal position 25), roll from pressing left to diagonally down-left to trigger the transition.",
        "This method will allow Samus to stand up in the next room (e.g. for an X-Ray climb) and will also transition at horizontal position 21 (as far right as possible).",
        "If it is needed to transition further left (at position 20) while still being able to stand, it can be done with by rolling from pressing left to briefly pressing down (with a brief diagonal input in between), which should bring Samus to a stop at position 20; then press left to trigger the transition."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Halfie Climb Top Left Suitless Bombless Leave With Grapple Teleport",
      "notable": true,
      "requires": [
        "canUnmorphGrappleHang"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "note": [
        "Grapple to the top Grapple in the top-left corner of the room.",
        "Hold left while waiting for the grapple wall jump check to expire, then quickly morph.",
        "While falling, unmorph to reset fall speed and then quickly morph again.",
        "unmorph at a precise time (typically a 2-frame window) then use Grapple immediately (another 2-frame window) to get stuck standing a pixel or two inside the first Grapple block above the door.",
        "Then jump (to force crouch), angle down, and grapple.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Swing down, and hold left while approaching the door to trigger the transition.",
        "To avoid heavy lag, hold down through the entire swing.",
        "Continue holding Grapple through the door transition to initiate a teleport in the next room.",
        "If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block.",
        "If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition.",
        "The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Halfie Climb Stored Moonfall Grapple Door Lock Skip",
      "notable": true,
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "requires": [
        {
          "doorUnlockedAtNode": 1
        },
        "canGrappleClip"
      ],
      "bypassesDoorShell": true,
      "unlocksDoors": [
        {
          "nodeId": 1,
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "nodeId": 1,
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Perform a moonfall with stored fall speed to clip into the air space below the door at node 1.",
        "Land, then grapple the nearest block and release.",
        "Samus will fall into the door transition, bypassing any lock that may be on the door."
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphIBJ"
              ]
            },
            {
              "and": [
                "h_canArtificialMorphSpringBall",
                {
                  "or": [
                    "Gravity",
                    "HiJump"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Base",
      "requires": [
        "Gravity",
        {
          "or": [
            "SpaceJump",
            {
              "and": [
                "HiJump",
                {
                  "or": [
                    "canSpringBallJumpMidAir",
                    "canWalljump"
                  ]
                }
              ]
            },
            "canConsecutiveWalljump"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Shinespark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 10
        }
      },
      "requires": [
        "Gravity",
        {
          "shinespark": {
            "frames": 20,
            "excessFrames": 3
          }
        }
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Suitless Shinespark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 10
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 22,
            "excessFrames": 5
          }
        }
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Grapple",
      "requires": [
        "h_canNavigateUnderwater",
        "Grapple"
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Mochtroid Climb",
      "requires": [
        "h_canNavigateUnderwater",
        "canMochtroidIceClimb"
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Gravity Jump",
      "requires": [
        "canGravityJump",
        "HiJump",
        "SpeedBooster",
        "canCarefulJump"
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Break Free",
      "requires": [
        "canSuitlessMaridia",
        "HiJump",
        {
          "or": [
            {
              "and": [
                "canSpaceJumpWaterBounce",
                "canWalljump"
              ]
            },
            "canSpaceJumpWaterEscape"
          ]
        }
      ],
      "devNote": "FIXME: With a single underwaterwalljump you can break free here, without spacejump."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Suitless SpringBall Jump",
      "requires": [
        "canSuitlessMaridia",
        "HiJump",
        "canTrickyJump",
        "h_canMaxHeightSpringBallJump",
        "canStationaryLateralMidAirMorph"
      ],
      "note": [
        "SpringBall jump just as Samus exits the water to reach the distant ledge.",
        "A Crouch jump makes the SpringBall jump easier, but at the cost of some horizontal movement."
      ],
      "devNote": "canStationaryLateralMidAirMorph is not strictly required but better describes the difficulty."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Cross Room Jump",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": "any",
          "minTiles": 1
        }
      },
      "requires": [
        "canCrossRoomJumpIntoWater",
        "canTrickyJump",
        {
          "or": [
            "canWalljump",
            "SpaceJump"
          ]
        }
      ],
      "note": "Requires a runway of 1 tile in the adjacent room. Use Space Jump or a wall jump after getting out of the water."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Cross Room Jump (Lenient)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": "any",
          "minTiles": 4
        }
      },
      "requires": [
        "canCrossRoomJumpIntoWater",
        {
          "or": [
            "canWalljump",
            "SpaceJump"
          ]
        }
      ],
      "note": "Assumes a runway of at least 4 tiles in the adjacent room. Use Space Jump or a wall jump after getting out of the water."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Cross Room Jump with HiJump and SpeedBooster",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 4
        }
      },
      "requires": [
        "canCrossRoomJumpIntoWater",
        "canTrickyJump",
        "HiJump"
      ],
      "note": "Requires a runway of 4 tile in the adjacent room."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Cross Room Jump with HiJump and SpeedBooster (Lenient)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 8
        }
      },
      "requires": [
        "canCrossRoomJumpIntoWater",
        "HiJump"
      ],
      "note": "Assumes a runway of 8 tiles in the adjacent room."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Cross Room Jump with SpeedBooster",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 21
        }
      },
      "requires": [
        "canCrossRoomJumpIntoWater"
      ],
      "note": "Requires a runway of approximately 21 tile in the adjacent room."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Cross Room Jump with IBJ",
      "entranceCondition": {
        "comeInJumping": {
          "minTiles": 1,
          "speedBooster": "any"
        }
      },
      "requires": [
        "h_canJumpIntoIBJ",
        {
          "or": [
            {
              "ammo": {
                "type": "PowerBomb",
                "count": 1
              }
            },
            {
              "and": [
                "h_canCeilingBombJump",
                {
                  "enemyDamage": {
                    "enemy": "Mochtroid",
                    "type": "contact",
                    "hits": 1
                  }
                }
              ]
            },
            {
              "and": [
                "h_canDoubleBombJump",
                {
                  "enemyDamage": {
                    "enemy": "Mochtroid",
                    "type": "contact",
                    "hits": 2
                  }
                }
              ]
            }
          ]
        },
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingTurnaround",
        "canTrickyJump"
      ],
      "note": [
        "Only requires a runway of approximately 1 tile in the adjacent room.",
        "Take two Mochtroid hits or kill it using a Power Bomb or 5 Bombs."
      ],
      "devNote": "The rhythm for placing 4 Bombs quickly is the main component of ceiling bomb jumps."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ],
      "note": "To avoid the Mochtroids, it is possible to place bombs near them while in the Morph Tunnel below to the right."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ],
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      }
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Base",
      "requires": [
        "Gravity",
        {
          "or": [
            "h_canFly",
            "canWalljump",
            "canGravityJump",
            {
              "and": [
                "HiJump",
                {
                  "or": [
                    "canSpringBallJumpMidAir",
                    "SpeedBooster"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Suitless Double Spring Ball Jump",
      "requires": [
        "canSuitlessMaridia",
        "canDoubleSpringBallJumpMidAir",
        "HiJump"
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Shinespark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 30
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 20,
            "excessFrames": 3
          }
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple",
      "requires": [
        "h_canNavigateUnderwater",
        "Grapple"
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Mochtroid Climb",
      "requires": [
        "h_canNavigateUnderwater",
        "canMochtroidIceClimb",
        {
          "or": [
            "Gravity",
            "canDodgeWhileShooting",
            {
              "enemyDamage": {
                "enemy": "Mochtroid",
                "hits": 2,
                "type": "contact"
              }
            },
            "Wave",
            "Spazer",
            "Plasma",
            {
              "and": [
                "canPrepareForNextRoom",
                "Charge"
              ]
            }
          ]
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Halfie Climb X-Ray Climb",
      "entranceCondition": {
        "comeInWithDoorStuckSetup": {}
      },
      "requires": [
        "canXRayClimb"
      ],
      "note": "Climb up 1 screen."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Cross Room Jump",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": "any",
          "minTiles": 1
        }
      },
      "requires": [
        "canCrossRoomJumpIntoWater"
      ],
      "note": "Only requires a runway of 1 tile in the adjacent room.",
      "devNote": "This can be done with a shorter runway (closed end) and canMomentumConservingTurnaround, but that type of connection doesn't exist."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Suitless Water Shinecharge",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 3,
          "openEnd": 0
        }
      },
      "requires": [
        "canWaterShineCharge",
        {
          "shinespark": {
            "frames": 20,
            "excessFrames": 3
          }
        }
      ],
      "devNote": "This runway length is just an estimate of the worst case scenario for difficulties that can't use canStutterWaterShineCharge."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Suitless Stutter Water Shinecharge",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2.4375
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        {
          "canShineCharge": {
            "usedTiles": 33,
            "openEnd": 2
          }
        },
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Mochtroid",
                "type": "contact",
                "hits": 2
              }
            },
            {
              "and": [
                "canDodgeWhileShooting",
                {
                  "or": [
                    "Wave",
                    "Spazer",
                    "Plasma",
                    {
                      "ammo": {
                        "type": "Missile",
                        "count": 1
                      }
                    },
                    {
                      "ammo": {
                        "type": "Super",
                        "count": 1
                      }
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "shinespark": {
            "frames": 20,
            "excessFrames": 3
          }
        }
      ],
      "note": "Enter the room with a careful amount of momentum where Samus must spend extra time slowing down during the stutter, but must not have much run speed."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Halfie Climb Very Deep Stuck X-Ray Climb",
      "notable": true,
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "direct",
          "morphed": false
        }
      },
      "requires": [
        "canXRayClimb"
      ],
      "bypassesDoorShell": true,
      "note": [
        "Enter with G-mode direct, back up to exactly 8 pixels away from the door transition, and activate X-ray to get very deep stuck in the door.",
        "Climb up a little less than 1 screen, and perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door.",
        "Perform the spin-jump when Samus' feet are between about 0.5 and 2 tiles below the bottom of the door."
      ],
      "devNote": [
        "Standing any closer to the door will cause Samus to no longer be stuck in the wall when reaching the air pocket above.",
        "Standing any further from the door will make it impossible to get a wall-jump check from the transition tiles."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "X-Ray Climb Grapple Door Lock Skip",
      "entranceCondition": {
        "comeInWithDoorStuckSetup": {}
      },
      "requires": [
        "canXRayClimb",
        "canGrappleClip"
      ],
      "bypassesDoorShell": true,
      "note": [
        "Perform an X-Ray Climb until you are just above the door into Cacatac Alley.",
        "Walk left into the gap between pipes, behind the grapple blocks.",
        "Walk to the left wall, turn around, crouch, grapple the block and release.",
        "Samus will fall into the door transition.",
        "The camera does not follow Samus but the pipes are still visually in the same position.  And the camera does not break after the transition."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 13,
          "openEnd": 0
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Stutter Water Shinecharge, Leave with Spark",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2.4375
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "canShinechargeMovementComplex",
        {
          "canShineCharge": {
            "usedTiles": 33,
            "openEnd": 2
          }
        },
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Mochtroid",
                "type": "contact",
                "hits": 2
              }
            },
            {
              "and": [
                "canDodgeWhileShooting",
                {
                  "or": [
                    "Wave",
                    "Spazer",
                    "Plasma",
                    {
                      "ammo": {
                        "type": "Missile",
                        "count": 1
                      }
                    },
                    {
                      "ammo": {
                        "type": "Super",
                        "count": 1
                      }
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "or": [
            {
              "shinespark": {
                "frames": 12
              }
            },
            {
              "and": [
                "canShinechargeMovementTricky",
                {
                  "shinespark": {
                    "frames": 3
                  }
                }
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": "Enter the room with a careful amount of momentum where Samus must spend extra time slowing down during the stutter, but must not have much run speed."
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Mochtroid Farm",
      "requires": [
        "Gravity",
        {
          "or": [
            "SpaceJump",
            "Grapple",
            "canConsecutiveWalljump"
          ]
        },
        {
          "or": [
            "canDodgeWhileShooting",
            "ScrewAttack",
            "Wave",
            "Spazer",
            "Plasma",
            "Grapple"
          ]
        },
        {
          "resetRoom": {
            "nodes": [
              1,
              2,
              4
            ],
            "mustStayPut": false
          }
        },
        {
          "refill": [
            "Energy",
            "Missile",
            "Super"
          ]
        }
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Mochtroid",
      "notable": false,
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave With Grapple Teleport",
      "requires": [
        "canGrappleBombHang",
        "h_canBombThings"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      },
      "note": [
        "Get a boost from a Bomb or Power Bomb while grappled to the first Grapple block above the door.",
        "Even without Gravity or HiJump, this can be done by standing about 5 tiles away from the door, jumping up into a mid-air morph, laying a bomb or Power Bomb, unmorphing, then grappling diagonally;",
        "hold down immediately after the grapple attachment to prevent Grapple from retracting.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Swing down, and hold left while approaching the door to trigger the transition.",
        "Continue holding Grapple through the door transition to initiate a teleport in the next room.",
        "If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block (or without Gravity equipped).",
        "If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition.",
        "The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave With Grapple Teleport (Bombless)",
      "requires": [
        "Gravity",
        "canCrouchJump",
        "canUnmorphGrappleHang"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      },
      "note": [
        "Align against the wall, then crouch jump into a mid-air morph.",
        "Unmorph while approaching the peak of the jump (an 8-frame window), then use Grapple immediately (a 2-frame window) to get stuck standing a pixel or two inside the first Grapple block above the door.",
        "Then jump (to force crouch), angle down, and grapple.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Swing down, and hold left while approaching the door to trigger the transition.",
        "To avoid heavy lag, hold down through the entire swing.",
        "Continue holding Grapple through the door transition to initiate a teleport in the next room.",
        "If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block.",
        "If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition.",
        "The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave With Grapple Teleport (Suitless, Bombless)",
      "requires": [
        "canUnmorphGrappleHang"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      },
      "note": [
        "Grapple to the sixth Grapple block above the door (the second below the ledge above).",
        "Hold left while waiting for the grapple wall jump check to expire, then quickly morph.",
        "unmorph at a precise time (a 3-frame window) then use Grapple immediately (a 2-frame window) to get stuck standing a pixel or two inside the first Grapple block above the door.",
        "Then jump (to force crouch), angle down, and grapple.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Swing down, and hold left while approaching the door to trigger the transition.",
        "To avoid heavy lag, hold down through the entire swing.",
        "Continue holding Grapple through the door transition to initiate a teleport in the next room.",
        "If needing to stand up in the next room (e.g. for an X-Ray climb), then enter the transition while swinging slowly, e.g. after coming to a stop directly below the block.",
        "If needing to transition at horiziontal position 21 (as far right as possible), then additionally roll from pressing left to pressing diagonally up-left just before the transition.",
        "The game may lag heavily if Samus enters a retracted position; if this happens, hold down to extend Grapple again."
      ]
    },
    {
      "link": [
        2,
        3
      ],
      "name": "Base",
      "requires": [
        "Morph",
        "Gravity"
      ]
    },
    {
      "link": [
        2,
        3
      ],
      "name": "Suitless",
      "requires": [
        "Morph",
        "canSuitlessMaridia",
        {
          "or": [
            "canSpringBallJumpMidAir",
            "HiJump",
            "canSunkenTileWideWallClimb"
          ]
        }
      ],
      "note": "Run away from the oums and reclimb after each if jumping over them is difficult."
    },
    {
      "link": [
        2,
        3
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphIBJ"
              ]
            },
            {
              "and": [
                "h_canArtificialMorphSpringBall",
                {
                  "or": [
                    "Gravity",
                    "HiJump"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Shinespark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 10
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 38,
            "excessFrames": 3
          }
        }
      ]
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Cross Room Jump with Speedbooster, HiJump",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 8
        }
      },
      "requires": [
        "HiJump",
        "canDownGrab",
        "canTrickyJump",
        "canCrossRoomJumpIntoWater"
      ],
      "note": "Requires a runway of 8 tiles in the adjacent room."
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Cross Room Jump with Speedbooster, HiJump (Lenient)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 9
        }
      },
      "requires": [
        "HiJump",
        "canCrossRoomJumpIntoWater"
      ],
      "note": "Assumes a runway of 9 tiles in the adjacent room."
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Cross Room Jump with Speedbooster",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 38
        }
      },
      "requires": [
        "canTrickyJump",
        "canCrossRoomJumpIntoWater"
      ],
      "note": "Requires a runway of 38 tiles in the adjacent room."
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Cross Room Jump with Spring Ball, HiJump",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": "any",
          "minTiles": 1
        }
      },
      "requires": [
        "HiJump",
        "canMomentumConservingTurnaround",
        "canTrickySpringBallJump",
        "canCrossRoomJumpIntoWater"
      ],
      "note": "Requires a runway of 1 tile in the adjacent room."
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Cross Room Jump with Spring Ball and IBJ",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": false,
          "minTiles": 1
        }
      },
      "requires": [
        "canTrickySpringBallJump",
        "h_canJumpIntoIBJ",
        {
          "or": [
            "h_canDoubleBombJump",
            {
              "enemyDamage": {
                "enemy": "Mochtroid",
                "type": "contact",
                "hits": 2
              }
            }
          ]
        },
        "canCrossRoomJumpIntoWater"
      ],
      "note": [
        "Requires a runway of 1 tile in the adjacent room.",
        "Use a spring ball jump after breaking the water, then ibj.",
        "Take two Mochtroid hits or use a double bomb jump."
      ]
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Cross Room Jump with Wall Jump",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": false,
          "minTiles": 1
        }
      },
      "requires": [
        "canPreciseWalljump",
        "canTrickyJump",
        "canCrossRoomJumpIntoWater"
      ],
      "note": [
        "Requires a runway of 1 tile in the adjacent room.",
        "There is just enough room to wall jump after breaking the water."
      ]
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Suitless Water Shinecharge",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 3,
          "openEnd": 0
        }
      },
      "requires": [
        "canWaterShineCharge",
        {
          "canShineCharge": {
            "usedTiles": 33,
            "openEnd": 2
          }
        },
        {
          "shinespark": {
            "frames": 39,
            "excessFrames": 4
          }
        }
      ],
      "devNote": "This runway length is just an estimate of the worst case scenario for difficulties that can't use canStutterWaterShineCharge."
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Suitless Stutter Water Shinecharge",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2.4375
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        {
          "canShineCharge": {
            "usedTiles": 33,
            "openEnd": 2
          }
        },
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Mochtroid",
                "type": "contact",
                "hits": 2
              }
            },
            {
              "and": [
                "canDodgeWhileShooting",
                {
                  "or": [
                    "Wave",
                    "Spazer",
                    "Plasma",
                    {
                      "ammo": {
                        "type": "Missile",
                        "count": 1
                      }
                    },
                    {
                      "ammo": {
                        "type": "Super",
                        "count": 1
                      }
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "shinespark": {
            "frames": 39,
            "excessFrames": 4
          }
        }
      ],
      "note": "Enter the room with a careful amount of momentum where Samus must spend extra time slowing down during the stutter, but must not have much run speed."
    },
    {
      "link": [
        2,
        4
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ],
      "note": "To avoid the Mochtroids, it is possible to place bombs near them while in the Morph Tunnel to the right."
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ],
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Halfie Climb Carry Shinecharge through Morph Tunnel to the Middle",
      "requires": [
        "Morph",
        "Gravity",
        "canShinechargeMovementComplex",
        {
          "or": [
            {
              "and": [
                {
                  "canShineCharge": {
                    "usedTiles": 33,
                    "openEnd": 0
                  }
                },
                {
                  "shinespark": {
                    "frames": 20,
                    "excessFrames": 3
                  }
                }
              ]
            },
            {
              "and": [
                "canMidairShinespark",
                {
                  "canShineCharge": {
                    "usedTiles": 33,
                    "openEnd": 0
                  }
                },
                {
                  "shinespark": {
                    "frames": 15,
                    "excessFrames": 3
                  }
                }
              ]
            }
          ]
        }
      ],
      "note": [
        "Charge a shinespark below the Oums, near the bottom right door, quickly move through the morph tunnel and spark up left to the middle door.",
        "This is an alternative to wall jumping."
      ],
      "devNote": "Jumping into a diagonal spark saves a little energy from both the jump and hitting the slightly lower ceiling by the door."
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ],
            [
              2,
              19
            ],
            [
              2,
              28
            ],
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport (Upper Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport (Lower Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Base",
      "requires": [
        "Morph",
        "Gravity"
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Suitless With Jump Assist",
      "requires": [
        "Morph",
        "canSuitlessMaridia",
        {
          "or": [
            "canSpringBallJumpMidAir",
            "HiJump"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Halfie Climb Enter with Shinespark from the Bottom Right",
      "notable": true,
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 100
        }
      },
      "requires": [
        "Morph",
        "canSuitlessMaridia",
        "canUseEnemies",
        "canHorizontalShinespark",
        {
          "shinespark": {
            "frames": 91,
            "excessFrames": 4
          }
        }
      ],
      "reusableRoomwideNotable": "Halfie Climb Enter with Shinespark from the Bottom Right",
      "note": [
        "Quickly shoot out the 3 shot blocks then horizontal spark breaking the speed blocks.",
        "Wait for the Oums to roll on their own to a place where they can be climbed.",
        "Do not stand on the Oums when they begin to attack."
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Halfie Climb Enter with Shinespark from the Bottom Right (Conserve Health)",
      "notable": true,
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 125
        }
      },
      "requires": [
        "Morph",
        "canSuitlessMaridia",
        "canUseEnemies",
        "canHorizontalShinespark",
        "canShinechargeMovementComplex",
        {
          "shinespark": {
            "frames": 70,
            "excessFrames": 4
          }
        }
      ],
      "reusableRoomwideNotable": "Halfie Climb Enter with Shinespark from the Bottom Right",
      "note": [
        "Quickly shoot out the 3 shot blocks then horizontal spark breaking the speed blocks.",
        "Jump forward to save some health before Shinesparking",
        "Wait for the Oums to roll on their own to a place where they can be climbed.",
        "Do not stand on the Oums when they begin to attack."
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Halfie Climb Enter with Shinespark from the Bottom Right (SpeedBall)",
      "notable": true,
      "entranceCondition": {
        "comeInSpeedballing": {
          "runway": {
            "length": 0,
            "openEnd": 0
          }
        }
      },
      "requires": [
        "canSpeedball",
        "canCrossRoomJumpIntoWater",
        "canUseEnemies",
        "canChainTemporaryBlue",
        "canSlowShortCharge"
      ],
      "reusableRoomwideNotable": "Halfie Climb Enter with Shinespark from the Bottom Right",
      "note": [
        "Jump into the room and shoot out at least the bottom shotblock.",
        "Jumping into the top of the door frame at low speeds lines up the shot well.",
        "Speedball through and unmorph on top of the first set of speedblocks.",
        "Reposition with a Chain Temporary Blue closer to the remaining speed blocks.",
        "Jump into the rest of the Speed Blocks clearing a path for the Oums.",
        "Wait for the Oums to roll on their own to a place where they can be climbed.",
        "Do not stand on the Oums when they begin to attack."
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphIBJ"
              ]
            },
            {
              "and": [
                "h_canArtificialMorphSpringBall",
                {
                  "or": [
                    "Gravity",
                    "HiJump"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Carry Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 1,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Leave Shinecharged",
      "requires": [
        "Gravity",
        "canShinechargeMovement",
        {
          "canShineCharge": {
            "usedTiles": 33,
            "openEnd": 2
          }
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 120
        }
      }
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Halfie Climb Carry Shinecharge through Morph Tunnel to the Top",
      "requires": [
        "Morph",
        "Gravity",
        "canShinechargeMovementComplex",
        {
          "or": [
            {
              "and": [
                {
                  "canShineCharge": {
                    "usedTiles": 33,
                    "openEnd": 0
                  }
                },
                {
                  "shinespark": {
                    "frames": 39,
                    "excessFrames": 4
                  }
                }
              ]
            },
            {
              "and": [
                "canMidairShinespark",
                {
                  "canShineCharge": {
                    "usedTiles": 33,
                    "openEnd": 0
                  }
                },
                {
                  "shinespark": {
                    "frames": 33,
                    "excessFrames": 3
                  }
                }
              ]
            }
          ]
        }
      ],
      "note": [
        "Charge a shinespark below the Oums, near the bottom right door, quickly move through the morph tunnel and spark up to the top door.",
        "This is an alternative to wall jumping."
      ],
      "devNote": "Jumping into a diagonal spark saves a little energy from both the jump and hitting the slightly lower ceiling by the door."
    },
    {
      "link": [
        3,
        4
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "Gravity",
        "h_canArtificialMorphIBJ"
      ]
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              5,
              3
            ],
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": []
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ],
            [
              2,
              19
            ],
            [
              2,
              28
            ],
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      }
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Carry Grapple Teleport (Upper Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      }
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Carry Grapple Teleport (Lower Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      }
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      }
    },
    {
      "link": [
        4,
        2
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        4,
        2
      ],
      "name": "Carry Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      }
    },
    {
      "link": [
        4,
        3
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphIBJ"
              ]
            },
            {
              "and": [
                "h_canArtificialMorphSpringBall",
                {
                  "or": [
                    "Gravity",
                    "HiJump"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Leave With Runway - Frozen Mochtroid",
      "requires": [
        "h_canNavigateUnderwater",
        "h_canFrozenEnemyRunway",
        {
          "or": [
            "canMochtroidIceClimb",
            {
              "and": [
                "Gravity",
                {
                  "or": [
                    "SpaceJump",
                    "canWalljump"
                  ]
                }
              ]
            }
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Mochtroid",
            "type": "contact",
            "hits": 2
          }
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 4,
          "openEnd": 1
        }
      },
      "note": [
        "Use a frozen Mochtroid to extend the length of the runway.",
        "Positioning the Mochtroid can be done by dropping down below then climbing back up with the frozen Mochtroid as a platform.",
        "Alternatively, freeze the Mochtroid with an angle-down shot while falling below then quickly climb back up."
      ],
      "devNote": "There are many other ways to get into position, but they would require manipulating the Mochtroid as much as canMochtroidIceClimb expects."
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "G-Mode Setup - Get Hit By Mochtroid",
      "notable": false,
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      }
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Leave With Grapple Teleport (Bottom Position)",
      "requires": [
        "Gravity",
        "canGrappleBombHang",
        "h_canBombThings"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "note": [
        "Get a boost from a Bomb or Power Bomb while grappled to the second Grapple block below the door;",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door.",
        "Heavy lag can typically be avoided by holding right during the bottom half of the swing.",
        "Pressing right while inside the transition tiles will trigger the transition.",
        "Continue holding Grapple through the transition to initiate a teleport in the next room.",
        "If it is needed to trigger the transition further to the right (at position 238), then wait to come to a stop before pressing right.",
        "If it is needed to trigger the transition further to the left (positions 235 or 237), then hold right while approaching the door.",
        "Either way, Samus should automatically be able to stand in the next room (e.g. for an X-Ray climb)."
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Leave With Grapple Teleport (Top Position)",
      "requires": [
        "Gravity",
        "canGrappleBombHang",
        "h_canBombThings"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "note": [
        "Get a boost from a Bomb or Power Bomb while grappled to the top Grapple block below the door;",
        "alternatively, do a grapple wall jump instant morph from the third Grapple block, frame-perfect unmorph and grapple to clip a pixel inside the second Grapple block (at vertical position $CF = 207), then crouch and grapple to the second block.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door.",
        "Heavy lag can typically be avoided by holding right during the bottom half of the swing.",
        "While swinging up, tap up to retract Grapple to avoid the ceiling (or tap up after after coming to rest against the ceiling if this happens).",
        "Samus should usually come to a stop one tile in front of the door (at horizontal position 215).",
        "Roll from pressing right to pressing diagonally down-right to enter the transition.",
        "If it is needed for Samus to be able to stand in the next room, then only briefly press diagonally down-right and then press up, bringing Samus to a stop at position 225 or 227;",
        "then roll from right to down-right to enter the transition (at horizontal positon 235)."
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Leave With Grapple Teleport (Bombless, Bottom Position)",
      "requires": [
        "Gravity",
        "canUnmorphGrappleHang"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "note": [
        "Grapple to the sixth Grapple block below the door (the second one fully above the water line), jump off from it, morph, and press against the wal to the right.",
        "Unmorph slightly before the peak of the jump (a 3-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel inside the second Grapple block.",
        "Then jump (to force crouch), angle down, and grapple.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door.",
        "To minimize lag, when grapple is extended horizontally release all inputs other than shot/grapple; there will still be a bit of unavoidable lag while Grapple is initially extending.",
        "Try to get a good first bounce; otherwise heavy lag may be difficult to avoid, and it may be better to retry from the beginning.",
        "Pressing right while inside the transition tiles will trigger the transition.",
        "Continue holding Grapple through the transition to initiate a teleport in the next room.",
        "If it is needed to trigger the transition further to the right (at position 238), then wait to come to a stop before pressing right.",
        "If it is needed to trigger the transition further to the left (positions 235 or 237), then hold right while approaching the door.",
        "Either way, Samus should automatically be able to stand in the next room (e.g. for an X-Ray climb)."
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Leave With Grapple Teleport (Bombless, Top Position)",
      "requires": [
        "Gravity",
        "canUnmorphGrappleHang"
      ],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "note": [
        "Grapple to the fifth Grapple block below the door (the third one fully above the water line), jump off from it, and morph.",
        "Unmorph slightly before the peak of the jump (a 3-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel inside the second Grapple block.",
        "Then jump (to force crouch), angle down, and grapple.",
        "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.",
        "Press jump to get a good bounce off the wall at the bottom of the swing, making it possible to swing up to the door.",
        "To minimize lag, when grapple is extended horizontally release all inputs other than shot/grapple; there will still be a bit of unavoidable lag while Grapple is initially extending.",
        "Try to get a good first bounce; otherwise heavy lag may be difficult to avoid, and it may be better to retry from the beginning.",
        "While swinging up, tap up to retract Grapple to avoid the ceiling (or tap up after after coming to rest against the ceiling if this happens).",
        "Samus should usually come to a stop one tile in front of the door (at horizontal position 215).",
        "Roll from pressing right to pressing diagonally down-right to enter the transition.",
        "If it is needed for Samus to be able to stand in the next room, then only briefly press diagonally down-right and then press up, bringing Samus to a stop at position 225 or 227;",
        "then roll from right to down-right to enter the transition (at horizontal positon 235)."
      ]
    }
  ]
}